A build-to-order Odoo module that generates schema-valid Polish JPK VAT XML (JPK_V7M / JPK_V7K) directly from your posted tax entries. ECOSIRE scopes, builds, installs and supports it around your specific chart of accounts and tax mapping. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $499.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo module that generates schema-valid Polish JPK VAT XML (JPK_V7M / JPK_V7K) directly from your posted tax entries. ECOSIRE scopes, builds, installs and supports it around your specific chart of accounts and tax mapping.
अभी कोई भुगतान नहीं। यह हमारी टीम को एक कोटेशन अनुरोध भेजता है — हम कीमत और अगले चरणों के साथ ईमेल द्वारा संपर्क करेंगे।
Polish VAT-registered companies must submit their VAT records in the government's JPK (Jednolity Plik Kontrolny) structured format — today the combined JPK_V7M (monthly) or JPK_V7K (quarterly) file that merges the VAT return and the VAT register into one signed XML. Odoo core accounting computes VAT correctly and shows a tax report on screen, but it has no native path to the Polish Ministry of Finance schema: there is no built-in model mapping each account.move.line tax entry to the required GTU commodity codes, procedure markers (TP, MPP, FP), and document-type flags (RO, WEW, VAT_RR), nor the exact element ordering the XSD demands. Finance teams end up exporting to spreadsheets and hand-building XML against a filing deadline, which is slow and audit-risky.
New declaration model (`models.Model`) that aggregates posted `account.move.line` tax entries into JPK_V7 boxes P_10–P_69 via `@api.depends` computed fields
JPK_V7M (monthly) and JPK_V7K (quarterly) variants, generating the combined VAT return + register in one signed-ready XML
Element-by-element serialisation to the current Ministry of Finance XSD, with in-Odoo schema validation before the file is offered for download
Poland-specific fields added to `account.move` / `account.move.line` via inheriting models: GTU commodity codes (GTU_01–GTU_13)
Procedure markers (`TP`, `MPP`, `FP`, `EE`, `TT_WNT`, etc.) and document-type flags (`RO`, `WEW`, `VAT_RR`) captured at invoice source
Tax-to-box mapping layer tying each Odoo tax to its correct JPK declarative field, configurable per your chart of accounts
ECOSIRE builds a dedicated JPK VAT module for your database. At its core is a new declaration model (models.Model) that gathers the period's posted tax lines, aggregates them into the JPK_V7 declarative fields (P_10 through P_69) using @api.depends computed fields, and serialises the sales and purchase evidence sections element-by-element to match the current published schema. We add the Poland-specific fields your invoices need — GTU codes, procedure and document markers — onto account.move and account.move.line through a clean inheriting model, surface them in the invoice views (XML/OWL) so accountants set them at source, and drive sensible defaults with automated actions where the source data is unambiguous. The generated file is validated against the XSD before it is offered for download, so structural errors surface inside Odoo rather than at the government gateway.
Technically, the module ships its own __manifest__.py declaring dependencies on account (and l10n_pl where your localization uses it), a mapping layer that ties each Odoo tax to its JPK declarative box, and QWeb-driven summary reports so a controller can review the return before submission. Access is locked down with ir.model.access.csv plus record rules so only the finance role can generate or view declarations, and every generated file is stored as an immutable attachment for audit. The generator is exposed over the standard XML-RPC / JSON-RPC API, so an external e-signature or e-Deklaracje submission step can be automated if that is in scope. It targets Odoo 17.0, 18.0 and 19.0, and we confirm Community vs Enterprise behaviour for your edition during scoping (the accounting reporting engine differs between them).
Because this is build-to-order, nothing is shipped blind. We start with a short scoping call to confirm your Odoo version and edition, tax configuration, which JPK variant you file (V7M or V7K), and how GTU/marker data should be captured for your product catalogue. We then build against your requirements, run UAT on a staging copy of your database, and hand over installable source, documentation and a git repository. Typical delivery is 2–4 weeks from confirmed scope. Pricing starts from $499 (indicative, single-company base scope); multi-company filing, custom GTU auto-classification, data migration of historical periods, or automated e-Deklaracje submission increases the quoted scope.
Runs Odoo as their ERP and files JPK_V7M or V7K each period. Needs GTU codes and procedure markers captured on invoices and a validated XML generated inside Odoo instead of hand-built spreadsheets.
Oversees several Polish VAT registrations and wants consistent, auditable JPK generation across companies with role-restricted access and immutable filing records.
Needs a reliable, documented JPK VAT module built to spec with source and git handover, so it can be maintained and extended rather than reverse-engineered from an off-the-shelf listing.
Wants every submitted file stored immutably, reconciled to the Odoo tax report, and traceable to source documents so a tax inspection can be answered quickly.
Buy the license on ecosire.com and download the JPK VAT for Odoo module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for JPK VAT for Odoo, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Polish JPK_V7M/V7K XML output | Built to the current XSD, validated in Odoo before download | Possible but you build and validate it yourself | Provided, but fixed to the vendor's mapping assumptions | |
| GTU codes & procedure/document markers | Added to invoices and views, defaulted where unambiguous | Whatever you choose to build | Usually included but hard to tailor to your catalogue | |
| Tax-to-JPK-box mapping | Configured to your chart of accounts during setup | You define and maintain it | Preset mapping you must conform to | |
| Fit to your Odoo version/edition | Built and tested for your exact 17/18/19 + Community/Enterprise | Depends on your team's coverage | Listing-dependent; may lag new versions | |
| Source code & git handover | Full source plus tagged git repository handed over | You own it by definition | Often obfuscated or license-locked | |
| Audit trail & access control | Immutable file attachments plus record-rule-restricted access | Only if you build it | Varies by vendor | |
| Delivery & support | 2–4 weeks, UAT + rollback, post-go-live support window | Bound by your internal roadmap and capacity | Self-install; support via ticketing at best | |
| Total cost of ownership | From $499 indicative, fixed quote after scoping | High developer time and ongoing maintenance | Low sticker price, high adaptation/maintenance effort |
No. This is a build-to-order module. ECOSIRE builds it against your specific Odoo version, edition, tax configuration and JPK variant, then installs and supports it. There is no instant download — you request a quotation and we scope it with you first.
Typical delivery is 2–4 weeks from confirmed scope. The exact timeline is fixed in your quote and depends on your Odoo version, number of companies, how GTU/marker data must be captured, and whether historical data migration or automated submission is included.
Pricing starts from $499 as an indicative single-company base scope. After a short scoping call we issue a fixed written quote. Drivers such as multi-company filing, custom GTU auto-classification, historical data migration, or automated e-Deklaracje submission increase the quoted scope.
We target Odoo 17.0, 18.0 and 19.0, on Community or Enterprise. The accounting reporting engine differs between Community and Enterprise, so we confirm your exact edition during scoping and build the mapping accordingly.
Every engagement includes a post-go-live support window for defect fixes and filing-cycle questions. Because JPK schemas change when the Ministry of Finance updates them, we can quote an ongoing maintenance arrangement to keep the module current with schema revisions.
The base scope generates a schema-valid, signature-ready XML that you download and submit through your usual channel. Automated e-signature or e-Deklaracje submission via the XML-RPC/JSON-RPC API can be added to scope if you need a hands-off filing flow.
Yes. The generated JPK file is validated against the current XSD inside Odoo before it is offered for download, and we reconcile a sample period against your on-screen Odoo tax report during UAT so structural and totals errors surface before filing.
A build-to-order Odoo module that generates schema-valid Polish JPK VAT XML (JPK_V7M / JPK_V7K) directly from your posted tax entries. ECOSIRE scopes, builds, installs and supports it around your specific chart of accounts and tax mapping.