Integrations

Connect an invoicing system

Connect Fakturownia, wFirma, iFirma, inFakt, ING Księgowość or Stripe invoicing, set the VAT options and the default account, and reconnect when an API key or token stops working.

5 min readLast updated Sep 30, 2026

With an invoicing system connected, Zanfia can issue an invoice for every paid order on your own invoicing account. This page covers the connection itself: the credentials each provider needs, the VAT options, the default account, and what to do when a key stops working. How invoices are then issued, sent and corrected is in Automatic invoices.

1

Open the Invoices tab

In the sidebar open Integrations and choose Invoices (/integrations/invoices). Local invoicing lists Fakturownia, iFirma, inFakt, wFirma and ING Księgowość; Global invoicing lists Stripe. Click Connect on your provider. The window is titled Connect plus the provider name.

2

Name the account

Account name is filled in with the provider name. "The name is to distinguish between saved accounts"; change it if you plan to connect more than one account of the same provider. It cannot be edited later.

3

Paste the credentials

Fill in the fields listed for your provider in the table below. Fields with a Where do I find this? guide show short steps and a link that opens the provider's site in a new tab.

4

Set the VAT options

Leave VAT payer ticked if you charge VAT and set the Default VAT rate (it starts at 23%). Untick it if you are exempt and fill in Legal basis for VAT exemption (it starts as "Art. 113 ust. 1"; inFakt offers a list to choose from). iFirma and inFakt also show Send B2B invoices to KSeF (on by default) and Send B2C invoices to KSeF (off by default).

5

Save and set the default account

Click Save. The card moves to Connected. Then click Manage on the card and use Set as default invoicing system on the account. The confirmation explains: "Checkouts without their own invoicing setting will start issuing invoices with this account." The card then shows Default with the account name. A connected card that reads No default account has no default set. With one connected account, checkouts without their own invoicing setting still use it. With several accounts and no default, an order from a checkout that picks none gets no invoice and shows Issue error, so set a default or pick an account in each checkout.

Good to know

You can connect several accounts, also of the same provider: click Manage, then Add account. Each checkout can use the workspace default or its own account, set in the checkout's Invoicing section.

Credentials per provider

ProviderFields in the formWhere to find them
FakturowniaThe URL to the API, API key / API Token, ID Department (optional)The URL is your company's address in Fakturownia, for example https://zanfia.fakturownia.pl. The token is in Fakturownia under Settings → API. The department ID is a number, not a name.
wFirmaCompany Id, Access Key, Secret KeyIn wFirma: Settings → Security → Applications → API Keys. The secret key is displayed once, right after you create the API key.
iFirmaAccount login, Authorization key (invoice), Authorization key (subscriber)The login is usually your iFirma email address. Both keys are in iFirma on the API tab under basic authorization keys; generate them first if you do not have them.
inFaktAPI key / API TokenIn inFakt under Settings → API.
ING KsięgowośćAPI key / API Token, Bank account numberGenerate the key in ING Księgowość: Dane i Ustawienia → Integracje → OpenAPI. The bank account number is the seller account printed on every invoice.
StripeNoneStripe invoicing uses your Stripe payments connection. See below.

For Fakturownia, wFirma and ING Księgowość the form shows a note instead of KSeF checkboxes: "KSeF submission is handled by" the provider, and you configure it in your account there, not in Zanfia. ING Księgowość cannot send emails, so Zanfia emails the invoice PDF to the buyer itself, and receipts are not supported with it.

Stripe invoicing

Click the Stripe card on the Invoices tab. If Stripe payments are not connected yet, the window says "Stripe invoicing works only with Stripe payments - it shares the same Stripe connection" and offers the payments connection first (Connect Stripe). With payments connected, set the VAT options and click Enable Stripe invoicing. Stripe then issues invoices on your connected Stripe account and emails each one to the buyer with a hosted page and a PDF. It applies only to orders paid through Stripe.

Selling from Poland

The app warns creators based in Poland: "Stripe invoices don't meet Polish fiscal requirements. No KSeF submission and no Polish sequential numbering. If you issue VAT invoices in Poland, use Fakturownia, wFirma, iFirma, inFakt or ING Księgowość for compliant invoices."

Reconnect when a key or token stops working

Invoicing providers sometimes expire or revoke API keys and tokens. When that happens new orders are still paid and access is still granted, but their invoices fail: the order shows Issue error in the Invoice column of Transactions (/orders) and you receive the email "⚠️ Error when issuing invoice [product]".

1

Create a new key at the provider

Log in to your invoicing provider and generate or copy a current API key or token, in the same place as in the table above.

2

Edit the connected account

In Integrations → Invoices click Manage on the provider card, then the pencil icon next to the account. The window is titled Edit plus the provider name and notes: "For security we don't show your saved secret. Paste it again to update this connection." Paste the new key and click Save. If the provider refuses it you see "API key sent is not valid!"; otherwise "You have successfully edited your account".

3

Issue the failed invoices again

Editing keeps the same account, so it stays the default and stays selected on your checkouts; there is nothing to reassign. Invoices that failed in the meantime are not reissued on their own: in Transactions use the gear icon next to the order, or the Retry action in the attention panel at the top. The steps are in Automatic invoices.

Remove an account

In Manage, click the trash icon next to the account and confirm: "Are you sure you want to remove the integration with the selected account? All related products will no longer be able to invoice from this account." If the removed account was the workspace default, set another account as the default afterwards, otherwise checkouts without their own invoicing setting have no account to issue invoices with.

Was this article helpful?

Related articles

Spotted something off? Tell us at support@zanfia.com.