Invoice verification for France — cross-check the identifiers PRINTED ON an invo
Invoice verification for France — cross-check the identifiers PRINTED ON an invoice in one call: SIREN against the official registry (existence, active status, live), the VAT number on the invoice against the one computed from the SIREN AND live against VIES, the IBAN (ISO form, key digits, bank identified). Deterministic verdict coherent/incoherent/inverifiable, closed-list reasons. Flags a VAT that belongs to another company or a ceased supplier. Not a payee verification.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://api.sirenic.eu/v1/facture/verifier
| Category | Company and compliance |
|---|---|
| Provider host | api.sirenic.eu |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 5 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-24 | valid payment request | 402 | $0.02 | 889 ms |
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"iban": "FR1420041010050500013M02606",
"siren": "552032534",
"tva": "FR27552032534"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"iban": {
"description": "IBAN printed on the invoice: ISO 13616 form + key digits + bank identification. NOT a payee verification (no holder name, no account existence). At least one of tva/iban is required",
"type": "string"
},
"siren": {
"description": "9-digit SIREN printed on the invoice (required), e.g. 552032534",
"type": "string"
},
"tva": {
"description": "VAT number printed on the invoice, cross-checked against the one computed from the SIREN (FR key is deterministic) AND live against VIES, e.g. FR27552032534. At least one of tva/iban is required (400 otherwise)",
"type": "string"
}
},
"required": [
"siren"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}