# French E-Invoicing Compliance Check (invoice-ready)

> French E-Invoicing Compliance Check (invoice-ready) is a paid API for AI agents from data.greeneris.io, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-14).

Validates a French company's SIREN/SIRET for e-invoicing readiness: Luhn checksum, SIRENE registry existence/active status, FR VAT number computation, and live VIES validation — returning a single ready/not_ready/check_vat_manually verdict.

## Facts

- Endpoint: GET https://data.greeneris.io/v1/fr/invoice-ready
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/french-e-invoicing-compliance-check-invoice-ready-0fa372c2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_1Hvo4Gmop-AQVPohdb350

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability french-e-invoicing-compliance-check-invoice-ready-0fa372c2
```

Example prompt: Before I send this invoice, can you check if SIREN 552032534 is ready for French e-invoicing — confirm it's active in the SIRENE registry and that its VAT number is valid?

## When to prefer this

Choose this endpoint when you need a single, authoritative go/no-go verdict on whether a French company is compliant with the mandatory 2026 French e-invoicing reform (SIREN as a mandatory invoice mention). It combines Luhn checksum, SIRENE registry lookup, FR VAT computation, and live VIES validation into one call, eliminating the need to chain multiple APIs. Prefer it over generic VAT checkers or SIRENE-only lookups when you need the full compliance picture with graceful VIES fallback.

## Known failure modes

- Invalid SIREN format (not 9 digits) or failed Luhn checksum — returns validation error
- Neither siren nor siret query parameter provided — returns 400-style error
- SIREN not found in SIRENE registry — verdict: not_ready
- Company found but marked inactive/ceased in SIRENE — verdict: not_ready
- VIES unavailable or flaky — verdict: check_vat_manually (never hard-blocks the response)
- Malformed SIRET (not 14 digits) — returns validation error

## How this service works

One-call compliance check for the French e-invoicing reform (from 2026-09-01 the customer's SIREN is a mandatory invoice mention). Query: ?siren=552032534 or ?siret=55203253400041. Runs the Luhn checksum, confirms existence and active status in the official SIRENE registry, computes the FR VAT number and validates it live against VIES. Returns a single verdict: ready / not_ready / check_vat_manually (VIES flakiness never blocks the answer). 1h cache.

## Output

A JSON object with a single top-level verdict field: 'ready' (company exists, is active, and VAT is confirmed), 'not_ready' (company does not exist or is inactive), or 'check_vat_manually' (SIRENE checks passed but VIES was unavailable). Also includes the computed French VAT number and supporting SIRENE/VIES detail fields. Results are cached for 1 hour.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "siren": {
       "type": "string",
       "description": "9-digit SIREN (this or siret is required)"
      },
      "siret": {
       "type": "string",
       "description": "14-digit SIRET; the SIREN is extracted from it"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "siren": "552032534",
  "active": true,
  "exists": true,
  "source": "recherche-entreprises.api.gouv.fr (INSEE Sirene) + VIES REST API (European Commission); Luhn checksum and FR VAT key computed locally",
  "details": "SIREN checksum OK, company registered and active in SIRENE, computed VAT number FR27552032534 confirmed valid by VIES.",
  "verdict": "ready",
  "legal_name": "DANONE",
  "vat_number": "FR27552032534",
  "vat_status": "valid",
  "invoice_ready": true,
  "checksum_valid": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/french-e-invoicing-compliance-check-invoice-ready-0fa372c2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from data.greeneris.io](https://www.zero.xyz/host/data.greeneris.io/llms.txt)
