Regional spotlight
Formats? Mandates?
We've got you covered!
-
Overview of B2G, B2B and B2C e-invoicing in Poland. -
Key formats, networks and channels you may need to support. -
High-level regulatory and compliance considerations.
e-invoicing in Poland
Poland uses KSeF (Krajowy System e-Faktur), the national e-invoicing system, as the centralised platform for all invoice traffic. Both domestic and cross-border invoices are reported to KSeF using the FA(3) structured invoice format defined by the Polish tax authority. For domestic B2B transactions, KSeF is the sole delivery channel — invoices are issued through KSeF, and KSeF handles delivery to the recipient. For cross-border invoicing, invoices are reported to KSeF and additionally sent via the Peppol network when full Peppol address details are provided.
Poland is currently supported only for selected partners. Please contact Maventa Support for more information on how to set this up with your ERP for Polish companies.
Polish company account registration
When registering a new Polish company via the API, the Polish VAT number must be used as the company identifier. At the moment, company registration requires the vendor to have KYC approval from Maventa. Contact Maventa support to get started.
| Identifier | Description | Format | Validation |
|---|---|---|---|
| VAT number | Polish VAT identifier (NIP) | PL1234567890 |
Structural validation via VIES |
KSeF authentication
For Maventa to send and receive invoices on behalf of a Polish company, it must act as that company’s authorised technical operator in KSeF. This requires a KSeF authentication token, which the end customer generates once and the partner submits to Maventa.
There is no separate registration step in KSeF — every Polish company already exists in the system. The end customer only needs to log in and generate an authentication token.
The partner must first be registered as a trusted vendor with Maventa (part of the KYC approval described above). Contact Maventa Support to set this up.
Submitting the token
Collect the KSeF token from each end customer and submit it to Maventa with POST /v1/services/ksef/tokens. Once the token is active, invoices are sent and received automatically — the end customer does not need to log in to the KSeF portal for day-to-day operations.
The KSeF plan is that the token authentication method will expire on 31 December 2026. Plan token renewal with your end customers ahead of this date.
How an end customer generates a KSeF token
Share these steps with your end customers. The token is generated in the KSeF 2.0 Taxpayer Application. Logging in supports several methods: the mObywatel app, e-ID, online banking, a Trusted Profile (Profil Zaufany), or a qualified electronic signature or electronic seal.
Step-by-step: generating a KSeF authorisation token
- Log in to the KSeF 2.0 Taxpayer Application using the mObywatel app, e-ID, online banking, a Trusted Profile, or a qualified electronic signature or seal.
- Navigate to Tokens (Polish: Tokeny) in the side menu.
- Select the required permissions — both wystawianie faktur (issuing invoices) and przeglądanie faktur (viewing invoices).
-
Generate and copy the token. Copy the token value immediately after it appears — it may not be retrievable again. The value is a long string, for example
20260212-EC-1ECC3F2000.... -
Share the token securely with the partner through their software integration — never by email or another unencrypted channel. The partner submits it to Maventa via
POST /v1/services/ksef/tokens.
Sending in Poland
KSeF reporting and delivery
All invoices sent through Maventa for Polish companies are reported to KSeF. When Maventa sends an invoice to KSeF, the invoice is converted to the FA(3) format — the official KSeF structured invoice schema, mandatory from 1 February 2026. For each successfully submitted invoice, KSeF returns a UPO confirmation and the sender can download both the UPO and the cleared FA(3) document via the API.
Domestic invoices are routed exclusively to KSeF by Maventa — the sender does not need to take any additional steps. KSeF acts as the delivery platform and handles forwarding the invoice to the recipient. No other delivery channel is used for domestic traffic.
Cross-border invoices are reported to KSeF and additionally sent via the Peppol network — but only when the full Peppol address details are provided in the sending API metadata. This means both the recipient’s Peppol endpoint ID and the operator’s Peppol identifier must be explicitly included.
Every invoice that is successfully posted to KSeF gets the DELIVERED action, available via GET /v1/invoices/{id}/actions. The DELIVERED action’s channel_details.external_number field contains the KSeF ID.
If the full Peppol address details are not provided for a cross-border invoice, the invoice is reported to KSeF but is not delivered to the recipient via Peppol or any other channel. The invoice status shows as SENT because KSeF accepted it, even though the invoice has not actually reached the recipient. Maventa does not automatically reroute these invoices — the sender must manually reroute the invoice to email or print if these delivery channels are enabled for the sender account.
Email and print delivery
Email and postal delivery (printing) are available as additional delivery channels but are not applied automatically by Maventa. If an invoice needs to be delivered via email or print — for example when Peppol delivery was not possible or no Peppol address was provided — the sender must reroute the invoice to these channels manually. Printing is handled in Finland, and all postal deliveries are sent from Finland.
UPO — official confirmation of receipt
For every invoice successfully submitted to KSeF, Maventa receives a UPO file (Urzędowe Poświadczenie Odbioru — Official Confirmation of Receipt). The UPO is issued by the Polish tax authority system and serves as formal proof that the invoice was received and registered by KSeF.
The UPO typically contains:
- Submission reference and request ID
- KSeF ID (the unique invoice number assigned by KSeF)
- Date and time of receipt
- Processing status (accepted or rejected)
- Sender details
- Hash and integrity reference
The KSeF ID is also available via GET /v1/invoices/{id}/actions in the field channel_details.external_number.
Downloading the UPO and cleared document
Both the UPO file and the CLEARED_DOCUMENT (the FA(3) file as submitted to KSeF) are listed in the files array of the GET /v1/invoices/{id} response. Each file entry includes an id, filename, type, and mimetype.
| File type | Description |
|---|---|
UPO |
Official Confirmation of Receipt from KSeF. Available only for sent invoices. |
CLEARED_DOCUMENT |
The FA(3) invoice file as registered with KSeF. Can be downloaded for bookkeeping or legal compliance purposes. |
To download a file, use GET /v1/invoices/{id}/files/{file_id} with the id from the file entry.
Why is the UPO important?
The UPO serves as legal evidence that the invoice was delivered to the official KSeF platform. It provides an audit trail for compliance, dispute resolution, and customer support. The UPO can be stored in ERP or invoice management systems as the official delivery confirmation for Polish invoices.
Archiving is the partner’s responsibility. Polish invoices must be archived for 10 years.
Receiving in Poland
For domestic traffic, invoices sent by other Polish companies arrive via KSeF. Maventa retrieves these invoices from KSeF and delivers them to the recipient’s Maventa account, where they can be downloaded. For international traffic, invoices can be received via the Peppol network or directly from other Maventa customers — this requires Peppol SMP registration (see below).
Received cross-border invoices are not currently reported to KSeF. KSeF is primarily the structured invoice system for invoices issued by entities in scope — especially domestic Polish transactions. Invoices from foreign suppliers typically remain outside KSeF unless the supplier has a Polish fixed establishment participating in the supply or voluntarily uses KSeF.
| Address Type | Description | Example address | Activation Requirement |
|---|---|---|---|
| Peppol address | Official identifier for the Peppol network. Uses the VAT number with scheme 9945. |
9945:PL3140678169 |
Created when the company registers to receive from Peppol |
Peppol SMP registration
To receive invoices via Peppol, a Polish company must first be registered in the SMP (Service Metadata Publisher). The SMP registration determines which document formats the company can receive over the Peppol network.
Peppol registration is available for Polish companies using the VAT number with scheme 9945 — for example 9945:PL3140678169.
The following document types are registered in the SMP:
Peppol BIS Billing 3.0 — Invoice
DocumentIdentifier
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1
ProcessIdentifier
urn:fdc:peppol.eu:2017:poacc:billing:01:1.0
Peppol BIS Billing 3.0 — Credit Note
DocumentIdentifier
urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2::CreditNote##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1
ProcessIdentifier
urn:fdc:peppol.eu:2017:poacc:billing:01:1.0
Scanning
Scanning is available in Poland via the AutoScan solution.
For step-by-step instructions on enabling receiving, registering for Peppol, and setting up scanning, see the invoice receiving integration guide.
e-invoicing formats used in Poland
ERP integrations for Polish companies should use Peppol BIS Billing 3.0 for both sending and receiving. This is currently the only format with a guaranteed working conversion to and from the Polish FA(3) format used by KSeF.
| Format | Standard | Notes |
|---|---|---|
| FA(3) | Polish national standard | Official KSeF structured invoice schema defined by the Polish tax authority, mandatory from 1 February 2026. All invoices sent to KSeF are converted to this format. |
| Peppol BIS Billing 3.0 | EN16931 | Recommended format for ERP integrations. Used for cross-border Peppol delivery alongside KSeF reporting. |
Maventa also supports localised PDF for both sent and received invoices, with the legal invoice data included. The PDF is available in English, Finnish, Swedish, Norwegian (Bokmål and Nynorsk), Dutch, and Polish.