Available now live
InvoiceForge
An e-invoice is rejected for a three letter country code, a VAT rate that contradicts its category, or totals that miss by a cent. InvoiceForge produces documents that hold up, tells you exactly which rule a document breaks, and reads what your suppliers send back.
The problem it removes
The rules are public. Getting them right is the work.
EN 16931 defines one semantic model and two syntaxes, and a document is rejected for things like a country code in the wrong format or totals that do not reconcile to the cent. This turns that into a solved problem.
- Totals computed, not trusted. Line sums, the VAT breakdown per rate and the amount due are recomputed and written into the document to the cent.
- Violations you can act on. Each one carries its rule identifier and business term, so you can look it up in the norm rather than guess.
- It never claims more than it checks. Every response states how many rules were checked, and
describe_coverageseparates the rules we actively check from the ones that cannot be violated here at all. - Reads what suppliers send. UBL and the CII payload inside Factur-X, with any missing field reported rather than invented.
Tools
Four tools, plus free usage.
| Tool | Credits | What it does |
|---|---|---|
| generate_invoice | 1 | Turn invoice data into a compliant UBL 2.1 document following the EN 16931 model, with totals and the VAT breakdown computed for you. Validated before it is returned. EN 16931, UBL 2.1, Peppol BIS Billing 3.0 profiles. |
| validate_invoice | 1 | Check invoice data against a documented subset of the EN 16931 rules and get each violation with its rule identifier. It accepts incomplete data on purpose, because that is what you want checked. Rule groups from EN 16931 and Peppol BIS Billing 3.0 are actively checked, plus more that cannot be violated here because the totals they constrain are recomputed rather than accepted. The rule index lists every one with its status, and describe_coverage returns the same list. |
| extract_invoice | 1 | Read an incoming UBL or CII invoice into structured JSON, listing any field the document did not contain rather than guessing it. UBL 2.1 and CII, the XML inside Factur-X. |
| describe_coverage | 0.2 | List exactly which rules are checked and what this server does not do, including transmission over Peppol. Our own coverage statement. |
Measured
100% of scenarios passed on the last run.
9 agent scenarios against the deployed server, failure cases included. p95 1.02s end to end. This server calls no third party at all, so that number is our own work and nothing else.
Connect
The endpoint.
A remote MCP server over Streamable HTTP. Any MCP client reaches it, and so does plain HTTP if you would rather call it directly. Swap in the key from your free account and the first call works.
https://invoiceforge.agenttoolworks.com/mcp
claude mcp add --transport http invoiceforge \ https://invoiceforge.agenttoolworks.com/mcp \ --header "Authorization: Bearer atw_live_your_key"
Pricing
Same credits, same balance.
Credits are shared with every other server, so one balance covers everything you call. Packs start at $10 for 1,000 credits and never expire, and 100 credits are free without a card.
Where the rules come from, and what we do not do
Everything here is computed from the published European standard: EN 16931 for the semantic model, UBL 2.1 and CII for the two syntaxes, and the Peppol BIS Billing 3.0 profile when you ask for it. This server calls no external service, so your invoice data never reaches a third party and there is no upstream that can be down.
We do not transmit invoices. Sending a document over the Peppol network requires a certified access point, which we are not, and the French mandate requires an accredited platform, which we are not either. We are the layer that produces and checks the document you hand to one of those.
On the French calendar: every business subject to French VAT must be able to receive electronic invoices through an approved platform from 1 September 2026, and large and mid-sized companies must issue them from the same date, with smaller businesses following on 1 September 2027. We first recorded that as a medium confidence reading in July 2026 and re-checked it against impots.gouv.fr on 16 August 2026, where it held unchanged. The full guide, with the sources we checked.
AgentToolWorks is not affiliated with OpenPeppol, the European Commission or any tax authority. Passing our validator means no rule we check was broken, not that a tax authority will accept the document.