# BR-65 Classificatie-identificatie van het artikel moet een schema-identificatie hebben

De classificatie-identificatie van het artikel (BT-158) moet een schema-identificatie hebben die het gebruikte classificatieschema benoemt.

## Probleembeschrijving

> **FOUT**: Bedrijfsregel van EN 16931 (CEN)

> **Waar BR-65 wordt gecontroleerd**
>
> Een validator controleert een e-factuur in stappen. Eerst moet het bestand goed gevormde XML zijn die past bij het UBL- of CII-schema (XSD). Dan volgen de bedrijfsregels van EN 16931: BR-kernregels, BR-CO-berekeningen, BR-CL-codelijsten, BR-DEC-decimalen en regels per btw-categorie zoals BR-S. Daarna komen de nationale of netwerkregels die BT-24 kiest: BR-DE voor XRechnung, PEPPOL-EN16931 voor Peppol BIS Billing. Het rapport noemt elke geschonden regel: één fout betekent afwijzen, alleen waarschuwingen betekenen nog steeds accepteren. BR-65: kernregel van EN 16931, gemeld in de stap “EN 16931-regels”.

## Context en betekenis

Dit is een kernregel van EN 16931. Een classificatiecode, zoals een CPV-code bij overheidsopdrachten of een UNSPSC-code, is alleen eenduidig met het schema erbij. De fout ontstaat vaak als een export de code overneemt maar het listID-attribuut weglaat. De waarde van listID wordt getoetst tegen UNTDID 7143 (BR-CL-13), dus ook een gewone schemanaam zoals "CPV" faalt. Productidentificaties zoals een GTIN horen in BT-157 en vallen onder BR-64.

## Oplossing

Stel het listID-attribuut van cac:CommodityClassification/cbc:ItemClassificationCode in met een code uit UNTDID 7143, bijvoorbeeld TST voor UNSPSC, STI voor CPV (Common Procurement Vocabulary) of HS voor het Geharmoniseerd Systeem. In CII: ram:DesignatedProductClassification/ram:ClassCode/@listID.

- [XML valideren](/nl/xrechnung-validator?source=resource&rule=BR-65)
- [Factuur converteren](/nl/pdf-to-xrechnung?source=resource&rule=BR-65)

## Geldige voorbeelden

- BT-158 = 30192000 met listID="STI" (CPV: kantoorbenodigdheden)
- BT-158 = 43211503 met listID="TST" (UNSPSC)

## Ongeldige voorbeelden

- BT-158 classificatiecode aanwezig maar zonder listID-attribuut

## Codevoorbeelden

### Geldig XML
```
<cac:Item>
  <cac:CommodityClassification>
    <cbc:ItemClassificationCode listID="STI">30192000</cbc:ItemClassificationCode>
  </cac:CommodityClassification>
</cac:Item>
```

### Ongeldig XML
```
<cac:Item>
  <cac:CommodityClassification>
    <cbc:ItemClassificationCode>30192000</cbc:ItemClassificationCode>
  </cac:CommodityClassification>
</cac:Item>
```

## Betrokken velden

- [BT-158 Classificatie-identificatie artikel](/resources/xrechnung/bt-158-item-classification-identifier)

## Gerelateerde regels

- [BR-64](/resources/kosit-validator-errors/br-64-item-standard-identifier-scheme-required)

## Validatietools

- [Officiële KoSIT-validator](https://github.com/itplr-kosit/validator): Draai de officiële KoSIT-validator met de XRechnung-configuratie om EN 16931- en XRechnung-regels te controleren.
- [PDF naar XRechnung converteren](/pdf-to-xrechnung): Vind validatiefouten tijdens de conversie en controleer elke correctie.

## Gerelateerde bronnen

- [Officiële specificatie](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Testsuite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Alle validatiefouten](/resources/kosit-validator-errors): Overzicht van de hier uitgelegde validatieregels uit EN 16931, XRechnung en Peppol.
