The invoice topic

The invoice

The semantic model: the terms EN 16931 names and the groups it puts them in. Every class here carries the BT and BG numbers of the standard, so a term can be traced from the text to the code and back.

Invoice.fromLines builds a document from its lines and derives the VAT breakdown and the totals. Invoice itself takes every term, for a document read back from a syntax package.

Classes

Address The invoice
A postal address. BG-5, BG-8, BG-12 and BG-15 all carry this shape.
Attachment The invoice
BT-125. A file carried inside the invoice.
Buyer The invoice
BG-7. The party buying the goods or services.
Contact The invoice
A person or a department to write to. BG-6 and BG-9.
DatePeriod The invoice
A stretch of days, from start to end. BG-14 and BG-26.
Invoice The invoice
An invoice, as EN 16931 defines it.
InvoiceLine The invoice
BG-25. One line of the invoice.
InvoiceNote The invoice
BG-1. A free text note about the invoice.
InvoiceTotals The invoice
BG-22. The totals of the invoice.
Item The invoice
BG-31. What is being sold on a line.
ItemAttribute The invoice
BG-32. One property of an item, as a name and a value.
LineAllowanceCharge The invoice
BG-27 and BG-28. An allowance or a charge that applies to one line.
PaymentCard The invoice
BG-18. The card a payment was taken from.
PaymentInstructions The invoice
BG-16. How the invoice is to be paid.
Price The invoice
BG-29. What one item costs.
Seller The invoice
BG-4. The party selling the goods or services.
TaxRepresentative The invoice
BG-11. The party that accounts for the seller's VAT in another country.
VatBreakdown The invoice
BG-23. One line of the VAT breakdown.

Functions

deriveBreakdown({required List<InvoiceLine> lines, required List<DocumentAllowanceCharge> entries, Map<VatCategory, String> exemptionReasons = const {}}) → List<VatBreakdown> The invoice
The VAT breakdown lines and entries add up to.
deriveTotals({required List<InvoiceLine> lines, required List<DocumentAllowanceCharge> entries, required List<VatBreakdown> breakdown, Decimal? paidAmount, Decimal? roundingAmount}) → InvoiceTotals The invoice
The totals lines, entries and breakdown add up to.

Enums

AllowanceOrCharge The invoice
Whether an amount is taken off the invoice or added to it.