Facturen in een andere valuta opstellen in UBL: DocumentCurrencyCode, TaxCurrencyCode en dubbele BTW-totalen.
Niet elke factuur is in euro's. Bij internationale handel factureer je regelmatig in dollars, Britse ponden of een andere valuta. UBL ondersteunt dit, maar er komt een extra laag bij kijken: de BTW moet in veel gevallen worden uitgedrukt in de lokale valuta van de belastingdienst. Dit artikel legt uit hoe je een factuur in vreemde valuta correct opbouwt.
De valuta van de factuur wordt bepaald door het DocumentCurrencyCode-element. Alle bedragen in de factuur (regelbedragen, totalen, PayableAmount) worden uitgedrukt in deze valuta:
<cbc:DocumentCurrencyCode>USD</cbc:DocumentCurrencyCode>
In dit voorbeeld is de factuur opgesteld in Amerikaanse dollars. De valutacodes volgen de ISO 4217-standaard (EUR, USD, GBP, CHF, enzovoort).
Als de factuurvaluta afwijkt van de valuta waarin de BTW moet worden gerapporteerd aan de belastingdienst, neem je een tweede valuta op via TaxCurrencyCode:
<cbc:DocumentCurrencyCode>USD</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>EUR</cbc:TaxCurrencyCode>
Dit geeft aan dat de factuur in dollars is opgesteld, maar dat de BTW-bedragen ook in euro's moeten worden uitgedrukt. In Nederland is de BTW-aangiftevaluta altijd euro, dus voor Nederlandse leveranciers die in een andere valuta factureren is dit element relevant.
Wanneer TaxCurrencyCode is opgegeven en verschilt van DocumentCurrencyCode, moet de factuur twee TaxTotal-blokken bevatten:
TaxTotal in de factuurvaluta (met TaxSubtotal-elementen)TaxTotal in de BTW-valuta (alleen het totale BTW-bedrag, zonder TaxSubtotal)<!-- BTW in factuurvaluta (USD) -->
<cac:TaxTotal>
<cbc:TaxAmount currencyID="USD">210.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="USD">1000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="USD">210.00</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:TaxTotal>
<!-- BTW in rapportagevaluta (EUR) -->
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">189.00</cbc:TaxAmount>
</cac:TaxTotal>
Het eerste blok bevat de volledige BTW-uitwerking in dollars. Het tweede blok bevat alleen het totale BTW-bedrag in euro's. Dit tweede bedrag is gebaseerd op de wisselkoers die op het moment van facturering geldt.
Let op: het tweede TaxTotal-blok bevat geen TaxSubtotal-elementen. Alleen het totale BTW-bedrag in de rapportagevaluta is voldoende.
De UBL-standaard schrijft niet voor hoe de wisselkoers moet worden vastgelegd. In de praktijk zijn er twee benaderingen:
Impliciete koers. De wisselkoers is af te leiden uit de verhouding tussen de BTW-bedragen in beide valuta's. In het voorbeeld hierboven: 189,00 / 210,00 = 0,90 (1 USD = 0,90 EUR). Dit is de meest gangbare aanpak.
Expliciete vermelding. Sommige organisaties nemen de gehanteerde wisselkoers op in de PaymentTerms of als notitie. Dit is niet gestandaardiseerd maar kan handig zijn voor de administratie.
Tip: voor de wisselkoers kun je de ECB-referentiekoers gebruiken die geldt op de factuurdatum. De meeste boekhoudpakketten hanteren deze koersen automatisch.
Alle bedragen in de LegalMonetaryTotal worden uitgedrukt in de DocumentCurrencyCode. Er is geen apart totaalblok in de rapportagevaluta:
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="USD">1000.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="USD">1000.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="USD">1210.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="USD">1210.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
De meest voorkomende situaties:
Bij intracommunautaire leveringen binnen de EU wordt doorgaans in euro's gefactureerd, maar ook hier is een andere valuta toegestaan zolang de BTW-rapportage in de lokale valuta plaatsvindt.
eConnect verwerkt facturen in alle gangbare valuta's. De DocumentCurrencyCode en TaxCurrencyCode worden automatisch herkend en gevalideerd. Als je via de PSB API facturen instuurt in vreemde valuta, zorg er dan voor dat alle currencyID-attributen consistent de juiste valutacode bevatten. Een mix van valuta's binnen de regelbedragen leidt tot een validatiefout.
Voor Nederlandse leveranciers die in een andere valuta factureren wel. De BTW-aangifte in Nederland is altijd in euro's. Gebruik het TaxCurrencyCode-element om aan te geven dat de BTW ook in euro's moet worden uitgedrukt, en voeg een tweede TaxTotal-blok toe met het BTW-bedrag in euro's.
De UBL-standaard schrijft geen specifieke bron voor. In de praktijk gebruiken de meeste organisaties de ECB-referentiekoers die geldt op de factuurdatum. De wisselkoers is af te leiden uit de verhouding tussen de BTW-bedragen in beide valuta's.
Ja. eConnect verwerkt facturen in alle gangbare valuta's. De DocumentCurrencyCode en TaxCurrencyCode worden automatisch herkend en gevalideerd. Zorg ervoor dat alle currencyID-attributen consistent dezelfde valutacode bevatten.
Factuur valideren