One point of standing first. The binding text of the Polish VAT Act is the Polish one, published in the Dziennik Ustaw. This page is a working guide for a reader who does not read Polish; where a figure matters, check the instrument, and where the two diverge the Polish text governs.
What are you actually paying for?
Three layers, with three different behaviours over time. The first is budgeted almost everywhere, the second is systematically under-provisioned, and the third is rarely measured at all.
Implementation — a one-off cost
Analysis, integration with the source system, mapping data onto the FA(3) logical structure, handling authentication, testing in the test and demo environments, data migration, training. This layer is normally counted, because it lands inside a project budget and someone has to approve it. FA(3) has been the binding invoice template since 1 February 2026; the Ministry of Finance publishes an English information sheet on it, which is the one piece of primary KSeF documentation a non-Polish-speaking integration team can work from directly.
Maintenance — a fixed running cost
Licences, hosting, monitoring, rotation of tokens and certificates, and adaptation to changes in the structure and the API. This layer is under-provisioned by one recurring line that most plans treat as exceptional: change on the system side. The migration from KSeF API 1.0 to 2.0 was a maintenance cost, not an implementation cost, and it required, among other things, mandatory encryption in interactive mode — which had been optional there under 1.0. A further package arrives on 1 January 2027: invoice statuses, configurable token validity, the numer KSeF in payments, and raised query limits, all flagged in the Ministry of Finance summary of the consultation held on 11 June 2026.
Operations — the variable cost
Rarely measured, and the one that grows in a way nobody predicted. The rest of this article is largely about why.
Why is the number of invoices the wrong denominator?
One invoice does not mean one API call. A realistic trace for a single document looks like this.
| Step | Calls |
|---|---|
| Local validation | 0 to KSeF, but it consumes CPU on your side |
| Authentication | 0 to 3, depending on token lifecycle |
| Submission | 1 |
| Status polls | 1 to n, depending on strategy |
| Retrieving the UPO | 1 |
| Retries after errors | 0 to n |
| Writing to the audit trail | several, on your side |
The whole spread between a good implementation and a bad one lives in two of those rows: status polls and retries. An integration that responds to a timeout by resubmitting rather than polling for status generates a multiple of the calls — and, incidentally, duplicates, which in KSeF cannot be deleted. An integration that polls in a one-second loop instead of backing off exponentially does the same thing to the bill without producing duplicates.
Hence the first measurement rule: count operations, not documents, and report the ratio between them. A rise in calls per invoice is a leading indicator. It signals a defect before the defect shows up in the bill, and long before it shows up in the ledger.
How do you calculate the cost per invoice?
A simple model is enough to make decisions with:
Unit cost = (fixed costs of the period + variable costs of the period) ÷ invoices issued in the period
It is worth splitting that into three indicators, because each answers a different question:
- Cost per invoice — for period-on-period comparison and for the build-or-buy decision.
- Cost per operation — for detecting inefficiency in the integration.
- Operations per invoice — an indicator of implementation quality that is independent of anyone's price list.
The third is the most useful operationally, because it does not move when a supplier changes its tariff. It moves only when your code changes, or when the system it talks to does.
For a group, all three have to be produced per Polish taxpayer rather than per platform. That is not a reporting preference; it follows from the statute. The obligation in art. 106ga attaches to the taxpayer, and if three entities in the structure are in scope, three sets of numbers and three sets of evidence exist. A shared platform that reports one blended cost per invoice for Poland cannot answer a recharge question, and — more seriously — cannot attribute an operation to the entity that owed the duty when the tax office asks.
Which entity in the group is actually paying, and which one is liable?
These are different questions, and in a multinational they routinely have different answers.
The cost usually sits with a shared service centre or a group IT function. The obligation sits with the Polish taxpayer. Art. 106ga ust. 2 of the VAT Act excludes a taxpayer with neither a seat nor a fixed establishment in Poland, and also a taxpayer without a Polish seat whose fixed establishment in Poland does not participate in the supply for which the invoice is issued. A Polish VAT registration is not by itself a fixed establishment. The Ministry of Finance published objaśnienia podatkowe on that determination on 28 January 2026; the scope test is set out in detail in the companion article on KSeF penalties from 1 January 2027.
The costing consequence is narrow but expensive to get wrong. If a Kraków or Wrocław shared service centre issues invoices on behalf of several group companies through one integration, the platform cost is one number and the compliance record is several. Attribution has to be designed in at the point where operations are logged, because it cannot be reconstructed from an aggregate invoice afterwards. The same applies to the audit trail the operations produce: storage is cheap, but storage that cannot be sliced by taxpayer is not evidence.
Two dates belong on the same planning slide, and one of them is not Polish. Poland's mandate originally rested on Council Implementing Decision (EU) 2022/1003 of 17 June 2022, authorising a derogation from Articles 218 and 232 of Directive 2006/112/EC, which applies until 31 December 2026. Council Directive (EU) 2025/516 of 11 March 2025 — the VAT in the Digital Age package — inserts a general power into Article 218 allowing a Member State to require electronic invoices from taxable persons established in its territory without a Council authorisation, and amends Article 232 so that recipient acceptance need not be sought. The mandate therefore does not lapse when the derogation expires. For a group carrying more than one EU e-invoicing mandate, the practical reading is that the change cadence is now set at Union level as well as nationally, and a standing change budget is more realistic than a one-off implementation budget.
What does an AI operation add to the bill?
Putting a model into the invoicing path — for document classification, counterparty matching, coding, or exception handling — adds a cost layer whose behaviour is unlike everything above it.
Three properties make it hard to forecast:
- Cost tracks input length, not document count. An invoice with two hundred lines costs many times more to process than an invoice with one, at identical business value per operation.
- Retries are expensive. A failed API call costs almost nothing. A failed model call costs the same as a successful one, and if an agent reads an ambiguous result as a failure and tries again, you pay for every attempt.
- Behaviour changes without a code change. Swapping in a newer model can change both quality and unit cost with no deployment on your side and nothing in your change log to point at.
The practical consequence is that AI cost has to be measured at the level of the individual operation and bound to the document it relates to. An aggregated monthly bill cannot answer the question of which processes are uneconomic, and the distribution is normally very uneven: a few per cent of documents can account for a large share of the total. The general treatment of this problem is in the cost of running AI agents; what is specific to KSeF is that the expensive documents and the risky documents are often the same documents, because both correlate with size and irregularity.
What cost appears only on 1 January 2027?
A conditional line, and it is the largest number in the model. From 1 January 2027 the penalties in art. 106ni begin to be applied: up to 100% of the amount of tax shown on an invoice issued outside KSeF, and up to 18.7% of the total amount due where no tax is shown.
That changes the arithmetic that justifies investment in controls. An audit trail and approval thresholds have an implementation and a running cost; their value is the probability of an incident multiplied by its consequence, reduced by the mitigation available under art. 189d of the Kodeks postępowania administracyjnego — which is only available to an organisation that can prove the circumstances it wants credit for. On a single invoice carrying PLN 100,000 of tax, the difference between holding that proof and not holding it exceeds the annual running cost of the entire control layer.
Two further lines land on the same date and are usually missed by a group plan. The PLN 10,000 transitional relief — under which a taxpayer whose monthly invoiced sales did not exceed PLN 10,000 gross could invoice outside KSeF — expires on 31 December 2026, so small Polish entities parked outside the project need an integration budget for the turn of the year. And art. 108g requires the numer KSeF to appear in the payment reference for a faktura ustrukturyzowana, which is a change to banking and treasury systems that in a multinational usually sit outside both the Polish entity and the KSeF project.
One planning assumption to check before you budget
There is no deferral for Polish micro-entrepreneurs. They came into the obligation on 1 April 2026, on the same terms as everyone else. The private members bill that would have excluded them until 31 December 2027 — Sejm druk nr 2321, of 13 February 2026 — stalled after its first reading on 13 March 2026 and was never enacted. It is still cited as if it were law, including in advisory material, so if a Polish subsidiary has told a group budget owner that its smallest entities need no integration until 2027, establish which instrument that comes from. The library's register of corrections keeps the point current.
What should a group monitor?
- Operations per invoice — the implementation-quality indicator, independent of price.
- Share of retries in total calls, broken down by cause.
- Cost per document by process — the only way to find processes that are uneconomic.
- AI operation cost per document, reported separately, because its dynamics differ from the rest.
- Distribution, not the mean. An average cost per document hides the tail, and the tail usually accounts for most of the bill.
- Audit-trail storage cost — it grows linearly and becomes significant over a retention period matched to the statutory document-retention period.
- Cost and call volume per Polish taxpayer, not per platform, so the numbers can be recharged and, if necessary, produced entity by entity.
The first two are the ones to put on a monthly report. They move before anything else does, they are cheap to compute, and neither requires agreement on an allocation method — which is what usually stalls the other five.
In practice
BarzelVault applies policy and approval thresholds ahead of execution and issues signed audit receipts, which is the record the art. 189d argument depends on. BarzelOps runs the cross-system workflow with durable state, approval checkpoints and tenant isolation, so operations performed by one shared platform remain attributable to the individual Polish entity.
Frequently asked questions
Is there a fee for using KSeF?
No. There is no charge payable to the administration and no government tariff per invoice or per call. Cost arises from software, integration, infrastructure and people.
How do you calculate the cost per invoice?
Fixed plus variable costs of a period, divided by invoices issued in that period. The variable side must include failed and retried calls, which are the ones normally left out.
Why does the bill grow faster than invoice volume?
Because invoices and operations are different quantities. One invoice generates several to a dozen calls, and poor timeout handling multiplies that number without changing the document count.
Is it cheaper to build or to buy?
It is a decision about where cost sits in time. Building moves cost from licences to maintenance, together with the duty of keeping pace with the API and the structure. Price three years of maintenance, including one mandated migration, before comparing.
What does a group have to budget that a domestic filer does not?
Per-entity cost attribution, a documented scope determination for each entity, a treasury change for art. 108g from 1 January 2027, and a standing regulatory-change line rather than a one-off implementation line.
Can a structured invoice be deleted if a duplicate is created?
No. An invoice accepted by KSeF receives a numer KSeF and can be corrected but never deleted, so a duplicate produced by an unguarded retry has to be unwound with a correcting invoice. That is a real cost of a cheap retry strategy.
Where this leads
The KSeF cost model is unusual in that the regulator supplies the expensive part for nothing and the cheap-looking part — your own operations — is where the money goes. A group that measures operations per invoice, attributes them to the taxpayer that owes the duty, and treats regulatory change as a standing line rather than an exception will not be surprised by the bill. From 1 January 2027 it will also be the only kind of group that can argue for a reduced penalty, because the argument and the cost model draw on the same record.
In practice
The control has to run before the invoice becomes irreversible.
An accepted structured invoice can be corrected but never deleted, and from the penalty date every defect has a price. Barzel puts the approval threshold, the duplicate check and the signed record in front of submission, so the process can be defended on the day an auditor or the tax authority asks.
95 days leftKSeF penalties apply from 1 January 2027
BarzelVault
The AI action firewall: decide what an agent may do before it does it.
- Approval thresholds and policy checks enforced before execution; human approvals that expire and escalate.
- Cryptographically signed audit receipts: trigger, inputs, policy version, approver, outcome.
- Credential isolation, spend and action limits, and an emergency kill switch.
Free tier: 10,000 calls a monthPaid plans from $199 a monthLive on MCPize
BarzelOps
Governed workflow automation across the systems that run the business.
- Durable, idempotent execution: a timeout is retried once, never filed twice.
- Human approval checkpoints that pause the workflow and resume it.
- Isolation per entity or client, signed evidence receipts and a portable manifest; HubSpot, Xero, Gmail, Google Drive and Slack.
Free tier: 100 calls a dayPaid plans from $19 a monthLive on MCPize
Enterprise: written quote by email within two business days. No sales call.
Related
- KSeF penalties from 1 January 2027
- offline24, awaria and niedostępność: three states, three obligations
- Approval thresholds before a KSeF invoice becomes irreversible
- The KSeF audit trail: documenting an automated operation
- The cost of running AI agents
- Glossary of regulatory and technical terms
Sources
- Ministerstwo Finansów, KSeF 2.0 — przewodnik dla integratorów, including the overview of key changes in KSeF API 2.0 — github.com/CIRFMF/ksef-api.
- Ministerstwo Finansów, Pierwsze konsultacje po częściowym wdrożeniu KSeF — podsumowanie, 11 June 2026 (announcing changes from 1 January 2027).
- Ustawa o podatku od towarów i usług (Polish VAT Act), art. 106ga, art. 106ni, art. 108g.
- Kodeks postępowania administracyjnego, art. 189d.
- Ustawa z dnia 5 sierpnia 2025 r. o zmianie ustawy o podatku od towarów i usług oraz niektórych innych ustaw, Dz.U. 2025 poz. 1203.
- Ministerstwo Finansów, Zakres obowiązkowego KSeF — scope, the 1 February and 1 April 2026 dates and the PLN 10,000 transitional relief.
- Ministerstwo Finansów, Information sheet on the FA(3) logical structure, 4 March 2026 (English).
- Ministerstwo Finansów, Objaśnienia podatkowe z 28 stycznia 2026 r. on determining a fixed establishment in Poland for the purposes of issuing invoices through KSeF.
- Council Implementing Decision (EU) 2022/1003 of 17 June 2022 — Poland, derogation from Articles 218 and 232 of Directive 2006/112/EC, applying until 31 December 2026.
- Council Directive (EU) 2025/516 of 11 March 2025 amending Directive 2006/112/EC as regards VAT rules for the digital age.
- Sejm RP, druk nr 2321 — private members bill of 13 February 2026, first reading 13 March 2026, not enacted.
This article is a working guide for English-speaking readers and does not constitute tax or legal advice. The binding text is the Polish one.