Skip to content
GitHub

Peppol BIS Billing 3.0

  • Format id: peppol-bis3
  • Countries: EU-wide
  • Status: in active use
  • Parser: ubl family, converts to canonical JSON

Default for BE (B2B since 1 Jan 2026), SK (2027), LV, LU, MT, IE, SE, FI, NL, DK, AT/DE/FR B2G and cross-border. Profile shows national extensions (e.g. Italy AGID).

  • AT: ebinterface 3.0–6.1, peppol-bis3, legacy ebinterface-2 (detected, not mapped). The portal accepts 4.3–6.1; ebInterface 7.0 announced for Q4 2026.
  • BE: peppol-bis3, legacy ubl-be. B2B Peppol mandate since 1 Jan 2026.
  • BG: en16931-ubl / -cii, peppol-bis3. No exchange mandate yet; B2B proposed for 2028.
  • HR: hr-cius, peppol-bis3. Fiskalizacija 2.0: B2B and B2G since 1 Jan 2026. OIB = EAS 9934.
  • CY: peppol-bis3. B2G.
  • CZ: isdoc (.isdoc, .isdocx), peppol-bis3. No B2B mandate.
  • DK: oioubl-2 (UBL 2.0), oioubl-3, peppol-bis3. OIOUBL 2.x still common.
  • EE: e-arve, en16931-ubl, peppol-bis3. Since Jul 2025 buyers can require e-invoices. e-arve files can hold several invoices.
  • FI: finvoice, teappsxml, peppol-bis3. Finvoice usually follows a SOAP envelope in the same file and is often ISO-8859-15.
  • GR: gr-mydata, EN 16931 (UBL/CII), peppol-bis3 (B2G). B2B phases from Feb 2026 (large) and Oct 2026 (others). MARK from myDATA.
  • HU: peppol-bis3, en16931-*. Online Számla is tax reporting, not an exchange format.
  • IE: peppol-bis3. B2G; B2B phased from Nov 2028.
  • LV: peppol-bis3. B2G since Jan 2026; B2B deferred to Jan 2028.
  • LT: peppol-bis3, en16931-*. B2G.
  • LU: peppol-bis3. B2G.
  • MT: peppol-bis3. B2G.
  • NL: nlcius-ubl, nlcius-cii, peppol-bis3, legacy peppol-bis2 (SI-UBL 1.x)
  • PT: cius-pt, peppol-bis3. B2G. B2B is mostly PDF with ATCUD/QR.
  • SK: peppol-bis3. B2B and B2G planned from 1 Jan 2027.
  • SI: eslog-2, peppol-bis3, legacy eslog-1. B2B mandatory from 1 Jan 2028.
  • SE: peppol-bis3, legacy svefaktura-1
  • Phase 1. Covers: Peppol BIS 3 + self-billing, XRechnung UBL, NLCIUS, CIUS-RO, CIUS-PT, HR-CIUS, OIOUBL 3, UBL.BE, PINT, BIS 2 (best-effort), OIOUBL 2. One parser, profile-specific rules on top. Invoice vs CreditNote element names differ (InvoicedQuantity/CreditedQuantity). UBL 2.1 CreditNote has no root cbc:DueDate: read cac:PaymentMeans/cbc:PaymentDueDate, and accept a root cbc:DueDate only as a fallback with a warning (it appears in some XRechnung test files).

The same parser family handles the formats listed in Build order and mapping notes.