# Create a KSeF invoice

Poland's KSeF mandates FA(3) for all VAT taxpayers since April 2026. Fill in the form and download the XML file KSeF accepts.

Source: https://tally-stick.com/create-ksef

## How it works

Type the invoice on the page: number, dates, seller and buyer with their NIP numbers, and the line items. Totals and the FA(3) VAT bucket breakdown (P_13_x / P_14_x) are calculated as you type.

The Standard box is not needed here - KSeF is the only standard. The currency defaults to PLN. Polish NIP is validated: exactly 10 digits, no hyphens or country prefix.

`Download FA(3) XML` writes the file with the official namespace, the FA(3) KodFormularza header, and the JST/GV fields KSeF 2.0 requires. No account needed, no file uploaded.

The file is ready to submit to KSeF at ap-test.ksef.mf.gov.pl (test) or production. Tallystick does not submit to KSeF on your behalf.

## What is checked before anything is written

The download is refused, with the missing fields listed, when: the invoice number is absent, the issue date is missing or not YYYY-MM-DD, the seller or buyer NIP is invalid (not 10 digits), the buyer name is missing, the currency is missing, or no line item has been entered. Each line requires a description, a positive quantity, a unit of measure, a unit price and a valid P_12 VAT rate from the FA(3) catalogue.

## Common questions

### Which FA version is this?

FA(3), the only schema KSeF 2.0 accepts since 1 February 2026. The namespace, the KodFormularza attributes and the JST/GV fields are all FA(3).

### What P_12 values are allowed?

23, 22, 8, 7, 5 for standard rates; 0 KR (domestic sales at 0%), 0 WDT (intra-community supply), 0 EX (export); zw (exempt from VAT); oo (reverse charge, the buyer accounts for the VAT); np I and np II (outside the scope of VAT). The space in 0 KR is mandatory.

### What is JST and GV?

Mandatory fields in FA(3) Podmiot2. JST = local government unit flag, GV = VAT group member flag. Both default to 2 (not applicable) for the vast majority of invoices.

### Can I submit this to KSeF?

Not from this page. This writes the file; sending it to KSeF needs your credentials and the KSeF API. No credentials are touched here, nothing is uploaded.

### Do I need an account?

No. There is no sign-up. Writing invoices is free under the site's fair usage limit.

### I only have the invoice as a PDF.

Open it with the button at the top. A PDF that carries an e-invoice inside it is read from that; anything else is read off the printed page, a scan included, by text recognition running in this tab. Check every field afterwards, then download the FA(3).

### I already have the data in a spreadsheet.

Then use [Excel to KSeF](https://tally-stick.com/excel-to-ksef) instead - it reads a workbook and writes one FA(3) file per invoice row.

## Related tools

- [Excel to KSeF](https://tally-stick.com/excel-to-ksef)
- [KSeF invoice to Excel](https://tally-stick.com/ksef-to-excel)
- [KSeF to PDF](https://tally-stick.com/ksef-to-pdf)
- [Convert e-invoice](https://tally-stick.com/convert-invoice)
