Maatwerk UBL

Documentatieversie 1.3 12 mei 2023

Let op!

Een UBL-factuur is een juridisch document (Een factuur). Het moet alle vereiste informatie bevatten die elk ander factuurformaat (zoals PDF) heeft. Dit bestand kan door de ontvanger worden geïmporteerd in zijn financiële software.

Centrop accepteert facturen in UBL (Universal Business Language) Invoice versie 2.1.

Deze pagina is een handvat om en eigen UBL factuur te maken.

In de blokken hieronder worden alle onderdelen toegelicht:

Toelichting voorbeeldfactuur (PDF En UBL)

In alle blokken hieronder maken we gebruik van voorbeelden. Deze voorbeelden komen overeen met een voorbeeldfactuur die we gemaakt hebben in UBL en PDF.

Klik hier om de voorbeelden te downloaden (zip bestand)

Verplichte velden en berekeningen

We hebben een Excel-document gemaakt om de veldvereisten toe te lichten. Deze informatie is alleen beschikbaar in het Engels.

Klik hier om het bestand in Excel-formaat te downloaden

Het begin van het bestand

Verwijzing naar XML versie.
<?xml version=”1.0″ encoding=”UTF-8″?>

Verwijzing naar de schema’s <Invoice>
U kunt deze regel letterlijk overnemen. Vergeet niet om aan het einde van het volledige bestand de invoice tag af te sluiten met </Invoice>

<cbc:CustomizationID>
Verwijzing naar specificatie voor specifiek gebruik van UBL.

In geval van verwijzing naar alleen EN16931:
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>

Ingeval van verwijzing naar EN16931 én NLCIUS:
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:nen.nl:nlcius:v1.0</cbc:CustomizationID>

<cbc:ProfileID>
Verwijzing naar profiel voor specifiek gebruik van UBL. U kunt deze regel letterlijk overnemen.

1<?xml version="1.0" encoding="UTF-8"?>
2
3<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2
4    https://docs.oasis-open.org/ubl/os-UBL-2.1/xsd/maindoc/UBL-Invoice-2.1.xsd">
5
6<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:nen.nl:nlcius:v1.0</cbc:CustomizationID>
7<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>

Algemene kopregels

<cbc:ID>
Dit is uw factuurnummer. Dit nummer moet voor elke factuur uniek zijn. Facturen die al bestaan worden geweigerd.

<cbc:IssueDate>
Factuurdatum yyyy-MM-dd

<cbc:DueDate>
Factuurvervaldatum yyyy-MM-dd, deze hoeft niet aanwezig te zijn als het totaalbedrag van de factuur negatief is.

<cbc:InvoiceTypeCode>
380

De code 380 is voor een standaard factuur. Creditfacturen krijgen ook deze code, met negatieve bedragen. Wij accepteren code 381 met een apart schema niet. Als deze tag niet aanwezig is, gaan wij altijd uit van code 380.

<cbc:Note>
Dit is een optioneel notitieveld, hier mag ook het Centroplidnummer worden geplaatst.

<cbc:DocumentCurrencyCode>
EUR

<cbc:BuyerReference>
Een factuur moet een BuyerReference en/of een OrderRefrence bevatten. De buyerreference kan gebruikt worden voor het Centrop lidnummer.

Overige referenties

Er kunnen meerdere referenties opgenomen worden in de UBL.

Orderreferentie

Als er gebruik wordt gemaakt van <cbc:BuyerReference>, is deze optioneel. Anders verplicht. <cac:OrderReference>

Deze bestaat uit twee onderdelen:

<cbc:ID>
Dit is het inkoopordernummer, uitgegeven door de koper. Dit mag het Centroplidnummer zijn.

<cbc:SalesOrderID>
Verkoopordernummer, deze wordt uitgegeven door de leverancier (Optioneel)

Verzendadvies

Dit document staat ook bekend als Dispatch Advice.

<cac:DispatchDocumentReference>
Deze bevat 1 onderdeel:

<cbc:ID>
Dit is het dispatch advice documentnummer, dit is optioneel.

Bijlagen (PDF) (AdditionalReference)

Het is mogelijk om de originele factuur mee te sturen met de UBL. In verband met veiligheid ondersteunen wij geen UBL met een link naar een PDF op een externe website. Wij ondersteunen alleen embeded PDF. De data dient als Base64 te worden toegevoegd. Om te testen kun je de volgende website gebruiken om een PDF om te zetten naar Base64. Het resultaat kun je dan in het XML document plakken. https://base64.guru/converter/encode/pdf

Wij ondersteunen 1 bijlage. Meerdere bijlagen worden niet ingelezen.

In het voorbeeld hieronder staat geen geldige binaire data omdat dit te groot zou worden. In het voorbeeld bestand staat wel de echte data.

 1<cac:AdditionalDocumentReference>
 2     <cbc:ID>invoice-20220142.pdf</cbc:ID>
 3     <cac:Attachment>
 4        <cbc:EmbeddedDocumentBinaryObject mimeCode=”application/pdf” filename=”invoice-20220142.pdf”>
 5
 6     BINARY OBJECT DATA HERE
 7     (EXAMPLE)
 8     i0xLjQKJeLjz9MKMSAwIG9iago8PAovQ3JlYXRvciA8PgovQ
 9     3JlYXRpb25EYXRlIDw0NDNBMzIzMDMxMzQzMDM5MzIzOTMxMzMzN
10
11       </cbc:EmbeddedDocumentBinaryObject>
12    </cac:Attachment>
13
14</cac:AdditionalDocumentReference>

Afzender van de factuur (AccountingSupplierParty)

Hieronder staat het voorbeeld van de AccountingSupplierParty. Omdat de meeste zaken voor zicht spreken, behandelen we hier enkel de discussiepunten:

Alle adresgegevens van de afzender zijn verplicht.

<cac:PartyTaxScheme><cbc:CompanyID>
Dit is het BTW nummer van de afzender van de factuur. Dit BTW nummer is verplicht.

<cac:PartyTaxScheme><cac:TaxScheme><cbc:ID>
Dit is altijd VAT en is verplicht.

<cac:PartyLegalEntity><cbc:RegistrationName>
Dit is de bedrijfsnaam zoals deze bekend is bij de KvK en verplicht.

<cac:PartyLegalEntity><cbc:CompanyID>
Het KvK Nummer van de afzender. Dit is verplicht. schemeID=”0106″ staat voor Kamer van Koophandel. (ISO 6523 ICD zie deze lijst)

<cbc:Telephone>
Telefoonnummer van de afzender. Dit veld is verplicht.

