Document formats for developers

Document formats for developers: which format to choose (Peppol BIS Billing 3.0, NLCIUS, PINT), what to validate and where specs live.

Every invoice you send via the PSB API is XML in a standardised format. Background (semantics, fields, country compliance) lives under Learn → Document formats.

The two formats to start with

Both are based on UBL 2.1 and EN 16931; the difference is the CIUS profile.

Peppol BIS Billing 3.0NLCIUS / SI-UBL 2.0UseInternational Peppol traffic (default for EN)Netherlands B2B and governmentCustomizationIDurn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0urn:cen.eu:en16931:2017#compliant#urn:fdc:nen.nl:nlcius:v1.0Extra rulesPEPPOL rules + receiver country rulesNL-R rules (e.g. Chamber of Commerce/OIN identifiers)SpecBIS Billing V3NLCIUS

Rule of thumb: international (or multi-country) → Peppol BIS Billing 3.0. Netherlands-only → NLCIUS. Unsure → start with BIS; the PSB transforms to what the receiver expects (including XRechnung, Factur-X, FA_VAT, and more).

What the PSB does

You deliver one correct, valid format; the PSB transforms where needed. Transformation does not fix validation errors. For conversion without sending: Transform API.

Other supported formats
FormatTypical usePINTInternational Peppol variants (A-NZ, JP, SG, MY, AE, …)XRechnungGerman governmentFactur-X / ZUGFeRDFrance and Germany, hybrid PDF+XMLFatturaPAItaly (SdI)CIIAlternative EN 16931 XML syntaxFA_VATPoland KSeF

Full catalogue: Formats.

Practical path
  1. Choose format (BIS first for international).
  2. Start from sample invoices.
  3. Build your XML (CustomizationID, EndpointID, VAT totals, code lists).
  4. Validate before send.