KSEF-21182:KSeF concurrent export limit reached
Fix: Serialise export jobs. Wait for a running export to finish (poll the status endpoint) before starting the next one.
The KSeF 2.0 API rejected your invoice export request because the authenticated entity already has the maximum number of concurrent exports in flight. The message returned is "Osiągnięto limit trwających eksportów" (concurrent export limit reached).
Engine Classification
Financial or legal field · Modification blocked by policy
Reason: This is a server-side rate limit, not a document validation error. The client must throttle export concurrency.
What is KSEF-21182?
KSEF-21182 is a fatal validation rule defined in the KSeF 2.0 specification (PL national rules). It validates the async and related endpoints). Once the ceiling is hit, further export requests return HTTP 429 with body code 21182 until at least one running export finishes. The limit is per authenticated entity — not per token — so opening more tokens does not raise the ceiling. element under invoices > export in the UBL invoice XML.
When this rule fires, the invoice is rejected by Peppol access points and never reaches the buyer.
Target path: KSeF 2.0 enforces a per-context ceiling on the number of simultaneously running invoice-export operations (POST /invoices/export, /invoices/export/async and related endpoints). Once the ceiling is hit, further export requests return HTTP 429 with body code 21182 until at least one running export finishes. The limit is per authenticated entity — not per token — so opening more tokens does not raise the ceiling.
Why This Error Matters
During KSeF go-live (Feb–April 2026), ERP vendors migrating historical archives will hit this limit fast if their client parallelises exports. Getting hit at scale means archive backfills stall and clients see missing invoice PDFs in their own portals.
KSEF-21182 is a hard failure — the invoice must be corrected and re-sent before it can reach the recipient.
Blocks archive extractions and bulk exports. High impact for ERP vendors backfilling historical invoices during KSeF onboarding.
Validator Behavior
- ·Causes invoice rejection
- ·Error returned: KSEF-21182
- ·Specification: KSeF 2.0
How to Fix It
XML Example
Generic example based on the rule's target XPath. Your actual XML structure may differ.
<!-- Triggers validation error --> <async and related endpoints). Once the ceiling is hit, further export requests return HTTP 429 with body code 21182 until at least one running export finishes. The limit is per authenticated entity — not per token — so opening more tokens does not raise the ceiling.></async and related endpoints). Once the ceiling is hit, further export requests return HTTP 429 with body code 21182 until at least one running export finishes. The limit is per authenticated entity — not per token — so opening more tokens does not raise the ceiling.>
<!-- Corrected --> <async and related endpoints). Once the ceiling is hit, further export requests return HTTP 429 with body code 21182 until at least one running export finishes. The limit is per authenticated entity — not per token — so opening more tokens does not raise the ceiling.>VALID_VALUE</async and related endpoints). Once the ceiling is hit, further export requests return HTTP 429 with body code 21182 until at least one running export finishes. The limit is per authenticated entity — not per token — so opening more tokens does not raise the ceiling.>
Technical Reference
KSeF 2.0 enforces a per-context ceiling on the number of simultaneously running invoice-export operations (POST /invoices/export, /invoices/export/async and related endpoints). Once the ceiling is hit, further export requests return HTTP 429 with body code 21182 until at least one running export finishes. The limit is per authenticated entity — not per token — so opening more tokens does not raise the ceiling.Common Causes
- ·Scheduled job kicks off a large export while an earlier export is still running
- ·Multi-worker deployment where each worker starts its own export without a shared job registry
- ·UI-driven export triggered by a user while a scheduled backfill is running
- ·Retry storm after a transient network failure re-enqueues exports that are actually still running server-side
Seeing this in production? The API handles KSEF-21182 automatically. See the fix response →
Commonly Seen In
Frequently Asked Questions
You have hit the per-entity ceiling on concurrent invoice-export operations. KSeF will not accept another export request until at least one currently running export finishes.
No — the limit is a global KSeF platform constraint, not a per-tenant setting. The Ministry of Finance sets it centrally.
No. Retrying immediately just wastes the next export slot when it opens. Back off, poll the status of your running exports, then retry when one finishes.
21180 is a session-state error — the session is in a state that blocks the operation. 21182 is a rate limit — everything is healthy but too many exports are running at once.
No. The limit is per authenticated entity, not per token. Multiple tokens for the same NIP share the same quota.
Related Errors
Related Content
Last updated: 7 July 2026
Validate your invoice
Drop your XML here to check for KSEF-21182
Detect KSEF-21182 before submission
This error involves a financial field that can't be auto-modified. We'll flag it with a clear diagnosis so you can fix it at the source.