FA(3) field reference

Podmiot2 in FA(3): the buyer block

How to fill Podmiot2 (the buyer) in a KSeF FA(3) invoice: NIP, name, address and the optional JST/GV markers, with a valid XML example.

Updated

Overview

Podmiot2 is the buyer block of the FA(3) invoice (in Polish, "podmiot nabywcy"). It identifies the customer that receives the invoice, and its NIP is what the Polish tax office uses to associate the document with the buyer's tax records.

Podmiot2 mirrors the structure of Podmiot1. It contains a DaneIdentyfikacyjne block with the buyer's NIP and name, and an Adres block with KodKraju (the two-letter country code) plus the address lines. Unlike Podmiot1, Podmiot2 can also carry two optional single-letter markers: JST, used when the buyer is a local government unit, and GV, used for non-VAT taxpayers such as farmers that settle under the flat-rate scheme. When these markers apply they take a numeric value; otherwise they are simply omitted.

The buyer NIP is validated the same way as the seller NIP: it must be a valid Polish NIP with a correct check digit. In the sandbox you can use any NIP with a valid checksum — it does not need to belong to a real registered company — which makes testing easy. On a paid plan the buyer NIP is sent to KSeF exactly as you provide it, so it should be the real NIP of your customer.

Three practical rules. First, always send the buyer NIP for B2B invoices; it is the field KSeF relies on to route and store the document. Second, keep the buyer name consistent with the registered name, because the invoice is matched against that record. Third, only add JST or GV when the buyer genuinely falls into those categories — adding them by mistake can confuse downstream bookkeeping.

If the buyer block is missing or the NIP is malformed, KSeF rejects the submission before processing it. Notaly validates the NIP format and the required fields on the way in, so most mistakes are caught without spending one of your three free sandbox invoices.

A complete, valid FA(3) example appears below, with Podmiot2 filled with a fictional test buyer.

<Faktura xmlns="http://crd.gov.pl/wzor/2025/06/25/13775/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Naglowek>
    <KodFormularza kodSystemowy="FA (3)" wersjaSchemy="1-0E">FA</KodFormularza>
    <WariantFormularza>3</WariantFormularza>
    <DataWytworzeniaFa>2026-10-12T07:23:07Z</DataWytworzeniaFa>
    <SystemInfo>einvoice-api</SystemInfo>
  </Naglowek>
  <Podmiot1>
    <DaneIdentyfikacyjne><NIP>2745013933</NIP><Nazwa>Example Sp. z o.o. (FICTIONAL)</Nazwa></DaneIdentyfikacyjne>
    <Adres><KodKraju>PL</KodKraju><AdresL1>ul. Testowa 1, 00-001 Warszawa</AdresL1></Adres>
  </Podmiot1>
  <Podmiot2>
    <DaneIdentyfikacyjne><NIP>1234563218</NIP><Nazwa>Test Customer S.A. (FICTIONAL)</Nazwa></DaneIdentyfikacyjne>
    <Adres><KodKraju>PL</KodKraju><AdresL1>ul. Probna 2, 30-001 Kraków</AdresL1></Adres>
    <JST>2</JST>
    <GV>2</GV>
  </Podmiot2>
  <Fa>
    <KodWaluty>PLN</KodWaluty>
    <P_1>2026-10-12</P_1>
    <P_2>FV/2026/10/001</P_2>
    <P_13_1>1000.00</P_13_1><P_14_1>230.00</P_14_1>
    <P_13_2>301.00</P_13_2><P_14_2>24.08</P_14_2>
    <P_15>1555.08</P_15>
    <Adnotacje>
      <P_16>2</P_16><P_17>2</P_17><P_18>2</P_18><P_18A>2</P_18A>
      <Zwolnienie><P_19N>1</P_19N></Zwolnienie>
      <NoweSrodkiTransportu><P_22N>1</P_22N></NoweSrodkiTransportu>
      <P_23>2</P_23>
      <PMarzy><P_PMarzyN>1</P_PMarzyN></PMarzy>
    </Adnotacje>
    <RodzajFaktury>VAT</RodzajFaktury>
    <FaWiersz>
      <NrWierszaFa>1</NrWierszaFa>
      <P_7>SaaS subscription - October</P_7>
      <P_8A>pcs.</P_8A>
      <P_8B>1</P_8B>
      <P_9A>1000.00</P_9A>
      <P_11>1000.00</P_11>
      <P_12>23</P_12>
    </FaWiersz>
    <FaWiersz>
      <NrWierszaFa>2</NrWierszaFa>
      <P_7>Support</P_7>
      <P_8A>hrs.</P_8A>
      <P_8B>2</P_8B>
      <P_9A>150.50</P_9A>
      <P_11>301.00</P_11>
      <P_12>8</P_12>
    </FaWiersz>
  </Fa>
</Faktura>

Sources

Source: crd.gov.pl

Frequently asked questions

Is Podmiot2 mandatory in FA(3)?

Yes. Podmiot2 identifies the buyer and is required in every FA(3) invoice sent to KSeF.

What are the JST and GV markers in Podmiot2?

Optional markers about the buyer: JST for local government units and GV for non-VAT taxpayers (such as farmers using the flat-rate scheme).

Issue your first KSeF test invoice today

Create a sandbox account: API key in seconds, 3 free test invoices on KSeF TEST, no credit card.