# BR-51 Kaartnummer (PAN) van de betaalkaart mag niet volledig op de factuur staan

Volgens de beveiligingsnormen voor kaartbetalingen mag de factuur nooit een volledig kaartrekeningnummer (BT-87) bevatten; PCI-regels staan hooguit de eerste 6 en laatste 4 cijfers toe.

## Probleembeschrijving

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

## Context en betekenis

Deze kernregel van EN 16931 beschermt kaartgegevens, omdat een factuur breed wordt gedeeld en lang wordt bewaard. De ernst hangt af van de syntaxis: de validatieartefacten melden BR-51 bij UBL als waarschuwing en bij CII als fatale fout; de validator meldt BT-87 zodra de waarde langer is dan 10 tekens, ook als de middelste cijfers met sterretjes zijn gemaskeerd. De melding verschijnt vaak als een ERP of betaaldienstverlener het volledige of gemaskeerde kaartnummer exporteert.

## Oplossing

Vul cac:CardAccount/cbc:PrimaryAccountNumberID (CII: ram:ApplicableTradeSettlementFinancialCard/ram:ID) met hooguit 10 tekens, bij voorkeur alleen de laatste 4 cijfers van de kaart, zonder maskeringstekens. Het Schematron waarschuwt bij elke waarde van meer dan 10 tekens, ook bij een gemaskeerd nummer van 16 tekens.

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

## Geldige voorbeelden

- BT-87 = 1881 — alleen de laatste 4 cijfers

## Ongeldige voorbeelden

- BT-87 = 4012888888881881 (volledig nummer zichtbaar)
- BT-87 = 401288******1881 — 16 tekens; ook met maskering langer dan 10 tekens

## Codevoorbeelden

### Geldig XML
```
<cac:PaymentMeans>
  <cbc:PaymentMeansCode>48</cbc:PaymentMeansCode>
  <cac:CardAccount>
    <cbc:PrimaryAccountNumberID>1881</cbc:PrimaryAccountNumberID>
    <cbc:NetworkID>VISA</cbc:NetworkID>
  </cac:CardAccount>
</cac:PaymentMeans>
```

### Ongeldig XML
```
<cac:PaymentMeans>
  <cbc:PaymentMeansCode>48</cbc:PaymentMeansCode>
  <cac:CardAccount>
    <cbc:PrimaryAccountNumberID>401288******1881</cbc:PrimaryAccountNumberID>
    <cbc:NetworkID>VISA</cbc:NetworkID>
  </cac:CardAccount>
</cac:PaymentMeans>
```

## Betrokken velden

- [BT-87 Primair rekeningnummer betaalkaart](/resources/xrechnung/bt-87-payment-card-primary-account-number)

## Gerelateerde regels

- [BR-49](/resources/kosit-validator-errors/br-49-payment-means-type-code-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.
