Saltar al contenido principal
NetSuiteSaaS Tools

Poland KSeF E-Invoicing Compliance

A build-to-order NetSuite app that produces FA(3) structured XML,

opens a KSeF session, submits invoices, retrieves the UPO confirmation and pulls inbound invoices back into NetSuite. Built for your account after a scoped quote.

Bajo pedido

¿Qué es Poland KSeF E-Invoicing Compliance?

A build-to-order NetSuite app that produces FA(3) structured XML, opens a KSeF session, submits invoices, retrieves the UPO confirmation and pulls inbound invoices back into NetSuite. Built for your account after a scoped quote. Built to order by ECOSIRE for Oracle NetSuite (build-to-order) — indicative price from $999.00 USD; request a quote for a scoped proposal.

Poland KSeF E-Invoicing Compliance — A build-to-order NetSuite app that produces FA(3) structured XML, opens a KSeF session, submits invoices, retrieves the UPO confirmation and pulls inbound invoices back into NetSuite

What we build

  • Map/Reduce generation of FA(3) structured XML from Invoice and Credit Memo records, covering Podmiot1, Podmiot2, Fa header and FaWiersz line elements
  • Full KSeF session lifecycle handling from Scheduled scripts: authentication, session open, invoice send, status polling with backoff, UPO retrieval and session close
  • Credentials and tokens stored in NetSuite secure strings and used via N/https, never held in readable custom fields or hardcoded in script source
  • KSeF reference number and UPO written back to the transaction, with the UPO document attached to the record in the File Cabinet as retained proof
  • Explicit submission state machine on the transaction — draft, queued, sent, pending confirmation, accepted, rejected — so no invoice sits in an ambiguous state
  • Scheduled inbound script that queries KSeF for invoices issued to your NIP, downloads the FA(3) XML and creates a Vendor Bill or staging record per your rules
  • Correcting invoice support submitting the correct invoice type with a reference to the original KSeF number, preserving the correction chain
  • Polish VAT rate mapping held in a configuration custom record covering standard, reduced, zero-rated, exempt and reverse-charge treatments
  • Foreign-currency handling carrying the exchange rate and rate date required by the FA(3) schema onto the generated document
  • Custom record logging every attempt with request, response, session identifier, KSeF number, UPO reference, status code, error text and retry count
  • Per-subsidiary NIP, credentials and endpoint configuration in OneWorld so a group instance never cross-submits between Polish entities
  • Saved searches and a dashboard portlet for pending, unconfirmed and rejected queues, plus role and permission setup restricting credential configuration to administrators

Sobre este producto

The problem

KSeF is not a reporting format bolted onto an existing invoice — it is a different way of issuing one. A Polish invoice becomes legally issued when KSeF accepts it and assigns a KSeF number, and the UPO (Urzędowe Poświadczenie Odbioru) is the proof. The submission itself is session-based: authenticate, open a session, send the FA(3) structured XML, poll the status, retrieve the UPO, close the session. None of that resembles running a tax report at month-end, which is why generic tax reporting features cannot produce it.

NetSuite ships nothing for this. There is no FA(3) generator, no session handling, no place to store a KSeF number or a UPO document against the transaction, and no inbound path for the purchase invoices your suppliers will issue to you through the same system. Handling it manually means an operator uploading files and copying reference numbers back — which does not survive real volume, and leaves you unable to answer the one question that matters in an audit: prove this invoice was accepted, and show me the confirmation.

What ECOSIRE builds

A build-to-order SuiteScript 2.1 project, delivered as an unmanaged bundle or SDF project you own. Scoped against your account, built, installed in sandbox, then production, then supported.

FA(3) structured XML generation

A Map/Reduce script generates the FA(3) structured invoice XML from NetSuite Invoice and Credit Memo records, mapping the required blocks: Podmiot1 seller identification with NIP and address, Podmiot2 buyer identification, Fa header carrying invoice number, P_1 issue date, P_6 date of sale, currency and exchange rate, the FaWiersz line elements with description, quantity, unit net price, net value, VAT rate and line totals, plus the VAT summary fields and the invoice type (basic, correcting, advance, settlement) with references to a corrected original where applicable.

Mapping is not a guess. It is agreed as a field-level table during scoping, then implemented against it, so what the schema requires and what your NetSuite data holds are reconciled before development, not during testing.

Session-based submission and UPO

The submission engine handles the full KSeF lifecycle from Scheduled and Map/Reduce scripts: authentication using your chosen credential method, session initialisation, invoice send, status polling with backoff, UPO retrieval and session close. Tokens and keys are held in NetSuite secure strings via N/https, never in readable custom fields. The KSeF reference number and the retrieved UPO are written back to the transaction and the UPO document is attached to the record in the File Cabinet, so the proof lives beside the invoice rather than in a download folder on someone's laptop.

