Skip to main content
Dynamics 365 Finance & OperationsSaaS Tools

Poland KSeF E-Invoicing

A build-to-order X++ extension that clears Dynamics 365 Finance & Operations invoices through KSeF

— structured FA schema submission, session management, KSeF number capture and UPO retrieval and archival.

Built to order

What is Poland KSeF E-Invoicing?

A build-to-order X++ extension that clears Dynamics 365 Finance & Operations invoices through KSeF — structured FA schema submission, session management, KSeF number capture and UPO retrieval and archival. Built to order by ECOSIRE for Dynamics 365 F&O (build-to-order) — indicative price from $1499.00 USD; request a quote for a scoped proposal.

Poland KSeF E-Invoicing — A build-to-order X++ extension that clears Dynamics 365 Finance & Operations invoices through KSeF — structured FA schema submission, session management, KSeF number capture and UPO retrieval and archival

What we build

  • Structured FA schema serialisation from posted CustInvoiceJour, correction invoices and free text invoices
  • Full KSeF session lifecycle handling — authenticate, open, submit, close — with persisted session state
  • UPO retrieval via a dedicated polling batch job, archived and linked to the source invoice
  • KSeF number written to the invoice header and surfaced on the SSRS invoice report
  • Correction invoice referencing that ties a credit note to the original cleared KSeF number
  • Clearance status workspace listing every posted invoice not yet accepted with a UPO
  • Configurable mapping of tax codes, tax groups and item tax groups to FA schema tax categories
  • Rejection capture with reason, correction and explicit resubmission with retained action history
  • Batch framework jobs on dedicated batch groups for submission, polling and reconciliation
  • Data entities for configuration, session log, submission status and UPO reference, exposed over OData
  • Per-legal-entity configuration so non-Polish entities in the same instance are unaffected
  • Payload and UPO archival per document for audit retrieval and JPK reconciliation support

About this Product

The problem

KSeF is a clearance model, and that changes the accounting reality. The government platform holds the legal invoice of record. A document is not legally issued because you posted it in the ERP — it is issued when KSeF accepts it and assigns a number. Until the UPO (the official confirmation) is retrieved and stored, you have a posted transaction with no proof that the invoice legally exists.

That imposes requirements Dynamics 365 Finance & Operations does not meet out of the box for the Polish flow. The invoice must be serialised into the structured FA schema, not a generic XML. Submission is session-based: open a session, authenticate, send documents, close the session, then poll for the UPO — which does not come back instantly. The KSeF number returned must be stored against the invoice and reproduced on any document you give the customer. Corrections and credit notes have their own referencing rules. And JPK reporting has to reconcile against what KSeF actually holds, not against what your ledger thinks it sent.

Without a proper integration, the failure mode is quiet and expensive: invoices that posted but never cleared, UPOs nobody retrieved, and a reconciliation gap discovered at reporting time rather than at issue time.

What ECOSIRE builds

ECOSIRE builds a KSeF extension for your F&O environment, developed against your legal entity structure, tax configuration and document flows. It is built after scoping — not downloaded.

Structured FA schema serialisation

Posted customer invoices, correction invoices and free text invoices are serialised into the structured FA schema. Mapping is configuration-driven: seller and buyer identification, line-level item data, tax rates and categories, payment terms, delivery dates, and the correction referencing that ties a credit note back to the original KSeF number. Serialisation runs off the posted document so the cleared invoice matches the ledger.

Session handling and submission

The extension implements the full session lifecycle — authentication with your KSeF credentials, session open, document submission, session close — as a managed sequence rather than a fire-and-forget call. Session state is persisted, so a process interruption does not leave documents in limbo. Batch jobs handle submission, and a separate polling job retrieves the UPO once it becomes available.

KSeF number and UPO custody

The assigned KSeF number is written to the invoice header and made available to the invoice report, so the document you send a customer carries the identifier that makes it verifiable. The UPO is retrieved, archived against the invoice and retained. A workspace shows every posted invoice whose clearance status is anything other than accepted-with-UPO, which is the control that prevents a reporting period closing over an uncleared document.

