FA(3) field reference

P_2 in FA(3): invoice number

What P_2 (numer identyfikujący fakturę) is in a KSeF FA(3) invoice, how to choose it, and a valid XML example.

Updated

Overview

P_2 is the invoice number (in Polish, "numer identyfikujący fakturę"). It is a required field in the Fa section of the FA(3) XML and holds the unique number the seller assigns to the invoice.

Each seller must keep P_2 unique so the invoice can be identified unambiguously. The Polish tax office uses the seller's NIP together with the invoice number and the issue date (P_1) to locate a document in the KSeF register, and the same data appears in the official verification QR code. A duplicate P_2 within the same seller and period can cause confusion when the buyer or the tax office tries to find the document.

Use a short, stable numbering scheme. Software subscriptions commonly use a prefix, a year and a running sequence, for example FV/2026/10/001. Avoid characters that are easy to mistype, and do not reuse a number after correcting an invoice — corrections have their own FA(3) mechanisms rather than reusing the original number.

P_2 is independent of the KSeF reference number. The KSeF number (also called the UPO reference) is assigned by the KSeF system after the invoice is accepted; P_2 is the number you assign before sending. Keeping both visible in your system makes support and reconciliation much easier.

The Notaly API accepts P_2 as a plain string and does not reformat it. Whatever you send is what appears in the stored XML and the PDF, so set it once and keep it consistent with your billing system.

A complete, valid FA(3) example appears below, with P_2 set to FV/2026/10/001.

<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 P_2 mandatory in every FA(3) invoice?

Yes. P_2 is a required field inside the Fa section.

Is P_2 the same as the KSeF number?

No. P_2 is the number you assign; the KSeF number is assigned by KSeF after acceptance.

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.