The Real Cost of E-Invoice Rejections
When a Peppol invoice gets rejected, the cost isn't just the error fix. It's the payment delay, the support calls, and the trust erosion. Here's the full picture.
An invoice gets rejected by the Access Point. Your monitoring picks it up — or worse, your customer does. Someone investigates. Someone fixes. Someone resends. Meanwhile, the payment clock hasn't started.
This happens more often than most ERP vendors admit. And the cost is higher than most realize.
What Happens When an Invoice Gets Rejected
When a Peppol Access Point rejects an invoice, the document never reaches the receiver. The sender gets an error response — typically an AS4 receipt with a negative acknowledgment or a Peppol MLR (Message Level Response) indicating the failure reason.
From there, the rejection enters a manual workflow:
- Detection — Your system logs the failure. Ideally an alert fires. In practice, some rejections sit in error queues for hours before anyone notices.
- Investigation — A developer or support engineer reads the error code, pulls up the invoice XML, and traces the issue. Is it a template problem? A data gap? A rule change they missed?
- Fix — Depending on the error, the fix might be a one-line template correction or a customer data issue that requires back-and-forth. Auto-fixable errors like namespace issues are quick. Missing buyer references (BT-10) or wrong scheme IDs require investigation.
- Resubmission — The corrected invoice goes through the pipeline again. Hopefully it passes this time. Sometimes the fix introduces a new error.
The entire cycle takes anywhere from 30 minutes for a straightforward structural issue to several hours for cross-border edge cases involving country-specific CIUS rules.
The Cost Stack
The direct engineering cost is the most visible — but it's the smallest part.
Developer Time
A mid-complexity rejection takes 30-60 minutes of a developer's time. At typical European rates, that's €40-80 per rejection. For an ERP vendor processing 5,000 invoices per month with a 3% rejection rate, that's 150 rejections per month — €6,000-12,000 in pure engineering cost.
But developer time has an opportunity cost. Every hour spent debugging a BR-CO-10 mismatch is an hour not spent on product development.
Payment Delay
This is the hidden cost that compounds. A rejected invoice doesn't start the payment clock. If your customer's buyer has 30-day payment terms, a rejection that takes two days to resolve pushes the actual payment to day 32 — or later, if the buyer's AP system restarts the clock from the corrected invoice date.
For a mid-market ERP vendor's customers sending €500,000 in monthly invoices, a two-day average delay across 3% rejections means approximately €2,500 in working capital sitting idle every month. Across the customer base, this adds up.
Customer Support
The ERP vendor's customer — the business sending the invoice — doesn't understand PEPPOL-EN16931-R010. They see "invoice rejected" and they call support. They want to know why their invoice didn't go through, when it will be fixed, and whether it will happen again.
Each support interaction costs time and goodwill. At scale, repeated rejections generate a disproportionate share of support tickets.
Reputation Erosion
This is the cost that doesn't show up in any spreadsheet. When a customer's invoices get rejected repeatedly, they start questioning the ERP product. "Can your system actually do Peppol?" becomes a conversation in their next vendor review.
For ERP vendors competing on e-invoicing capability — which is increasingly a table-stakes feature — rejection rates are a proxy for product quality. Your competitor's 0.5% rejection rate against your 3% rate is a sales disadvantage.
Why Rejections Happen
Most rejections fall into a predictable set of categories.
ERP Export Template Drift
The export template works for 95% of your customers. The other 5% have edge cases: a Belgian customer whose KBO/BCE number has a leading zero that gets stripped. A German government buyer whose Leitweg-ID format changed. A cross-border invoice where the VAT treatment differs from the template default.
Templates that work in testing break in production because real-world data is messier than test data.
Country Rule Changes
Validation rules are not static. XRechnung releases a new version roughly annually. Peppol publishes rule updates 2-3 times per year. Belgium's KBO/BCE validation tightened when the B2B mandate went live. Each update can turn previously valid invoices into rejections.
Cross-Border Complexity
A Dutch company sending a Peppol invoice to a Belgian receiver needs: the correct scheme ID for the Belgian buyer (0208, not 9925), the right BT-24 specification identifier for Peppol BIS 3.0, and VAT handling that satisfies both Dutch and Belgian rules. Each cross-border combination introduces its own failure modes.
Missing Data
The most common single cause: fields that should be populated but aren't. Buyer reference not filled in. Endpoint ID missing from the customer record. Seller VAT identifier (BT-31) omitted. The data exists somewhere — just not in the invoice.
Prevention: The Pre-Submission Gate
The pattern that eliminates most rejections is straightforward: validate before sending.
A pre-submission compliance gate sits between your ERP export and the Access Point. Every invoice passes through it before reaching the network. The gate validates against all four rule layers — XML schema, EN 16931, format-specific rules, and country CIUS — and classifies any errors it finds.
Auto-fixable errors (structural issues that don't change commercial meaning) are remediated on the fly. Invoices needing human input are stopped with precise field-level requests. Financial field issues are blocked and routed for review.
The result: your Access Point only receives invoices that have already passed validation. Rejection rate drops to near zero. The compliance gate isn't a bandaid — it's infrastructure. It runs on every invoice, handles rule updates automatically, and generates an Evidence Pack for audit.
The cost of a pre-submission gate is a fraction of the cost it prevents. See how it works →
FAQ
What does a Peppol rejection look like?
The sender's Access Point receives an AS4 negative acknowledgment or a Peppol MLR (Message Level Response) with an error code. The exact format depends on your Access Point provider, but it typically includes the Peppol or EN 16931 error code (e.g., PEPPOL-EN16931-R010) and a description. Your Access Point dashboard or API will surface this.
Who pays for the delay when an invoice is rejected?
The seller bears the cost. The payment clock doesn't start until a valid invoice reaches the buyer. Some buyers restart the payment term from the date of the corrected invoice, effectively adding the rejection resolution time on top of the standard payment terms.
How do I find out why my invoice was rejected?
Check your Access Point provider's dashboard or API for the rejection reason. The error code (e.g., BR-DE-15, PEPPOL-EN16931-R010) points to the specific rule that failed. You can look up any error code in our error library for a detailed explanation and fix guidance. Or upload the invoice to our free validator for a complete validation report.
Check Your Compliance Status
Find out exactly what your business needs to do for e-invoicing compliance.
Use Obligation FinderRelated Articles
Integrating E-Invoice Compliance Into Your ERP
How to add a compliance layer to your ERP product: architecture, integration patterns, code examples, and the Evidence Pack workflow.
E-Invoice Validation Rules Explained
EN 16931 defines ~65 business rules, Peppol adds ~80, and each country CIUS adds more. Here's how the four validation layers work, what they check, and which errors you'll see most.
How to Validate E-Invoices Programmatically
Three approaches to e-invoice validation in your pipeline: build your own, use open-source tools, or call an API. Code examples for each.