Because the process is asynchronous, status is treated as a first-class state machine: draft, queued, sent, pending confirmation, accepted with KSeF number, rejected with error code. A transaction never silently sits in an ambiguous state.

Inbound invoices

A Scheduled script queries KSeF for invoices issued to your NIP, downloads the FA(3) XML, and creates a Vendor Bill or a staged custom record for review — your choice, agreed in scoping. Vendor and item matching rules are built against your master data. This is the half of KSeF that teams routinely forget until go-live, and it is the half that determines whether AP keeps working.

Corrections, attachments and evidence

Correcting invoices are submitted with the correct type and a reference to the original KSeF number, keeping the correction chain intact. Every submission attempt writes to a custom record — request, response, session identifier, KSeF number, UPO reference, status code, error text, retry count — and saved searches expose the pending, rejected and unconfirmed queues so nothing is discovered a week later.

VAT, currency and multi-entity

Polish VAT rate mapping is driven by a maintainable configuration record rather than hardcoded rates, covering standard, reduced, zero-rated, exempt and reverse-charge treatment. Foreign-currency invoices carry the exchange rate and date required by the schema. In OneWorld, each Polish subsidiary holds its own NIP, credentials and configuration, so a shared instance does not cross-submit between entities. Custom segments feed your internal reporting, not the statutory payload, unless your scope says otherwise.

Who it is for

Polish taxpayers running NetSuite that must issue structured invoices through KSeF: local companies, and international groups with a Polish subsidiary inside a OneWorld account. It fits teams that want NetSuite to remain the system of record — issuing, confirming and archiving from one place — rather than operating a parallel process in a separate tool and reconciling afterwards.

How delivery works

1. Scoping call. We review your NetSuite version and edition, OneWorld or single instance, in-scope transaction types, VAT code configuration, currency handling, invoice numbering, your KSeF authentication approach, and whether inbound purchase invoices are in scope. We work from real records.

2. Fixed quote. A written scope naming every script, custom record, field and mapping, with the FA(3) field-level mapping table, stated assumptions and a fixed price.

3. Build. SuiteScript 2.1 and SDF development in your sandbox or a development account, built against the agreed mapping.

4. Install in test. Sandbox install first. We validate generated FA(3) XML against the schema and run submissions against the KSeF test environment using your own invoices — corrections, foreign currency, multi-rate VAT lines and all.

5. Production install. After sandbox sign-off we install into production, load per-entity configuration, set deployment statuses and role permissions, and run a supervised first live batch with your team present.

6. Support. A defined support window covering defect fixes, mapping adjustments and team questions. Later schema versions or rule changes are quoted separately, and we will always say plainly which side of that line a request falls on.

Lead time is typically one working week from signed quote to sandbox install, extending when inbound processing, multiple subsidiaries or complex correction handling are in scope, or when test-environment credentials take time to arrive.

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

    Instalamos en su instancia, le entregamos el código fuente e incluimos dos semanas de soporte tras la puesta en marcha. Los defectos en el código que entregamos se corrigen sin coste.

lo que obtienes

  • SuiteScript 2.1 source for all Map/Reduce, Scheduled, User Event and Client scripts, delivered as an unmanaged bundle or SDF project you own
  • Installation into your sandbox account, then into production after sign-off, including script deployment status, audience and role configuration
  • FA(3) field-level mapping document tying every NetSuite field to its schema element, including VAT rate, invoice type and currency mappings
  • Configured custom records, transaction body fields, VAT mapping configuration record, saved searches and a status dashboard portlet
  • Inbound processing configuration with the agreed vendor and item matching rules, where inbound purchase invoices are in scope
  • Administrator and end-user documentation covering submission, status handling, UPO retrieval, corrections, inbound review and configuration changes
  • A live training session for finance and IT, plus a defined post-go-live support window for defect fixes and mapping adjustments

¿Para quién es esto?

Polish Chief Accountant

Is responsible for invoices being legally issued through KSeF and for holding the UPO as proof. Gets the KSeF number and the UPO attached to the NetSuite transaction itself, so the confirmation is retrievable from the record rather than from a separate archive.

Group Financial Controller, OneWorld account

Runs several subsidiaries in one NetSuite instance and cannot risk a Polish entity submitting under the wrong NIP. Gets per-subsidiary credentials and configuration, with statutory data kept separate from group reporting segments.

Accounts Payable Supervisor

Faces supplier invoices arriving through KSeF rather than by email, with no NetSuite path to receive them. Gets inbound documents pulled in on a schedule and turned into Vendor Bills or review-staged records using their own matching rules.

Cómo se compara Poland KSeF E-Invoicing Compliance

