Obce waluty

Jak wystawiać faktury w obcej walucie w UBL: DocumentCurrencyCode, TaxCurrencyCode i podwójne sumy VAT.

Nie każda faktura jest wystawiona w euro. W handlu międzynarodowym regularnie zdarza się fakturowanie w dolarach, funtach brytyjskich lub innej walucie. UBL obsługuje tę możliwość, ale pojawia się dodatkowa warstwa: w wielu przypadkach VAT musi być wyrażony w walucie lokalnej urzędu skarbowego. Niniejszy artykuł wyjaśnia, jak prawidłowo zbudować fakturę w obcej walucie.

DocumentCurrencyCode: waluta faktury

Waluta faktury jest określona przez element DocumentCurrencyCode. Wszystkie kwoty na fakturze (kwoty pozycji, sumy, PayableAmount) są wyrażone w tej walucie:

<cbc:DocumentCurrencyCode>USD</cbc:DocumentCurrencyCode>

W tym przykładzie faktura jest wystawiona w dolarach amerykańskich. Kody walut są zgodne ze standardem ISO 4217 (EUR, USD, GBP, CHF itd.).

TaxCurrencyCode: waluta VAT

Jeśli waluta faktury różni się od waluty, w której VAT musi być zadeklarowany w urzędzie skarbowym, wprowadza się drugą walutę za pomocą TaxCurrencyCode:

<cbc:DocumentCurrencyCode>USD</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>EUR</cbc:TaxCurrencyCode>

Oznacza to, że faktura jest wystawiona w dolarach, ale kwoty VAT muszą być wyrażone również w euro. W Holandii walutą deklaracji VAT jest zawsze euro, dlatego dla holenderskich dostawców fakturujących w innej walucie ten element jest istotny.

Podwójne sumy VAT

Gdy TaxCurrencyCode jest podany i różni się od DocumentCurrencyCode, faktura musi zawierać dwa bloki TaxTotal:

  1. Pierwszy TaxTotal w walucie faktury (z elementami TaxSubtotal)
  2. Drugi TaxTotal w walucie VAT (tylko łączna kwota VAT, bez TaxSubtotal)
<!-- VAT w walucie faktury (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>

<!-- VAT w walucie sprawozdawczej (EUR) -->
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">189.00</cbc:TaxAmount>
</cac:TaxTotal>

Pierwszy blok zawiera pełne obliczenie VAT w dolarach. Drugi blok zawiera jedynie łączną kwotę VAT w euro. Ta druga kwota opiera się na kursie wymiany obowiązującym w momencie wystawienia faktury.

Uwaga: drugi blok TaxTotal nie zawiera elementów TaxSubtotal. Wystarczy podać jedynie łączną kwotę VAT w walucie sprawozdawczej.

Kurs wymiany

Standard UBL nie określa, w jaki sposób kurs wymiany powinien być rejestrowany. W praktyce stosowane są dwa podejścia:

Kurs dorozumiany. Kurs wymiany można wywnioskować ze stosunku kwot VAT w obu walutach. W powyższym przykładzie: 189,00 / 210,00 = 0,90 (1 USD = 0,90 EUR). Jest to najpowszechniejsze podejście.

Jawne wskazanie. Niektóre organizacje podają zastosowany kurs wymiany w PaymentTerms lub jako notatkę. Nie jest to metoda znormalizowana, ale może być przydatna dla celów administracyjnych.

Wskazówka: jako kurs wymiany można wykorzystać kurs referencyjny EBC obowiązujący w dniu wystawienia faktury. Większość programów księgowych stosuje te kursy automatycznie.

Sumy faktury w obcej walucie

Wszystkie kwoty w LegalMonetaryTotal są wyrażone w DocumentCurrencyCode. Nie ma osobnego bloku sum w walucie sprawozdawczej:

<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>
Kiedy stosuje się obcą walutę?

Najczęstsze sytuacje:

  • Eksport poza UE: fakturowanie klienta spoza UE w jego lokalnej walucie (np. USD lub GBP)
  • Umowy z klientem: umownie uzgodniono fakturowanie w określonej walucie
  • Usługi międzynarodowe: świadczenie usług dla klientów w krajach z inną walutą

Przy dostawach wewnątrzwspólnotowych w ramach UE zazwyczaj fakturuje się w euro, ale również w tym przypadku dopuszczalna jest inna waluta, pod warunkiem że sprawozdawczość VAT odbywa się w walucie lokalnej.

Przetwarzanie w eConnect

eConnect przetwarza faktury we wszystkich popularnych walutach. Pola DocumentCurrencyCode i TaxCurrencyCode są automatycznie rozpoznawane i walidowane. Jeśli faktury w obcej walucie wysyłane są przez PSB API, należy upewnić się, że wszystkie atrybuty currencyID zawierają spójnie prawidłowy kod waluty. Mieszanie walut w kwotach pozycji prowadzi do błędu walidacji.

Zwaliduj fakturę


Powiązane