E-Invoicing

Flowtly Editorial Team5 min

The E-Invoicing module in Flowtly enables organizations to send and receive electronic invoices in compliance with regulatory requirements. It integrates with the Polish National e-Invoice System (KSeF) to automate the exchange of structured invoice data between your organization and its counterparties.

Outbound invoices created in Flowtly can be automatically converted to the required XML format and submitted to KSeF. The module tracks submission status, stores confirmation numbers, and flags any validation errors so that issues can be resolved before they affect compliance deadlines.

Inbound invoice synchronization pulls invoices issued to your organization from KSeF directly into Flowtly. Received invoices are matched against existing supplier records and can be routed through approval workflows, reducing manual data entry and the risk of processing errors.

Invoice corrections are fully supported, including both corrective invoices and correction notes. The module maintains a clear audit trail linking original invoices to their corrections, ensuring that your records remain accurate and auditable at all times.

A correction document lists the positions twice: the original lines under before correction, then the corrected lines under after correction, each shown exactly as issued. The difference between the two appears in the totals rather than line by line, because a correction may split one position into two, merge two into one, rename a position or remove it — so a per-position difference is not always a meaningful number. Reading the two sections against each other shows what changed. The PDF and the document filed with KSeF present the same lines in the same order, so the two always agree.

Once a document has been submitted, its PDF comes from KSeF. Downloading the PDF of a submitted invoice or correction fetches the document the authority holds and renders that, so what you hand to an accountant or an inspector is what was actually filed. If Flowtly cannot retrieve it, it tells you which step failed and repeats what the authority said, rather than showing a PDF rebuilt from your own records — a document that looks right but differs from the filing would hide a problem worth knowing about. An invoice that has not been submitted yet still previews from your own records, because there is nothing filed for it to disagree with.

Invoices to consumers. An invoice to a Polish buyer who has no NIP, such as a private person, is submitted to KSeF with the buyer marked as having no tax identifier, so the authority accepts it as an invoice to a consumer. A buyer whose identifier type is NIP but whose NIP is blank, or contains no digits, is not treated as a consumer: the invoice is refused instead of being submitted, so a business invoice never reaches KSeF without the buyer's NIP. Enter the buyer's NIP on the client, or remove the identifier if the buyer is a private person, and submit again.

Payment terms. When an invoice records a payment method but no due date, the submitted document carries the payment method and leaves the payment-term section out, instead of sending an empty due date that KSeF would reject. Add a due date to the invoice if you want a payment term to appear in the filed document.

When reviewing a received invoice, the net and gross amount fields accept negative values, so a corrective invoice that reduces or reverses the original charge can be entered exactly as issued. A negative net amount paired with a matching negative gross amount is accepted as valid and is not flagged as an error. Importing a correction already filed in KSeF. Documents your organization has filed in KSeF can be imported into Flowtly, which is how records are caught up when invoices were filed outside Flowtly. A correction is imported as a correction and linked to the invoice it corrects, so the original's totals are brought up to date rather than left standing. That link is required: when the corrected invoice is not in Flowtly yet, the correction is reported as skipped, together with the reason, rather than arriving as a standalone document that would correct nothing — import the original first, then run the import again. A correction that states a quantity of zero on a line, which is how a price-only or value-only correction is issued, is imported normally.

How an imported invoice arrives. An invoice imported from KSeF arrives as issued and awaiting delivery, not as a draft — it is already filed with the authority, so its content can no longer be changed. Flowtly cannot tell whether it was also sent to the client, so it is not chased for payment until you record it as sent. The same applies when the import finds, already filed in KSeF, an invoice you drafted in Flowtly.

Example use cases

  • Submit outbound sales invoices to KSeF automatically upon approval in Flowtly.
  • Synchronize inbound purchase invoices from KSeF and route them for internal approval.
  • Generate and submit corrective invoices when billing errors are identified.
  • Monitor the status of all submitted invoices and resolve XML validation errors promptly.
  • Maintain a complete audit trail of all electronic invoice exchanges for regulatory compliance.

