KSeF

KSeF readiness checklist for small businesses

A practical readiness checklist for KSeF: party data, FA(3) field mapping, authentication and a tested flow, so the switch is mechanical when your obligation applies.

Published 3 min readBy Tomek

Overview

Readiness for KSeF means having your party data, invoice fields, authentication method and a tested flow in place before your obligation applies. Work through a short checklist — buyer and seller NIPs, FA(3) field mapping, token authentication and a TEST run — so the switch is mechanical rather than a scramble.

Check your obligation date first

KSeF (Krajowy System e-Faktur) is Poland's national e-invoicing platform. The rollout is phased, so do not assume a single universal date for everyone. Confirm the date that applies to your business with a Polish accountant or the Ministry of Finance's current announcements. Once your obligation applies, B2B invoices must be issued as structured FA(3) XML with a KSeF number and a UPO.

The readiness checklist

Work through these before you send your first production invoice:

  1. Party data. Have accurate seller and buyer NIPs ready, plus the names and addresses you will map onto the schema. A wrong NIP is the kind of error that fails before the invoice is useful.
  2. Invoice fields. Map your data to the fields you must fill: P_1 (issue date), P_2 (invoice number) and P_15 (total amount due, VAT included) among them. P_1 and P_2 sit in the Fa element, not the form header.
  3. VAT rates. Confirm which rates apply to what you sell. Notaly's generator handles 23%, 8%, 5% and 0%; anything outside that, or any special marking, should be confirmed with your accountant before you rely on it.
  4. Authentication. Decide how you will authenticate. With Notaly you provide a KSeF token in Connect KSeF for production; XAdES with a qualified signature or seal is the alternative path you would only need if you built the integration yourself.
  5. Numbering. Set a sequential, non-repeating invoice numbering scheme so P_2 is always unique.
  6. Test the whole flow. Use the TEST environment for a run — Notaly's sandbox includes three free test invoices — and confirm you can submit, get an acceptance with a UPO, and receive the webhook.

What "done" looks like

You are ready when you can issue a test invoice end to end and read the result: the document validates, KSeF accepts it, you receive the KSeF number and UPO, and your systems record them. Until then, treat the integration as a draft — cheap to fix in TEST, expensive to fix in production.

FAQ

When does my KSeF obligation start? Confirm your own date with a Polish accountant or the Ministry of Finance. Once your obligation applies, B2B invoices must be issued as structured FA(3) XML with a KSeF number and a UPO.

Which VAT rates does Notaly support? The VAT rates the generator handles: 23%, 8%, 5% and 0%. Other markings should be confirmed with your accountant.

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

Frequently asked questions

When does my KSeF obligation start?

Confirm your own date with a Polish accountant or the Ministry of Finance. Once your obligation applies, B2B invoices must be issued as structured FA(3) XML with a KSeF number and a UPO.

Do I need a token to use Notaly?

For production you connect your own KSeF token in Connect KSeF. The sandbox uses the platform's test credentials, so you can start without one.

Which VAT rates does Notaly support?

The VAT rates the generator handles: 23%, 8%, 5% and 0%. Other markings should be confirmed with your accountant.

Issue your first KSeF test invoice today

Create a sandbox account: API key in seconds, 3 free test invoices on KSeF TEST, no credit card.