<cbc:ElectronicMail>
EMail adres van de afzender. Dit veld is verplicht.

 1<cac:AccountingSupplierParty>
 2    <cac:Party>
 3        <cac:PartyName>
 4            <cbc:Name>Supplier Company B.V.</cbc:Name>
 5        </cac:PartyName>
 6
 7        <cac:PostalAddress>
 8           <cbc:StreetName>Readystreet 9a</cbc:StreetName>
 9           <cbc:CityName>Amsterdam</cbc:CityName>
10           <cbc:PostalZone>9876 YZ</cbc:PostalZone>
11             <cac:Country>
12                <cbc:IdentificationCode>NL</cbc:IdentificationCode>
13             </cac:Country>
14       </cac:PostalAddress>
15
16       <cac:PartyTaxScheme>
17          <cbc:CompanyID>NL123456789B01</cbc:CompanyID>
18             <cac:TaxScheme>
19                <cbc:ID>VAT</cbc:ID>
20             </cac:TaxScheme>
21       </cac:PartyTaxScheme>
22
23       <cac:PartyLegalEntity>
24	      <cbc:RegistrationName>Supplier Company B.V.</cbc:RegistrationName>
25          <cbc:CompanyID schemeID="0106">12345678</cbc:CompanyID>
26      </cac:PartyLegalEntity>
27
28      <cac:Contact>
29          <cbc:Telephone>088 7654321</cbc:Telephone>
30          <cbc:ElectronicMail>info@test.com</cbc:ElectronicMail>
31      </cac:Contact>
32   </cac:Party>
33</cac:AccountingSupplierParty>

Ontvanger van de factuur (AccountingCustomerParty)

Hieronder staat het voorbeeld van de AccountingCustomerParty. Omdat de meeste zaken voor zicht spreken, behandelen we hier enkel de discussiepunten:

Alle adresgegevens van de ontvanger zijn verplicht.

<cac:PartyTaxScheme>
Dit onderdeel is alleen verplicht als er een BTW nummer bekend is. Een BTW nummer van de ontvangende partij is alleen verplicht als het gaat om een niet Nederlandse bedrijfsmatige ontvanger van de factuur. (Volgens de regels van de Belastingdienst. Aan deze BTW nummer uitleg kunnen geen rechten ontleend worden.)

Als er geen BTW nummer bekend is moet dit gehele blok weggelaten worden. Op deze pagina is dit onderdeel opgenomen. In het downloadbare voorbeeld is dit niet opgenomen.

<cbc:ElectronicMail>
EMail adres van de ontvanger. Dit veld is verplicht.

<cac:PartyLegalEntity><cbc:RegistrationName>
Dit is de bedrijfsnaam zoals deze bekend is bij de KvK en verplicht.

<cac:PartyLegalEntity> <cbc:CompanyID schemeID=”0106″>
Volgens de officiele UBL specificatie is het verplicht om voor de ontvanger een KvK nummer (schemeID=”0106″) of OIN nummer (schemeID=”0190″) mee te geven. Voor Centrop is dit niet verplicht. U kunt in dit veld 00000000 (acht) nullen invullen.

 1<cac:AccountingCustomerParty>
 2
 3     <cac:Party>
 4
 5        <cac:PartyName>
 6           <cbc:Name>UBL Ready</cbc:Name>
 7       </cac:PartyName>
 8
 9	   <cac:PostalAddress>
10          <cbc:StreetName>Demostreet 1</cbc:StreetName>
11          <cbc:CityName>IJmuiden</cbc:CityName>
12          <cbc:PostalZone>1234 AB</cbc:PostalZone>
13             <cac:Country>
14                 <cbc:IdentificationCode>NL</cbc:IdentificationCode>
15             </cac:Country>
16        </cac:PostalAddress>
17
18		<cac:PartyLegalEntity>
19	      <cbc:RegistrationName>UBL Ready</cbc:RegistrationName>
20		  <cbc:CompanyID schemeID="0106">00000000</cbc:CompanyID>
21		</cac:PartyLegalEntity>
22
23        <cac:Contact>
24		    <cbc:Name>John Doe</cbc:Name>
25            <cbc:Telephone>088-1111111</cbc:Telephone>
26            <cbc:ElectronicMail>invoices@ublreadytest.com</cbc:ElectronicMail>
27        </cac:Contact>
28
29     </cac:Party>
30
31</cac:AccountingCustomerParty>

Betalingsmethode (PaymentMeans) <cac:PaymentMeans>
Dit blok is verplicht.

<cbc:PaymentMeansCode>
Deze code is verplicht. Gebruik de volgende codes:

  1. = Credit transfer (bankoverschrijving), payment by credit movement of funds from one account to another.
  2. = Bank card (creditcard betaling), payment by means of a card issued by a bank or other financial institution.
  3. = Direct debit (automatische inasso), the amount is to be, or has been, directly debited to the customer’s bank account.
  4. = Standing agreement (contractueel vastgelegd – verder niet gespecificeerd), the payment means have been previously agreed between seller and buyer and thus are not stated again.
  5. = SEPA credit transfer (SEPA bankoverschrijving), credit transfer inside the Single Euro Payment Area (SEPA) system.
  6. = SEPA direct debit (SEPA incasso), direct debit inside the Single Euro Payment Area (SEPA) system.

We accepteren ook de volgende codes. Let op! Officieel moeten Nederlandse leveranciers bovenstaande codes gebruiken.

1 = Bankoverschrijving (Credit transfer) 2 = Credit card betaling (Payment card information) 3 = Automatische incasso (Direct debit).

1<cac:PaymentMeans>
2	<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
3    <cac:PayeeFinancialAccount>
4        <cbc:ID>NL23ABNA0123456789</cbc:ID>
5		<cac:FinancialInstitutionBranch>
6			<cbc:ID>ABNANL2A</cbc:ID>
7		</cac:FinancialInstitutionBranch>
8	</cac:PayeeFinancialAccount>
9</cac:PaymentMeans>

Betalingsconditie (PaymentTerms)

Bij betalingskorting mag de afnemer een bepaald percentage van het factuurbedrag exclusief btw aftrekken als binnen een vastgesteld aantal dagen betaald wordt. Zowel de afzender als de afnemer gaan wel uit van het BTW bedrag vóór de betalingskorting.

Als uitgangspunt nemen we een voorbeeld van een factuur met tarieven exclusief BTW en verschillende BTW-percentages. En we vermelden daarbij 2% betalingskorting.

