French Invoice Validation

Validates a French company identifier, optional EU VAT number and optional structured invoice fields including supplier name, date and amount arithmetic.

0.020 USD

Charged on valid result · Empty result not charged · Errors not charged

When to use this API?

Use for

  • Validate identifiers and basic structural consistency of a French supplier invoice.

Avoid when

  • You only need the e-invoicing obligation schedule; use company/fr/e-invoice.
  • You need to validate only an EU VAT number; use vat/eu/validate.

Limitations

  • The endpoint checks supplied structured fields; it does not authenticate a document or prove that goods, services or payment are real.

Sources and provenance

API Recherche d’entreprises

recherche-entreprises.api.gouv.fr

European Commission VIES

ec.europa.eu

Input / Output schemas

Simplified endpoint contracts. The complete schema remains available in OpenAPI 3.1.

OpenAPI 3.1 →

Input schema
identifierstring

Required

vat_numberstring

invoiceobject

View full JSON Schema
{
    "type": "object",
    "properties": {
        "identifier": {
            "type": "string",
            "pattern": "^[0-9]{9}([0-9]{5})?$"
        },
        "vat_number": {
            "type": "string"
        },
        "invoice": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "string",
                    "minLength": 1
                },
                "date": {
                    "type": "string",
                    "format": "date"
                },
                "currency": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$"
                },
                "supplier_name": {
                    "type": "string"
                },
                "subtotal": {
                    "type": "number",
                    "minimum": 0
                },
                "vat_amount": {
                    "type": "number",
                    "minimum": 0
                },
                "total": {
                    "type": "number",
                    "minimum": 0
                }
            },
            "additionalProperties": false
        }
    },
    "additionalProperties": false,
    "required": [
        "identifier"
    ]
}
Output schema
identifierstring

Required

existsboolean

Required

sirenstring | null

Required

namestring | null

Required

expected_vat_numberstring | null

Required

supplied_vat_numberstring | null

Required

format_matchboolean | null

Required

vies_statusstring

Required

vies_validboolean | null

Required

vies_namestring | null

Required

verdictstring

Required

invoice_validationobject

Required

checked_atstring

Required

limitationsarray

View full JSON Schema
{
    "type": "object",
    "properties": {
        "identifier": {
            "type": "string"
        },
        "exists": {
            "type": "boolean"
        },
        "siren": {
            "type": [
                "string",
                "null"
            ]
        },
        "name": {
            "type": [
                "string",
                "null"
            ]
        },
        "expected_vat_number": {
            "type": [
                "string",
                "null"
            ]
        },
        "supplied_vat_number": {
            "type": [
                "string",
                "null"
            ]
        },
        "format_match": {
            "type": [
                "boolean",
                "null"
            ]
        },
        "vies_status": {
            "type": "string"
        },
        "vies_valid": {
            "type": [
                "boolean",
                "null"
            ]
        },
        "vies_name": {
            "type": [
                "string",
                "null"
            ]
        },
        "verdict": {
            "type": "string"
        },
        "invoice_validation": {
            "type": "object",
            "properties": {
                "provided": {
                    "type": "boolean"
                },
                "verdict": {
                    "type": "string",
                    "enum": [
                        "not_checked",
                        "coherent",
                        "incomplete",
                        "incoherent"
                    ]
                },
                "arithmetic_consistent": {
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "supplier_name_match": {
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "invoice_date_valid": {
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "issues": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "code": {
                                "type": "string"
                            },
                            "severity": {
                                "type": "string",
                                "enum": [
                                    "warning",
                                    "error"
                                ]
                            }
                        },
                        "additionalProperties": false,
                        "required": [
                            "code",
                            "severity"
                        ]
                    }
                }
            },
            "additionalProperties": false,
            "required": [
                "provided",
                "verdict",
                "arithmetic_consistent",
                "supplier_name_match",
                "invoice_date_valid",
                "issues"
            ]
        },
        "checked_at": {
            "type": "string"
        },
        "limitations": {
            "type": "array",
            "items": {
                "type": "string"
            }
        }
    },
    "additionalProperties": false,
    "required": [
        "identifier",
        "exists",
        "siren",
        "name",
        "expected_vat_number",
        "supplied_vat_number",
        "format_match",
        "vies_status",
        "vies_valid",
        "vies_name",
        "verdict",
        "invoice_validation",
        "checked_at"
    ]
}

Example queries

Check this French supplier invoice identifier, VAT number and totals.