Overview
The UPO (Urzędowe Poświadczenie Odbioru) is the official proof of receipt that KSeF returns when it accepts a submitted FA(3) invoice. After you send an invoice it moves through a short status cycle — submitted, then accepted or rejected — and the UPO is the confirmation you archive as evidence. Reading that status correctly lets you automate retries and tell customers exactly where their invoice stands.
What the UPO is
KSeF (Krajowy System e-Faktur) is Poland's national e-invoicing platform operated by the Ministry of Finance (Ministerstwo Finansów). When your system submits a structured FA(3) invoice and KSeF accepts it, the platform returns the UPO — the official confirmation that the document was received and accepted for processing. The UPO is not the invoice itself: it is the receipt that proves the invoice entered the KSeF system, and you should archive it next to the invoice.
The status cycle
An invoice submitted through the KSeF API passes through a small set of states. It starts as a draft, then becomes submitted once it reaches KSeF. From there KSeF processes it and returns a final result: accepted, with the KSeF number and UPO, or rejected, with a code and a description explaining why. The official status codes come from the KSeF API specification maintained by the Ministry of Finance, not from the invoice content.
Reading a rejection
When KSeF rejects an invoice, the status carries a code and a description in Polish. Common causes are schema problems — a field that fails the FA(3) validation — or business issues such as a seller NIP that does not match the authenticated context. Read the description against the official KSeF code table rather than guessing, because the same numeric code can mean different things depending on the context.
What to do with the UPO
Store the UPO number and the full response next to the invoice in your records. It is the evidence that the invoice was issued through KSeF, and you will want it for reconciliation, customer support and audit. In the Notaly API the UPO arrives together with the accepted status on the invoice webhook.
Disclaimer
Notaly is not a tax, accounting or legal advisor. This article is general information, not tax advice, and may be outdated. You are responsible for your own VAT compliance; confirm with a qualified accountant where required.
Sources
Source: www.podatki.gov.pl