Peppol B2G — public e-invoicing since 2019
When a company invoices a Bulgarian public body (a public contract), that body must be able to receive an electronic invoice in the standardised European format EN 16931. This is an EU minimum obligation (Directive 2014/55/EU), transposed in Bulgaria on 1 November 2019. The technical pivot "language" is Peppol BIS Billing 3.0, based on the UBL XML format and carried over the Peppol network — a secure pan-European document-exchange network.
History — 2014/55/EU transposition in 2019
Directive 2014/55/EU obliges all Union contracting authorities to receive and process electronic invoices compliant with a common standard, to smooth cross-border public procurement. The CEN (European Committee for Standardization) published the EN 16931 standard in 2017, defining the semantic model of the core e-invoice.
Bulgaria transposed the directive by amending the Закон за обществените поръчки (ЗОП — Public Procurement Act) through publication SG 86/2018 in the Държавен вестник, introducing article 115a. The obligation entered force on 1 November 2019: from that date, no Bulgarian contracting authority may refuse an EN 16931-compliant invoice issued by a supplier in a public contract.
2014-04-16 | Directive 2014/55/EU: obligation for EU contracting authorities
| to receive and process electronic invoices compliant with a
| common standard.
|
2017-10 | The CEN publishes the European standard EN 16931.
|
2018 | Amendment of the Закон за обществените поръчки (ЗОП — Public
| Procurement Act), SG 86/2018, introducing art. 115a on B2G
| electronic invoicing.
|
2019-11-01 | Entry into force: every Bulgarian contracting authority must be
| able to RECEIVE and process an EN 16931 e-invoice. Pivot format
| Peppol BIS Billing 3.0.
|
2020-2024 | Progressive ramp-up. Central administrations then local
| authorities connected via Peppol access points.
|
2026 | Issuance remains voluntary for suppliers. Bulgaria prepares its
| ViDA alignment (cross-border DRR 2030). Governance — AOP + Ministry of e-Government
Two public actors share governance. The Агенция по обществени поръчки (АОП — Public Procurement Agency, aop.bg) frames the regulatory regime for contracts and the national portal ЦАИС ЕОП (centralised automated information system for "Electronic Public Procurement"). The Министерство на електронното управление (Ministry of e-Government) operates the exchange infrastructure and interoperability building blocks.
Bulgaria is a member of the Peppol network (Pan-European Public Procurement OnLine), governed at European level by OpenPeppol. Suppliers and administrations connect via accredited access points, identified in the Peppol SMP (Service Metadata Publisher) and SML (Service Metadata Locator).
Technical schema — Peppol BIS Billing 3.0 (UBL)
The chosen format is Peppol BIS Billing 3.0, a Core Invoice Usage Specification (CIUS) of the EN 16931 standard, expressed in UBL 2.1 (Universal Business Language, an OASIS XML format). Key elements:
- CustomizationID — identifies the Peppol BIS 3.0 profile compliant with EN 16931.
- EndpointID + schemeID — Peppol routing address; for Bulgaria, ICD
9926(BG VAT number) or0216. - CompanyID (PartyTaxScheme) — VAT number
BG+ ЕИК / EIK. - DocumentCurrencyCode — EUR since euro adoption on 1 January 2026.
- TaxCategory — UNCL5305 code (S standard 20%, S reduced 9%, Z zero, E exempt).
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>2026-000412</cbc:ID>
<cbc:IssueDate>2026-06-16</cbc:IssueDate>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="9926">831915840</cbc:EndpointID>
<cac:PartyTaxScheme>
<cbc:CompanyID>BG831915840</cbc:CompanyID>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:PartyTaxScheme>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="9926">130000266</cbc:EndpointID>
</cac:Party>
</cac:AccountingCustomerParty>
</Invoice> Bulgarian B2G vs EU neighbours
| Country | B2G receiving | B2G issuance | Pivot format |
|---|---|---|---|
| Bulgaria BG | Mandatory (2019) | Voluntary | Peppol BIS 3.0 |
| Romania RO | Mandatory | Mandatory | RO_CIUS / Peppol |
| Croatia HR | Mandatory (2018-19) | Mandatory | e-Račun / Peppol |
| Italy IT | Mandatory | Mandatory (SdI) | FatturaPA |
| Germany DE | Mandatory | Variable (Bund/Länder) | XRechnung / Peppol |
Bulgaria applies the strict EU minimum: mandatory receiving, issuance left to the supplier's choice. This is consistent with its CTC-laggard position — the State does not go beyond what Brussels requires.
Adoption — mandatory receiving, voluntary issuance
- All administrations connected. Since 2019, contracting authorities (central administrations, municipalities, public hospitals) must have an EN 16931 receiving channel.
- Issuance still a minority. Without an obligation, many suppliers keep using PDF; Peppol e-invoicing grows mainly among large suppliers and multinationals.
- ЦАИС ЕОП as the gateway. The centralised public procurement portal serves as the entry and archiving point for procedures.
- Peppol as a ViDA ramp. The Peppol network already in place for B2G will be the natural infrastructure for the future cross-border ViDA DRR.
Common pitfalls
- Believing B2G issuance is mandatory. Only receiving is. A supplier is not required to issue via Peppol unless the contract stipulates it.
- Wrong EndpointID schemeID. Peppol routing requires the correct ICD; an EndpointID set with the wrong scheme (e.g. generic instead of 9926) fails at the SMP.
- Forgetting the EUR currency. Since 1 January 2026,
DocumentCurrencyCodemust be EUR; old BGN templates need updating. - Confusing Peppol BIS and FatturaPA. Bulgaria uses UBL Peppol BIS 3.0, not the Italian FatturaPA format. A cross-border sender must serve the right profile.
- ЕИК vs VAT number. The CompanyID must carry
BG+ EIK (VAT number); the EndpointID carries the routing identifier. See the ЕИК / EIK page.