Peppol BIS Billing 3.0.21 · UBL

PEPPOL-EN16931-R130: Unit code of price base quantity MUST be same as invoiced quantity

Peppol BIS Billing 3.0.21 · UBL

fatalformat

Original rule text

[PEPPOL-EN16931-R130]-Unit code of price base quantity MUST be same as invoiced quantity.

Stored validation assertion
not($hasQuantity) or @unitCode = $quantity/@unitCode

PEPPOL-EN16931-R130 is a fatal rule in the format layer of Peppol BIS Billing 3.0.21 · UBL. An invoice that breaks it is rejected.

What this rule requires

In UBL, the rule applies to cac:Price/cbc:BaseQuantity/@unitCode. If the surrounding cac:InvoiceLine has an cbc:InvoicedQuantity or cbc:CreditedQuantity, the unit code of the price base quantity must equal the unit code of the quantity element for the document type: cbc:InvoicedQuantity on an Invoice, cbc:CreditedQuantity on a CreditNote. If neither quantity element exists, the rule passes.

How to fix

Set @unitCode on cac:Price/cbc:BaseQuantity to the same value as @unitCode on the relevant quantity element in the same line: cbc:InvoicedQuantity for an Invoice, or cbc:CreditedQuantity for a CreditNote. For example, if cbc:InvoicedQuantity has unitCode="EA", use unitCode="EA" on cbc:BaseQuantity. If the line has no such quantity element, no change is needed for this rule.

Guidance on this rule. The original text above is authoritative.

Where to go next

No published Peppol BIS Billing UBL release comparison lists a change to PEPPOL-EN16931-R130.

Validate an invoice against these rules · All release changes