# 402utils Factur-X / ZUGFeRD Invoice Extractor

> 402utils Factur-X / ZUGFeRD Invoice Extractor is a paid API for AI agents from 402utils.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-11).

Extracts structured invoice data (seller, buyer, line items, VAT, totals, payment, dates, references) from the embedded EN 16931 CII XML in a Factur-X or ZUGFeRD PDF invoice.

## Facts

- Endpoint: POST https://402utils.com/v1/facturx-extract?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/402utils-factur-x-zugferd-invoice-extractor-86c3aff9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_9l8JFuAE-lye3E0DBe8Kx

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 402utils-factur-x-zugferd-invoice-extractor-86c3aff9 -d '<json body>'
```

Example prompt: Can you extract all the invoice details — seller, buyer, line items, VAT, and payment info — from this Factur-X PDF at https://example.com/invoice-2024-001.pdf and give me the normalised JSON? Please also include a signed attestation.

## When to prefer this

Use this endpoint when you need to programmatically read and normalise a Factur-X or ZUGFeRD PDF invoice into structured JSON — especially for FR mandate reception compliance, automated accounts-payable pipelines, or audit workflows requiring signed attestations. Prefer this over generic PDF extractors when the invoice is known to be EN 16931 CII-compliant and you need structured fields like VAT breakdown and payment references rather than raw text.

## Known failure modes

- PDF has no embedded CII XML → returns {profile:'none', warning:'no_embedded_cii'}
- URL is not publicly accessible or returns non-200 → fetch error
- Malformed or corrupted PDF bytes → parse error
- CII XML does not conform to EN 16931 → partial extraction or error
- Unsupported Factur-X profile → may return partial data
- Payment failure (x402) → 402 response before processing begins

## How this service works

Read a Factur-X / ZUGFeRD invoice: send PDF bytes or a JSON { url }. Extracts the embedded EN 16931 CII into normalised data — seller, buyer, lines, VAT, totals, payment, dates, references — with the detected profile. The read side of e-invoicing (the FR mandate starts with reception). No embedded CII → { profile:"none", warning:"no_embedded_cii" }. ?attest=1 → Ed25519-signed.

## Output

A JSON object containing the detected Factur-X/ZUGFeRD profile name, structured seller and buyer information, invoice line items with quantities and amounts, VAT breakdown by rate, monetary totals, payment terms and IBAN, invoice dates, and document references. If no embedded CII XML is found, returns {profile:'none', warning:'no_embedded_cii'}. With ?attest=1, the result includes an Ed25519 signature for audit trail purposes.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "format": "uri",
   "description": "Public http(s) URL of a Factur-X PDF."
  },
  "attest": {
   "type": "string",
   "description": "Set to 1 for an Ed25519-signed attestation of the result (audit trail)."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/402utils-factur-x-zugferd-invoice-extractor-86c3aff9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 402utils.com](https://www.zero.xyz/host/402utils.com/llms.txt)