Omschrijving Aantal Prijs Bedrag BTW
Dienst/product A 1 25,25 25,25 H
Dienst/product A 2 25,25 50,50 H
Dienst/product B 1 10,55 10,55 L
Totaal exclusief BTW 86,30
9% BTW on 10.55 (L) 0,95
21% BTW on 75.75 (H) 15,91
Factuurbedrag 103,16
Bij betaling binnen 14 dagen mag 2% betalingskorting worden afgetrokken (over het factuurtotaal excl. BTW), te weten 1,73.

De afzender zal deze factuur overeenkomstig bovenstaande bedragen verwerken in de boekhouding en dus de volledige BTW (0,63 + 15,91) afdragen. Bij betaling van de factuur wordt de betalingskorting gecontroleerd en afgeboekt als deze als terecht wordt verondersteld.

De ontvanger wordt verondersteld de factuur te boeken vóór aftrek van betalingskorting, dat wil zeggen conform bovenstaande factuurbedrag. Bij tijdige betaling wordt dan de betalingskorting in mindering gebracht en als extra opbrengst geboekt. Dit laatste heeft geen impact op de BTW.

Deze betalingskorting kan in de UBL factuur opgenomen worden via de daarvoor bestemde “PaymentTerms” met opgave van het percentage betalingskorting en de einddatum.

De einddatum geeft de laatste dag aan waarop de betalingskorting nog van toepassing is (tot en met, dus de betalingskorting loopt af op betreffende dag, tijd 23:59).

Uitgaande van factuurdatum 1-11-2022 en de termijn van 14 dagen geldt als einddatum 15-11-2022.

<cbc:Note>
Vrije tekst met de uitleg van de korting.

<cbc:SettlementDiscountPercent>
Het afgesproken krotingspercentage. Let op dat u een punt gebruikt voor getallen achter de komma.

<cbc:SettlementDiscountAmount currencyID=”EUR”>
Het kortingsbedrag. Dit is het percentage van het factuurbedrag exclusief BTW.

<cbc:EndDate>
De datum waarop de korting verloopt. yyyy-MM-dd

1<cac:PaymentTerms>
2    <cbc:Note> Bij betaling binnen 14 dagen geldt 2% betalingskorting</cbc:Note>
3    <cbc:SettlementDiscountPercent>2</cbc:SettlementDiscountPercent>
4    <cbc:SettlementDiscountAmount currencyID="EUR">1.73</cbc:SettlementDiscountAmount>
5    <cac:ValidityPeriod>
6        <cbc:EndDate>2022-11-15</cbc:EndDate>
7    </cac:ValidityPeriod>
8</cac:PaymentTerms>

Indien er geen betalingskorting is afgesproken, dient het blok als volgt opgenomen te worden in de UBL:

1<cac:PaymentTerms>
2          <cbc:Note>Betalingen binnen 30 dagen.</cbc:Note>
3</cac:PaymentTerms>

BTW Totalen (TaxTotal) Het blok BTW Totalen is verplicht. Dit wordt gebruikt ter controle van de bedragen in het totale document.

Per BTW tarief wordt de grondslag genoemd, het percentage en het BTW bedrag.

cac:TaxTotalcbc:TaxAmount Het toaal aan BTW voor een valuta. Centrop accepteert enkel EUR en geen facturen met meerdere valuta of valuta anders dan EUR. Dit totaal is het totaal voor alle BTW tarieven. Dit bedrag moet worden afgerond op twee decimalen.

cac:TaxTotalcbc:TaxAmountcac:TaxSubTotal Het TaxSubTotal is het subtotaal van de totale BTW op basis van een BTW tarief en bestaat uit meerdere onderdelen:

<cac:TaxTotal><cbc:TaxAmount><cac:TaxSubTotal><cbc:TaxableAmount currencyID=”EUR”>
Het totaalbedrag van alle factuurregels, kortingen en toeslagen excl BTW voor een specifiek BTW tarief (Bijvoorbeeld de som van alle bedragen excl. 9% BTW)

Let op!

Dit is dus niet enkel voor de factuurregels, maar ook voor verzendkosten en factuurkortingen. Betalingskortingen worden niet opgenomen in de BTW.

<cac:TaxTotal><cbc:TaxAmount><cac:TaxSubTotal><cbc:TaxAmount currencyID=”EUR”>
Het totale bedrag van de BTW. Bij BTW 0% moet voor dit bedrag dan 0 worden ingevuld.

<cac:TaxTotal><cbc:TaxAmount><cac:TaxSubTotal><cac:TaxCategory>
Dit is het BTW regime. Dit onderdeel bestaat uit meerdere elementen.

<cac:TaxTotal><cbc:TaxAmount><cac:TaxSubTotal><cac:TaxCategory><cbc:Id>
BTW code. In de meeste gevallen de “S” van Standard. Geldt voor BTW Hoog (21%) en BTW Laag (9%) tarief

Overige opties zijn:

Z = Zero rated goods, code specifying that the goods are at a zero rate; Wordt gebruikt voor goederen en diensten die onder het 0% tarief vallen.

E = Exempt from taks, code specifying that taxes are not applicable; Wordt gebruikt als sprake is van BTW vrijstelling.

AE = VAT Reverse Charge; Wordt gebruikt als de BTW is verlegd naar een andere ondernemer (binnenland). Wordt eveneens gebruikt bij de facturering van een intracommunautaire dienst (ICP). Zie ook “K” hierna.

G = Free export item, tax not charged, code specifying that the item is free export and taxes are not charged. Wordt gebruikt bij export van goederen buiten de EU.

K = VAT exempt for EEA intracommunity supply of goods and services. A tax category code indicating the item is VAT exempt due to an intracommunity supply in the European Economic Area. Wordt gebruikt bij de facturering van intracommunautaire goederen (ICP). Zie ook “AE” hiervoor.

O = Services outside scope of tax. In dit geval betreft het specifiek geleverde diensten die buiten de scope van BTW vallen. Denk aan diensten die door stichtingen geleverd worden. En voor zover er geen BTW-nummer is. De uitwerking is vrijwel overeenkomstig de hiervoor genoemde “BTW vrijstelling”. Voor TaxCategory geldt dan O in plaats van E.

<cac:TaxTotal><cbc:TaxAmount><cac:TaxSubTotal><cac:TaxCategory><cbc:Percent>
Het BTW Percentage

<cac:TaxTotal><cbc:TaxAmount><cac:TaxSubTotal><cac:TaxCategory><cbc:Percent><cac:TaxScheme><cbc:Id>
Altijd VAT

