Invoices and credit notes
Check UBL Invoice and CreditNote XML against the supported Peppol BIS Billing 3 rulesets. Use the free browser tool or send a request from your application.
Ironfang Finance
E-invoice validation
Check UBL invoices and credit notes against EN 16931 and Peppol BIS Billing 3 rules. Find the failure, understand the rule and fix the source document.
No account needed to try it. Anonymous XML and results are transient.
invoice.xml
UBL Invoice / validation completed
BR-CO-10
Line amounts do not add up
The document-level line total must match the sum of the individual line net amounts.
Read the rule explanationDocument validation
One validation result brings the document checks and rule findings together, with the detail you need to take the next step.
Check UBL Invoice and CreditNote XML against the supported Peppol BIS Billing 3 rulesets. Use the free browser tool or send a request from your application.
See XML syntax, UBL schema, EN 16931 and Peppol rule results separately. Distinguish an invalid document from a validation service failure.
Read the rule identifier and finding, then follow a reviewed explanation where available. Fix the source document and validate it again.
Download result JSON and a readable report. Signed-in and API results are saved for 30 days, with the option to delete them sooner.
Your first validation
Try the sample or upload invoice or credit note XML, up to 5 MiB. The free validator works without an account.
Follow the verdict through each validation layer. Open the available rule explanations to understand what needs to change.
Update your source document, rerun validation and download the results. Open the readable report to print or save it as a PDF.
Try Ironfang Finance without an account. Create one when you're ready to integrate it. Free includes 250 validations each month; account generation requires a paid plan.
Create free accountRule explanations
Start with the rule, follow its meaning and work back to your document. Explanations come from the same reviewed catalogue as the validator.
BR-CO-10
The document-level line total must match the sum of the individual line net amounts.
BR-01
Invoice and CreditNote documents need a non-empty CustomizationID identifying their specification.
PEPPOL-EN16931-R004
This rule checks the Peppol Billing identifier prefix and rejects a double-colon sequence in the identifier.
Other rules retain their engine finding and identifier. Explanations are shown where reviewed guidance is available.
Developer workflow
Send XML over HTTPS and receive structured results. List saved validations, read their findings and delete results through the same API.
Use the published Python or TypeScript validation SDK, Python CLI or GitHub Action. For durable work, configure signed webhooks and S3-compatible artifact delivery with independent retries. Delivery to your endpoint or bucket does not send an invoice over Peppol.
Required key scope:financewolf:einvoices:write
curl --request POST 'https://api.ironfang.uk/financewolf/v1/einvoices/validate' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/xml' \
--header 'Accept: application/json' \
--header 'Idempotency-Key: invoice-2026-001' \
--data-binary '@invoice.xml'Content-Type: application/json
{
"operation_id": "019f29a4-3158-7b81-8f64-f1072146de30",
"status": "completed",
"outcome": "valid",
"ruleset": {
"id": "fwrs_example_invoice_2026a"
},
"findings": [],
"findings_summary": {
"returned": 0, "total": 0,
"cap": 1000, "truncated": false
}
}Send your XML file as the request body. The optional Idempotency-Key lets you retry the same request without a second validation or charge. Invalid documents also return 200, with outcome: invalid and their findings.
Required key scope:financewolf:einvoices:read
curl 'https://api.ironfang.uk/financewolf/v1/einvoices/results' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Accept: application/json'Content-Type: application/json
Cache-Control: no-store
{
"results": [
{
"operation_id": "019f29a4-3158-7b81-8f64-f1072146de30",
"outcome": "valid",
"ruleset_id": "fwrs_example_invoice_2026a",
"created_at": "2026-09-02T09:15:04Z",
"expires_at": "2026-10-02T09:15:04Z",
"available": true
}
],
"retention_days": 30
}Returns up to 20 results, newest first. If next_cursor is returned, pass its value as ?before=NEXT_CURSOR to request the next page.
Illustrative responses. Authenticated results are saved for 30 days. Synchronous validation does not retain uploaded XML.
Pricing
Validate on Free, or subscribe to generate invoices and handle more documents. Fixed monthly prices in GBP, including applicable tax. No automatic overage charges.
£0/ month
250 validations / month
£29/ month
5,000 operations / month
£99/ month
25,000 operations / month
£299/ month
100,000 operations / month
One completed validation counts, including a result that finds invoice errors. One successful generation counts once. Downloads and idempotent retries add no usage. Malformed requests and service failures do not use your allowance; unfinished work reserves it.
Free resets each UTC calendar month. Paid allowances follow your monthly subscription period. Account-based generation requires a paid plan. The anonymous validator and JSON playground remain free with request and rate limits.
Paid plans are available to businesses and sole traders established in the UK or EU. UK businesses do not need a VAT number. EU automatic checkout requires a verified VAT number and matching business details. EU businesses without a VAT number, or with verified details that need review, must be approved before paying.
Enter your business details and request any required review in the billing portal. You choose your subscription explicitly. Manage plan changes and cancellation there too; Ironfang Finance has separate payment details and invoice history.
See our terms and refund policy. Document validation and generation do not send invoices over Peppol or certify legal or tax compliance.
Questions
Less to operate. More to ship.
Try the sample, understand the findings and bring validation into your workflow.
No card required for a Free account. Start with 250 validations per UTC calendar month and upgrade when you need more.