Skip to main content
KSeF 2.0

KSeF 2.0: the 2026 and 2027 timeline, and what to prepare in Odoo for each date

KSeF 2.0 has been mandatory since 1 February 2026 for companies that sold more than 200 million zł in 2024 and since 1 April 2026 for everyone else; those invoicing at most 10,000 zł a month join on 1 January 2027, the same day penalties start. This timeline sums up the Ministry of Finance dates and what is worth having ready in Odoo for each.

FlexigoTech · Editor in charge: Víctor Gómez · Updated 3 November 2026

Key facts

Module
KSeF 2.0
Versions
Odoo 17, 18, 19 and 20
Checked
in the module's source code, version 20.0 · against the sources linked at the end
Reading time
3 min

The official dates

  1. 1 February 2026 KSeF 2.0 goes live. Mandatory for companies that sold more than 200 million zł in 2024, VAT included.
  2. 1 April 2026 Mandatory for all other companies, except those invoicing at most 10,000 zł a month. The same day, access through the national node login.gov.pl opens.
  3. 1 January 2027 Mandatory also for those up to 10,000 zł a month. From this date, the penalties for errors, which had been postponed, apply.

One change worth knowing: KSeF access tokens were due to end in late 2026, but the Ministry of Finance decided to keep them with no end date.

To log in to KSeF, the Trusted Profile, the qualified signature, the token and the KSeF certificate all remain valid; the national node is one more route, not a replacement. If you are unsure which method to use for Odoo, our access guide explains it.

What to prepare in Odoo

Before the dates, one thing matters: that your invoices pass validation against the FA(3) schema. The actual sending to KSeF is done by Odoo's l10n_pl_edi module, which exists in versions 18, 19 and 20. The FlexigoTech module validates and prepares, but does not send.

  1. Before your date Validate FA(3) invoices with the module. Validation runs in FlexigoTech Cloud with the subscription and stores a signed report; each invoice ends up valid, not valid, not validated or expired.
  2. Before your date Review the FA(3) fields and the error codes under Configuration: they are the reference the validation uses.
  3. On day one Check credentials and authorisations. The module warns every day about the ones about to expire and marks the countdown: 30, 14, 7 and 1 days before.
  4. Every day If you work in offline mode, the module calculates the deadline until the next Polish working day and warns daily about what falls due.
  5. Every hour Invoices already sent by l10n_pl_edi are validated again in the cloud every hour.
FA(3) field reference in the Odoo KSeF module
The FA(3) fields the validation checks, with whether they are mandatory and their error code. Odoo screenshot with demo data.

What it does with received invoices

The module also organises the vendor bills that l10n_pl_edi has already downloaded. An hourly task matches them with what is in Odoo, and each one ends up downloaded, matched, with a draft vendor bill or in manual reconciliation. It downloads nothing on its own: it works on what Odoo already brought from KSeF.

What changes on 1 January 2027

Until that date, penalties for KSeF errors are postponed. From then on, a badly filled schema stops being just a rejection and can cost money. That is why it pays to validate now, while an error is still only a warning.

List of KSeF error codes in Odoo
Error codes and whether they can be retried. Odoo screenshot with demo data.
Real tour of the KSeF module in Odoo: FA(3) fields, error codes and legal policy
Real Odoo screens with demo data.

If your company joined on an earlier date, do not wait for January 2027 to review the warnings: every invoice rejected today is one that could carry a penalty tomorrow.

The dates come from the Ministry of Finance page on implementation stages and its questions and answers on KSeF 2.0, linked below. If they change, we will update this page.

Keep reading

KSeF 2.0: token, KSeF certificate or Trusted Profile? How to chooseHow to choose the access method for KSeF 2.0 for your company and for Odoo: Trusted Profile, qualified signature, national node, token or KSeF certificate.KSeF in Odoo 17, 18, 19 and 20: what changes with your versionKSeF differences between Odoo 17 and Odoo 18, 19 and 20: native sending with l10n_pl_edi, where the validated FA(3) comes from and what the module does in each version.
Checked in the module's source code (version 20.0) and the linked sources

Sources