Official rule text
[PEPPOL-EN16931-P0112] Invoice type code 326 or 384 are only allowed when both buyer and seller are German organizations
Why this error occurs
This rule only applies when another field has a certain value (for example a payment means code or an invoice type). Your file triggers the condition but does not provide the data that then becomes mandatory, or provides data that is then forbidden.
How to fix it
Either change the triggering value so the condition no longer applies, or add/remove the dependent elements as the rule text describes. Check the condition in the XPath test above to see exactly which value triggers it.
What the validator checks
Checked element (context):
UBL
cbc:InvoiceTypeCodeTest (XPath):
not(normalize-space(.) = '326' or normalize-space(.) = '384') or ($supplierCountryIsDE and $customerCountryIsDE)
Check your invoice
Drop your XML or PDF on the validator and every failed rule is linked to its page here. Free, no account, the file is not stored.
Same check via API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRelated rules
PEPPOL-EN16931-P0100Invoice type code MUST be set according to the profilePEPPOL-EN16931-P0101Credit note type code MUST be set according to the profilePEPPOL-EN16931-P0104Tax Category G MUST be used when exemption reason code is VATEX-EU-GPEPPOL-EN16931-P0105Tax Category O MUST be used when exemption reason code is VATEX-EU-OPEPPOL-EN16931-P0106Tax Category K MUST be used when exemption reason code is VATEX-EU-ICPEPPOL-EN16931-P0107Tax Category AE MUST be used when exemption reason code is VATEX-EU-AEPEPPOL-EN16931-P0108Tax Category E MUST be used when exemption reason code is VATEX-EU-DPEPPOL-EN16931-P0109Tax Category E MUST be used when exemption reason code is VATEX-EU-F
Frequently asked questions
What does PEPPOL-EN16931-P0112 mean?
PEPPOL-EN16931-P0112 is a peppol bis billing 3.0 rule: Invoice type code 326 or 384 are only allowed when both buyer and seller are German organizations
Will my invoice be rejected because of PEPPOL-EN16931-P0112?
Yes. PEPPOL-EN16931-P0112 is flagged "fatal"; validators (KoSIT, Peppol access points, the German ZRE/OZG-RE portals) reject the invoice until it is fixed.
Which formats does PEPPOL-EN16931-P0112 apply to?
Invoices and credit notes sent over the Peppol network (UBL) and, because XRechnung embeds the Peppol rule set, every XRechnung as well. Syntax: UBL.
Source: Peppol BIS Billing 3.0.20 (November 2025). Catalogue generated from the official schematron on 2026-10-14.