Narzędzia
Kursy walut NBP
Pobiera tabele kursów walut publikowane przez Narodowy Bank Polski oraz wykonuje wyliczenia podatkowe. Cztery tryby:
- Pojedynczy dzień — tabela kursów na podaną datę, z opcją „pokaż ostatni wcześniejszy” gdy sob/nd/święto.
- Zakres dat — wszystkie tabele opublikowane w okresie (do 367 dni).
- Średni za okres — średnia arytmetyczna kursów wybranej waluty z dni roboczych w okresie.
- Różnice kursowe — automatyczne wyliczenie różnicy podatkowej (art. 24c PDOF / art. 15a PDOP) dla podanej kwoty walutowej, daty ujęcia i daty realizacji. Klasyfikacja jako dodatnia (przychód) / ujemna (koszt).
Dane pobierane z api.nbp.pl i cache'owane w bazie PostgreSQL — każdy dzień pytany w API tylko raz.
Tabele NBP — kiedy używać której
- Tabela A — średnie kursy walut obcych. Publikowana codziennie ok. 12:15 (w dni robocze). Najczęściej używana w księgowości — przeliczanie faktur w walucie obcej, wycena należności / zobowiązań na koniec okresu.
- Tabela B — średnie kursy walut rzadziej notowanych. Publikowana raz w tygodniu (środa).
- Tabela C — kursy kupna (bid) i sprzedaży (ask). Publikowana codziennie ok. 8:15. Używana m.in. przy ustalaniu różnic kursowych metodą bilansową.
Dla księgowania kosztu / przychodu w walucie obcej stosuje się zazwyczaj kurs średni NBP z dnia poprzedzającego dzień powstania przychodu / poniesienia kosztu (art. 11a PDOF / art. 15 ust. 1 PDOP).
Cache i wydajność
Pobrana raz tabela jest zapisywana w bazie PostgreSQL (kolekcja nbp-exchange-rates) i przy ponownym zapytaniu o ten sam dzień nie odbywa się request do api.nbp.pl. Tabele NBP po publikacji są niezmienne.
Walk-back: gdy w wybranym dniu nie ma tabeli (sob/nd/święto), kalkulator szuka ostatniej wcześniejszej tabeli — do 14 dni wstecz.
Zakres dat: jedno zapytanie do bazy + maksymalnie jedno zapytanie do API NBP, niezależnie od liczby dni w zakresie (limit API: 367 dni).
Kursy NBP i różnice kursowe w programie TaxMachine
W programie TaxMachine kursy NBP są wbudowane w księgowanie faktur walutowych — przy księgowaniu dokumentu w walucie obcej program automatycznie pobiera średni kurs NBP z dnia poprzedzającego (zgodnie z ustawą o PDOF/PDOP), zapisuje go w bazie i przelicza wartości na PLN do KPiR / ksiąg rachunkowych. Różnice kursowe (zrealizowane i niezrealizowane) liczone są automatycznie przy księgowaniu zapłat — z możliwością wprowadzenia kursu faktycznego (bank/kantor) gdy nastąpiła rzeczywista wymiana waluty.
Źródło danych: api.nbp.pl — publiczne API Narodowego Banku Polskiego. Dane bez gwarancji — w razie wątpliwości zweryfikuj na nbp.pl.