Pole FA(3)

P_8B w FA(3): ilość

Jak wypełnić P_8B (ilość) w każdej pozycji FaWiersz faktury KSeF FA(3): pole wymagane, format dziesiętny i poprawny przykład XML.

Aktualizacja

Wprowadzenie

Ilość to liczba jednostek danej pozycji na fakturze; w formacie FA(3) zapisujesz ją w polu P_8B, wewnątrz każdego bloku FaWiersz. Razem z ceną jednostkową netto z pola P_9A wyznacza ona wartość netto wiersza, dlatego każdy błąd w ilości od razu zmienia kwoty na dokumencie.

P_8B jest wymagane w każdej pozycji. Schemat nie pozwala zostawić go pustego, nawet gdy pozycja ma charakter opłaty ryczałtowej — w takim wypadku wpisujesz ilość 1, a całą kwotę umieszczasz w cenie jednostkowej. Pole przyjmuje liczby dziesiętne, więc bez problemu wystawisz 0,5 godziny, 2,25 kilograma albo 1,5 jednostki. Separator to kropka, a nie przecinek, bo wartość trafia do dokumentu XML; zapis „2,5" zostanie odrzucony przez walidator.

Wartość z P_8B jest mnożona przez cenę jednostkową netto z P_9A, a wynik stanowi wartość netto pozycji (P_11), która po zaokrągleniu do dwóch miejsc jest podstawą do wyliczenia VAT. To sprawia, że ilość nie jest tylko opisem: pomyłka o jeden znak potrafi zepsuć całą fakturę.

Najczęstsze błędy to zamiana pól P_8A i P_8B (wstawienie etykiety jednostki tam, gdzie ma być liczba) oraz pominięcie ilości przy opłacie stałej. Dobrą praktyką jest też trzymanie spójnego formatu — jeśli na jednej pozycji wpisujesz 1,5, na drugiej nie mieszaj zapisu z przecinkiem.

W Notaly ilość podajesz jako właściwość quantity pozycji. Usługa mnoży ją przez unitNetPrice, wylicza wartość wiersza i zapisuje P_8B, P_9A oraz P_11 w wygenerowanym XML. Gdy quantity jest pusta albo równa zero, API odrzuca żądanie błędem 422, zanim cokolwiek trafi do KSeF — dzięki temu nie tracisz darmowej faktury z sandboxa na taką pomyłkę.

Kompletny, poprawny przykład FA(3) znajdziesz poniżej; pole P_8B jest wypełnione w obu pozycjach.

<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>

Źródła

Źródło: crd.gov.pl

Najczęstsze pytania

Czy P_8B jest wymagane w każdej pozycji?

Tak. P_8B (ilość) jest polem wymaganym w każdym wierszu FaWiersz faktury FA(3).

Czy P_8B może być ułamkiem?

Tak. Przyjmuje wartości dziesiętne, więc 0,5 albo 2,25 są poprawne; separatorem dziesiętnym jest kropka.

Wystaw pierwszą fakturę testową w KSeF jeszcze dziś

Załóż konto sandbox: klucz API w kilka sekund, 3 darmowe faktury testowe w KSeF TEST, bez karty płatniczej.