# ZUGFeRD 2.3 CII E-Invoice Validator & Parser
> Validate and parse German ZUGFeRD 2.x / Factur-X CII invoices with profile-scoped EN 16931 business rules.

- **Canonical URL:** https://stanzaapi.com/tools/factur-x-validator/standards/zugferd-2-3
- **Governing Standard:** ZUGFeRD 2.x / Factur-X 1.0.x (EN 16931) (International Standards Organization)
- **Latency:** <5ms
- **Privacy:** In-memory execution only (zero data stored or logged)

## Technical Overview & Governing Rules
ZUGFeRD 2.x is the German name for the Factur-X hybrid invoice model; the API accepts both naming conventions and detects the profile from the specification identifier (BT-24).

MINIMUM, BASIC WL, BASIC, EN 16931 (COMFORT), EXTENDED and XRechnung profiles are detected and checked against their profile-mandatory fields.

EN 16931, EXTENDED and XRechnung documents run the full EN 16931 business-rule set (BR-01 through BR-65) with exact rule IDs, paths, and severities.

## Specification Matrix
| Profile | Guideline identifier (BT-24) | Rule scope |
| --- | --- | --- |
| MINIMUM | urn:factur-x.eu:1p0:minimum | Profile-mandatory header fields |
| BASIC WL | urn:factur-x.eu:1p0:basicwl | Header fields and monetary totals |
| BASIC | urn:factur-x.eu:1p0:basic | Header, totals, and invoice lines |
| EN 16931 (COMFORT) | urn:factur-x.eu:1p0:en16931 | Full EN 16931 BR-* rule set |
| EXTENDED | urn:factur-x.eu:1p0:extended | Full EN 16931 BR-* rule set |
| XRechnung (CII) | urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0 | Full EN 16931 BR-* rule set |

## Standard JSON Response Model
```json
{
  "valid": false,
  "syntax": "CII",
  "profile": "BASIC_WL",
  "summary": {
    "status": "NON_COMPLIANT",
    "fatalCount": 1,
    "warningCount": 0
  },
  "violations": [
    {
      "id": "FX-PROFILE-BASIC_WL-09",
      "path": "BT-112",
      "severity": "FATAL",
      "message": "Missing or empty BT-112 (Invoice grand total amount)."
    }
  ]
}
```

## Frequently Asked Questions & Edge Cases
### Q: Which profiles are supported?
**A:** MINIMUM, BASIC WL, BASIC, EN 16931 (COMFORT), EXTENDED and XRechnung are detected from the specification identifier (BT-24). EN 16931, EXTENDED and XRechnung documents run the full EN 16931 business-rule set; reduced profiles are checked against their profile-mandatory fields.

### Q: Does this support the German B2B e-invoicing mandate?
**A:** Yes. German businesses must be able to receive structured e-invoices since January 2025, with mandatory issuance phased through 2027-2028. The engine validates the Factur-X and ZUGFeRD profiles those documents use.
