Facturen in vreemde valuta in UBL

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.

DocumentCurrencyCode: de factuurvaluta

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).

TaxCurrencyCode: de BTW-valuta

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.

Dubbele BTW-totalen

Wanneer TaxCurrencyCode is opgegeven en verschilt van DocumentCurrencyCode, moet de factuur twee TaxTotal-blokken bevatten:

  1. Het eerste TaxTotal in de factuurvaluta (met TaxSubtotal-elementen)
  2. Het tweede 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.

Wisselkoers

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.

Factuurtotalen in vreemde valuta

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>
Wanneer gebruik je vreemde valuta?

De meest voorkomende situaties:

  • Export buiten de EU: je factureert aan een klant buiten de EU in zijn lokale valuta (bijvoorbeeld USD of GBP)
  • Afspraken met de klant: je hebt contractueel afgesproken om in een bepaalde valuta te factureren
  • Internationale dienstverlening: je levert diensten aan klanten in landen met een andere valuta

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.

Verwerking bij eConnect

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.

Veelgestelde vragen
Moet ik de BTW-rapportage altijd in euro's opnemen?

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.

Hoe bepaal ik de wisselkoers?

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.

Ondersteunt eConnect facturen in alle 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


Gerelateerd