Corrections and edge flows

Correction invoices reference the original KSeF number per the schema rules. Documents rejected by KSeF are held with the rejection reason attached, corrected, and resubmitted through an explicit action with a retained history — never silently reissued.

Platform mechanics

  • X++ extension model with event handlers, extension classes and Chain of Command. No overlayering, so one-version upgrades are unaffected.
  • Data entities for KSeF configuration, session log, submission status and UPO reference, exposed over OData for external monitoring or a Power Platform surface.
  • Batch framework jobs on dedicated batch groups for submission, UPO polling and reconciliation, each independently schedulable.
  • Ledger dimensions read from the posted invoice and preserved without modification.
  • Payload and UPO archival per document, so an audit can be shown the exact structured file that was cleared.
  • Per-legal-entity configuration, so Polish entities clear through KSeF while other entities in the same instance are untouched.

Who this is for

Polish legal entities running Dynamics 365 Finance & Operations that must issue invoices through KSeF. It suits international groups where Poland is one entity inside a shared F&O instance and the clearance flow has to be isolated, and it suits shared service centres issuing Polish invoices on behalf of an operating company that need clearance status visible in F&O rather than in a separate portal.

It is equally aimed at finance teams who have to defend a JPK submission and need a defensible link between the ledger, the cleared structured invoice and the retained UPO.

How delivery works

1. Scoping call. We review your Polish legal entities, invoice and correction types in scope, tax configuration, KSeF authentication method, volume, and whether inbound receipt is required.

2. Fixed quote. A written scope covering FA schema mapping, session handling, UPO retrieval, batch jobs, entities and acceptance criteria, at a fixed price.

3. Build. Development against the same platform and application version you run, with schema validation on the serialised output and unit tests over the mapping layer.

4. Install in test. The deployable package goes through your LCS/sandbox pipeline into test. We run the full clearance cycle against the KSeF test environment with your own data, including a correction scenario and a rejection scenario, and hand you a test script for sign-off.

5. Production. The same package is promoted after sign-off. We are on hand for the first live clearances and the first UPO retrievals.

6. Support. A defined post-go-live support window for defect fixes and configuration questions, with source code in your hands throughout.

Lead time and honesty

There is no ready-made download and no trial. The extension is built for your environment after the quote is signed — typically one working week to a working install in test, longer where correction flows, multiple entities or inbound receipt are in scope. Clearance is a legal path, so the value is in the schema mapping, the session handling and the UPO custody being correct for your setup, and that work starts once we have seen it.

How delivery works

  1. 1

    Scoping call

    A short call to confirm the workflow, your platform version and where the integration boundaries sit.

  2. 2

    Fixed quote

    You receive a written scope and a fixed price. Nothing is built until you approve it.

  3. 3

    Build and test

    We develop against a copy of your configuration and test it there. Typically two to four weeks.

  4. 4

    Install and support

    We install on your instance, hand over the source, and include two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

What you get

  • X++ source code for the extension model, delivered in your source control with no overlayering
  • Signed deployable package built against your platform and application version
  • Extended sales invoice report carrying the assigned KSeF number
  • Installation into your test environment through your LCS/sandbox pipeline, then production after sign-off
  • Configuration of FA schema mappings, KSeF authentication, batch job recurrence and clearance workspace
  • Functional and technical documentation including a schema mapping reference and an end-to-end test script covering clearance, correction and rejection
  • Handover training for finance and IT, plus a defined post-go-live support window through the first reporting period

Who this is for

Finance Director, Polish legal entity

They are accountable for invoices that are legally issued, which under clearance means accepted by KSeF with a retained UPO — not merely posted in the ERP. The clearance workspace gives them a single control showing anything that posted but never cleared.

ERP Solution Architect, international group

They run one F&O instance across several countries and cannot let a Polish requirement leak into every legal entity or block the upgrade cadence. Configuration and batch load are scoped per entity, and the code is extension-only.

Tax Compliance Manager

