# KoSIT

German coordination body that publishes an open validator framework and XRechnung rule configuration.

## Definition

German coordination body that publishes an open validator framework and XRechnung rule configuration.

## Why this term matters

KoSIT publishes the validator framework and versioned configuration used to check XRechnung schemas and business rules. Running the correct bundle before sending can find machine-checkable errors early. A pass is limited to that file, scenario, and ruleset version; it does not guarantee portal acceptance or legal and tax correctness.

## Explanation

Validation errors are commonly referenced by BR-DE rule IDs.

Useful for troubleshooting why an invoice is rejected.

## Common mistakes

- Validating against the wrong KoSIT scenario — XRechnung-UBL-Invoice and XRechnung-CII have separate Schematron rules; using the UBL ruleset on a CII document hides BR-CO/BR-DE failures.
- Running an old validator or configuration bundle — the engine, scenario, XRechnung rules, and EN 16931 artifacts must form a tested version set.
- Ignoring warnings without reading the rule and recipient requirements — a warning can still identify data that the buyer rejects.
- Not bundling the EN 16931 codelist files with the validator — codelist mismatches surface as cryptic CL-* failures rather than business-rule errors.

## Frequently asked questions

### Where is the KoSIT validator published?
KoSIT publishes the validator framework and XRechnung configuration in public repositories. Pin both the engine and configuration versions; do not infer a portal’s current server setup from the public package.

### How do I read a KoSIT report?
KoSIT outputs an XML report with a top-level acceptance result and per-rule failedAssert entries. Each entry references the rule ID (BR-*, BR-DE-*, BR-CO-*), location (XPath), and a human-readable message — the rule ID is the key to look up the spec.

### Does KoSIT cover Peppol BIS Billing too?
The KoSIT framework can run different validation configurations. For Peppol, use a configuration built from the matching OpenPeppol Schematron and EN 16931 artifacts. Recipient acceptance is a separate question.

## Related resources

- [KoSIT validator errors](/resources/kosit-validator-errors)
- [KoSIT validator repository](https://github.com/itplr-kosit/validator)

## Related terms

- [Validation](/resources/glossary/validation): Process of checking an e-invoice against syntax rules and business rules.
- [XRechnung](/resources/glossary/xrechnung): German e-invoicing specification for the public sector based on EN 16931.