CriterioECOSIREConstrucción personalizadaCompetidorNativo de NetSuite
Generates FA(3) structured XML from NetSuite transactionsIncluidoApoyo parcialIncluidoNo incluido
Full KSeF session lifecycle with status polling and UPO retrievalIncluidoApoyo parcialApoyo parcialNo incluido
UPO attached to the NetSuite record and retrievable from the transactionIncluidoApoyo parcialApoyo parcialNo incluido
Inbound KSeF invoices pulled in and turned into Vendor Bills or staged recordsIncluidoApoyo parcialApoyo parcialNo incluido
Correcting invoices referencing the original KSeF numberIncluidoApoyo parcialApoyo parcialNo incluido
Per-subsidiary NIP and credential separation in OneWorldIncluidoApoyo parcialApoyo parcialNo incluido
Source code delivered and owned by you, not a locked binaryIncluidoIncluidoNo incluidoNo incluido
Available as an instant download todayNo incluidoNo incluidoApoyo parcialNo incluido

Preguntas frecuentes

Is this available for immediate download?
No. Every ECOSIRE NetSuite app is build-to-order. We scope against your account, issue a fixed quote, then build. Typical lead time is one working week from signed quote to sandbox install. Inbound processing, several subsidiaries and complex correction handling push it toward the longer end.
Which NetSuite versions and editions do you support?
We build against current NetSuite releases using SuiteScript 2.1, for both single-instance and OneWorld accounts. SuiteCloud Development Framework and the required SuiteScript features must be enabled. We confirm your exact version, edition and enabled features during scoping and flag anything that changes the scope before the quote is issued.
Does it handle inbound purchase invoices from KSeF, not just outbound?
Yes, when it is in scope. A Scheduled script queries KSeF for invoices issued to your NIP, downloads the FA(3) XML, and either creates a Vendor Bill directly or stages it on a custom record for review. Vendor and item matching rules are built against your master data and agreed during scoping, since that logic is specific to your setup.
Where is the UPO stored, and can we retrieve it later?
The UPO is retrieved as part of the submission flow, referenced on the transaction and attached as a file to the record in the File Cabinet, alongside a log entry holding the session identifier and status codes. It is retrievable from the invoice record and from saved searches, without going back to KSeF.
What happens to invoices KSeF rejects?
The rejection status and the returned error code and text are written to the transaction and the submission log, and the invoice moves to a rejected state visible in a dedicated saved search — it never displays as accepted. Retry and correction behaviour is agreed during scoping, because whether a rejected invoice is corrected and resubmitted or voided and reissued is your accounting decision.
What happens when the KSeF schema version changes?
VAT rates, codes and mappings sit in configuration records, so many changes are configuration edits. A new schema version or structural change is development work and is quoted separately. We do not promise open-ended free updates; we tell you whether a request is a defect inside your support window or new scope, and price it honestly either way.

Solicitar presupuesto

Cuéntanos tus necesidades de Poland KSeF E-Invoicing Compliance y te enviaremos precios, opciones de licencia y una propuesta a medida, normalmente en un día hábil.

Sin pago ahora. Esto envía una solicitud de presupuesto a nuestro equipo; te responderemos por correo con precios y próximos pasos.

Combina bien con

NetSuite to Odoo Migration Toolkit
Bajo pedido

NetSuite to Odoo Migration Toolkit

A built-to-order extraction, mapping and load toolkit that moves your NetSuite records into Odoo with a reconciled trial balance, preserved AR/AP aging and re-runnable delta loads.

Desde $1499.00Precio de partida: se presupuesta según su alcance
View specification
Pakistan FBR Digital Invoicing Compliance
Bajo pedido

Pakistan FBR Digital Invoicing Compliance

A build-to-order NetSuite integration that submits sales invoices and debit/credit notes to FBR's digital invoicing service, stores the returned invoice number and QR code, and prints them on your document. Built for your account after a scoped quote.

Desde $999.00Precio de partida: se presupuesta según su alcance
View specification
Procurement Requisition & Approval Workflow
Bajo pedido

Procurement Requisition & Approval Workflow

A NetSuite requisition and purchase approval layer with an amount, department and subsidiary routing matrix plus budget checks before commitment. Built to order for your account after a scoping call and fixed quote.

Desde $999.00Precio de partida: se presupuesta según su alcance
View specification
QuickBooks to NetSuite Migration Toolkit
Bajo pedido

QuickBooks to NetSuite Migration Toolkit

A built-to-order loader and reconciliation toolkit that takes your QuickBooks exports into NetSuite — chart of accounts mapping, opening balances, open AR/AP and inventory, proven against a parity report.

Desde $999.00Precio de partida: se presupuesta según su alcance
View specification