Hethaal het TaxSubtotal block voor elk BTW percentage optie.

 1<cac:TaxTotal>
 2<cbc:TaxAmount currencyID="EUR">53.94</cbc:TaxAmount>
 3	<cac:TaxSubtotal>
 4		<cbc:TaxableAmount currencyID="EUR">198</cbc:TaxableAmount>
 5		<cbc:TaxAmount currencyID="EUR">17.82</cbc:TaxAmount>
 6			<cac:TaxCategory>
 7				<cbc:ID>S</cbc:ID>
 8				<cbc:Percent>9.00</cbc:Percent>
 9					<cac:TaxScheme>
10						<cbc:ID>VAT</cbc:ID>
11					</cac:TaxScheme>
12			</cac:TaxCategory>
13	</cac:TaxSubtotal>
14
15	<cac:TaxSubtotal>
16		<cbc:TaxableAmount currencyID="EUR">172</cbc:TaxableAmount>
17		<cbc:TaxAmount currencyID="EUR">36.12</cbc:TaxAmount>
18			<cac:TaxCategory>
19				<cbc:ID>S</cbc:ID>
20				<cbc:Percent>21.00</cbc:Percent>
21					<cac:TaxScheme>
22						<cbc:ID>VAT</cbc:ID>
23					</cac:TaxScheme>
24			</cac:TaxCategory>
25	</cac:TaxSubtotal>
26 </cac:TaxTotal>

Factuurtotalen (LegalMonetaryTotal)

Dit onderdeel is een controle voor alle bedragen.

<cac:LegalMonetaryTotal>
Dit blok is verplicht. Subonderdelen die geen waarde bevatten mogen weggelaten worden.

<cbc:LineExtensionAmount currencyID=”EUR”>
Bevat het totaal van de factuurregels. Dit is de optelsom van <cac:InvoiceLine><cbc:LineExtensionAmount currencyID=”EUR”>

<cbc:TaxExclusiveAmount currencyID=”EUR”>
Het totaalbedrag exclusief BTW. Het verschil met het gedeelte hierboven is dat dit niet alleen een som van de factuurregels bevat, maar ook alle andere bedragen zoals verzendkosten en factuurkorting. In dit voorbeeld hebben we dus 400 euro toegevoegd op regelniveau, is er 40 euro korting op factuurniveau (Allowance Total Amount) en komt er nog 10 euro orderkosten bij (Charge Total Amount). Het TAX Exclusive bedrag is dan 370 euro.

<cbc:TaxInclusiveAmount currencyID=”EUR”>
Het totaalbedrag inclusief BTW.

<cbc:AllowanceTotalAmount currencyID=”EUR”>
Totale korting op factuurniveau. Dit is het totale bedrag van de Bedrag-tag van alle kortingen op factuurniveau (niet factuurregelniveau) waarbij ChargeIndicator = false.

<cbc:ChargeTotalAmount currencyID=”EUR”>
Totale kosten op factuurniveau (Zoals orderkosten). Dit is het totale bedrag van de Bedrag-tag van alle Alowances op factuurniveau (Niet factuurregelniveau) waarbij ChargeIndicator = true.

<cbc:PayableAmount currencyID=”EUR”>
Het totale bedrag wat er voor deze factuur betaald moet worden. Berekening: TaxInclusiveAmount - PrePaidAmount.

Vooruitbetaling registreren

Als er een bepaald bedrag voor deze factuur al is voldaan kan er een extra element worden toegevoegd, in dit voorbeeld is 50 euro vooruitbetaald.

<cbc:PrepaidAmount currencyID=”EUR”>50</cbc:PrepaidAmount currencyID=”EUR”>
Het bedrag wat hierin staat moet afgetrokken worden van het TaxInclusiveAmount om het PayableAmount te berekenen. Deze optie is niet in het voorbeeld meegenomen.

1<cac:LegalMonetaryTotal>
2    <cbc:LineExtensionAmount currencyID="EUR">400.00</cbc:LineExtensionAmount>
3    <cbc:TaxExclusiveAmount currencyID="EUR">370.00</cbc:TaxExclusiveAmount>
4    <cbc:TaxInclusiveAmount currencyID="EUR">423.94</cbc:TaxInclusiveAmount>
5	<cbc:AllowanceTotalAmount currencyID="EUR">40.00</cbc:AllowanceTotalAmount>
6    <cbc:ChargeTotalAmount currencyID="EUR">10.00</cbc:ChargeTotalAmount>
7    <cbc:PayableAmount currencyID="EUR">423.94</cbc:PayableAmount>
8</cac:LegalMonetaryTotal>

Factuurregels (InvoiceLine)

We maken hier onderscheid in twee soorten factuurregels voor het gemak. Factuurregels zonder korting en factuurregels met korting. In het voorbeeld wat u kunt downloaden staan eerst twee regels zonder korting.

Factuurregels zonder korting

<cac:InvoiceLine>
Elke factuurregel krijgt een eigen InvoiceLine. Zie ook het downloadbare voorbeeld. Er is geen container voor alle factuurregels in de UBL specificatie.

<cac:InvoiceLine><cbc:Id>
Factuurregelnummer. Dit is verplicht en moet voor elke regel uniek zijn.

<cac:InvoiceLine><cbc:InvoicedQuantity unitCode=”ZZ”>
De hoeveelheid die gefactureerd wordt van dit product. Minimaal 1.00. De unitcode is ook verplicht.

Code Omschrijving Uitleg
BG bag Zak
BX box Doos
C62 one Synoniem: unit Default bij factuurregels zonder UBL unitcode met aantal gelijk aan 1. Zou als code voor ‘post’ gebruikt kunnen worden.
CEN hundred A unit of count defining the number of units in multiples of 100.
CMK square centimetre
CMQ cubic centimetre
CMT centimetre
DAY day
DMT decimetre
GRM grams
H87 piece A unit of count defining the number of pieces (piece: a single item, article or exemplaar). Default for invoice lines without UBL unit code with number unequal 1
HUR hour
KGM kilogram
KMT kilometer
LTR litre
MGM milligram
MIN minute unit of time
MLT millilitre
MMT millimetre
MMK square millimetre
MMQ cubic millimetre
MTK square metre
MTQ cubic metre
MTR withre
NAR number of articles A unit of count defining the number of articles (article: item).
NRL number of rolls role
PR pair A unit of count defining the number of pairs (pair: item described by two’s).
ROM room A unit of count defining the number of rooms.For space. Can be used in maintenance invoices. Equivalent for dwelling, however, I have not found.
SEC second unit of time
SET set A unit of count defining the number of sets (set: a number of objects grouped together).
TNE tonne (metric ton)
WEE week
ZZ mutually defined A unit of measure as agreed in common between two or more parties.

<cbc:LineExtensionAmount currencyID=”EUR”>
Het te factureren regelbedrag. Hier wordt het totaal van aantal maal prijs minus korting weergegeven. Dit is verplicht.

