Marża zlecenia w euro: 19,96 proc. w raporcie, 17,60 na wpływie. Gdzie przepis odsyła te 3 500 zł?
Różnica kursowa 3 500 zł księguje się w kosztach finansowych, nie na zleceniu. Jak przenieść ją z powrotem i o ile zawyżona jest marża kontraktu w euro.
Różnice kursowe powstałe przy zapłacie należności zalicza się do przychodów lub kosztów finansowych — tak stanowi art. 30 ust. 4 ustawy o rachunkowości w tekście jednolitym z Dz.U. 2026 poz. 522. To jedno zdanie przepisu sprawia, że zlecenie rozliczane w walucie pokazuje w zestawieniu rentowności marżę wyższą, niż faktycznie dowiozło, bo brakująca kwota księguje się poziom wyżej, bez wymiaru projektowego.
Na zleceniu Z-114 rozjazd wynosi 2,36 punktu procentowego: 19,96 proc. marży w raporcie zarządczym wobec 17,60 proc. liczonych od kwoty, która weszła na rachunek. W złotych to 3 500,00 zł, które w rachunku zysków i strat leżą obok odsetek i prowizji, a nie przy zleceniu, które je wygenerowało. Poniżej jest rozbiór tego zlecenia na cztery kursy, podział różnicy na ruch rynku i cenę usługi bankowej oraz sześć kolumn arkusza, które przenoszą ją z powrotem na zlecenie.
Po jakim kursie zlecenie weszło do ksiąg, a po jakim wpłynęły pieniądze?
Przykład liczbowy: firma usługowa wycenia etap prac dla klienta z Niemiec na 28 000 EUR. Koszt bezpośredni zaplanowany w złotych to 98 000 zł. Oferta wychodzi 10 lipca, faktura 30 września, przelew księguje się 23 października. Każda z tych dat ma własny kurs i każdy z nich jest poprawny — tyle że dla innego celu.
| Moment | Data | Kurs | Skąd ten kurs | 28 000 EUR w zł |
|---|---|---|---|---|
| Cena ustalona w ofercie | 10.07.2026 | 4,3465 | tabela A NBP 132/A/NBP/2026, przyjęta jako kurs wyceny | 121 702,00 |
| Przychód w księgach i w CIT | 30.09.2026 | 4,3728 | średni NBP z ostatniego dnia roboczego przed uzyskaniem przychodu | 122 438,40 |
| Kurs średni w dniu wpływu | 23.10.2026 | 4,3917 | tabela A NBP 207/A/NBP/2026, punkt odniesienia | 122 967,60 |
| Realny wpływ po przewalutowaniu | 23.10.2026 | 4,2478 | kurs kupna dewiz z tabeli banku | 118 938,40 |
Dwa z nich pochodzą z publikowanych tabel z tego samego dnia: NBP ogłosił dla euro kurs średni 4,3917 w tabeli A nr 207/A/NBP/2026, a tabela kursowa banku nr 207d/26 z 23.10.2026 podawała kurs kupna dewiz 4,2478 przy deklarowanym spreadzie 7 proc. dla EUR. Bank nie wystawia za to faktury — opłata jest wbudowana w sam kurs.
Kurs dla przychodu nie jest wyborem księgowej. Art. 12 ust. 2 ustawy o CIT w tekście jednolitym z Dz.U. 2026 poz. 554 nakazuje przeliczać przychody w walutach obcych po kursie średnim NBP z ostatniego dnia roboczego poprzedzającego dzień uzyskania przychodu. Dla przychodu z 30 września oznacza to kurs z 29 września, czyli 4,3728 — mimo że 30 września NBP ogłosił już 4,3672.
Marża na tym zleceniu ma więc trzy odczyty. W ofercie 23 702,00 zł, czyli 19,48 proc. W raporcie zarządczym zbudowanym na księgach 24 438,40 zł, czyli 19,96 proc. Na rachunku bankowym 20 938,40 zł, czyli 17,60 proc. Raport pokazuje zlecenie, które pobiło założenie oferty o pół punktu. Konto pokazuje zlecenie, które dowiozło o 2 763,60 zł mniej, niż obiecywała wycena.
Ruch kursu dał 529 zł, samo przewalutowanie zabrało 4 029 zł
Ujemna różnica kursowa na tej fakturze to 3 500,00 zł: przychód należny 122 438,40 zł minus 118 938,40 zł faktycznie otrzymane. Warto ją rozbić, bo składa się z dwóch rzeczy o zupełnie różnym charakterze.
| Składnik | Jak policzony | Kwota |
|---|---|---|
| Ruch kursu NBP między 29.09 a 23.10 | 28 000 × (4,3917 − 4,3728) | +529,20 zł |
| Różnica między kursem średnim a kursem banku w dniu wpływu | 28 000 × (4,2478 − 4,3917) | −4 029,20 zł |
| Różnica kursowa ogółem | 28 000 × (4,2478 − 4,3728) | −3 500,00 zł |
Rynek poszedł w stronę sprzedającego: złoty osłabł o niecałe pół grosza na euro i dołożył 529,20 zł. Cena przewalutowania zabrała te 529,20 zł i jeszcze 3 500,00 zł ponad to — w sumie 3,28 proc. kwoty liczonej wobec kursu średniego z tego samego dnia. To nie jest ryzyko, tylko pozycja cennikowa, znana z góry i w pełni przewidywalna w dniu podpisania umowy.
Dwie uwagi, żeby ten rachunek nie wprowadzał w błąd. Przytoczona tabela jest tabelą detaliczną banku — firma z regularnym wpływem w euro zwykle negocjuje węższy spread albo wymienia walutę poza tabelą, a różnice rzędu 0,2–0,5 proc. są w tym trybie osiągalne. Po drugie, art. 15a ust. 5 ustawy o CIT pozwala organowi zakwestionować kurs faktycznie zastosowany dopiero wtedy, gdy odbiega od średniego NBP o więcej niż 5 proc. — 3,28 proc. mieści się w tym progu i nie jest żadną nieprawidłowością. Jest po prostu drogie, a cena jest znana w dniu podpisania umowy, nie w dniu wpływu.
Dlaczego te 3 500 zł nie obciąża zlecenia, tylko koszty finansowe?
Sam zapis operacji jest bezsporny: ust. 2 pkt 1 tego samego artykułu każe ująć zapłatę należności po kursie faktycznie zastosowanym w dniu jej przeprowadzenia, czyli po tym, który dał bank. Problem dotyczy wyłącznie miejsca, w którym ląduje powstała stąd różnica.
Skutek dla raportu zarządczego jest mechaniczny. Zlecenie Z-114 ma w zestawieniu przychód 122 438,40 zł i koszt 98 000 zł. Różnica kursowa ląduje w wierszu „koszty finansowe” na poziomie całej firmy, obok odsetek od limitu w rachunku i prowizji. Nikt jej nie przypisuje do zlecenia, bo żaden eksport z systemu finansowo-księgowego tego nie zrobi — ta pozycja nie ma wymiaru projektowego.
Ten sam przepis daje jednak furtkę: różnice kursowe można w uzasadnionych przypadkach odnieść do kosztu wytworzenia produktów. W sprawozdaniu finansowym to decyzja do uzgodnienia z księgowością i nie każdy przypadek ją uzasadnia. W raporcie zarządczym żadnej zgody nie potrzebujesz — zestawienie rentowności zleceń jest Twoim dokumentem i nic nie stoi na przeszkodzie, żeby prowadzić w nim przychód zlecenia po kursie realizacji, a uzgodnienie do ksiąg robić jedną pozycją różnicy.
O ile realnie rusza się kurs w oknie 30, 60 i 90 dni?
To pytanie rozstrzyga, czy w ogóle warto zabezpieczać kontrakt, czy wystarczy wynegocjować tabelę. Poniższa tabela to własne wyliczenie na opublikowanych danych NBP, nie cudzy benchmark — metoda jest podana, żeby dało się ją powtórzyć.
Podstawa: 252 notowania kursu średniego EUR z tabeli A NBP z okresu od 24.10.2025 do 23.10.2026, kurs minimalny 4,2009, maksymalny 4,3917. Dla każdego dnia liczona jest zmiana procentowa do notowania oddalonego o 30, 60 i 90 dni kalendarzowych; gdy dzień docelowy wypadał wolny, brane jest ostatnie wcześniejsze notowanie. Kolumna „9 na 10 okien poniżej” to 90. percentyl wartości bezwzględnych.
| Okno | Liczba okien | Mediana zmiany co do wartości | 9 na 10 okien poniżej | Największa zmiana | Udział okien, w których kurs spadł |
|---|---|---|---|---|---|
| 30 dni | 230 | 0,46% | 1,42% | 2,42% | 41% |
| 60 dni | 208 | 0,85% | 1,85% | 2,55% | 36% |
| 90 dni | 187 | 1,04% | 2,04% | 2,54% | 24% |
Zestaw to z 3,28 proc. zapłaconymi za jedno przewalutowanie. W typowym oknie od faktury do zapłaty kurs ruszał się o 0,46 proc., a w dziewięciu przypadkach na dziesięć nie przekraczał 1,42 proc. Cena wymiany była siedmiokrotnie wyższa od mediany ruchu, który miała rzekomo kompensować, i wyższa od najgorszego zaobserwowanego okna 90-dniowego.
Praktyczna kolejność działań wynika z tego sama: najpierw tabela kursowa, potem terminy płatności, a hedging dopiero przy kontraktach, w których ekspozycja utrzymuje się kwartałami. Zastrzeżenie jest oczywiste i trzeba je zapisać: to dwanaście miesięcy jednej pary walutowej w okresie bez wstrząsu. Rok z gwałtowną zmianą polityki pieniężnej albo kryzysem wyglądałby inaczej, a USD zachowuje się inaczej niż EUR. Przelicz to na swoich datach, zanim przyjmiesz te progi za swoje.
Faktura w EUR dla polskiego klienta: dwa kursy na jednym dokumencie
Przy usłudze dla kontrahenta z innego kraju UE rozliczenie idzie w odwrotnym obciążeniu i problem kursu dla VAT nie powstaje. Powstaje, gdy w euro fakturujesz polskiego klienta — a to się zdarza przy kontraktach indeksowanych do waluty.
Wtedy na jednym dokumencie pracują dwa kursy z różnych dat. Art. 31a ust. 1 ustawy o VAT w tekście jednolitym z Dz.U. 2026 poz. 1263 każe przeliczyć podstawę opodatkowania po kursie średnim NBP z ostatniego dnia roboczego poprzedzającego dzień powstania obowiązku podatkowego, a ust. 2 przesuwa ten punkt na dzień przed wystawieniem faktury, jeśli faktura wyszła wcześniej. Przychód idzie tymczasem po kursie z dnia przed jego uzyskaniem. Przy fakturze wystawionej z wyprzedzeniem obie daty się rozjeżdżają i w zestawieniu pojawiają się dwie różne złotówkowe wartości tej samej sprzedaży.
Ten sam artykuł daje wyjście: ust. 2a pozwala przeliczać podstawę opodatkowania według zasad obowiązujących podatnika dla przychodu w podatku dochodowym, czyli ustawić jeden kurs dla obu rozliczeń. Cena za to jest zapisana w ust. 2b — wybór wiąże na co najmniej 12 kolejnych miesięcy, a ust. 2c nakłada po rezygnacji kolejne 12 miesięcy na zasadach z ust. 1 lub 2. To decyzja na dwa lata, nie na jeden miesiąc, i należy do księgowości, nie do controllingu. Z punktu widzenia raportu wygrana jest prosta: znika jedna pozycja uzgodnieniowa w każdym zamknięciu miesiąca.
Od jakiego udziału przychodu w EUR to przestaje być drobiazgiem?
Rachunek jest jednolinijkowy: roczny przychód w walucie razy różnica między obecnym a osiągalnym spreadem. Firma z 6 mln zł przychodu, z czego 30 proc. fakturowane w euro, wymienia rocznie 1,8 mln zł. Zejście ze spreadu 3,3 proc. do 0,3 proc. to 3 punkty procentowe, czyli 54 000 zł rocznie.
Dla porównania: przy marży operacyjnej 15 proc. te 54 000 zł odpowiadają marży z 360 000 zł sprzedaży. Jedna rozmowa z bankiem albo jedno konto w serwisie wymiany daje tyle, co pozyskanie klienta za jedną trzecią miliona — z tą różnicą, że nie wymaga dowiezienia pracy. Jeżeli wymieniasz rocznie 200 tys. zł, ta sama operacja warta jest 6 000 zł i spokojnie może poczekać na swoją kolej.
Przed samą wymianą stoi jeszcze tańszy ruch: nie wymieniać. Firma, która ma koszty w euro — podwykonawców, serwery, podróże, subskrypcje narzędzi, przy których osobną sprawą jest wpisanie NIP-u przed pierwszą płatnością — może je płacić z wpływów walutowych i przewalutowuje tylko nadwyżkę. Każde euro wydane bez konwersji to spread zaoszczędzony w całości, bez negocjacji i bez instrumentu.
Arkusz: sześć kolumn, które pokazują marżę zlecenia po przewalutowaniu
Zestawienie rentowności zleceń walutowych wymaga sześciu kolumn ponad standard. Formuły w notacji Arkuszy Google; w Excelu odpowiednikiem WEBSERVICE jest zapytanie w Power Query.
| Kolumna | Zawartość | Formuła lub źródło |
|---|---|---|
| A | Kwota w walucie | z faktury |
| B | Data przychodu | z faktury |
| C | Kurs księgowy | =REGEXEXTRACT(IMPORTDATA("https://api.nbp.pl/api/exchangerates/rates/a/eur/"&TEXT(B2-1;"yyyy-mm-dd")&"/");"""mid"":([0-9.]+)")*1 — endpoint zwraca JSON, stąd REGEXEXTRACT; dla dni wolnych zwróci błąd i trzeba cofnąć datę |
| D | Złotówki faktycznie otrzymane | z wyciągu, nie z przeliczenia |
| E | Kurs zrealizowany | =D2/A2 |
| F | Koszt przewalutowania | =A2*C2-D2, obok =F2/(A2*C2) jako procent |
Marża zlecenia liczona jest wtedy od kolumny D, nie od iloczynu A i C. Suma kolumny F za okres musi się zgodzić z saldem różnic kursowych w księgach — jeśli się nie zgadza, brakuje faktury albo któryś wpływ nie został przewalutowany i wciąż leży na rachunku walutowym. To drugie nie jest błędem arkusza, tylko otwartą pozycją: dopóki euro leży nieprzewalutowane, wynik na tym zleceniu jest nieznany, a art. 30 ust. 1 ustawy o rachunkowości każe wycenić je na dzień bilansowy po kursie średnim NBP z tego dnia.
Co wpisać do następnej oferty w EUR, zanim klient ją podpisze
Do oferty wchodzą dwie rzeczy. Kurs przyjęty do wyceny, wpisany wprost w ofertę razem z datą notowania — nie po to, żeby go klientowi narzucić, tylko żeby za pół roku dało się ustalić, czy zlecenie zarobiło mniej przez kurs, czy przez przekroczenie pracochłonności. Druga rzecz to zapis, co się dzieje, gdy kurs w dniu płatności odbiega od kursu wyceny o więcej niż ustalony próg: najprostsza wersja to indeksacja ceny do kursu z dnia wystawienia faktury, najtrudniejsza do przeforsowania — podział różnicy powyżej progu.
Niezależnie od tego, czy klient taki zapis przyjmie, jedna zmiana leży w całości po stronie controllingu i nie wymaga niczyjej zgody: dołożyć kolumny D, E i F do zestawienia zleceń, zanim zamknięcie tego miesiąca pójdzie do zarządu, i uzgodnić ich sumę z saldem różnic kursowych w księgach. Dopóki tych kolumn nie ma, raport będzie pokazywał zlecenie Z-114 z marżą 19,96 proc. zamiast 17,60 proc., a decyzja o cenniku na kolejny rok zapadnie na zawyżonym odczycie rentowności kontraktów walutowych.