Invoice Validator: VAT Fields, Line-Item Math & EU Compliance Check
omnial/x402-invoice-validate
Given an invoice's VAT numbers, amounts, and line items (plus optional fields like invoice number, date, and vendor/buyer name and address), checks the line-item math and that the fields required for EU compliance are present, returning a pass/fail verdict with itemized errors for missing required fields and warnings for missing recommended ones. The tax-total comparison did not compute in testing (expected tax and difference came back null with the check passing), so do not rely on it to catch a wrong tax amount. Your input is sent to an outside service for processing; remove secrets and personal data first.
Price
Up to $0.0325 per call; you pay what the call used
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
Computed by Eden Engine from the inputs you provide.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/x402-invoice-validate" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/x402-invoice-validate" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/x402-invoice-validate", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/x402-invoice-validate", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0325 |
- Updated
- Oct 25, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"vendor_vat",
"buyer_vat",
"amounts",
"line_items"
],
"properties": {
"amounts": {
"type": "object",
"description": "Invoice totals, e.g. { subtotal, tax_amount, total }."
},
"currency": {
"type": "string",
"description": "Invoice currency code, e.g. \"EUR\". Recommended for full EU compliance validation."
},
"due_date": {
"type": "string",
"description": "Payment due date (ISO 8601). Recommended for full EU compliance validation."
},
"buyer_vat": {
"type": "string",
"description": "Buyer's VAT identification number, e.g. \"FR12345678901\"."
},
"buyer_name": {
"type": "string",
"description": "Buyer's legal name. Recommended for full EU compliance validation."
},
"line_items": {
"type": "array",
"items": {
"type": "object"
},
"description": "Invoice line items, each with quantity, unit_price, tax_rate, line_total."
},
"vendor_vat": {
"type": "string",
"description": "Vendor's VAT identification number, e.g. \"DE123456789\"."
},
"vendor_name": {
"type": "string",
"description": "Vendor's legal name. Required for full EU compliance validation."
},
"invoice_date": {
"type": "string",
"description": "Invoice issue date (ISO 8601). Required for full EU compliance validation."
},
"buyer_address": {
"type": "string",
"description": "Buyer's address. Recommended for full EU compliance validation."
},
"invoice_number": {
"type": "string",
"description": "Invoice number. Required for full EU compliance validation."
},
"vendor_address": {
"type": "string",
"description": "Vendor's address. Required for full EU compliance validation."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"valid": {
"type": "boolean",
"description": "Overall pass/fail verdict. False if any hard error was found."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "The invoice field the error refers to."
},
"issue": {
"type": "string",
"description": "Human-readable description of the problem."
}
},
"additionalProperties": true
},
"description": "Hard failures (missing required fields, e.g. invoice_number/invoice_date/vendor_name/vendor_address, or failed checks). Empty array, not omitted, when there are none."
},
"warnings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "The invoice field the warning refers to."
},
"issue": {
"type": "string",
"description": "Human-readable description of the problem."
}
},
"additionalProperties": true
},
"description": "Soft issues (missing recommended fields, e.g. buyer_name/buyer_address/due_date/currency) that do not affect `valid` but do affect `eu_compliant`. Empty array, not omitted, when there are none."
},
"eu_compliant": {
"type": "boolean",
"description": "True only when every recommended field is also present (no warnings) -- observed false on the partial invoice (4 warnings, 4 errors, `valid: false`) and true on the complete one (0 warnings, 0 errors, `valid: true`); both invoices had identical, passing `tax_calculation_check`/`line_items_check` results, so `eu_compliant` here is driven by field completeness, not by the math checks."
},
"line_items_check": {
"type": "object",
"properties": {
"failed": {
"type": "number"
},
"passed": {
"type": "number"
},
"total_checked": {
"type": "number",
"description": "Number of line items checked."
}
},
"description": "Result of checking each line item's quantity * unit_price = line_total math.",
"additionalProperties": true
},
"tax_calculation_check": {
"type": "object",
"properties": {
"pass": {
"type": "boolean"
},
"actual_tax": {
"type": "number",
"description": "The invoice's own reported `amounts.tax_amount`, echoed back."
},
"difference": {
"type": [
"number",
"null"
],
"description": "Usually `null`, tracking `expected_tax`'s null-ness above."
},
"expected_tax": {
"type": [
"number",
"null"
],
"description": "Usually `null` (e.g. for invoices with a single flat tax_rate line item) -- may only populate when the endpoint can independently recompute an expected tax figure from the line items; unconfirmed when non-null."
}
},
"description": "Result of checking the invoice's reported tax amount.",
"additionalProperties": true
}
},
"description": "The validation result.",
"additionalProperties": true
}