What truly distinguishes the approaches on the market isn’t the duplicate check itself (which remains, by design, an approved platform prerogative) — it’s where the Schematron compliance checks and business rule checks are executed first. Schematron is an XML-based validation language used across structured e-invoicing formats to test and enforce business rules, data relationships, and conditional validation requirements.
Option A — Dual validation, with prechecking on the accounting solution side. In this model, the company’s accounting solution itself runs the Schematron and business rule checks upstream, before any transmission to the approved platform. If the invoice contains an error, it’s detected and corrected at this stage — since the accounting solution has no duplicate-check obligation, it doesn’t block anything on that front; it only verifies content compliance. Once the invoice is deemed compliant, it’s sent to the platform, which reruns the same Schematron and business rule checks (redundantly, but they pass since already validated upstream), then runs its duplicate check — which poses no problem, since this is the very first and only submission of that invoice number to the approved platform. In this model, the platform never sees a failed version: the error was absorbed before the number was “consumed.”
Option B — A single check, performed on the platform side. Here, there’s no upstream prevalidation layer: the invoice goes directly from the ERP to the approved platform, which runs its checks (Schematron, business rules, duplicates) in a single pass. If an error is detected at this stage, the number is already consumed, and the burden of correction falls entirely on the company, which must cancel the failed invoice and issue a new one under a new identifier — in line with the cancel/recreate principle described above.
The real trade-off, then, isn’t “who checks for duplicates” — the answer is always the approved platform — but “where to invest the prevalidation effort.” Option A shifts the verification burden upstream, into the company’s own tooling, so the blocking mechanism is never triggered. In this case, a company that modifies the invoice is not complying with accounting and tax rules. Option B lets the platform play its role as the single safety net but shifts the entire cost of noncompliance — cancellation, recreation, remapping — onto the company, at the moment it is least prepared to absorb it: after the fact.