FG
FacturGate
EN 16931 + CIUS-FR

EU E-Invoice Pre-Send Gate & Factur-X Converter

BROWSER-LOCAL DETERMINISTIC|EN 16931 + CIUS-FR RULE SET

Know an invoice will be rejected before it leaves

Validate an EN 16931 invoice before it leaves, see the exact blocking rules with the fix for each, and convert it to Factur-X (CII) or UBL 2.1. Deterministic rules, no LLM, no invented defaults: a field that is missing fails loudly with its rule id.Read Architectural Guide: FacturGate & the 2026 European E-Invoicing Mandate

EN 16931 + CIUS-FR Deterministic Pipeline
Zero Egress • Client-Side Verification
€Invoice Payload€1,200.00 GrossFR · CII / UBL / JSON∑Line Net (BT-106)€1,000.00%VAT (BT-110 · 20%)€200.00✓Recon Variance€0.00⚙Factur-X ReadyCompliant

1 · Target and document

Paste the canonical invoice model (JSON). The gate runs locally in this page — the same deterministic engine the agent tools call.

Watch the launch video

23s · nothing estimated · no signup

Introducing FacturGate: the deterministic EN 16931 + CIUS-FR pre-send gate for EU e-invoices Watch on YouTube

Agent Surface & WebMCP Integration

How autonomous agents, LLMs, and accounting ERP bots invoke FacturGate's deterministic pre-send gate.

validate_einvoiceMETERED $0.05 – $0.25 / CALL
|agent-validate-call.ts
// 1. In any browser with WebMCP support (auto-registered on page load):
// The FacturGate tools are mounted on navigator.modelContext:
//   • validate_einvoice ($0.10/call)
//   • convert_invoice_to_facturx ($0.25/call)
//   • check_eu_vat_id ($0.05/call)

const report = await navigator.modelContext.executeTool("validate_einvoice", {
  invoice: JSON.stringify({
    invoice: { number: "INV-2026-001", issueDate: "2026-10-01", currency: "EUR" },
    seller: {
      name: "Acme SAS",
      vatId: "FR83404833048",
      country: "FR",
      postalCode: "75001",
      city: "Paris",
      street: "10 Rue de la Paix"
    },
    buyer: {
      name: "Client GmbH",
      vatId: "DE123456789",
      country: "DE",
      postalCode: "10115",
      city: "Berlin",
      street: "Musterstr. 1"
    },
    lines: [
      { description: "Consulting", quantity: 1, unitPrice: 1000, vatRate: 20, vatCategory: "S" }
    ]
  }),
  target_country: "FR",
  target_format: "facturx"
});

console.log("Readiness Score:", report.score); // 100 (score)
console.log("Verdict:", report.verdict); // "ready"
console.log("Reconciliation Delta:", report.reconciliation?.delta); // 0.00
console.log("Emitted XML Length:", report.emitted?.xml.length);

JSON Schema Parameters Contract

invoiceRequired*

Canonical invoice payload as a JSON string containing seller, buyer, invoice header, and lines. *Supply this or xml.

xmlOptional*

Existing raw CII (CrossIndustryInvoice) or UBL 2.1 XML document to validate as-is.

target_countryOptional

National rule overlay & rounding regime: FR (CIUS-FR), DE (XRechnung), BE (Peppol), PL (KSeF). Defaults to FR.

target_formatOptional

Destination format: facturx (CII EN 16931), cii (standalone CII), or ubl (UBL 2.1). Defaults to facturx.

vat_id, countryVAT Check

For check_eu_vat_id: VAT number and ISO country code verified against national algorithms (FR, DE, BE, PL, NL, IT).

Deterministic OutputInvariant

Returns readiness score (0-100), blocking & advisory findings with exact rule IDs and fixes, cent-reconciled totals (delta == 0.00), and emitted XML artifact.

Fleet tools:check_eu_vat_id ($0.05) · validate_einvoice ($0.10) · convert_invoice_to_facturx ($0.25)|Factory Showcase Directory

Pricing

Use it free in the browser. Pay only for exports, the suite, or agent calls.

Free

Validate an EN 16931 invoice and list every blocking rule — free, in your browser. No account and no card.

Export

Factur-X (CII) / UBL 2.1 artifact — included with Pro.

$29.00/month

Factory Pro: unlimited browser use and exports across every live product. Cancel any time.
Agent (WebMCP) rates for this product
Agent toolMetered rate
validate_einvoice$0.10 per successful call
convert_invoice_to_facturx$0.25 per successful call
check_eu_vat_id$0.05 per successful call

Agent calls are metered per successful call and billed monthly to your Stripe customer. Billing shows your usage, history and spend cap.

Manage Billing & API Keys (/billing) →

Rule and country deep dives

AUTHORITATIVE ESSAY & STATUTORY ANALYSIS

FacturGate: The Deterministic Pre-Send Gate & Converter for European E-Invoicing

Deep architectural breakdown of EN 16931, CIUS-FR mandate mechanics, arithmetic variance traps, and why deterministic validation eliminates AP rejection cascades.

Read Full Article

Agent surface: validate_einvoice, convert_invoice_to_facturx and check_eu_vat_id are registered as WebMCP tools and advertised in /.well-known/mcp.json.