NBP exchange rate for invoices

Find the NBP mid-rate that applies to your foreign-currency invoice. Usually it is the sale date that counts, not the issue date — the calculator keeps track of that for you.

KSeF will accept it. We won't.

What counts is the day the tax obligation arises — usually the day the service is performed or the goods are handed over. You apply the NBP mid-rate from the last business day before that day (Art. 31a(1) of the Polish VAT Act). The exception: if you issue the invoice before the tax obligation arises — upfront, say, before the service is performed — the applicable rate is the one from the last business day before the invoice issue date (field P_1, Art. 31a(2)). On the invoice, the rate only converts the tax into złoty; it does not change the net amount you agreed.

The most common case is a service settled monthly. A service covering July is treated as performed on 31 July (Art. 19a(3)), so an invoice issued on 5 August takes the rate from the last business day before 31 July (in 2026 — 30 July), not the rate from before 5 August. NBP publishes its tables only on business days, so when the reference day falls on a Saturday, Sunday or public holiday, we step back to the previous business day, usually Friday. The calculator works this out for you and gives you the right Table A entry with its number and date, ready to drop into KursWaluty.

There are transactions, though, where the tax obligation arises only on the day the invoice is issued — provided you issue it on time. This covers, among others, construction and construction-assembly services (Art. 19a(5)(3)) and rental, lease, leasing, permanent legal and office services, security of persons and property, and the supply and distribution of utilities — electricity, piped gas and heat, and, through the reference to Annex 3 to the VAT Act, also water, sewage and waste (Art. 19a(5)(4)). If you invoice late, the tax obligation arises when the statutory deadline for issuing the invoice expires (Art. 19a(7)): 30 days from performance for construction services, the expiry of the payment deadline for rental and utilities (Art. 106i(3) and (4)). In these cases, enter into the calculator as the sale date the day the tax obligation arose — usually the invoice date, not the month end.

Worth knowing: KSeF polices the KursWaluty field on formatting alone: the fractional part is separated by a dot, not a comma, and can run to at most six digits. 4,2856 with a comma, or 4.1234567, gets rejected. Whether the rate itself is the right one, though, nobody checks: a correctly formatted but completely wrong number sails through without a word. A wrong rate will not stop the invoice from being accepted, but it can lead to an incorrect VAT settlement. The ksefuj.to validator checks this value as an extra layer of control — it compares it against the NBP rate from the day that actually applies to your invoice, before the invoice reaches the tax office.