Skip to main content

Peppol BIS 3.0 Billing - Country-Specific Rules

PEPPOL BIS 3.0 Has Country specific rules, which means that your invoice can fail our Validation mechanism

D
Written by David Fannar Gunnarsson
Updated over 2 months ago

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.

Did this answer your question?