KSeFGPT
Get started for free
Guide
May 19, 202610 minRafał Zeidler

UPO in KSeF - What the Official Receipt Means

Learn what UPO means in KSeF, what it contains, when it can be downloaded, how it differs from the KSeF number and why the Polish official term is Urzędowe Poświadczenie Odbioru.

UPO in KSeF - What the Official Receipt Means

Article Summary

UPO in KSeF is the official acknowledgement that an invoice has been accepted by the Polish Ministry of Finance system. The official Polish name is Urzędowe Poświadczenie Odbioru, although people often use the informal phrase Urzędowe Potwierdzenie Odbioru. In both cases, they usually mean the same acknowledgement document issued after KSeF accepts the invoice.

UPO includes, among other things, the invoice KSeF number, the taxpayer's own invoice number, the submission date, the acceptance date and data that links the acknowledgement to a specific submission. Clicking send does not close the process. Operationally, the process is closed by acceptance, the KSeF number and the ability to download UPO.

The safest company procedure is simple: prepare the FA(3) XML, submit the document, check the status, download UPO and keep it with the invoice archive. Missing UPO should trigger a status check, not an automatic re-submission of the same file.

What UPO Means in KSeF

UPO is the official acknowledgement of receipt for an electronic document in KSeF. Its role is evidential: it shows that a structured invoice has been accepted by the system after processing and validation.

In practice, UPO answers a question that the XML file alone cannot answer: was the document actually accepted by KSeF? The XML may be correctly prepared, but until the system accepts it, there is no KSeF number and no acceptance acknowledgement.

That is why accounting teams should distinguish three states: prepared, submitted and accepted. Only the third state, confirmed by a KSeF number and UPO, means that the invoice has gone through KSeF.

TermMeaning
XML FA(3)The structured invoice file prepared for submission to KSeF.
SubmissionSending the file to KSeF through an application, accounting system or API.
AcceptanceSuccessful processing by KSeF and assignment of a KSeF number.
UPOThe official acknowledgement that the document has been accepted by KSeF.

What UPO Contains

The Ministry of Finance description of UPO elements shows that the acknowledgement is not a generic success message. It is a document with specific data identifying the invoice, the submission and the system acceptance.

For accounting, the key field is the KSeF number of the e-invoice. It identifies the document in KSeF. Next to it appears the invoice number assigned by the taxpayer, the value from field P_2, which lets you connect the acknowledgement with your company's invoice numbering.

UPO may also include a reference number for the submitted document set. In an interactive submission this is the session reference number; in a batch submission it is the package reference number. This matters at higher volumes because it lets you reconstruct which operation sent the invoice to KSeF.

UPO ElementWhy It Matters
Reference number of the submitted setLinks the acknowledgement to a session or document package.
KSeF number of the e-invoiceUniquely identifies the invoice in KSeF.
Invoice number from field P_2Links UPO with the taxpayer's invoice numbering.
Submission dateShows when the document was sent to the system.
Acceptance dateShows when KSeF accepted the document and assigned the KSeF number.
Hash valueHelps confirm document integrity in the technical process.

KSeF Number and UPO

The KSeF number and UPO are connected, but they are not the same thing. The KSeF number identifies the invoice after system acceptance. UPO is the acknowledgement that contains that number and documents the moment of acceptance.

It is also important that the identifier of a document submitted to KSeF is not the invoice KSeF number. In practice you may see a session number, a package number, your own invoice number and a KSeF number. Each one has a different function.

The KSeF number is not part of the XML file prepared before submission. It appears only after KSeF accepts the document and is returned in the acknowledgement. Do not manually enter it into the invoice before submission.

NumberWhen It AppearsPurpose
Internal invoice numberWhen the taxpayer issues the invoiceConnects the document with the company's own numbering.
Session or package reference numberDuring submission to KSeFTracks the technical submission operation.
KSeF numberAfter KSeF accepts the invoiceUniquely identifies the invoice in KSeF.
UPOAfter document acceptanceConfirms acceptance and contains invoice identification data.

When UPO Becomes Available

UPO becomes available after KSeF processes and accepts the document. It is not wise to build a procedure around a fixed number of minutes, because timing depends on the submission method, system load, session type and whether the document passes validation without errors.

The simple rule is this: until there is an acceptance status, a KSeF number and UPO, the process is not finished. The document may still be processing, may be waiting for session handling or may have been rejected.

For individual invoices, the user usually checks the document status and downloads the acknowledgement after acceptance. For larger packages, you also need to monitor the session or package status, because the acknowledgement can relate to a set of documents.

How to Download UPO

