How to verify a Polish contractor before issuing an invoice?

Verifying a Polish business partner across GUS, CEIDG, KRS, VIES, and the VAT white list prevents critical errors in KSeF and tax cost disallowance. An incorrect NIP in the FA(3) schema requires a zeroing corrective invoice and a new original invoice. For payments exceeding 15,000 PLN to unlisted accounts, submitting the ZAW-NR form on time is essential.

8 min read 49 views
How to verify a Polish contractor before issuing an invoice?

Two years ago, a typo in a buyer's NIP (Polish tax identification number) was an annoyance. You issued a correcting note or a new invoice and moved on. That is no longer the case. Once an invoice receives a KSeF number, it becomes immutable. It cannot be cancelled or deleted, and a document carrying someone else's NIP lands in a stranger's account inside the system.

There is a second, older trap. Paying an invoice above PLN 15,000 into a bank account that is not on the white list costs you the tax deduction and makes you jointly liable for your counterparty's unpaid VAT.

Here is what to check, in which register, and when it stops being good practice and becomes a matter of money.

Three registers, three different questions

Foreign-owned companies often treat "we checked the contractor" as a single action. In Poland it is three, and none of them substitutes for the others.

Register Question it answers When to use it GUS (statistical office), CEIDG (sole traders), KRS (companies) Does the business exist? What is its legal name, address and legal form? Always, before the first invoice to a new contractor VAT taxpayer register (biała lista, the white list) Is it an active VAT taxpayer, and does this account belong to it? Before every payment above PLN 15,000 VIES Is the counterparty's EU VAT number valid? Intra-EU supplies and B2B services

The most common mistake is conflating the first two. A CEIDG registration does not mean the business is an active VAT taxpayer, and removal from the VAT register does not remove the business from CEIDG. They are independent tracks.

Why a wrong NIP now costs more than it used to

In the FA(3) invoice schema, the buyer's NIP determines who the system delivers the invoice to. Get a digit wrong and the document either reaches nobody or appears in the account of an unrelated taxpayer holding that number.

Correcting the buyer data will not solve it, because the invoice already exists at the wrong address. The correct path has two steps:

  1. a correcting invoice zeroing out the original document, issued in KSeF or in offline24 mode (Article 106j(4) of the Polish VAT Act),

  2. a new original invoice carrying the correct buyer NIP.

One more change matters here. Since 1 February 2026 the buyer can no longer fix even a minor formal error with a correcting note, because that instrument was repealed. Responsibility for data accuracy sits entirely with the issuer.

Worked example. An invoice for PLN 10,000 net issued with NIP 111-111-11-11 instead of 222-222-22-22. Instead of one amendment you now have three documents in circulation: the original, a zeroing correction against the wrong NIP, and a new invoice against the correct one. Plus a conversation with a company you have never dealt with, which is looking at your sale in its KSeF account.

Worth remembering: KSeF does not verify the buyer's VAT status. The system validates the structure of the document, not whether your counterparty is still an active taxpayer. That check stays with you.

The white list: when checking the account is mandatory

The VAT taxpayer register is maintained by the Head of the National Revenue Administration under Article 96b(1) of the VAT Act. It shows VAT status, dates of registration, removal or reinstatement, and settlement account numbers confirmed through STIR (the banking clearing-house monitoring system).

The threshold at which verification stops being optional is PLN 15,000. It comes from Article 19 of the Entrepreneurs' Law and applies to the single value of a transaction between businesses, not to an individual invoice or instalment. Splitting a PLN 50,000 payment into five instalments of PLN 10,000 does not remove the obligation.

Two consequences apply, and they stack:

  • the expense cannot be treated as a tax-deductible cost (Article 15d of the CIT Act, Article 22p of the PIT Act),

  • joint and several liability for VAT your counterparty fails to pay (Article 117ba of the Tax Ordinance).

Two things surprise foreign finance teams most often. First, only settlement accounts appear in the register, so a sole trader's personal account will simply never be there. Second, where the supplier is VAT-exempt, the account-related sanctions do not arise, because the register covers registered taxpayers.

The register lets you query a chosen date up to five years back. That matters in an audit: what counts is the status on the day the transfer was ordered, not today.

The payment already went out. Now what?

Two routes.

