Thanks Nicolas,
it works aaand it doesn't. If I try placing an order as a Belgian customer it gives a warning (see below). I think it still will be accepted by the peppol network (because it's a warning and not an error) but I don't know for sure.
If I try placing an order as a Dutch customer it keeps using the AE code but the order is using 21% VAT so it should be code S i think plus it gives the same warning.
Also, if the VAT number given by the customer is missing the NL or BE part it also gives an error. This is just a question, but is it possible the check a custom input field for format?
I understand that this is taking up a lot of your time and I really appreciate all your help, but I also would totally understand if this is taking up to much of your time. Guess I am just very grateful.
This is the warning the doc checker gives:
Document validated as: Peppol BIS 3 UBL Invoice
2 warnings
warning [UBL-CR-480]-A UBL invoice should not include the AllowanceCharge TaxCategory TaxExemptionReasonCode
location /ubl:Invoice[1]
test not(cac:AllowanceCharge/cac:TaxCategory/cbc:TaxExemptionReasonCode)
warning [UBL-CR-481]-A UBL invoice should not include the AllowanceCharge TaxCategory TaxExemptionReason
location /ubl:Invoice[1]
test not(cac:AllowanceCharge/cac:TaxCategory/cbc:TaxExemptionReason)
XML Belgium:
<?xml version="1.0"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2">
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>C1B0C83</cbc:ID>
<cbc:IssueDate>2026-03-04</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cac:OrderReference>
<cbc:ID>NA</cbc:ID>
<cbc:SalesOrderID>C1E1G56</cbc:SalesOrderID>
</cac:OrderReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="9944">NL182610202B02</cbc:EndpointID>
<cac:PartyName>
<cbc:Name>Bloem en Oogst</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>3 van Zijlweg</cbc:StreetName>
<cbc:CityName>Wapserveen</cbc:CityName>
<cbc:PostalZone>8351HW</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL182610202B02</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Bloem en Oogst</cbc:RegistrationName>
<cbc:CompanyID schemeID="0106">NL182610202B02</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Eline Houtkamp</cbc:Name>
<cbc:Telephone>+31624897106</cbc:Telephone>
<cbc:ElectronicMail>This email address is being protected from spambots. You need JavaScript enabled to view it.</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="9925">BE0123456789</cbc:EndpointID>
<cac:PartyName>
<cbc:Name>gozz</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>hhj</cbc:StreetName>
<cbc:AdditionalStreetName>7</cbc:AdditionalStreetName>
<cbc:CityName>sjsn</cbc:CityName>
<cbc:PostalZone>7777jj</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>BE</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>BE0123456789</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>gozz</cbc:RegistrationName>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Gossen rij</cbc:Name>
<cbc:Telephone>92737</cbc:Telephone>
<cbc:ElectronicMail>This email address is being protected from spambots. You need JavaScript enabled to view it.</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Verzending</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">9.40</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>AE</cbc:ID>
<cbc:Percent>0.00</cbc:Percent>
<cbc:TaxExemptionReasonCode>VATEX-EU-AE</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>Reverse charge</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">12.42</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>AE</cbc:ID>
<cbc:Percent>0.00</cbc:Percent>
<cbc:TaxExemptionReasonCode>VATEX-EU-AE</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>Reverse charge</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">3.02</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">12.42</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">12.42</cbc:TaxInclusiveAmount>
<cbc:ChargeTotalAmount currencyID="EUR">9.40</cbc:ChargeTotalAmount>
<cbc:PrepaidAmount currencyID="EUR">12.42</cbc:PrepaidAmount>
<cbc:PayableAmount currencyID="EUR">0.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>0</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1.00</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.02</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>ACHILLEA MILLEFOLIUM – DUIZENDBLAD - ‘Summer Pastels mix’</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>AE</cbc:ID>
<cbc:Percent>0.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.02</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1.00</cbc:BaseQuantity>
</cac:Price>
</cac:InvoiceLine>
</Invoice>
XML Netherlands:
<?xml version="1.0"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2">
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>C1B0M92</cbc:ID>
<cbc:IssueDate>2026-03-08</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cac:OrderReference>
<cbc:ID>NA</cbc:ID>
<cbc:SalesOrderID>C1E1R65</cbc:SalesOrderID>
</cac:OrderReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="9944">NL182610202B02</cbc:EndpointID>
<cac:PartyName>
<cbc:Name>Bloem en Oogst</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>3 van Zijlweg</cbc:StreetName>
<cbc:CityName>Wapserveen</cbc:CityName>
<cbc:PostalZone>8351HW</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL182610202B02</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Bloem en Oogst</cbc:RegistrationName>
<cbc:CompanyID schemeID="0106">NL182610202B02</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Eline Houtkamp</cbc:Name>
<cbc:Telephone>+31624897106</cbc:Telephone>
<cbc:ElectronicMail>This email address is being protected from spambots. You need JavaScript enabled to view it.</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="9944">NL0123456789</cbc:EndpointID>
<cac:PartyName>
<cbc:Name>GossiePozzie</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>van Zijlweg</cbc:StreetName>
<cbc:AdditionalStreetName>3</cbc:AdditionalStreetName>
<cbc:CityName>Wapserveen</cbc:CityName>
<cbc:PostalZone>8351 HW</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL0123456789</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>GossiePozzie</cbc:RegistrationName>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Gossen Rijkeboer</cbc:Name>
<cbc:Telephone>+31626660482</cbc:Telephone>
<cbc:ElectronicMail>This email address is being protected from spambots. You need JavaScript enabled to view it.</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Verzending</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">4.40</cbc:Amount>
<cac:TaxCategory>
<cbc:ID>AE</cbc:ID>
<cbc:Percent>0.00</cbc:Percent>
<cbc:TaxExemptionReasonCode>VATEX-EU-AE</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>Reverse charge</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">0.63</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">3.02</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0.63</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">4.40</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>AE</cbc:ID>
<cbc:Percent>0.00</cbc:Percent>
<cbc:TaxExemptionReasonCode>VATEX-EU-AE</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>Reverse charge</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">3.02</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">7.42</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">8.05</cbc:TaxInclusiveAmount>
<cbc:ChargeTotalAmount currencyID="EUR">4.40</cbc:ChargeTotalAmount>
<cbc:PrepaidAmount currencyID="EUR">8.05</cbc:PrepaidAmount>
<cbc:PayableAmount currencyID="EUR">0.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>0</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1.00</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.02</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>AGASTACHE ANISATA - DROPPLANT</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.02</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1.00</cbc:BaseQuantity>
</cac:Price>
</cac:InvoiceLine>
</Invoice>
Cheers.