You download UPO in the tool that handles the invoice submission. This may be the KSeF 2.0 Taxpayer Application, accounting software with KSeF integration, your own API integration or KSeFGPT after the document has been submitted.

The KSeF 2.0 Taxpayer Application lets users check submission status and download UPO for one or many invoices. It is a useful path for companies working manually or needing an official reference point.

In commercial systems, the most important thing is that UPO returns to the same place where the team manages invoices. Downloading acknowledgements from a separate panel quickly creates archive gaps, especially when there are dozens or hundreds of documents per month.

PathWhen It Makes Sense
KSeF 2.0 Taxpayer ApplicationSingle invoices, manual work and an official reference point.
Accounting system or ERPRegular company operations, accounting records and archive integration.
Own API integrationHigh volumes, IT-side automation and document packages.
KSeFGPTSubmission, status monitoring, UPO download and archiving in one process.

Individual and Collective UPO

For a single submission, it is easiest to think of UPO as the acknowledgement for one invoice. The user submits the document, the system accepts it, assigns a KSeF number and makes the acknowledgement available.

For larger packages, there is an additional operational layer: session, package, statuses of individual documents and a collective acknowledgement. It is especially important that the system can link the package reference number with specific invoices and their KSeF numbers.

For accounting, it is not enough to know that a package was handled. You need to know which invoices were accepted, which received KSeF numbers, which have UPO and which need correction and re-submission.

Work ModeWhat to Watch
One invoiceCheck the acceptance status, KSeF number and UPO for that invoice.
Several invoices sent one by oneDo not assume all documents have the same result.
Document packageTrack the package reference number and invoice statuses inside the package.
Accounting officeKeep separate UPO archives for each client and tax ID.

What Missing UPO Means

Missing UPO does not have one universal cause. It may mean the document is still processing, the session was not closed, the system has not downloaded the acknowledgement yet or the invoice was rejected. The first reaction should be to check the status, not to submit the same document again.

The riskiest scenario is assuming that because the file was sent, the invoice was accepted. In KSeF, transmission and acceptance are different states. If there is no KSeF number and no UPO, accounting should treat the case as open.

If the document was rejected, correct the data or XML and submit the proper document again. If the document was accepted but UPO is not visible in your application, check whether the system downloaded the acknowledgement correctly and whether you are looking at the right taxpayer context.

Possible CauseWhat to Check
Document is processingSubmission status and system messages.
Validation rejectionXML structure errors, required data and amount consistency.
Session problemWhether the session or package was handled correctly.
Acknowledgement download issueWhether the application has access to UPO and the right taxpayer context.
Search mistakeInvoice number, tax ID, date and reference number.

What to Check Before Closing the Submission

In daily work, it is worth having a fixed control set. This prevents an invoice from getting stuck halfway between the accounting system and KSeF, and saves the team from reconstructing weeks later whether the document was actually accepted.

First, check the KSeF number. Second, download UPO or make sure the system did it automatically. Third, compare the invoice number from field P_2 with the internal document number in your system. Fourth, record the acceptance date.

At higher volumes, add package control: session or package reference number, list of accepted documents and list of rejected documents. This reduces the risk that one invoice from a package disappears between submission status and accounting.

ControlWhy It Matters
KSeF numberConfirms invoice identification in KSeF.
UPOOfficially acknowledges document acceptance.
Acceptance dateHelps determine when the system accepted the invoice.
Invoice number from field P_2Links UPO to company numbering.
Session or package statusHelps detect rejected or unprocessed documents.
Archive exportSupports control, audit and accounting work.

How to Archive UPO

The Ministry of Finance technical FAQ states that there is no obligation to download and archive KSeF UPO. That does not make the acknowledgement useless. In practice, a good operating set includes invoice XML, KSeF number, UPO, internal invoice number, acceptance date, submission status and possible error messages.

Do not treat a screenshot as a substitute for UPO. A screenshot may help in an operational conversation, but it does not replace the proper acknowledgement downloaded from the system. Similarly, an email about submission is not the same as the official acknowledgement of receipt.

Companies and accounting offices should define one naming and storage rule: invoice number, KSeF number, client tax ID and month. The earlier the team standardizes this, the less manual searching there will be after period close.

How KSeFGPT Helps Close the UPO Process

KSeFGPT connects submission, status monitoring, UPO download and archiving in one place. The user does not have to separately check whether the invoice was accepted and then manually move acknowledgements into another folder.

The practical process is simple: prepare or import the invoice, check the data, submit XML FA(3) to KSeF, watch the status, download UPO after acceptance and return to the invoice with the full information set. You can read more in KSeFGPT - invoice import, export and AI analytics app.