They must reconcile JPK reporting against what the government platform actually holds and currently have no defensible link between the two. The archived structured payload and UPO, stored against each invoice, make that reconciliation traceable document by document.

How Poland KSeF E-Invoicing Compares

CriterionECOSIRECustom BuildCompetitorDynamics 365 Finance & Operations Native
Structured FA schema serialisation from posted F&O invoicesIncludedPartial supportIncludedNot included
Full KSeF session lifecycle with persisted state across interruptionsIncludedPartial supportPartial supportNot included
UPO retrieval, archival and linkage to the source invoiceIncludedPartial supportPartial supportNot included
Clearance status workspace preventing an uncleared invoice passing period closeIncludedNot includedPartial supportNot included
Correction invoice referencing back to the original KSeF numberIncludedPartial supportIncludedNot included
Extension-only X++ with no overlayering of standard codeIncludedPartial supportPartial supportIncluded
Per-legal-entity scoping in a multi-country F&O instanceIncludedPartial supportPartial supportPartial support
Source code handed over to the customerIncludedIncludedNot includedNot included

Frequently asked questions

Can I buy and install this immediately?
No. It is build-to-order. After a scoping call we issue a fixed quote, then build the extension against your platform version and configuration. Typical lead time is one working week to a working install in your test environment, longer where correction flows, several legal entities or inbound receipt are in scope.
Which Dynamics 365 versions and editions are supported?
Dynamics 365 Finance and Dynamics 365 Supply Chain Management (the Finance & Operations apps), cloud-hosted, on a currently supported service update. We build and test against the exact application and platform version in your environment, confirmed during scoping. This is not a Business Central app and does not run on Business Central.
How is the UPO handled if it is not returned immediately?
Submission and UPO retrieval are separate steps. A polling batch job retrieves the UPO when it becomes available and archives it against the invoice. Until that happens the invoice shows a pending clearance status and appears in the clearance workspace, so an uncleared document cannot quietly pass a period close.
What happens when KSeF rejects a document?
The rejection and its reason are recorded against the invoice and shown in the clearance workspace rather than being discarded. The document is corrected and resubmitted through an explicit action, and every attempt is retained in the action history for audit.
Does this modify standard Microsoft code or affect our upgrade path?
No. It is a separate X++ extension model using event handlers, extension classes and Chain of Command, with no overlayering. Standard objects are untouched, so service updates and one-version upgrades proceed as normal.
Do you provide KSeF authentication credentials or act as an intermediary?
No. Your entity holds its own KSeF authentication. ECOSIRE builds the integration that uses it, including the session lifecycle and credential handling inside F&O. During scoping we confirm your authentication method so the build targets it correctly.

Request a Quotation

Tell us about your Poland KSeF E-Invoicing requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.

Pairs well with

NAV & GP to F&O Migration Toolkit
Built to order

NAV & GP to F&O Migration Toolkit

A build-to-order migration engine that moves Dynamics NAV or GP chart of accounts, master data, open transactions and balances into Dynamics 365 F&O, with reconciliation reports that prove the numbers.

From $1499.00Starting point — quoted to your scope
View specification
Pakistan FBR Digital Invoicing
Built to order

Pakistan FBR Digital Invoicing

A build-to-order X++ extension that transmits Dynamics 365 Finance & Operations invoices to the FBR digital invoicing service in real time and stamps the returned invoice number and QR onto the printed document.

From $1499.00Starting point — quoted to your scope
View specification
Rebate & Trade Promotion Management
Built to order

Rebate & Trade Promotion Management

Tiered rebate agreements, automated accrual posting, deduction validation and promotion profitability for Dynamics 365 Finance & Operations. Built to order by ECOSIRE after a scoping call and fixed quote.

From $1499.00Starting point — quoted to your scope
View specification
Revenue Recognition for ASC 606 & IFRS 15
Built to order

Revenue Recognition for ASC 606 & IFRS 15

A build-to-order performance-obligation and deferred revenue engine for Dynamics 365 Finance & Operations. Scoped to your contract types, quoted at a fixed price, then built and deployed to your environments.

From $1499.00Starting point — quoted to your scope
View specification