Peppol BIS Billing Preflight Validator - UBL & EN 16931 avatar

Peppol BIS Billing Preflight Validator - UBL & EN 16931

Pricing

from $4.00 / 1,000 invoice validateds

Go to Apify Store
Peppol BIS Billing Preflight Validator - UBL & EN 16931

Peppol BIS Billing Preflight Validator - UBL & EN 16931

Validate UBL invoices against active Peppol BIS Billing 3.0.20 rules and preview the mandatory 3.0.21 rules effective 17 August 2026. Offline e-invoice validation for Belgium's B2B einvoicing mandate and any Peppol access point flow, with EN 16931 findings before network submission.

Pricing

from $4.00 / 1,000 invoice validateds

Rating

0.0

(0)

Developer

Kamer Ozkan

Kamer Ozkan

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

7 hours ago

Last modified

Categories

Share

Active rules Future rules UBL Billing

Validate Peppol BIS Billing UBL invoices before network submission. Every document receives the active 3.0.20 result and a separate 3.0.21 forward-preview result for the mandatory 17 August 2026 transition.

Technical preflight only. ACCEPTED does not establish legal or tax validity, Peppol participant capability, SBDH or AS4 validity, successful network delivery, or recipient acceptance.

Run the live Actor

Two rule decisions in one call

ResultRules
conformanceStatusActive UBL 2.1, EN 16931 1.3.15, Peppol BIS Billing 3.0.20
previewConformanceStatusUpcoming UBL 2.1, EN 16931 1.3.16, Peppol BIS Billing 3.0.21

The versions.previewRuleset block always identifies Peppol BIS Billing 3.0.21 and effectiveAt: 2026-08-17, so an ERP agent can distinguish active and future findings without parsing prose.

The rule packages, Saxon runtime, and Schematron compiler are downloaded only during the build and SHA-256 verified. Every executed XSD and XSLT also has its own SHA-256 in the manifest and is verified again before use. Runtime validation never downloads rules.

Quick start

The default input validates an official accepted Peppol UBL sample:

{
"documents": [
{
"documentId": "official-peppol-valid-sample",
"fileName": "base-example.xml",
"url": "https://raw.githubusercontent.com/itplr-kosit/validator-configuration-bis/release-3.0.20/test-files/good/ubl/base-example.xml"
}
],
"resultDetail": "FINDINGS",
"maxFindingsPerDocument": 100,
"storeXmlReport": false,
"storeHtmlReport": false
}

Each document can use exactly one source:

  • Console file upload
  • HTTPS URL with public-IP and redirect enforcement
  • Inline XML
  • Base64 XML
  • A record in your Apify key-value store

Invoice and CreditNote roots are supported. The input and output schemas work with the Apify API, MCP clients, Make, n8n, webhooks, and standard SDKs.

Structured results

Every input produces one dataset item. A technically invalid invoice is a successful evaluation with REJECTED. A source or engine failure is NOT_EVALUATED.

These compact examples are taken from a real three-document Actor run. Every row also returns externalStateStatus: NOT_EVALUATED_EXTERNAL_STATE because participant, network, delivery, and recipient state are outside offline preflight.

Billing

The invoice-validated event costs $0.004.

  • ACCEPTED: billed once
  • REJECTED: billed once
  • NOT_EVALUATED: free
  • Active and preview decisions share one invoice charge
  • Dataset delivery does not add a second charge
  • The Actor stops before processing unless the event price is exactly $0.004

One malformed or unavailable source does not kill the remaining batch.

Release gates

Every build must pass:

  1. SHA-pinned official Peppol Invoice and CreditNote examples against the active 3.0.20 and preview 3.0.21 rule packages.
  2. A deterministic mutation that must be rejected with BR-02.
  3. Runtime SHA-256 verification of every executed XSD and Schematron artifact.
  4. Source, security, batch-independence, billing-guard, report, and output-contract tests.

Security and privacy

  • DTDs, XML entities, and external references are blocked
  • HTTPS URL sources reject private, loopback, link-local, and metadata addresses
  • Redirects are revalidated
  • Source XML is not copied into dataset results
  • Optional reports are disabled by default
  • Every loaded document receives a SHA-256 digest
  • The container runs as a non-root user

Transition control

On 17 August 2026, the 3.0.21 package must move from preview to active in one release-gated build. The previous active package will then be retired, the real fixtures rerun, and the README versions block updated.

For custom access-point integration or high-volume support, contact the Actor owner through the Apify profile.

This Actor is also exposed to AI agents through Apify's MCP server (mcp.apify.com): an agent can discover it by search and run it with the same pay-per-event billing, with no separate integration.

E-invoice validator family

Same engine, same output contract, one validator per market: XRechnung & ZUGFeRD (Germany) | Poland KSeF FA(3) | France E-Invoice | Italy FatturaPA