agenttoolworks

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.

Tools

Four tools, plus free usage.

ToolCreditsWhat it does
generate_invoice1

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_invoice1

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_invoice1

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_coverage0.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.

EndpointStreamable HTTP
https://invoiceforge.agenttoolworks.com/mcp
Connect it, Claude Code
claude mcp add --transport http invoiceforge \
  https://invoiceforge.agenttoolworks.com/mcp \
  --header "Authorization: Bearer atw_live_your_key"

Docs, including Claude Desktop, Cursor and Windsurf.

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.