This list was created 9th of October 2025 - and could be out of date. Please refer to https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-peppol/
Peppol BIS 3.0 Billing - Country-Specific Rules
This documentation outlines the validation rules that apply based on the seller (supplier) and buyer (customer) countries in Peppol invoices.
🇩🇪 Germany (DE)
When the Seller is German
All invoices from German suppliers must comply with these rules:
Payment Information Requirements ⚠️ FATAL
DE-R-001: Payment instructions (BG-16) must be provided
DE-R-023-1: If payment type is credit transfer (codes 30, 58), credit transfer details (BG-17) must be provided
DE-R-023-2: If payment type is credit transfer (codes 30, 58), payment card (BG-18) and direct debit (BG-19) information must NOT be provided
DE-R-024-1: If payment type is payment card (codes 48, 54, 55), payment card information (BG-18) must be provided
DE-R-024-2: If payment type is payment card (codes 48, 54, 55), credit transfer (BG-17) and direct debit (BG-19) must NOT be provided
DE-R-025-1: If payment type is direct debit (code 59), direct debit information (BG-19) must be provided
DE-R-025-2: If payment type is direct debit (code 59), credit transfer (BG-17) and payment card (BG-18) must NOT be provided
DE-R-030: If direct debit (BG-19) is used, bank assigned creditor identifier (BT-90) must be provided
DE-R-031: If direct debit (BG-19) is used, debited account identifier (BT-91) must be provided
Seller Contact Information ⚠️ FATAL
DE-R-002: Seller contact information (BG-6) must be provided
DE-R-005: Seller contact point (BT-41) must be provided
DE-R-006: Seller contact telephone number (BT-42) must be provided
DE-R-007: Seller contact email address (BT-43) must be provided
Seller Address Requirements ⚠️ FATAL
DE-R-003: Seller city (BT-37) must be provided
DE-R-004: Seller post code (BT-38) must be provided
Buyer Information Requirements ⚠️ FATAL
DE-R-008: Buyer city (BT-52) must be provided
DE-R-009: Buyer post code (BT-53) must be provided
DE-R-015: Buyer reference (BT-10) must be provided
Delivery Address ⚠️ FATAL
DE-R-010: If delivery address (BG-15) is provided, delivery city (BT-77) must be included
DE-R-011: If delivery address (BG-15) is provided, delivery post code (BT-78) must be included
Tax Information ⚠️ FATAL
DE-R-014: VAT category rate (BT-119) must be provided
DE-R-016: If VAT codes S, Z, E, AE, K, G, L, or M are used, the invoice must contain at least one of: Seller VAT identifier (BT-31), Seller tax registration identifier (BT-32), or Seller tax representative party (BG-11)
Cash Discount (Skonto) Requirements ⚠️ FATAL
DE-R-018: Cash discount information must be provided in payment terms (BT-20) in a specific format:
First segment: "SKONTO"
Second segment: "TAGE=N" (number of days)
Third segment: "PROZENT=N" (percentage with dot separator, two decimals)
Fourth segment (if needed): "BASISBETRAG=N" (base amount)
Format: Start with #, separate with #, end with #, finish with XML line break
Use CAPITAL LETTERS only, no extra whitespace
Document Management ⚠️ FATAL
DE-R-022: Attached documents (BG-24) must have unique filenames (case-insensitive)
Validation Warnings ⚠️ WARNING
DE-R-017: Invoice type code (BT-3) should only use: 326, 380, 384, 389, 381, 875, 876, 877
DE-R-019: Payment account identifier (BT-84) should contain valid IBAN if payment type is 58 (SEPA)
DE-R-020: Debited account identifier (BT-91) should contain valid IBAN if payment type is 59 (SEPA)
DE-R-026: If invoice type is 384 (Corrected invoice), preceding invoice reference (BG-3) should be provided
DE-R-027: Seller telephone number should be valid (minimum 3 digits)
DE-R-028: Seller email should contain exactly one @ sign, properly formatted
🇩🇰 Denmark (DK)
When the Seller is Danish
Legal Entity Requirements ⚠️ FATAL
DK-R-002: Danish suppliers must provide legal entity (CVR-number)
DK-R-013: Scheme ID is mandatory when using PartyIdentification/ID for customer or supplier
DK-R-014: Scheme ID must be "0184" (DK CVR-number) when using PartyLegalEntity/CompanyID for supplier
Payment Means Codes ⚠️ FATAL
DK-R-005: Only these payment means codes are allowed: 1, 10, 31, 42, 48, 49, 50, 58, 59, 93, 97
Bank Account Requirements ⚠️ FATAL
DK-R-006: Bank account and registration account are mandatory if payment means is 31 or 42
DK-R-007: PaymentMandate/ID and PayerFinancialAccount/ID are mandatory when payment means is 49
Giro Payment (Code 50) ⚠️ FATAL
DK-R-008: PaymentID is mandatory and must start with 01#, 04#, or 15# (kortartkode), and PayeeFinancialAccount/ID must be 7-8 numeric characters
DK-R-009: If PaymentID is prefixed with 04# or 15#, the 16-digit instruction ID must be added (e.g., "04#1234567890123456")
FIK Payment (Code 93) ⚠️ FATAL
DK-R-010: PaymentID must start with 71#, 73#, or 75# (kortartkode), and CreditAccount/AccountID must be exactly 8 characters
DK-R-011: If PaymentID is prefixed with 71# or 75#, the 15-16 digit instruction ID must be added (e.g., "71#1234567890123456")
Tax Information ⚠️ FATAL
DK-R-004: When specifying non-VAT taxes for Danish customers, use AllowanceChargeReasonCode="ZZZ" with 4-digit tax category or include # (not as first/last character)
Credit Notes ⚠️ FATAL
DK-R-016: Credit notes cannot have a negative total (PayableAmount)
Item Classification ⚠️ WARNING
DK-R-003: If ItemClassification is provided, use UNSPSC version 19.05.01 or 26.08.01
🇬🇷 Greece (GR)
When the Seller is Greek
Invoice ID Format ⚠️ FATAL
Greek invoices require a specific 6-segment Invoice ID format:
GR-R-001-1: Invoice ID must consist of 6 segments
GR-R-001-2: First segment must be a valid TIN Number matching supplier's or tax representative's TIN
GR-R-001-3: Second segment must be a valid date matching the invoice issue date
GR-R-001-4: Third segment must be a positive integer
GR-R-001-5: Fourth segment must be a valid Greek document type
GR-R-001-6: Fifth segment must not be empty
GR-R-001-7: Sixth segment must not be empty
Supplier Information ⚠️ FATAL
GR-R-002: Suppliers must provide their full name as registered in Greek Business Registry (G.E.MH.) or Tax Registry
GR-R-003: VAT must start with 'EL' and be a valid TIN number
GR-R-009: Electronic address must use correct TIN number with PEPPOL scheme (schemeID 9933)
MARK Number ⚠️ FATAL
GR-R-004-1: There must be one MARK Number
GR-R-004-2: MARK Number must be a positive integer
Buyer Information ⚠️ FATAL
GR-R-005: Full name of the buyer must be provided
GR-R-006: VAT number of the buyer must be provided if the buyer is Greek
GR-R-010: If buyer is Greek, their electronic address must use correct TIN number with PEPPOL scheme (SchemeID 9933)
Invoice URL ⚠️ FATAL
GR-R-008-2: No more than one invoice URL is allowed
GR-R-008-3: If INVOICE URL Document reference exists, External Reference URI should be present
Recommendations ⚠️ WARNING
GR-R-008-1: There should be one invoice URL
GR-S-011: Supplier should provide Tax Registration Number, prefixed by country code
🇮🇸 Iceland (IS)
When the Seller is Icelandic
Invoice Type ⚠️ WARNING
IS-R-001: Invoice type should be 380 (Commercial invoice) or 381 (Credit note)
Seller Requirements ⚠️ FATAL
IS-R-002: Invoice must contain seller's Icelandic legal ID (kennitala) (BT-30)
IS-R-003: Seller address must include street name and zip code (BT-35 and BT-38)
When Both Seller and Buyer are Icelandic
Buyer Requirements ⚠️ FATAL
IS-R-004: Invoice must contain buyer's Icelandic legal identifier (kennitala) (BT-47)
IS-R-005: Buyer address must include street name and zip code (BT-50 and BT-53)
Payment Methods for Icelandic Sellers
Payment Code 9 (Krafa) ⚠️ FATAL
IS-R-006: A 12-digit account ID must exist (bank number, ledger 66, and account number) (BT-84)
Payment Code 42 (Bank Transfer) ⚠️ FATAL
IS-R-007: A 12-digit account number must exist (BT-84)
Due Date (EINDAGI) ⚠️ FATAL
IS-R-008: If supporting description EINDAGI exists, the ID form must be YYYY-MM-DD (BT-122)
IS-R-009: If invoice contains EINDAGI, it must also have a due date (BT-9)
IS-R-010: EINDAGI date must be same or later than due date (BT-9)
🇮🇹 Italy (IT)
When the Seller is Italian
Tax Registration ⚠️ FATAL
IT-R-001: Seller tax registration identifier (BT-32) must have length between 11 and 16 characters
Address Requirements ⚠️ FATAL
IT-R-002: Postal address line 1 (BT-35) must be provided
IT-R-003: City (BT-37) must be provided
IT-R-004: Post code (BT-38) must be provided
🇳🇱 Netherlands (NL)
When the Seller is Dutch
Credit Note Requirements ⚠️ FATAL
NL-R-001: Credit notes must contain an invoice reference (BillingReference/InvoiceDocumentReference/ID)
Supplier Address ⚠️ FATAL
NL-R-002: Supplier address must contain street name, city, and post code
Legal Entity Identifier ⚠️ FATAL
NL-R-003: Legal entity identifier must be either a KVK or OIN number (schemeID 0106 or 0190)
Payment Requirements ⚠️ FATAL
NL-R-007: Supplier must provide payment means if payment is from customer to supplier
Order Reference ⚠️ FATAL
NL-R-009: If order line reference is used, there must be an order reference on document level
When Both Seller and Buyer are Dutch
Customer Address ⚠️ FATAL
NL-R-004: Customer address must contain street name, city, and post code
Customer Legal Entity ⚠️ FATAL
NL-R-005: Customer's legal entity identifier must be either a KVK or OIN number (schemeID 0106 or 0190)
Payment Means Code ⚠️ FATAL
NL-R-008: Payment means code must be one of: 30, 48, 49, 57, 58, or 59
When Fiscal Representative is Dutch
Representative Address ⚠️ FATAL
NL-R-006: Representative's address must contain street name, city, and post code
🇳🇴 Norway (NO)
When the Seller is Norwegian
VAT Number Format ⚠️ FATAL
NO-R-001: VAT number must be country code prefix "NO" + valid Norwegian organization number (9 digits) + "MVA"
Company Registration ⚠️ WARNING
NO-R-002: For corporations (AS, ASA) or foreign company branches, the word "Foretaksregisteret" should appear on the invoice
🇸🇪 Sweden (SE)
When the Seller is Swedish
VAT Number Format ⚠️ FATAL
SE-R-001: Swedish VAT numbers must consist of 14 characters
SE-R-002: The trailing 12 characters of VAT numbers must be numeric
Organization Number ⚠️ FATAL
SE-R-003: Organization numbers should be numeric
SE-R-004: Organization numbers consist of 10 characters
SE-R-013: The last digit must be valid according to the Luhn algorithm
Tax Registration ⚠️ FATAL
SE-R-005: When using Seller tax registration identifier, "Godkänd för F-skatt" must be stated
VAT Rates ⚠️ FATAL
SE-R-006: Only standard VAT rates of 6%, 12%, or 25% are used
Bank Account Formatting ⚠️ WARNING
SE-R-007: For Plusgiro, Account ID must be numeric
SE-R-008: For Bankgiro, Account ID must be numeric
SE-R-009: For Bankgiro, Account ID must have 7-8 characters
SE-R-010: For Plusgiro, Account ID must have 2-8 characters
SE-R-011: For Bankgiro or Plusgiro, use Code 30 for PaymentMeans with FinancialInstitutionBranch ID code SE:BANKGIRO or SE:PLUSGIRO
SE-R-012: For domestic Swedish transactions, use PaymentMeansCode="30" for credit transfer
🌍 PEPPOL Common Rules (All Countries)
These rules apply to all Peppol invoices regardless of country:
Format Validation ⚠️ FATAL
PEPPOL-COMMON-R040: GLN must have valid format according to GS1 rules
PEPPOL-COMMON-R041: Norwegian organization number must be in correct format
PEPPOL-COMMON-R042: Danish organization number (CVR) must be in correct format
PEPPOL-COMMON-R043: Belgian enterprise number must be in correct format
PEPPOL-COMMON-R049: Swedish organization number must be in correct format
PEPPOL-COMMON-R050: Australian Business Number (ABN) must be in correct format
PEPPOL-EN16931-F001: Dates must be formatted YYYY-MM-DD
Code Lists ⚠️ FATAL
PEPPOL-EN16931-CL001: MIME code must be from IANA code list subset
PEPPOL-EN16931-CL002: Reason code must be from UNCL 5189 D.16B subset
PEPPOL-EN16931-CL003: Reason code must be from UNCL 7161 D.16B
PEPPOL-EN16931-CL006: Invoice period description code must be from UNCL 2005 D.16B
PEPPOL-EN16931-CL007: Currency code must be from ISO 4217:2005
PEPPOL-EN16931-CL008: Electronic address identifier scheme must be from "Electronic Address Identifier Scheme" codelist
Italian Codes ⚠️ WARNING
PEPPOL-COMMON-R044: IPA Code (Codice Univoco Unità Organizzativa) must be in correct format
PEPPOL-COMMON-R045/046: Tax Code (Codice Fiscale) must be in correct format
PEPPOL-COMMON-R047: Italian VAT Code (Partita Iva) must be in correct format
Mandatory Document Elements ⚠️ FATAL
PEPPOL-EN16931-R001: Business process must be provided
PEPPOL-EN16931-R002: No more than one note allowed (unless both parties are German)
PEPPOL-EN16931-R003: Buyer reference or purchase order reference must be provided
PEPPOL-EN16931-R004: Specification identifier must be 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0'
PEPPOL-EN16931-R007: Business process format must be 'urn:fdc:peppol.eu:2017:poacc:billing:NN:1.0'
PEPPOL-EN16931-R008: Document must not contain empty elements
PEPPOL-EN16931-R010: Buyer electronic address must be provided
PEPPOL-EN16931-R020: Seller electronic address must be provided
Invoice Type Codes ⚠️ FATAL
PEPPOL-EN16931-P0100: Invoice type code must be set according to profile
PEPPOL-EN16931-P0101: Credit note type code must be set according to profile
PEPPOL-EN16931-P0112: Invoice type codes 326 or 384 are only allowed when both buyer and seller are German
Tax Categories ⚠️ FATAL
PEPPOL-EN16931-P0104: Tax Category G for exemption code VATEX-EU-G
PEPPOL-EN16931-P0105: Tax Category O for exemption code VATEX-EU-O
PEPPOL-EN16931-P0106: Tax Category K for exemption code VATEX-EU-IC
PEPPOL-EN16931-P0107: Tax Category AE for exemption code VATEX-EU-AE
PEPPOL-EN16931-P0108-111: Tax Category E for exemption codes VATEX-EU-D, F, I, J
Currency & Tax Totals ⚠️ FATAL
PEPPOL-EN16931-R005: VAT accounting currency code must differ from invoice currency code when provided
PEPPOL-EN16931-R051: All currencyID attributes must match invoice currency (except BT-111)
PEPPOL-EN16931-R053: Only one tax total with tax subtotals allowed
PEPPOL-EN16931-R054: Only one tax total without tax subtotals when tax currency code provided
PEPPOL-EN16931-R055: Invoice total VAT amounts must have same operational sign
Allowances & Charges ⚠️ FATAL
PEPPOL-EN16931-R040: Allowance/charge amount must equal base amount × percentage/100
PEPPOL-EN16931-R041: Base amount must be provided when percentage exists
PEPPOL-EN16931-R042: Percentage must be provided when base amount exists
PEPPOL-EN16931-R043: ChargeIndicator must equal 'true' or 'false'
PEPPOL-EN16931-R044: Charge on price level not allowed (only 'false')
Pricing ⚠️ FATAL
PEPPOL-EN16931-R046: Item net price must equal (Gross price - Allowance amount) when gross price provided
PEPPOL-EN16931-R120: Invoice line net amount must equal (Quantity × (Net price/Base quantity) + Charges - Allowances)
PEPPOL-EN16931-R121: Base quantity must be positive number above zero
PEPPOL-EN16931-R130: Unit code of price base quantity must match invoiced quantity
Payment & References ⚠️ FATAL
PEPPOL-EN16931-R061: Mandate reference must be provided for direct debit
PEPPOL-EN16931-R080: Only one project reference allowed on document level
PEPPOL-EN16931-R100: Only one invoiced object allowed per line
PEPPOL-EN16931-R101: Document reference can only be used for invoice line object
Line Periods ⚠️ FATAL
PEPPOL-EN16931-R110: Start date of line period must be within invoice period
PEPPOL-EN16931-R111: End date of line period must be within invoice period
Quick Reference Summary
Country | Key Focus Areas |
🇩🇪 Germany | Payment instructions, cash discount (Skonto), extensive contact details, delivery addresses |
🇩🇰 Denmark | CVR-number, specific payment codes (Giro, FIK), bank account formats |
🇬🇷 Greece | 6-segment Invoice ID format, MARK number, TIN numbers |
🇮🇸 Iceland | Kennitala (legal ID), 12-digit account numbers, EINDAGI dates |
🇮🇹 Italy | Tax registration length (11-16 chars), complete address |
🇳🇱 Netherlands | KVK/OIN numbers, credit note references, complete addresses |
🇳🇴 Norway | VAT format (NO + 9 digits + MVA), "Foretaksregisteret" |
🇸🇪 Sweden | 14-char VAT numbers, F-skatt, Luhn algorithm, Bankgiro/Plusgiro |
Legend
⚠️ FATAL: Validation will fail, invoice cannot be processed
⚠️ WARNING: Validation will show warning, invoice can still be processed but should be corrected
This documentation is based on Peppol BIS 3.0 Billing specification. Always refer to the official Peppol documentation for the most current requirements.
