Preskoči na glavno vsebino

Kurzy na dokladoch

Ako importovať zahraničné faktúry

Avtor: Lenka Haringerová

Ak pri importe dokladu v cudzej mene neuvediete kurz, ABRA Flexi si ho automaticky stiahne (napr. z ČNB alebo ECB). Môže sa však stať, že sa kurz bude líšiť o malé sumy (stotiny/tisíciny) oproti oficiálnemu kurzu. Ide o zámerné správanie.


Prečo sa kurz upravuje

Suma v cudzej mene, suma v domácej mene a kurz musia byť vždy „v rovnováhe" (vynásobením alebo vydelením dvoch z nich musíte dostať tretiu hodnotu). Problém je v tom, že sumy sa zaokrúhľujú na dve desatinné miesta, takže vzniká určitá nepresnosť.

Povedzme, že máme sumu 1,4 EUR a kurz 25,265. Vynásobením dostaneme 35,371 CZK a po zaokrúhlení teda 35,37. Lenže 35,37 / 25,265 už nie je 1,4, ale 1,39996041955.

Zachováme sa tak, aby sumy vždy sedeli, a upravíme („obetujeme") preto kurz, ktorý zaokrúhľujeme až na šesť desatinných miest (a vieme ho teda uložiť „presnejšie"). V tomto prípade ho prepočítame na 35,37 / 1,4 = 25,264286.

ℹ️ Vzhľadom na to, že zakaždým je nepresnosť iná, vyjde tiež vždy trochu iný kurz. Napríklad pri sume 5,95 EUR je suma v tuzemskej mene po zaokrúhlení 150,33 a kurz tak, aby si sumy navzájom sedeli, vyjde 25,265546.


Prečo to vôbec robíme

Zvyčajne ide o malé rozdiely, kde by zaokrúhlenie súm zase všetko vyrovnalo, ale už sme sa stretli aj s prípadom, keď bol rozdiel 1 Kč (napr. suma v cudzej mene bola 2599,0 a kurz 0,0038), čo je neprípustné. Preto to robíme.

📝 Možno by sme mohli byť šikovnejší a robiť to len vtedy, keď je to naozaj nutné, ale zatiaľ je to tak, ako to je.


Čo z toho vyplýva pre integráciu

  • Nespoliehajte sa na to, že kurz uložený na doklade bude presne ten oficiálny — porovnávať kurzy na doklade po doklade s kurzovým lístkom nemá zmysel.

  • Ak chcete mať na doklade konkrétny kurz, uveďte ho v importe explicitne a dopočítajte si k nemu sumy sami tak, aby boli v rovnováhe.

  • Výsledný stav si pred uložením skontrolujte testovacím uložením — v tagu <content /> uvidíte kurz aj sumy tak, ako by sa uložili.

Ste s tem dobili odgovor na svoje vprašanje?