Skip to content
GitHub

Poland PEF (Peppol BIS 3 + PL extension)

  • Format id: pl-pef
  • Countries: Poland (PL)
  • Status: in active use
  • Parser: ubl family, converts to canonical JSON

Public-procurement invoices via PEF (efaktura.gov.pl). Detected by the efaktura.gov.pl extension in the CustomizationID.

  • PL: ksef FA(3) (also FA(2), FA_RR), pl-pef (B2G). KSeF mandatory since 1 Feb 2026 (large) / 1 Apr 2026 (others). The KSeF number is not in the XML.
  • 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.