{"inputSchema":{"type":"object","required":["lines"],"additionalProperties":false,"properties":{"lines":{"type":"array","minItems":1,"maxItems":500,"description":"The invoice lines.","items":{"type":"object","required":["quantity","unit_price"],"additionalProperties":false,"properties":{"description":{"type":"string","maxLength":300},"quantity":{"type":"number"},"unit_price":{"type":"number"},"line_total":{"type":"number","description":"The stated line total. Recomputed if absent."},"tax_rate":{"type":"number","minimum":0,"maximum":100,"description":"Tax rate in percent for this line."},"discount_pct":{"type":"number","minimum":0,"maximum":100,"description":"Discount on this line in percent."}}}},"stated_net":{"type":"number","description":"Net total as stated on the invoice."},"stated_tax":{"type":"number","description":"Tax total as stated."},"stated_gross":{"type":"number","description":"Gross total as stated."},"document_discount_pct":{"type":"number","minimum":0,"maximum":100,"description":"Discount on the whole document, applied after line discounts."},"default_tax_rate":{"type":"number","minimum":0,"maximum":100,"description":"Tax rate for lines that do not carry one."},"currency":{"type":"string","minLength":3,"maxLength":3,"default":"EUR"},"invoice_date":{"type":"string","maxLength":10,"description":"Invoice date as YYYY-MM-DD."},"due_date":{"type":"string","maxLength":10,"description":"Due date as YYYY-MM-DD."},"reverse_charge":{"type":"boolean","default":false,"description":"Whether the invoice claims the reverse charge."},"customer_vat_number":{"type":"string","maxLength":20,"description":"Customer VAT number, required for the reverse charge."},"country":{"type":"string","minLength":2,"maxLength":2,"description":"Country whose standard rates the tax rates are checked against."}}},"outputSchema":{"type":"object"},"priceModel":null,"requestExample":{"lines":[{"description":"Synthetic example item","quantity":2,"unit_price":10,"tax_rate":19}],"stated_net":20,"stated_tax":3.8,"stated_gross":23.8,"currency":"EUR"},"price_usdc":"0.002","example_request":{"lines":[{"description":"Synthetic example item","quantity":2,"unit_price":10,"tax_rate":19}],"stated_net":20,"stated_tax":3.8,"stated_gross":23.8,"currency":"EUR"},"serviceName":"invoice_audit","tags":["invoice","accounting","validation"],"outputExample":{"currency":"EUR","lines":[{"line":1,"description":"Synthetic example item","quantity":2,"unit_price":10,"discount_pct":null,"tax_rate":19,"computed_total":20,"stated_total":null}],"line_count":1,"tax_groups":[{"tax_rate":19,"net":20,"tax":3.8,"gross":23.8}],"computed":{"net":20,"tax":3.8,"gross":23.8},"document_discount_pct":null,"comparison":{"net":{"stated":20,"computed":20,"difference":0,"matches":true},"tax":{"stated":3.8,"computed":3.8,"difference":0,"matches":true},"gross":{"stated":23.8,"computed":23.8,"difference":0,"matches":true}},"findings":[],"counts":{"error":0,"warning":0,"info":0},"valid":true,"verdict":"ok","largest_discrepancy":null,"arithmetic_note":"Gerechnet wird durchgaengig in ganzen Cent. Abweichungen bis zu einem Cent je Steuergruppe gelten als Rundung, nicht als Fehler.","checked_at":"2026-10-22T23:41:33.293Z","limits":"Rein rechnerische Validation der uebergebenen Angaben. Ob die Leistung erbracht wurde, ob die Preise vereinbart waren und ob die Rechnung alle Pflichtangaben traegt, steht hier nicht. Die array ueblicher Steuersaetze deckt neun Laender ab und ist ein Note, keine Rechtsauskunft."}}