Back to the help center
Invoices and KSeF

The KSeF token: how to get it and add it to Norman

With a token, Norman sends your invoices to KSeF and imports your purchase invoices. A JDG generates the token itself; a company needs a qualified seal or the person named in ZAW-FA.

Updated

Norman connects to the National e-Invoice System (KSeF) with your company's token. With the token, Norman:

  • sends the invoices you issue in Norman to KSeF,
  • imports your sales and purchase invoices from KSeF four times a day.

The token must be generated for the company's NIP and carry two permissions: issuing invoices and viewing invoices (in the KSeF app: "wystawianie faktur" and "przeglądanie faktur"). Norman needs no other permissions.

JDG: generate the token yourself

The owner of a JDG has KSeF rights automatically. No ZAW-FA notification is needed.

  1. Log in to the KSeF taxpayer app (Aplikacja Podatnika KSeF, ap.ksef.mf.gov.pl) with Profil Zaufany, the mObywatel app, your bank, an e-ID card or a qualified signature.
  2. Open Tokeny → Generuj token (Tokens → Generate token).
  3. Tick the permissions to issue and to view invoices.
  4. Copy the token and paste it into Norman (see below).

sp. z o.o.: a seal or the person named in ZAW-FA

A company logs in to KSeF with a qualified electronic seal that carries its NIP.

Without a seal, the company files the ZAW-FA notification with its tax office: on paper, through e-Urząd Skarbowy or through e-Doręczenia (not through ePUAP). It names one natural person. That person logs in with their own credentials in the company's NIP context, can grant further rights, and generates a token with the same two permissions.

A token may only be used by the person who generated it, or by an app acting on their behalf. So each person has their own token.

Add the token in Norman

  1. Make sure the company's NIP is in your settings: KSeF checks the token against it.
  2. Open Account → Taxes, section KSeF e-invoices. You also find this step on Home as Add your KSeF token.
  3. Paste the token into KSeF token and save the settings.

Norman checks the token with KSeF before saving it. You see the result below the field:

MessageWhat to do
KSeF accepted this tokenNothing. Norman can send and import invoices.
KSeF could not be reached to check this tokenThe token is saved. Norman checks it again shortly. You can also click Check again.
KSeF refused this tokenThe token is not saved. Generate a new one for the company's NIP.
This token lacks permissions Norman needsThe token is not saved. Generate a token with the permissions to issue and to view invoices.

Norman stores the token encrypted and does not show it after saving. To change it, paste a new one. If you revoke the token in KSeF, add a new one in Norman.

Importing invoices from KSeF

Import invoices from KSeF automatically is on by default. Norman then imports sales and purchase invoices four times a day, and the first import goes 90 days back. To import right away, click Sync from KSeF on the Invoices page.

Next steps

  • Invoices issued before you add the token do not go to KSeF automatically. See Invoices that did not reach KSeF.
  • How sending and the statuses work: Sending invoices to KSeF.
  • If your company has had to use KSeF since 1 February 2026 (2024 sales above PLN 200 million), contact support: the app has no setting for this yet.