Where wFirma fits in B2B sales
wFirma runs in the browser and covers invoicing and accounting, done either in-house or by an accounting office. If your accounting works on a wFirma account while wholesale orders come in through the platform, then without a connection someone has to enter every invoice a second time. The integration removes that step: the document is created in the shop and its copy reaches wFirma directly over the API, with no file export and no manual import.
The platform is the source of the sales document. wFirma is its recipient and, if you choose so, the place from which the invoice goes to KSeF, Poland’s national e-invoicing system.
What exactly reaches wFirma
- VAT invoices. A document issued on the platform after order confirmation is copied to wFirma straight away, with full buyer data and line items.
- Corrections. A correcting invoice issued in the shop reaches the accounting system as well.
- Paid status. The integration aligns between the two systems the information that an invoice has been paid.
- Feedback. The platform stores the document identifier on the wFirma side and the number the vendor assigned to it, and it accepts notifications (webhooks) sent by wFirma.
This is not an inventory integration. Stock levels, price lists and product records are not driven by wFirma.
Who assigns the invoice number
In the invoice ledger routing settings you choose one of two modes:
| Mode | Where the number comes from | When it makes sense |
|---|---|---|
| Endora number | The platform assigns the number from its own numbering pattern | The shop is your only source of sales invoices |
| Vendor number | The platform waits for the number assigned by wFirma | You also issue invoices in wFirma outside the shop and want a single series |
Changing the numbering source requires explicit confirmation. Invoices that have already been issued keep their numbers.
KSeF on the wFirma side, and one catch
The second routing setting decides who submits the e-invoice: the platform’s native KSeF module or the vendor. When you point it at the vendor, wFirma performs the submission over its own KSeF connection.
There is one rule from the wFirma help centre worth knowing. Invoices issued through the API are assigned to the user whose credentials were used for the integration, and that user must have an active KSeF authorisation on their own account, plus sending of sales invoices enabled in the KSeF integration settings. Permissions are not inherited automatically from the account administrator. So if the keys belong to a technical account without authorisation, the document will not reach KSeF. Details are in the wFirma article on KSeF integration problems (in Polish).
What the administrator sees
Every copy leaves an entry on the invoice ledger deliveries list in the admin panel. An entry has one of five statuses: queued, awaiting vendor, succeeded, failed or stopped. A failure comes with a reason. If wFirma rejects the document during validation, the message includes the field-level hints wFirma returned, so it is usually clear at once what to fix. A delivery can be retried with a button on the list, and the invoice card shows the remote document identifier.
Viewing deliveries and managing the ledger are two separate permissions, so an accountant can follow the statuses without being able to change routing.
Checklist before go-live
- wFirma API access. According to the wFirma API documentation, key-based authorisation needs three values: a key pair generated in the account settings and an application key that wFirma issues separately on request. The third one takes a little time to arrive, so it is worth requesting early.
- Document limit. The wFirma API terms set a monthly limit on documents created through the API under free use. Compare it with your invoice volume.
- KSeF authorisation for the API user, if wFirma is to submit the e-invoices.
- Connection in the platform admin. The module is off by default. Once you enable it, you enter the credentials on the connection screen and set the routing. While the module is off, the platform sends no requests to wFirma.
When to choose something else
The platform allows only one invoice ledger vendor to be active. wFirma will not run in parallel with inFakt or Subiekt 123, and an attempt to enable a second one ends with a message telling you to disable the first. The choice therefore comes down to where your accounting has its account.
If your invoices are issued by an ERP system, for example Subiekt GT, an additional invoicing program would only duplicate documents. And if you do not need an external accounting system at all, the platform issues the invoice itself and submits it to KSeF through the native module.