Skip to main content

Module invoice

Module invoice 

Source
Expand description

Semantic invoice: parties, lines, totals, and Table 2 groups.

Structs§

AllowanceCharge
BG-20 / BG-21 document level allowance or charge.
Contact
BG-6 / BG-9 contact.
Delivery
BG-13 delivery information.
DocumentTotals
BG-22 document totals. Absent optional amounts are None, not 0.00.
Invoice
Semantic invoice. Fields are pub on 2.x so embedders can Invoice::blank then set terms. Do not match on the struct layout — #[non_exhaustive] would be a 3.0 break. A proved document is crate::Validated.
InvoiceNote
BT-21 / BT-22 invoice note.
ItemAttribute
BG-32 item attribute: BT-160 name + BT-161 value (AdditionalItemProperty).
Line
BG-25 invoice line.
LineAllowanceCharge
Line allowance/charge (BG-27/28). No tax child: Peppol/PINT inherit the line category. Line A/C already sits in BT-131. Do not add them again in taxable_for.
Party
Party identifiers are four slots, not a leftover tax_id:
PartyTax
Extra PartyTaxScheme row (PINT-MY SST + TIN + TTx).
Payee
BG-10 payee (if different from seller).
PaymentInstructions
Payment instructions. BT-81 is means_code. Account/IBAN/BIC, card PAN, and mandate live only on PaymentMeans (exclusive BG-17/18/19).
Period
Header invoicing period BG-14 (BT-73/74) or line period BG-26 (BT-134/135).
PostalAddress
Postal address (BG-5/8/12/15). Country is BT-40 / BT-55 / BT-69 / BT-80.
PrecedingInvoice
BG-3 preceding invoice reference.
Price
BG-29 item price. BT-146 net; BT-147 discount; BT-148 gross (unit price, not Amount.Type).
SupportingDocument
BG-24 additional supporting document.
TaxBreakdown
BG-23 VAT/GST/SST breakdown row.
TaxRepresentative
BG-11 seller tax representative.