On KSeFGPT.pl, you download UPO in the Invoices module. After opening a specific invoice, the acknowledgement is available next to the other document files, such as PDF and XML. This is useful when you want to inspect the full set for one invoice: document data, XML, PDF preview, KSeF number and UPO.

The second path works directly from the list. On the incoming or outgoing invoice list, open the three-dot menu (...) next to the selected invoice and choose the UPO download action. This is faster when you are organizing several documents from the list or checking acknowledgements after a larger submission.

This is especially important in team work. If one person submits the document, another books it and a third handles client communication, the acceptance status and UPO need to be visible in the same process, not in a user's private folder.

Submitted invoice status in KSeFGPT with further document and UPO handling

Close invoice submission together with UPO

In KSeFGPT you can submit an invoice to KSeF, monitor status, download UPO and keep the KSeF number with the document.

Go to KSeFGPT

Common UPO Mistakes

The first mistake is confusing submitted with accepted. Submission means the file entered the technical process. Acceptance means KSeF assigned a KSeF number and UPO can be downloaded.

The second mistake is confusing the session reference number with the KSeF number. The session number helps track the submission operation, but it does not identify the invoice like the KSeF number. Both numbers may be needed to reconstruct the process.

The third mistake is having no procedure for documents without UPO. If an invoice has no acknowledgement, it should go to a clarification list. Automatic re-submission without checking the status can create confusion and make the correct document harder to identify.

MistakeBetter Practice
Treating submission as acceptanceWait for the KSeF number and UPO.
Archiving only the PDFKeep XML, UPO and the KSeF number.
Confusing numbersSeparate the invoice number, session number and KSeF number.
No reaction to missing UPOCheck status, session, validation errors and taxpayer context.
Keeping UPO outside the systemStore acknowledgements next to the invoices they refer to.

Expert Perspective

UPO is a small document, but it changes how teams think about invoices. In the traditional flow, many companies ended the process when they generated a PDF or sent an email to the counterparty. In KSeF, you need to look at the full cycle: XML, submission, acceptance, KSeF number and UPO.

The biggest risk is not the definition of UPO itself, but the lack of a procedure. If the team does not know who downloads acknowledgements, where they are stored and how to handle missing UPO, the issue will appear only at month close, during a counterparty dispute or during an audit.

A good application should therefore not only submit the document, but also watch whether the process is complete. The user should see which invoices have UPO, which are still waiting and which require correction. That is what separates KSeF handling from a simple XML export.

Frequently Asked Questions

What is UPO in KSeF?

UPO in KSeF is the official acknowledgement that the system accepted a document. In practice it confirms the KSeF number, acceptance date and link between the invoice and the submission or session.

Are UPO and the KSeF number the same thing?

No. The KSeF number identifies the invoice after acceptance, while UPO is the acknowledgement document that includes that number.

When can I download UPO?

UPO becomes available after KSeF processes and accepts the document. Do not treat the mere upload of a file as the end of the process.

What does missing UPO after submission mean?

It may mean the document is still processing, was rejected, the session was not handled correctly or the application has not downloaded the acknowledgement yet. First check the submission status and system messages.

Do I have to store UPO?

According to the Ministry of Finance technical FAQ, there is no obligation to download and archive KSeF UPO. Operationally, it is still worth keeping UPO with the invoice, KSeF number, internal invoice number and submission status.

Can UPO cover many invoices at once?

Yes. With invoice packages, a collective acknowledgement can be linked to the package or session reference number. Individual invoices still need to be matched with their KSeF numbers and acceptance statuses.

Recommendation

If you are just designing your KSeF process, start with one rule: no submission is finished until the invoice has a KSeF number and UPO. This single rule organizes the work of sales, accounting and archive owners.

Then check whether your tool shows post-submission statuses, downloads acknowledgements and lets you find UPO by invoice number, tax ID or KSeF number. If it requires manual file transfers between panels, the risk of mistakes grows with every additional document.

Read next: Submitting invoices to KSeF - complete 2026 guide, How much time you have to submit to KSeF, Corrective invoice in KSeF and KSeFGPT - invoice import, export and AI analytics app.

Submit invoices to KSeF and keep UPO in one place

KSeFGPT helps you prepare FA(3) XML, submit the invoice, check status, download UPO and keep the KSeF number with the document.

Go to the app

Zweryfikowano merytorycznie: Bogdan Mazurek

Tax Advisor · May 19, 2026

Content reviewed for the distinction between UPO, the KSeF number, submission reference numbers and the practical meaning of invoice acceptance status in KSeF.

Related articles