How many decimals can I put in the invoice?
According to the European standard EN 16931:2017 and the PEPPOL BIS Billing 3.0 specification, the number of decimals allowed depends on the type of amount.
Document-level totals (for example: invoice total amount, tax-inclusive total, payable amount) must be rounded to a maximum of two decimals.
This rule is defined in EN 16931 and reflected in the PEPPOL BIS Billing 3.0 business rule BR-DEC-14:
“The allowed maximum number of decimals for the Invoice total amount with VAT (BT-112) is 2.”
Source: docs.peppol.eu – BR-DEC-14
https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-DEC-14
Invoice line net amounts (for example: LineExtensionAmount) are also limited to two decimals.
According to the official syntax description: “Must be rounded to maximum 2 decimals.”
Source: docs.peppol.eu – cbc:LineExtensionAmount
https://docs.peppol.eu/poacc/billing/3.0/syntax/ubl-invoice/cac-InvoiceLine/cbc-LineExtensionAmount/
Unit prices (field cbc:PriceAmount), however, have no explicit decimal restriction in the PEPPOL BIS Billing 3.0 specification.
The syntax defines that the amount must be positive and include a currency code, but it does not specify a maximum number of decimals.
This can be verified in the official syntax definition of cbc:PriceAmount under “cac:InvoiceLine → cac:Price.”
Source: docs.peppol.eu – cbc:PriceAmount
https://docs.peppol.eu/poacc/billing/3.0/syntax/ubl-invoice/cac-InvoiceLine/cac-Price/cbc-PriceAmount/
If rounding differences occur when calculating tax or gross amounts, the standard allows you to include a RoundingAmount (for example “0.01”) to ensure that the payable total is correct.
Source: docs.peppol.eu – cbc:PayableRoundingAmount
https://docs.peppol.eu/poacc/billing/3.0/syntax/ubl-invoice/cac-LegalMonetaryTotal/cbc-PayableRoundingAmount/