<cac:Item>
Informatie over het artikel, product of de dienst die gefactureerd wordt.

<cac:Item><cbc:Description>
Omschrijving van het artikel. Dit is optioneel.

<cac:Item><cbc:Name>
De naam van het artikel. Dit is verplicht en bevat de naam van het artikel.

<cac:Item><cac:SellersItemIdentification><cbc:ID>
Uw artikelnummer. Dit is het artikelnummer / productnummer wat wij matchen aan de lijst die is geupload. Dit is verplicht.

<cac:Item><cac:ClassifiedTaxCategory>
BTW Categorie informatie.

<cac:Item><cac:ClassifiedTaxCategory><cbc:ID>
BTW code. In de meeste gevallen de “S” van Standard. Geldt voor BTW Hoog (21%) en BTW Laag (9%) tarief. Dit is verplicht.

Overige opties zijn:

Z = Zero rated goods, code specifying that the goods are at a zero rate; Wordt gebruikt voor goederen en diensten die onder het 0% tarief vallen.

E = Exempt from taks, code specifying that taxes are not applicable; Wordt gebruikt als sprake is van BTW vrijstelling.

AE = VAT Reverse Charge; Wordt gebruikt als de BTW is verlegd naar een andere ondernemer (binnenland). Wordt eveneens gebruikt bij de facturering van een intracommunautaire dienst (ICP). Zie ook “K” hierna.

G = Free export item, tax not charged, code specifying that the item is free export and taxes are not charged. Wordt gebruikt bij export van goederen buiten de EU.

K = VAT exempt for EEA intracommunity supply of goods and services. A tax category code indicating the item is VAT exempt due to an intracommunity supply in the European Economic Area. Wordt gebruikt bij de facturering van intracommunautaire goederen (ICP). Zie ook “AE” hiervoor.

O = Services outside scope of tax. In dit geval betreft het specifiek geleverde diensten die buiten de scope van BTW vallen. Denk aan diensten die door stichtingen geleverd worden. En voor zover er geen BTW-nummer is. De uitwerking is vrijwel overeenkomstig de hiervoor genoemde “BTW vrijstelling”. Voor TaxCategory geldt dan O in plaats van E.

<cac:Item><cac:ClassifiedTaxCategory><cbc:Percent>
Het BTW Percentage voor dit artikel. Als het BTW percentage 0 is moet u dit ook hier invullen.

<cac:Item><cac:ClassifiedTaxCategory><cac:TaxScheme><cbc:ID>
Altijd VAT invullen.

<cac:Price>
Prijsinformatie voor het artikel. Dit onderdeel is verplicht.

<cac:Price><cbc:PriceAmount currencyID=”EUR”>
De prijs van het product zonder kortingen. Per per eenheid (stuksprijs)

<cac:Price><cbc:BaseQuantity unitCode=”ZZ”>
De hoeveelheid waarop de prijs gebaseerd is. Dit is verplicht en in bijna alle gevallen 1. Dit getal mag niet negatief zijn.

 1<cac:InvoiceLine>
 2		<cbc:ID>5</cbc:ID>
 3		
 4		<cbc:InvoicedQuantity unitCode="ZZ">-1.00</cbc:InvoicedQuantity>
 5		<cbc:LineExtensionAmount currencyID="EUR">-50.00</cbc:LineExtensionAmount>
 6		
 7		<cac:Item>
 8			<cbc:Description>Book The digital highway in Holland</cbc:Description>
 9			<cbc:Name>The digital highway</cbc:Name>
10			<cac:SellersItemIdentification>
11				<cbc:ID>BK0232</cbc:ID>
12			</cac:SellersItemIdentification>
13			<cac:ClassifiedTaxCategory>
14				<cbc:ID>S</cbc:ID>
15				<cbc:Percent>9.00</cbc:Percent>
16				<cac:TaxScheme>
17					<cbc:ID>VAT</cbc:ID>
18				</cac:TaxScheme>
19			</cac:ClassifiedTaxCategory>
20		</cac:Item>
21		
22		<cac:Price>
23			<cbc:PriceAmount currencyID="EUR">50.00</cbc:PriceAmount>
24			<cbc:BaseQuantity unitCode="ZZ">1.00</cbc:BaseQuantity>
25		</cac:Price>
26
27	</cac:InvoiceLine>

Tagcode, Brand en BonusType meesturen

Als u nieuwe producten heeft en deze staan nog niet in de productenlijst, dan wordt de factuur geimporteerd en het product toegevoegd aan de lijst met de opmerking dat de tagcode ontbreekt. U moet deze dan achteraf toewijzen aan het nieuwe product. Dit geldt ook voor het BonusType.

Het is ook mogelijk om tagcodes, merken en bonustypes mee te sturen in de factuur. Als er dan een ontbrekend product is in de lijst zal deze inclusief tagcode, merk en bonustype worden toegevoegd en hoeft u verder niets meer te doen.

Zie het voorbeeld in de invoiceline hieronder hoe u dit kunt doen in het onderdeel <cac:AdditionalItemProperty> Als u geen gebruikt maakt van deze optie, laat u deze weg. Bestaande producten worden niet overschreven met nieuwe tagcodes en/of bonustypes, maar wel met nieuwe merken. Alleen ontbrekende producten worden toegevoegd met de genoemde tagcode, merk en bonustype.

Om gebruik te maken van deze optie dient u de TagCode en BonusType waardes mee te geven. Brand is optioneel.

 1<cac:InvoiceLine>
 2	<cbc:ID>10</cbc:ID>
 3	<cbc:InvoicedQuantity unitCode="ZZ">2.00</cbc:InvoicedQuantity>
 4	<cbc:LineExtensionAmount currencyID="EUR">170.00</cbc:LineExtensionAmount>
 5
 6		<cac:Item>
 7
 8			<cbc:Description>Book Coding UBL for orders and invoices</cbc:Description>
 9			<cbc:Name>Coding UBL</cbc:Name>
