# Peppol BIS Billing 3.0 UBL 2.1 E-Invoice Validator & Parser
> Validate and extract structured JSON from Peppol BIS Billing 3.0 OASIS UBL 2.1 electronic invoices and credit notes.

- **Canonical URL:** https://stanzaapi.com/tools/peppol-validator/standards/peppol-bis-billing-3-0
- **Governing Standard:** Peppol BIS Billing 3.0 / EN 16931 (OpenPeppol AISBL & CEN TC 434)
- **Latency:** <2ms Edge
- **Privacy:** In-memory execution only (zero data stored or logged)

## Technical Overview & Governing Rules
Peppol BIS Billing 3.0 is the official Core Invoice Usage Specification (CIUS) across European public procurement and international B2B invoicing networks.

Deterministic validation of CustomizationID (urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0) and ProfileID.

Extracts supplier, customer, tax representative, and payee parties with postal address and ISO 6523 Electronic Address Scheme (EAS) endpoints.

## Specification Matrix
| UBL 2.1 Node | Field Name | Mandatory | Standard Rule |
| --- | --- | --- | --- |
| cbc:CustomizationID | Specification ID | Yes | BR-01 & PEPPOL-EN16931-R001 |
| cbc:ID | Invoice Identifier | Yes | BR-02 (Max 500 chars) |
| cbc:IssueDate | Issue Date | Yes | BR-03 (YYYY-MM-DD) |
| cac:LegalMonetaryTotal | Monetary Totals | Yes | BR-CO-10 / 11 / 12 / 14 |
| cac:TaxTotal | VAT Breakdown | Yes | BR-CO-15 / 17 / 18 |

## Standard JSON Response Model
```json
{
  "valid": true,
  "syntax": "UBL_INVOICE",
  "profile": "PEPPOL_BIS_BILLING_3_0",
  "summary": {
    "status": "COMPLIANT",
    "fatalCount": 0,
    "warningCount": 0
  },
  "rulesChecked": 24
}
```

## Frequently Asked Questions & Edge Cases
### Q: What is the difference between Peppol BIS Billing 3.0 and base EN 16931?
**A:** Peppol BIS Billing 3.0 is a CIUS (Core Invoice Usage Specification) that extends the base EN 16931 standard with Peppol network-specific rules, such as requiring ISO 6523 Electronic Address Scheme (EAS) endpoints for participant routing.
