yaktool-invoice-mcp
v0.2.0
Published
E-invoice fields as an MCP server: check an invoice against the mandatory fields of EN 16931 and the VAT Directive — including the arithmetic rules BR-CO-15 and BR-CO-17 quoted verbatim — or check a structured draft before it is issued (VAT / commercial /
Maintainers
Readme
yaktool-invoice-mcp
E-invoice fields as an MCP server — the invoice-domain suite of yaktool.com.
A code on an invoice is not a label, it is a switch: putting AE in the VAT category field
selects ten official rules the document then has to satisfy. 25 field rules plus 140 codes across
four published lists. No network I/O.
Tools
check_invoice_fields— check an invoice against the mandatory fields of EN 16931 and the VAT Directive. Arithmetic findings quote the official rules verbatim with their identifiers (BR-CO-15 for the tax-inclusive total, BR-CO-17 for the tax amount), so the message you get is the one a validator would give. Also validates the VAT identifier, the invoice date and the currency rather than only checking presence.check_invoice_draft— the other direction: check a structured draft before it is issued. Three document types (VAT / commercial / proforma), the scenario inferred from the parties (domestic, intra-EU B2B/B2C, export — EL→GR handled), amounts computed per VAT rate so the arithmetic rules cannot fail, and customs practice (HS code, origin, Incoterms, EORI) applied to commercial invoices. Forwarded checks keep their home rule IDs (IBAN-,HS-,INC-,RF-,EORI-), and line-level findings carry the line index.lookup_en16931_code— look up a code in the four lists an invoice is judged by — invoice type, VAT category, payment means, allowance reason — by number or by meaning. For a VAT category it returns the family of official rules that code brings into force, quoted verbatim. When a value is not in a list it names the nearest codes instead of failing blankly.list_en16931_vat_category_rules— the rules a single VAT category code carries, on their own, for when you already know the code and need what it obliges.
Install
claude mcp add yaktool-invoice -- npx -y yaktool-invoice-mcpSame engine as the browser tools at yaktool.com/documents/invoice-fields-checker.