10				<cac:SellersItemIdentification>
11					<cbc:ID>BK3025</cbc:ID>
12				</cac:SellersItemIdentification>
13				<cac:ClassifiedTaxCategory>
14					<cbc:ID>S</cbc:ID>
15					<cbc:Percent>9.00</cbc:Percent>
16						<cac:TaxScheme>
17							<cbc:ID>VAT</cbc:ID>
18						</cac:TaxScheme>
19				</cac:ClassifiedTaxCategory>
20
21				<cac:AdditionalItemProperty>
22					<cbc:Name>TagCode</cbc:Name>
23					<cbc:Value>4581</cbc:Value>
24				</cac:AdditionalItemProperty>
25
26				<cac:AdditionalItemProperty>
27					<cbc:Name>BonusType</cbc:Name>
28					<cbc:Value>0</cbc:Value>
29				</cac:AdditionalItemProperty>
30
31				<cac:AdditionalItemProperty>
32					<cbc:Name>Brand</cbc:Name>
33					<cbc:Value>Example Brand</cbc:Value>
34				</cac:AdditionalItemProperty>
35
36		</cac:Item>
37
38		<cac:Price>
39			<cbc:PriceAmount currencyID="EUR">85.00</cbc:PriceAmount>
40			<cbc:BaseQuantity unitCode="ZZ">1.00</cbc:BaseQuantity>
41		</cac:Price>
42
43</cac:InvoiceLine>

Factuurregels met korting

De derde regel in het downloadbare voorbeeld is een regel met korting. Deze regel is hetzelfde als zonder korting met een extra blok. In het voorbeeld hieronder hebben we een product dat 200 euro kost en waar 10% korting op wordt gegeven.

<cac:AllowanceCharge>
In dit blok wordt korting en toeslag op regelniveau aangegeven.

<cbc:ChargeIndicator>
ChargeIndicator; bepaalt of sprake is van een toeslag of een korting. Toeslag = true, korting = false

<cbc:AllowanceChargeReason>
Reden van de korting of toeslag

<cbc:MultiplierFactorNumeric>
Rekenfactor voor het basisbedrag. Basisbedrag maal Rekenfactor / 100 = Amount (toeslag/korting), zie hierna.

<cbc:Amount currencyID=”EUR”>
Bedrag van de korting of toeslag op basis van de berekening bij MultiplierFactorNumeric hierboven. Met currencyID (verplicht); valuta aanduiding, meestal “EUR”.

<cbc:BaseAmount currencyID=”EUR”>
Basisbedrag voor de korting of toeslag. Met [1..1] currencyID; valuta aanduiding, altijd “EUR”. Dit is ook het bedrag wat kan meetellen voor de bonusberekening. De berekening voor BaseAmount is OrderedQuantity * PriceAmount

 1<cac:InvoiceLine>
 2
 3	<cbc:ID>15</cbc:ID>
 4	
 5	<cbc:InvoicedQuantity unitCode="ZZ">2.00</cbc:InvoicedQuantity>
 6	<cbc:LineExtensionAmount currencyID="EUR">360.00</cbc:LineExtensionAmount>
 7
 8    <cac:AllowanceCharge>
 9        <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
10        <cbc:AllowanceChargeReason>Price discount</cbc:AllowanceChargeReason>
11        <cbc:MultiplierFactorNumeric>10</cbc:MultiplierFactorNumeric>
12        <cbc:Amount currencyID="EUR">20.00</cbc:Amount>
13        <cbc:BaseAmount currencyID="EUR">200</cbc:BaseAmount>
14    </cac:AllowanceCharge>
15
16    <cac:Item>
17
18        <cbc:Description>Conversion softwarepackage to UBL</cbc:Description>
19        <cbc:Name>Conversion UBL</cbc:Name>
20                
21        <cac:SellersItemIdentification>
22           	<cbc:ID>SW4026</cbc:ID>
23        </cac:SellersItemIdentification>
24
25        <cac:ClassifiedTaxCategory>
26        	<cbc:ID>S</cbc:ID>
27        	<cbc:Percent>21.00</cbc:Percent>
28        		<cac:TaxScheme>
29        			<cbc:ID>VAT</cbc:ID>
30        		</cac:TaxScheme>
31        </cac:ClassifiedTaxCategory>
32
33    </cac:Item>
34
35    <cac:Price>
36        <cbc:PriceAmount currencyID="EUR">200.00</cbc:PriceAmount>
37        <cbc:BaseQuantity unitCode="ZZ">1.00</cbc:BaseQuantity>
38    </cac:Price>
39
40</cac:InvoiceLine>
Voorbeeld 2: Korting op 3 producten

Ter illustratie is hier nog een tweede voorbeeld, deze staat niet in de voorbeeld ubl. In dit voorbeeld wordt een korting gegeven van 35% en zijn er drie producten besteld.

 1<cac:InvoiceLine>
 2	<cbc:ID>1</cbc:ID>
 3	<cbc:InvoicedQuantity unitCode="ZZ">3.00</cbc:InvoicedQuantity>
 4	<cbc:LineExtensionAmount currencyID="EUR">156.00</cbc:LineExtensionAmount>
 5	<cac:OrderLineReference>
 6		<cbc:LineID>1</cbc:LineID>
 7		<cac:OrderReference>
 8			<cbc:ID>273</cbc:ID>
 9			<cbc:SalesOrderID>746191</cbc:SalesOrderID>
10		</cac:OrderReference>
11	</cac:OrderLineReference>
12	<cac:AllowanceCharge>
13		<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
14		<cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
15		<cbc:BaseAmount currencyID="EUR">240.00</cbc:BaseAmount>
16		<cbc:MultiplierFactorNumeric>35.00</cbc:MultiplierFactorNumeric>
17		<cbc:Amount currencyID="EUR">84.00</cbc:Amount>	
18	</cac:AllowanceCharge>
19	<cac:Item>
20		<cbc:Description>Product example description</cbc:Description>
21		<cbc:Name>Product name</cbc:Name>
22		<cac:SellersItemIdentification>
23			<cbc:ID>40748190</cbc:ID>
24		</cac:SellersItemIdentification>
25		<cac:ClassifiedTaxCategory>
26			<cbc:ID>S</cbc:ID>
27			<cbc:Percent>21.00</cbc:Percent>
28			<cac:TaxScheme>
29				<cbc:ID>VAT</cbc:ID>
30			</cac:TaxScheme>
31		</cac:ClassifiedTaxCategory>
32	</cac:Item>
33	<cac:Price>
34		<cbc:PriceAmount currencyID="EUR">80.00</cbc:PriceAmount>
35		<cbc:BaseQuantity unitCode="ZZ">1.00</cbc:BaseQuantity>
36	</cac:Price>
37</cac:InvoiceLine>

Toelichting:

  • De brutoprijs van een product is 80 euro (regel 34:PriceAmount)
  • De chargeIndicator staat op false, dit geeft aan dat het om een korting gaat. (regel 13: ChargeIndicator)
  • AllowanceChargeReason is de omschrijving van de korting (regel 14:AllowanceChargeReason)
  • Om de korting per product te berekenen kijken we naar de BaseAmount (regel 15:BaseAmount). De BaseAmount wordt berekend door PriceAmount * InvoicedQuantity
  • Vervolgens kijken we naar de MultiplierFactor om te zien wat het kortingspercentage is (regel 16:MultiplierFactorNumeric)
  • Met de berekening BaseAmount * MultiplierFactorNumeric / 100 rekenen we het totale kortingsbedrag uit (regel 17:Amount)
  • De LineExtensionAmount wordt nu berekend met de volgende formule (InvoicedQuantity * PriceAmount) - Amount (regel 4:LineExtensionAmount)

