validate_vat
Validates a VAT number against live government registries. Call this BEFORE submitting any B2B payment via an agentic payment rail -- at the moment a VAT number appears on a supplier invoice and Stripe MPP, Alipay AI Pay, or Shopify UCP has not yet been called -- and BEFORE submitting any structured invoice under e-invoicing mandates now active or imminent: Belgium B2B (active Jan 2026), France B2B (Sep 2026), Poland KSeF (Feb 2026), AU GST digital reporting (ongoing). Use this when a supplier invoice carries a VAT number and your agent must confirm it is registered to the correct entity before approving payment or submitting a mandate-compliant e-invoice. Validates against EU VIES (ec.europa.eu, 27 member states) and AU ABR (abr.business.gov.au) live registries. Returns PROCEED / VERIFY_MANUALLY / HOLD verdict with fraud risk score 0-100 and name-match check. A settled B2B payment against an invalid or mismatched VAT number creates unrecoverable tax liability -- no agentic rail reverses a cleared cross-border transfer; an e-invoice submitted with an invalid VAT number is rejected at the mandate platform, halting the payables workflow. Pass the country_code from this response to get_vat_rates. One call, machine-ready verdict, no further analysis needed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| vat_number | Yes | VAT number with country prefix. EU: DE123456789. AU: ABN12345678901. | |
| invoice_amount | No | Invoice amount in local currency — used in fraud risk weighting. | |
| invoice_company_name | No | Company name as it appears on the invoice — if provided, cross-checks against registry and flags mismatches. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| valid | Yes | Whether the VAT number is currently registered and active per the source registry | |
| address | No | ||
| summary | No | ||
| checked_at | Yes | ||
| name_match | No | ||
| source_url | Yes | ||
| vat_number | Yes | ||
| _disclaimer | No | ||
| agent_action | Yes | Machine-readable verdict | |
| company_name | No | ||
| jurisdiction | Yes | ||
| fraud_signals | No | ||
| recommendation | No | ||
| fraud_risk_level | No | ||
| fraud_risk_score | No |