ZAW-NR notification. You notify the head of your own tax office (not your supplier's) within seven days of ordering the transfer, under Article 117ba(3)(2) of the Tax Ordinance. The simplest channel is the e-Urząd Skarbowy portal; the form template is published on podatki.gov.pl.

Two details deserve attention. The clock starts the day after the transfer is ordered and includes weekends and public holidays. It is a substantive deadline, which means it cannot be reinstated. Missing it by one day ends the matter.

Split payment. Paying under the split payment mechanism switches off both sanctions regardless of whether the account is on the list. For recurring payments to a supplier whose account is not listed, that is usually easier than tracking a seven-day window every month.

Checking at scale rather than by hand

A dozen invoices a month? The web search form is fine. An accounting office serving fifty clients? Manual clicking stops working. The Ministry of Finance offers three routes, documented in the register API specification:

  • search method: full subject data, capped at 100 queries per day, up to 30 subjects per query,

  • check method: a yes/no answer for a NIP and account pair, up to 5,000 subjects,

  • flat file: published daily at midnight, containing hashed NIP and account pairs for bulk verification.

Exceeding a limit can block access until midnight, and the block covers the public web search form as well, not just the API. That is a real month-end risk for a bookkeeping team.

The detail most people miss: every query returns a unique query identifier issued by the tax administration. That identifier, not a screenshot, is what evidences that verification happened and as of which date. Store it alongside the payment record.

Checklist before the first invoice to a new contractor

  1. Pull company data from GUS by NIP instead of retyping it from an email. Typos in name and address get eliminated at source.

  2. Check the NIP twice before sending the invoice to KSeF. After a KSeF number is assigned, a fix costs a zeroing correction plus a new invoice.

  3. For EU counterparties, validate the EU VAT number in VIES, not only in the national register.

  4. Before any payment above PLN 15,000, check the account in the VAT taxpayer register as of the date the transfer is ordered.

  5. Save the query identifier with the payment record.

  6. If a transfer went to an unlisted account, file ZAW-NR within seven days, or switch to split payment for subsequent payments.

  7. Recheck VAT status of long-standing suppliers periodically. Removal from the register does not come with a notification.

Summary

Verifying a contractor takes seconds. Getting it wrong costs a lost deduction, exposure to someone else's VAT, and hours of cleanup in KSeF. The trick is knowing that the registers answer different questions, and querying the right one at the right moment.

In Biurko you can pull contractor data from GUS by NIP, REGON or KRS in one click, and the system validates both the NIP and the EU VAT number before an invoice reaches KSeF. When purchase invoices are imported from KSeF, contractor records are enriched from GUS automatically. Create a free account and try it on your own invoices.

FAQ

How do I check whether a Polish contractor is an active VAT taxpayer? Enter their NIP in the VAT taxpayer register search on podatki.gov.pl. You get the VAT status, registration date and a unique identifier confirming the query was made. You can query any date up to five years back.

Do I have to check the white list for every invoice? No. The obligation applies to payments arising from a business-to-business transaction with a single value above PLN 15,000. Below that threshold the sanctions under Article 15d CIT, Article 22p PIT and Article 117ba of the Tax Ordinance do not arise, although verification remains good practice.

How long do I have to file ZAW-NR? Seven days from the day the transfer was ordered, filed with your own tax office. The clock starts the following day and includes non-working days. It is a substantive deadline and cannot be reinstated. Split payment is the alternative, as it switches the sanctions off.

What do I do about a wrong buyer NIP on a KSeF invoice? Issue a correcting invoice zeroing out the original, then a new invoice with the correct NIP. An invoice with a KSeF number cannot be cancelled or edited, and changing the NIP by correction alone will not move the document to the right recipient.

Why is my contractor's bank account missing from the white list? Only settlement accounts of active VAT taxpayers, confirmed through STIR, are published. A sole trader's personal account will never appear there, even if it is genuinely used for business settlements.

Tags

#KSeF
Share

Previous article

KSeF Is Down and Your Client Is Waiting. What to Do Now?

Next article

When will you actually get paid for a KSeF e-invoice?

Stay in the Loop

Get notified when we publish new articles — no newsletter, unsubscribe anytime.

We respect your privacy. Unsubscribe at any time.

Cookies

Essential ones keep the service running. The rest only with your consent. Cookie Policy