Toeslag op regelniveau

Het is mogelijk om een toeslag op regelniveau mee te geven. Dit wordt gedaan met de ChargeIndicator. Hieronder staat een voorbeeld hoe je een toeslag op regelniveau kunt toevoegen.

 1<cac:InvoiceLine>
 2	<cbc:ID>1</cbc:ID>
 3	<cbc:InvoicedQuantity unitCode="ZZ">3.00</cbc:InvoicedQuantity>
 4	<cbc:LineExtensionAmount currencyID="EUR">155.00</cbc:LineExtensionAmount>
 5	<cac:AllowanceCharge>
 6		<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
 7		<cbc:AllowanceChargeReason>Charge</cbc:AllowanceChargeReason>
 8		<cbc:Amount currencyID="EUR">5.00</cbc:Amount>
 9	</cac:AllowanceCharge>
10	<cac:Item>
11		<cbc:Description>Product example description</cbc:Description>
12		<cbc:Name>Product Name</cbc:Name>
13		<cac:SellersItemIdentification>
14			<cbc:ID>40748190</cbc:ID>
15		</cac:SellersItemIdentification>
16		<cac:ClassifiedTaxCategory>
17			<cbc:ID>S</cbc:ID>
18			<cbc:Percent>21.00</cbc:Percent>
19			<cac:TaxScheme>
20				<cbc:ID>VAT</cbc:ID>
21			</cac:TaxScheme>
22		</cac:ClassifiedTaxCategory>
23	</cac:Item>
24	<cac:Price>
25		<cbc:PriceAmount currencyID="EUR">50.00</cbc:PriceAmount>
26		<cbc:BaseQuantity unitCode="ZZ">1.00</cbc:BaseQuantity>
27	</cac:Price>
28</cac:InvoiceLine>

Toelichting:

  • De brutoprijs van een product is 50 euro (regel 25:PriceAmount)
  • De chargeIndicator staat op true, dit geeft aan dat het om een toeslag gaat. (regel 6: ChargeIndicator)
  • AllowanceChargeReason is de omschrijving van de korting (regel 7:AllowanceChargeReason)
  • Amount is het vast bedrag wat als toeslag in rekening wordt gebracht. Dit mag ook een percentage zijn. Zie het blok kortingen hoe je dit kunt doen. Het werkt op dezelfde manier. (regel 8:Amount)
  • Het regelbedrag is nu (PriceAmount * InvoicedQuantity) + Amount (regel 4:LineExtensionAmount)

Combinatie van korting en toeslag

Het is ook toegestaan om bij één factuurregel korting en toeslagen in rekening te brengen. Hiervoor herhaal je het <cac:AllowanceCharge> blok. Let wel dat je de berekening van de LineExtensionAmount correct doet. De amount bedragen van alle AllowanceCharge blokken moeten meegenomen worden in de berekening.

Creditfactuurregel

Centrop maakt geen gebruik van de UBL CreditNote specificatie. In plaats daarvan kunnen creditfacturen gemaakt worden zoals een gewone factuur met negatieve aantallen. Hieronder staat een voorbeeld van een regel die een credit aangeeft. In dit voorbeeld crediteren we een product wat 75 euro kost en twee keer is besteld.

 1<cac:InvoiceLine>
 2	<cbc:ID>2</cbc:ID>
 3	<cbc:InvoicedQuantity unitCode="ZZ">-2</cbc:InvoicedQuantity>
 4	<cbc:LineExtensionAmount currencyID="EUR">-150.00</cbc:LineExtensionAmount>
 5	<cac:Item>
 6		<cbc:Description>Product example description</cbc:Description>
 7		<cbc:Name/>
 8		<cbc:Name>Product name</cbc:Name>
 9		<cac:SellersItemIdentification>
10			<cbc:ID>4888874190</cbc:ID>
11		</cac:SellersItemIdentification>
12		<cac:ClassifiedTaxCategory>
13			<cbc:ID>S</cbc:ID>
14			<cbc:Percent>21</cbc:Percent>
15			<cac:TaxScheme>
16				<cbc:ID schemeAgencyID="6" schemeID="UN/ECE 5153">VAT</cbc:ID>
17			</cac:TaxScheme>
18		</cac:ClassifiedTaxCategory>
19	</cac:Item>
20	<cac:Price>
21		<cbc:PriceAmount currencyID="EUR">75.00</cbc:PriceAmount>
22		<cbc:BaseQuantity unitCode="ZZ">1</cbc:BaseQuantity>
23	</cac:Price>
24</cac:InvoiceLine>

Toelichting:

  • De brutoprijs van dit product is 75 euro, dit is een positief getal (regel 20:PriceAmount)
  • Het aantal te crediteren producten is 2, let op dat dit aangegeven wordt met een negatief getal (regel 3:InvoicedQuantity )
  • De LineExtensionAmount wordt nu zoals gewoonlijk berekend door InvoicedQuantity * PriceAmount. In dit geval komt daar een negatief getal uit (regel 4:LineExtensionAmount)

Factuurtoeslagen En Korting op factuurniveau (AllowanceCharge)

Factuurtoeslagen kunnen bijvoorbeeld verzendkosten zijn. Bij kortingen spreken we hier over korting over het totale factuurbedrag exclusief BTW. Omdat deze kortingen en kosten impact hebben op de BTW moeten we deze ergens benoemen om de juiste BTW te kunnen berekenen.

We gebruiken hiervoor het blok AllowanceCharge.

<cac:AllowanceCharge>
In dit blok geeft u factuurkortingen en toeslagen aan. U gebruikt een blok per korting en/of toeslag.

We geven een aantal voorbeelden van factuurtoeslagen en factuurkortingen. In het algemeen heeft u te maken met de volgende elementen:

<Cac:AllowanceCharge><Cbc:ChargeIndicator>
ChargeIndicator; bepaalt of sprake is van een toeslag of een korting. Toeslag = true, korting = false

<cac:AllowanceCharge><cbc:AllowanceChargeReason>
Reden van de korting of toeslag.

<cac:AllowanceCharge><cbc:Amount currencyID=”EUR”>
Bedrag van de korting of toeslag op basis van de berekening bij MultiplierFactorNumeric hierboven. Met currencyID (verplicht); valuta aanduiding, meestal “EUR”.

