← Back to blog

How Much Does KSeF Integration Cost? Real Numbers

What drives the price of KSeF integration and why the cheapest option ends up costing the most. Real numbers, not marketing estimates.

Every other client comes in having received quotes ranging from €200 to €20,000 and not knowing what explains the gap. The answer is straightforward: it depends on what the integration survives.

This article breaks down what drives the price up, where the hidden costs of the cheap option live, and what must be included in any integration that is meant to hold up in production.

What determines the price more than anything else: durable vs. fire-and-forget

The most important technical decision at the start of the project: will the integration be durable (every KSeF call is a persisted, idempotent unit of work), or fire-and-forget (the app sends an invoice and hopes it went through)?

Fire-and-forget is cheaper. 30–60% cheaper on initial development. It looks functional until KSeF returns a timeout, a rate-limit, or a 500. At that point the invoice silently disappears. No one finds out until a tax audit.

Durable costs more upfront. In production it costs less, because there are no incidents, no manual fixes, no forensic recovery. In one forensic recovery we retrieved 15,141 documents that a previous fire-and-forget pipeline had silently lost. That project was not developer failure — it was a predictable outcome of the wrong architecture.

Six factors that move the price

1. Connection to your specific ERP

KSeF itself is roughly the same level of complexity every time. What significantly changes the price is the ERP on your side.

Business Central has a standard dataverse, solid API, and a reasonable type structure. The integration can be built systematically. We know where to find document series, tax codes, mappings to FA XML.

Custom invoicing systems or older ERPs — it depends on how the data is structured. If you have a remarks field with a customer code buried in free text, or date formats without timezone, a transformation and mapping layer gets added. That is hard to estimate upfront without access to the system.

File-based integration (CSV or XML export/import) is cheaper on the ERP side, but adds file transfer orchestration and state tracking — that does not go away.

2. Invoice volume

Hundreds of invoices per month is a different operation from tens of thousands.

At low volume you can get away with sequential submission without complex rate management. At higher volume you have to manage KSeF rate limits as shared state — especially if you are running multiple instances. An in-memory counter in a single process is not enough; you need a token bucket via Redis or equivalent.

As a rough guide: moving from "a few hundred invoices per month" to "tens of thousands per day" represents a different architectural tier and a corresponding difference in price.

3. One-way vs. two-way

Sending invoices to KSeF is one thing. Receiving invoices from suppliers via KSeF is another. Two-way traffic doubles the scope — two separate authentication flows, two separate processing queues, different states.

If you are still planning, be explicit in the spec about what you need this year and what you need in two years. The architecture can be designed to accommodate that without paying today for something you will not use yet.

4. Test environment

KSeF has a test sandbox (środowisko testowe). Setting it up properly is extra work — but it saves hours of debugging in production, where every error means an invoice that did not arrive.

An integration without a test environment is technical debt paid by your accounting team's time.

5. Reconciliation and monitoring

A reconciliation job asks every day: does every invoice have a UPO? Is anything stuck in a pending state? Are there orphans?

Monitoring sends an alert when something seizes up — before the customer or an auditor finds out.

Both are additional build work. Both get dropped from cheap quotes. Without them you do not know whether the integration is working — you are just hoping.

6. Audit log

Every invoice state transition should generate a structured record: what happened, when, what the result was, what error came back if any. The audit log is evidence for a tax audit and a lifeline during incident response.

It is not complex to build, but it has to be done deliberately. A few unstructured LogInformation calls do not cut it.

What must be in the price of any reasonable integration

Without these, the integration is not done — it is a prototype:

  • Idempotent submission — a deterministic key for every invoice so retries do not create duplicates
  • Retry with exponential backoff — transient KSeF errors are normal, not exceptional
  • Status tracking through to UPO — submission without acknowledgement is not a completed invoice
  • Reconciliation job — periodic check that nothing is stuck
  • Alerting on terminal failure — you hear about problems before they become an audit
  • Audit log — structured record of every state transition

If a quote does not include or address these things, ask why. Either they are covered inside the implementation (good news), or they are missing (bad news).

Why the cheap option ends up costing the most

A scenario that repeats: a company gets a fast integration done for minimum cost. It works fine for a year. Then KSeF had a 3-hour outage — and 200 invoices silently vanished. No one found out for 6 weeks, because there was no reconciliation job and no alert.

Tracing, fixing, and manually resubmitting costs more than the difference between fire-and-forget and durable architecture would have.

From 1 January 2027, penalties kick in. Lost invoices are not just an accounting problem — they are a tax problem.

Proven in production

We have over 40,000 documents submitted through KSeF in production, 100% delivered. In one forensic recovery we retrieved 15,141 lost invoices from a previous fire-and-forget pipeline. Retry, reconciliation, and monitoring are running and making sure it does not happen again.

We offer KSeF integration — and we build it durable from day one. If you want to talk through your situation, get in touch.


FAQ

Why is the price spread so wide?

Because quotes are measuring different things. A cheap quote covers "send an invoice to KSeF." A more expensive quote covers the full lifecycle — submission, retry, UPO, reconciliation, monitoring, audit log, connection to your ERP. The difference is not in hourly rate, it is in scope. Ask specifically: "What happens when KSeF returns a 500? Can you trace that invoice?"

What if my invoice volume is small?

Low volume simplifies part of the architecture — you do not need distributed rate limiting or complex batch queues. But you still need idempotency, UPO tracking, and reconciliation at 50 invoices per month. A KSeF outage does not care how big a customer you are. Price goes down with low volume — but not by cutting the safety pillars, by simplifying the infrastructure around them.

How much does Business Central integration cost?

Business Central has a standardised API and a reasonable document structure — that makes integration cheaper compared to custom systems. The specific number depends on your BC version, the document series you want to submit, and whether you need to receive invoices as well. Without looking at your environment, anyone will give you a number — but it will be a guess. We offer a short discovery call where we can understand in an hour what your environment actually requires, and only then give a concrete quote.

Facing a similar problem? Get in touch.

Book a consultation