NBP exchange rate for invoices

Find the official NBP mid-rate that applies to your foreign-currency invoice — per Art. 31a of the Polish VAT Act.

KSeF will accept it. We won't.

The legal basis is Art. 31a §1 of the Polish VAT Act: foreign-currency amounts on an invoice are converted using the NBP mid-rate from the last business day before the invoice date (field P_1). This rate applies solely to calculating the tax amount in PLN — it does not convert the net contractual amount.

NBP publishes exchange rate tables only on business days. If the invoice date falls on a Saturday, Sunday, or public holiday, the applicable rate is from the last business day before that date — typically Friday. The calculator accounts for this automatically and returns the correct Table A entry with its number and date, ready to enter in KursWaluty.

It is worth knowing that KSeF does not validate the KursWaluty field — it will accept any number without complaint. A wrong rate does not block the invoice from being accepted, but it can result in an incorrect VAT settlement. The ksefuj.to validator checks this value as an extra layer of control, catching discrepancies against the official NBP rate before the invoice reaches the tax authority.