Invoicing a foreign buyer in KSeF
An invoice to a foreign buyer goes through KSeF (Poland's National e-Invoicing System) just like a domestic one, even if the buyer has no Polish NIP and will never log in. In the buyer's data you never put a foreign number in the NIP field: for EU companies use KodUE + NrVatUE, for everyone else KodKraju + NrID, and when there is no number, BrakID.
The buyer won't receive the invoice from KSeF, so send them a readable copy (a PDF with the QR code) by email or post. Below: the fields for each buyer type, VAT rates and annotations. Since 1 April 2026 every taxpayer issues invoices in KSeF, VAT-registered and VAT-exempt alike (the largest companies since 1 February). Until the end of 2026 you may still issue an invoice outside KSeF if your invoiced sales in that month stay at or below 10,000 PLN gross.
EU buyer with a VAT-EU number
In the Podmiot2 block (the buyer) use the pair KodUE + NrVatUE, not NIP. A foreign number in the NIP field gets the invoice rejected.
KodUE: two-letter EU country prefix (DE,NL,FR)NrVatUE: the VAT number without the country prefix (123456789, notDE123456789)Nazwa: the buyer's full company name
In the address give KodKraju (the same code as in KodUE; required), AdresL1 (street and number) and AdresL2 (postcode and city).
Check the number in the European Commission's VIES system before issuing the invoice. An inactive number causes problems with settling WDT (intra-EU supply of goods) or intra-EU services.
Example, an invoice to a German company:
<Podmiot2>
<DaneIdentyfikacyjne>
<KodUE>DE</KodUE>
<NrVatUE>123456789</NrVatUE>
<Nazwa>Berlin Design GmbH</Nazwa>
</DaneIdentyfikacyjne>
<Adres>
<KodKraju>DE</KodKraju>
<AdresL1>Musterstraße 1</AdresL1>
<AdresL2>10115 Berlin</AdresL2>
</Adres>
<JST>2</JST>
<GV>2</GV>
</Podmiot2>JST and GV are mandatory in every Podmiot2 block. For foreign buyers enter 2 ("not applicable"), otherwise the invoice fails validation.
EU buyer without a VAT number
A private individual, a freelancer on a flat-rate scheme or a company not registered for VAT has no number to enter. Instead of KodUE + NrVatUE use BrakID = 1 (the buyer has no identification number). Nazwa stays mandatory. An invoice for a private person (a consumer) doesn't have to go through KSeF (art. 106ga(2)(4) of the VAT Act); you may issue it there voluntarily, see our post on invoices for private persons.
<Podmiot2>
<DaneIdentyfikacyjne>
<BrakID>1</BrakID>
<Nazwa>Anna Müller</Nazwa>
</DaneIdentyfikacyjne>
<Adres>
<KodKraju>DE</KodKraju>
<AdresL1>Hauptstraße 5</AdresL1>
<AdresL2>80331 München</AdresL2>
</Adres>
<JST>2</JST>
<GV>2</GV>
</Podmiot2>Without a VAT-EU number you can't apply the 0 WDT rate to goods or np II to intra-EU services.
Taxation rules may differ in that case, so discuss it with your accountant.
Non-EU buyer
A client from the USA, Switzerland, Canada or the UK (not in the EU since Brexit) has no KodUE or NrVatUE. You have two options.
The buyer has a foreign tax identifier. Use KodKraju + NrID in the DaneIdentyfikacyjne block. They are two separate sibling elements, not nested.
KodKraju: ISO country code (US,GB,CH,NO)NrID: the foreign identification number (EIN in the US, UTR in the UK, UID in Switzerland)
KodKraju appears twice: in DaneIdentyfikacyjne (tax identification) and in Adres (registered address). Both are required.
<Podmiot2>
<DaneIdentyfikacyjne>
<KodKraju>US</KodKraju>
<NrID>12-3456789</NrID>
<Nazwa>US Design Inc.</Nazwa>
</DaneIdentyfikacyjne>
<Adres>
<KodKraju>US</KodKraju>
<AdresL1>123 Main Street</AdresL1>
<AdresL2>New York, NY 10001</AdresL2>
</Adres>
<JST>2</JST>
<GV>2</GV>
</Podmiot2>The buyer has no identifier. As with an EU buyer without a number, use BrakID = 1:
<DaneIdentyfikacyjne>
<BrakID>1</BrakID>
<Nazwa>John Smith Freelance</Nazwa>
</DaneIdentyfikacyjne>VAT rates on foreign invoices
The rate depends on what you sell (goods or services) and to whom (EU or non-EU buyer).
| Transaction type | Rate (P_12) | Net amount field | When to use |
|---|---|---|---|
| WDT — goods to the EU | 0 WDT | P_13_6_2 | Goods sold to a buyer with a VAT-EU number |
| Export of goods | 0 EX | P_13_6_3 | Goods sold to a non-EU buyer |
| Services to EU businesses | np II | P_13_9 | Services under Art. 100(1)(4) of the VAT Act (Art. 28b, B2B to an EU taxpayer); the buyer accounts for VAT at home |
| Services to non-EU businesses | np I | P_13_8 | Supply of goods or services outside Poland, other than np II services and OSS |
In practice: a website built for a German client with a VAT-EU number is a service, rate np II. The same website for a US client is np I. Goods shipped to a Dutch company with a VAT-EU number are a WDT (0 WDT), and goods shipped to a UK client are an export (0 EX).
The oo rate (domestic reverse charge) never applies to foreign buyers. It is one of the most
common reasons for rejection; for foreign buyers use np I or np II.
Rate values in FA(3) are case- and space-sensitive. Correct: np I, np II, 0 WDT, 0 EX. Incorrect: NP I, npI, 0WDT.
Annotations: P_18 and P_18A
All eight fields of the Adnotacje block are mandatory, even when the value is "not applicable". Two of them are easy to mix up and both matter for foreign invoices:
| Field | Value | Meaning |
|---|---|---|
P_18 | 1 | Reverse charge — the buyer accounts for VAT (services at np I or np II) |
P_18 | 2 | No reverse charge (e.g. WDT at 0 WDT, export at 0 EX) |
P_18A | 1 | Split payment (MPP) — amount over PLN 15,000 and goods/services from Annex 15 to the VAT Act |
P_18A | 2 | No MPP — the default for foreign transactions |
P_18 is reverse charge, P_18A is split payment (MPP), which applies to domestic payments and not to foreign transactions. For services: P_18 = 1, P_18A = 2. For WDT and export of goods: P_18 = 2, P_18A = 2. We describe the full Adnotacje structure in the article on the most common FA(3) validation errors.
Invoices in a foreign currency
You can issue the invoice in any currency (EUR, USD, GBP, CHF); KodWaluty takes ISO 4217 codes, and you give net and gross amounts in that currency. One exception: the VAT amount must be in PLN, converted at the NBP average rate from the last business day before the tax point. At np I, np II, 0 WDT and 0 EX the VAT is zero, so no conversion is needed.
If you're unsure about the buyer fields in your XML file, check them in the ksefuj.to validator before sending to KSeF. The file never leaves your browser.
FAQ MF — KSeF 2.0 MF Tax Explanations — 28.01.2026Sources
Read next
Receiving invoices in KSeF: nothing to accept
An invoice with your NIP reaches you in KSeF on its own, with nothing to accept. It counts as received on the day KSeF assigns its number.
Invoice for a private individual: KSeF or PDF?
PDF is fine: invoices to private individuals are outside mandatory KSeF, after 2026 too. You can issue one there voluntarily and send it with a QR code.
Cash register invoices and NIP receipts in 2027
Until 31 Dec 2026, cash-register invoices and NIP receipts up to PLN 450 can stay outside KSeF. From 2027 a business buyer's invoice comes from KSeF.