<cac:AllowanceCharge><cac:TaxCategory>
We moeten aangeven welk BTW percentage van toepassing is op deze toeslag of korting.

<cac:AllowanceCharge><cac:TaxCategory><cbc:ID>
BTW code. In de meeste gevallen de “S” van Standard. Geldt voor BTW Hoog (21%) en BTW Laag (9%) tarief

Overige opties zijn:

Z = Zero rated goods, code specifying that the goods are at a zero rate; Wordt gebruikt voor goederen en diensten die onder het 0% tarief vallen.

E = Exempt from taks, code specifying that taxes are not applicable; Wordt gebruikt als sprake is van BTW vrijstelling.

AE = VAT Reverse Charge; Wordt gebruikt als de BTW is verlegd naar een andere ondernemer (binnenland). Wordt eveneens gebruikt bij de facturering van een intracommunautaire dienst (ICP). Zie ook “K” hierna.

G = Free export item, tax not charged, code specifying that the item is free export and taxes are not charged. Wordt gebruikt bij export van goederen buiten de EU.

K = VAT exempt for EEA intracommunity supply of goods and services. A tax category code indicating the item is VAT exempt due to an intracommunity supply in the European Economic Area. Wordt gebruikt bij de facturering van intracommunautaire goederen (ICP). Zie ook “AE” hiervoor.

O = Services outside scope of tax. In dit geval betreft het specifiek geleverde diensten die buiten de scope van BTW vallen. Denk aan diensten die door stichtingen geleverd worden. En voor zover er geen BTW-nummer is. De uitwerking is vrijwel overeenkomstig de hiervoor genoemde “BTW vrijstelling”. Voor TaxCategory geldt dan O in plaats van E.

<cac:AllowanceCharge><cac:TaxCategory><cbc:Percent>
Het BTW percentage. Als dit 0% vult u dit ook hier in.

<cac:AllowanceCharge><cac:TaxCategory><cac:TaxScheme><cbc:ID>
Altijd VAT

Orderkosten

In het voorbeeld hieronder brengen we 10 euro orderkosten in rekening.

Let erop dat we bij de BTW totalen (<cac:TaxTotal>) dus ook het bedrag van dit onderdeel mee moeten nemen. In dit geval dus 21% van 10 euro.

Aan <cac:LegalMonetaryTotal> voeg je <cbc:ChargeTotalAmount currencyID=”EUR”> toe met in dit voorbeeld een waarde van 10. Dit is het totaal van de toeslag (Orderkosten).

 1<cac:AllowanceCharge>
 2	<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
 3	<cbc:AllowanceChargeReason>Handling costs</cbc:AllowanceChargeReason>
 4	<cbc:Amount currencyID="EUR">10</cbc:Amount>
 5	<cac:TaxCategory>
 6		<cbc:ID>S</cbc:ID>
 7		<cbc:Percent>21</cbc:Percent>
 8		<cac:TaxScheme>
 9			<cbc:ID>VAT</cbc:ID>
10		</cac:TaxScheme>
11       </cac:TaxCategory>
12</cac:AllowanceCharge>

Factuurkorting

In dit voorbeeld wordt er naast de orderkosten ook nog een factuurkorting gegeven van 10%. In dit geval is het zeer belangrijk dat er twee BTW tarieven gelden in ons voorbeeld. We hebben producten met 9% BTW en met 21% BTW. Dit zorgt ervoor dat we twee <cac:AllowanceCharge> blokken nodig hebben voor de 10% factuurkorting.

Omdat we hier te maken hebben met een percentage en geen vast bedrag zoals bij orderkosten, hebben we iets meer informatie nodig.

<cac:AllowanceCharge><cbc:MultiplierFactorNumeric>
Dit is in dit geval het kortingspercentage. 10% in ons voorbeeld.

<cac:AllowanceCharge><cbc:Amount currencyID=”EUR”>
Dit is het kortingsbedrag in EUR. In dit voorbeeld 10% van 220 en 10% van 180.

<cac:AllowanceCharge><cbc:BaseAmount currencyID=”EUR”>
Dit is het bedrag waarover de korting wordt berekend. In het eerst geval zijn dat alle factuurregels met 9% BTW. Daarna volgt een nieuw blok voor 21% BTW regels.

De BTW die we bij de TaxTotal en LegalMonetaryTotal moeten optellen is het percentage BTW over Amount. Let op dat de bedragen exclusief BTW zijn.

Aan <cac:LegalMonetaryTotal> voeg je <cbc:AllowanceTotalAmount currencyID=”EUR”> toe met in dit voorbeeld een waarde van 40. Dit zijn de totalen van de kortingen.

 1<cac:AllowanceCharge>
 2		<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
 3		<cbc:AllowanceChargeReason>Invoice allowance (VAT low 9%)</cbc:AllowanceChargeReason>
 4		<cbc:MultiplierFactorNumeric>10</cbc:MultiplierFactorNumeric>
 5		<cbc:Amount currencyID="EUR">22</cbc:Amount>
 6		<cbc:BaseAmount currencyID="EUR">220</cbc:BaseAmount>
 7		<cac:TaxCategory>
 8			<cbc:ID>S</cbc:ID>
 9			<cbc:Percent>9</cbc:Percent>
10				<cac:TaxScheme>
11					<cbc:ID>VAT</cbc:ID>
12				</cac:TaxScheme>
13		</cac:TaxCategory>
14</cac:AllowanceCharge>
15
16<cac:AllowanceCharge>
17		<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
18		<cbc:AllowanceChargeReason>Invoice allowance (VAT high 21%)</cbc:AllowanceChargeReason>
19		<cbc:MultiplierFactorNumeric>10</cbc:MultiplierFactorNumeric>
20		<cbc:Amount currencyID="EUR">18</cbc:Amount>
21		<cbc:BaseAmount currencyID="EUR">180</cbc:BaseAmount>
22			<cac:TaxCategory>
23				<cbc:ID>S</cbc:ID>
24				<cbc:Percent>21</cbc:Percent>
25					<cac:TaxScheme>
26						<cbc:ID>VAT</cbc:ID>
27				</cac:TaxScheme>
28			</cac:TaxCategory>
29</cac:AllowanceCharge>

UBL Testen

U kunt via onderstaande link controleren of uw zelfgemaakte UBL voldoet aan de specificaties.

https://test.peppolautoriteit.nl/validate

XSD

De XSD van het 2.1 bestandsformaat kan hier gevonden worden:

https://docs.oasis-open.org/ubl/os-UBL-2.1/xsd/maindoc/UBL-Invoice-2.1.xsd