68trust / 100
Generate Efactura Ubl
by api.ibancheck.co.uk in Markets & finance
x402 APIFailing, checked 33 min ago
Convert JSON invoice into valid European Standard EN 16931 / CIUS-RO ANAF UBL 2.1 XML e-Factura
POST https://api.ibancheck.co.uk/api/generate-efactura-ubl
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 66.7%
- Response time
- 282 ms typical, 374 ms slowest 5%
- Last check
- 33 min ago: Expected HTTP 402, got 530
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X POST "https://api.ibancheck.co.uk/api/generate-efactura-ubl" \
-H "content-type: application/json" \
-d '{"currency":"RON","customer":{"address":"Bulevardul Unirii 10","cif":"2816464","city":"Bacau","countryCode":"RO","name":"Client SRL"},"invoiceNumber":"FACT-2026-001","lines":[{"name":"Servicii Consultanta AI","quantity":1,"taxRatePercent":19,"unitPrice":2500}],"supplier":{"address":"Strada Exemplu 1","cif":"14399840","city":"Bucuresti","countryCode":"RO","iban":"RO49AAAA1B31007593840000","name":"Furnizor SRL"}}'import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.ibancheck.co.uk%2Fapi%2Fgenerate-efactura-ubl
const res = await pay("https://api.ibancheck.co.uk/api/generate-efactura-ubl", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({"currency":"RON","customer":{"address":"Bulevardul Unirii 10","cif":"2816464","city":"Bacau","countryCode":"RO","name":"Client SRL"},"invoiceNumber":"FACT-2026-001","lines":[{"name":"Servicii Consultanta AI","quantity":1,"taxRatePercent":19,"unitPrice":2500}],"supplier":{"address":"Strada Exemplu 1","cif":"14399840","city":"Bucuresti","countryCode":"RO","iban":"RO49AAAA1B31007593840000","name":"Furnizor SRL"}}),
});
console.log(await res.json());Example input
{
"currency": "RON",
"customer": {
"address": "Bulevardul Unirii 10",
"cif": "2816464",
"city": "Bacau",
"countryCode": "RO",
"name": "Client SRL"
},
"invoiceNumber": "FACT-2026-001",
"lines": [
{
"name": "Servicii Consultanta AI",
"quantity": 1,
"taxRatePercent": 19,
"unitPrice": 2500
}
],
"supplier": {
"address": "Strada Exemplu 1",
"cif": "14399840",
"city": "Bucuresti",
"countryCode": "RO",
"iban": "RO49AAAA1B31007593840000",
"name": "Furnizor SRL"
}
}Example output
{
"formattedXmlSize": "3.53 KB",
"invoiceNumber": "FACT-2026-001",
"totals": {
"currency": "RON",
"linesCount": 1,
"totalGross": 2975,
"totalNet": 2500,
"totalVat": 475
},
"validationReport": {
"hasValidCustomerCif": true,
"hasValidSupplierCif": true,
"hasValidSupplierIban": true,
"isCiusRoCompliant": true,
"isEn16931Compliant": true,
"schemaErrors": [],
"validationScope": "structural-local",
"warnings": [
"Notă: \"isCiusRoCompliant\"/\"isEn16931Compliant\" verifică doar prezența câmpurilor obligatorii și plaje numerice valide — NU validează integral regulile de business BR-* din EN 16931/CIUS-RO. Nu folosiți acest flag ca singură confirmare \"gata de trimis la ANAF\"."
]
},
"xmlBytesCount": 3616,
"xmlUblContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Invoice xmlns=\"urn:oasis:names:specification:ubl:schema:xsd:Invoice-2\" xmlns:cac=\"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2\" xmlns:cbc=\"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2\">\n <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:efactura.mfinante.ro:CIUS-RO:1.0.1</cbc:CustomizationID>\n <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>\n <cbc:ID>FACT-2026-001</cbc:ID>\n <cbc:IssueDate>2026-10-06</cbc:IssueDate>\n <cbc:DueDate>2026-10-06</cbc:DueDate>\n <cbc:Inv…"
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 33 min ago | Expected HTTP 402, got 530 | 530 | 213 ms | - |
| 5 h ago | Passed | 402 | 374 ms | $0.03 |
| 8 h ago | Passed | 402 | 745 ms | $0.03 |
| 12 h ago | Passed | 402 | 281 ms | $0.03 |
| 15 h ago | Passed | 402 | 282 ms | $0.03 |
| 19 h ago | Passed | 402 | 272 ms | $0.03 |
| 23 h ago | Passed | 402 | 304 ms | $0.03 |
| 26 h ago | Passed | 402 | 307 ms | $0.03 |
| 30 h ago | Expected HTTP 402, got 502 | 502 | 310 ms | - |
| 35 h ago | Expected HTTP 402, got 502 | 502 | 259 ms | - |
| 37 h ago | Expected HTTP 402, got 502 | 502 | 278 ms | - |
| 41 h ago | Expected HTTP 402, got 502 | 502 | 254 ms | - |
| 45 h ago | Passed | 402 | 202 ms | $0.03 |
| 2 days ago | Passed | 402 | 310 ms | $0.03 |
| 2 days ago | Passed | 402 | 263 ms | $0.03 |