App routes

  • E-invoicing has no standalone route. Per-invoice actions open from a drawer at /clients/invoices/:id/e-invoicing; organization-wide e-invoicing configuration lives under Organization settings at /settings/organization/invoicing.

Connection map

Refers toUses upDerived fromPart ofPlanned vs actual
Documented hereDocumented elsewhere
invoice billed to counterparty. invoice taxed by tax-group. cost spends against budget. cost owed to counterparty. bank-transaction reconciled to invoice. bank-connection imports bank-transaction. contract schedules payment-schedule-line. payment-schedule-line invoiced as invoice. contract agreed with counterparty. contract attached to budget. contract orders purchase-order-line. purchase-order-line prices position. purchase-order-line estimated against time-entry. budget raises budget-alert. budget covers project. counterparty defaults to budget. counterparty defaults to project. invoice billed from project. set-off-declaration settles invoice. set-off-declaration declared with counterparty. project linked to budget. tenant-turnover reported by counterparty. tenant-turnover compared per area from contract. utilities-statement calculated for contract. lead becomes counterparty. deal sold to counterparty.billed totaxed byspends againstowed toreconciled toimportsschedulesinvoiced asagreed withattached toorderspricesestimated againstraisescoversdefaults todefaults tobilled fromsettlesdeclared withlinked toreported bycompared per area fromcalculated forbecomessold toIInvoice — A sales document issued to a client: line items, dates, tax. It is created, reviewed, previewed and then sent — or, when it went out some other way, recorded as delivered.InvoiceCCounterparty — The other side of a financial document — a client billed, or a supplier owed.CounterpartyTTax group — The tax treatment applied to a line, so rates are set once rather than per document.Tax groupCCost — Money the organisation owes or has spent, tracked against a budget.CostBBudget — The financial envelope an engagement is measured against — what was planned, versus what has actually been spent.BudgetBBank transaction — A movement on a connected bank account. Matching it to an invoice or a cost is what makes the books agree with the bank.Bank transactionBBank connection — The consented link to one bank that transactions arrive through. It can stop working on its own — a consent expires or is withdrawn — so it reports whether it is still working.Bank connectionCContract — The financial terms of an engagement: a structured set of payment schedule lines, in one direction or the other.ContractPPayment schedule line — One dated amount on a contract, in a direction — money owed to a supplier, or due from a client.Payment schedule lineOOrder line — One line of a purchase order: a role priced by the hour with the hours estimated for it, or a deliverable priced as an outcome. A deliverable carries no hours at all.Order linePPosition — The catalogue of job titles a project role is drawn from.PositionTTime entry — What actually happened — work time logged against a project.Time entryBBudget alert — A notice that a budget has gone off plan - spending over the planned amount, or a margin below the one that was planned. It is raised by a daily check rather than by anyone asking for it.Budget alertPProject — The core organizational unit for a business initiative, client engagement or internal work. Everything tracked — time, cost, invoicing, profitability — hangs off one.ProjectSSet-off declaration — A record that your invoices to one counterparty and its cost documents were settled against each other, in amounts that balance exactly. It lowers what remains due on the invoices; it is not a payment.Set-off declarationTTenant turnover — A tenant's reported sales for one month, entered by staff and used for reporting only. An absent figure means not reported, which is a different statement from a reported zero.Tenant turnoverUUtilities statement — One lease's electricity for one month, the kWh its meters recorded times the tariff in force. A draft until finalised, then it never changes; a correction is a new draft.Utilities statementPProspect — A company you are working but that is not a customer yet. It sits at New, Contacted or Qualified, and everything done to it is logged against it.ProspectDDeal — A sale in progress: a customer, an amount, and the stage it has reached. It cannot exist without a customer, and its stage is never blank.Deal

Related terms