Skip to main content
Czech Republic Localization + Control Statement — A build-to-order Odoo localization for the Czech Republic covering the loca — 1/1Illustrative preview

A build-to-order Odoo localization for the Czech Republic covering the local chart of accounts,

VAT rates and reverse-charge codes, the Kontrolni hlaseni control statement, the DPH VAT return, and ISDOC e-invoicing.

ECOSIRE builds, installs, and supports it for your company after a scoping call.

What is Czech Republic Localization + Control Statement?

A build-to-order Odoo localization for the Czech Republic covering the local chart of accounts, VAT rates and reverse-charge codes, the Kontrolni hlaseni control statement, the DPH VAT return, and ISDOC e-invoicing. ECOSIRE builds, installs, and supports it for your company after a scoping call. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Czech chart of accounts (uctova osnova) template installed and mapped to Odoo account types, with default tax and account configuration for a Czech company
Czech VAT rate set (21% standard, 12% reduced) with correctly tagged tax records that drive both the control statement and the DPH return
Reverse-charge tax codes bound to a kod predmetu plneni (subject code) reference table so each domestic reverse-charge supply carries its statutory code
Kontrolni hlaseni (VAT control statement) generation with automatic A1/A2/A3/A4/A5/B1/B2/B3 section bucketing from posted account.move.line tax tags
EPO-schema XML export for the control statement, validated against the required element structure and ready to upload to the portal
Priznani k DPH (VAT return) computation and XML export, with totals reconciled line-by-line against the control statement
Souhrnne hlaseni (EU recapitulative statement) export for intra-community goods and services supplies
DIC / ICO fields with format validation and live ARES company-register lookup to auto-fill partner name, address, and registration data
ISDOC e-invoice generation from account.move plus an import path that maps inbound ISDOC into draft vendor bills
Bank statement import parsers for the ABO and GPC file formats into account.bank.statement lines with reconciliation-ready references
Czech rounding and haler-handling logic applied at invoice, tax, and payment level so document totals match statutory rules
Period-close workbench (OWL/backend views) listing each filing period, its section totals, and its submission status
Automated actions that flag control-statement and VAT-return periods approaching their filing deadline
XML-RPC / JSON-RPC endpoints exposing the XML exports and ARES/ISDOC exchanges for integration with external filing or DMS workflows
Access rights via ir.model.access.csv and record rules segregating who can generate, view, and export statutory filings

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Czech accounting teams that run their books in Odoo hit a hard wall every month: the tax office expects the Kontrolni hlaseni (VAT control statement) and the Priznani k DPH (VAT return) as structured XML submitted through the EPO portal, with every taxable supply classified by the correct reverse-charge subject code and split across the A1/A2/A3/A4/A5/B1/B2/B3 sections. Odoo core ships generic accounting and base_vat VAT-number checks, and a stock localization gives you a chart of accounts and a few tax records, but it does not generate a submission-ready EPO XML, does not enforce the kod predmetu plneni table on reverse-charge lines, and does not produce ISDOC invoices that Czech partners expect. Teams end up exporting to spreadsheets, re-keying into third-party portal tools, and reconciling by hand — exactly the work that triggers late-filing penalties when a code is wrong.

ECOSIRE builds a made-to-order Czech localization module for your Odoo database that closes those gaps end to end. On the accounting side we install a Czech uctova osnova chart-of-accounts template, the 21% and 12% VAT rates with their matching tax tags, and the reverse-charge tax codes wired to a kod.predmetu.plneni reference table so posting a construction or scrap-metal supply automatically carries the right subject code. On top of account we add new models.Model classes for the control-statement and VAT-return periods, with compute fields (@api.depends on the posted account.move.line tax tags) that bucket every line into its correct Kontrolni hlaseni section and roll the totals into the DPH return. A QWeb-driven XML export renders the exact EPO schema for both the control statement and the VAT return, plus the Souhrnne hlaseni (EU recapitulative statement) for intra-community supplies, so you download a file that uploads straight into the portal. DIC/ICO fields are validated and enriched through an ARES company lookup service, ISDOC e-invoices are generated from account.move and can be imported back into vendor bills, and bank statements in the ABO and GPC formats are parsed into account.bank.statement lines. Czech rounding and haler-handling rules are applied at invoice and payment level so totals match to the last heller.

Everything is delivered as a proper installable Odoo module: a clean __manifest__.py declaring dependencies on account, base_vat, and the base localization, access rights in ir.model.access.csv plus record rules for multi-user segregation, backend views and OWL widgets for the control-statement workbench, QWeb reports for the human-readable filings, and automated actions that flag periods approaching their deadline. The XML exports and the ARES/ISDOC exchanges are also reachable over Odoo's XML-RPC/JSON-RPC API so you can wire them into an existing filing or document-management workflow. The build targets your exact platform version and works on both Community and Enterprise for Odoo 17.0, 18.0, and 19.0 — where Enterprise adds document and OCR features we integrate with them rather than reinventing them.

Because this is build-to-order, nothing is auto-installed from a marketplace. After you request a quotation we run a short scoping call, confirm your Odoo version, edition, company structure, and which filings and formats you actually need, then build against a staging copy of your database, run UAT with your accountant on real periods, and hand over the installed module with documentation and training. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); additional legal entities, extra bank-format or portal integrations, deeper reverse-charge code coverage, and migrating historical VAT periods increase the quoted scope. You receive a fixed quote after the scoping call, before any work begins.

What you get

  • Installable Odoo module source built for your exact target version (17.0 / 18.0 / 19.0) and edition (Community or Enterprise)
  • Installation and configuration on your environment: chart of accounts, VAT rates, reverse-charge codes, and company DIC/ICO setup
  • Technical documentation covering the data model, tax-tag mapping, XML schema mapping, and API endpoints
  • User guide plus a live training session for your accountants on running the monthly control statement and DPH return
  • UAT on a staging copy of your database against real VAT periods, with a documented rollback plan
  • Post-go-live support window for defect fixes and filing-schema questions
  • Git repository handover with full commit history and branch/tag for your version
  • Sample EPO XML outputs and an ISDOC invoice example verified against the current schema

Who this is for

Czech SME finance manager

Runs the company books in Odoo and files the monthly Kontrolni hlaseni and DPH return. Wants both statutory XML files generated inside Odoo instead of exporting to spreadsheets and re-keying into a portal tool.

Accountant serving multiple Czech clients

Manages VAT compliance for several companies and needs reliable section bucketing, ARES lookups, and reverse-charge subject codes so each client's control statement is right the first time and passes EPO validation.

Finance lead at a foreign group's Czech entity

Operates a Czech subsidiary on the group's Odoo instance and needs a compliant local localization layer, ISDOC e-invoicing, and ABO/GPC bank import without moving off the shared ERP.

Odoo implementation partner or in-house admin

Owns the Odoo deployment and wants a clean, documented module with proper manifest, access rules, and API hooks that they can maintain and integrate rather than a black-box add-on.

How Czech Republic Localization + Control Statement Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Kontrolni hlaseni EPO XMLGenerated inside Odoo, section-bucketed, portal-readyPossible but you build and maintain the schema yourselfOften partial or export-to-spreadsheet onlyNot produced
Reverse-charge subject codeskod predmetu plneni table wired to tax codesHand-coded per projectBasic tax tags, rarely the full code tableGeneric taxes, no subject-code table
DPH VAT return + Souhrnne hlaseniBoth computed and exported as XML, reconciledBuild and reconcile each yourselfReturn sometimes covered, recap often missingGeneric tax report only, no XML
ARES company lookupLive DIC/ICO validation and auto-fillExtra integration work on your budgetUsually absentbase_vat format check only
ISDOC + ABO/GPC bank importe-invoice generate/import and both bank formatsEach parser written from scratchSometimes one, seldom allNot supported
Fit to your version and booksBuilt for your exact 17/18/19 edition and dataFully bespoke but time and cost intensiveGeneric, take-it-or-leave-itOne-size stock localization
Support and schema updatesPost-go-live window plus scoped maintenanceYou own all future maintenanceVendor-dependent, variableCommunity-driven, no guarantee
Delivery modelBuild-to-order, one working week, UAT + rollbackOpen-ended internal projectInstant install, unverified fitIncluded but incomplete for filing

Frequently Asked Questions about Czech Republic Localization + Control Statement

Is this a ready-made module I can download and install today?

No. This is a build-to-order product. ECOSIRE builds the Czech localization for your specific Odoo version, edition, and company setup, then installs and supports it. You request a quotation, we scope it, and we deliver the installed module — there is no instant marketplace download.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The timeline depends on your Odoo version, number of legal entities, which filings and bank formats you need, and whether historical VAT periods must be migrated. We agree the schedule in the scoping call before work starts.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base-scope figure. Drivers like additional legal entities, extra bank-format or portal integrations, deeper reverse-charge code coverage, and data migration increase the quoted scope. After a short scoping call you receive a fixed written quote before any work begins.

Does the export actually upload to the EPO portal?

Yes. The module generates the control statement (Kontrolni hlaseni) and VAT return (Priznani k DPH) as EPO-schema XML files that you upload through the portal, along with the Souhrnne hlaseni for intra-community supplies. During UAT we validate the generated XML against real periods with your accountant.

What support and updates are included after go-live?

Every build includes a post-go-live support window for defect fixes and filing questions. Because the module tracks statutory schemas that change over time, we can provide schema-update maintenance as an ongoing arrangement — scoped and quoted separately so you only pay for the versions you keep in service.

Will it work on Odoo Community, or only Enterprise?

It works on both. The core localization, control statement, VAT return, ISDOC, and bank import run on Community for Odoo 17.0, 18.0, and 19.0. Where Enterprise adds document management or OCR, we integrate with those features rather than duplicating them. You confirm your edition in the scoping call.

Can it handle multiple companies and the ARES lookup for each partner?

Yes. Multi-company setups are a scoping driver rather than a limitation — each entity gets its own DIC/ICO configuration and filing periods. Partner DIC/ICO fields are validated and enriched through a live ARES company-register lookup that auto-fills name, address, and registration data.

Request a quote

Czech Republic Localization + Control Statement

A build-to-order Odoo localization for the Czech Republic covering the local chart of accounts, VAT rates and reverse-charge codes, the Kontrolni hlaseni control statement, the DPH VAT return, and ISDOC e-invoicing. ECOSIRE builds, installs, and supports it for your company after a scoping call.

  • Czech chart of accounts (uctova osnova) template installed and mapped to Odoo account types, with default tax and account configuration for a Czech company
  • Czech VAT rate set (21% standard, 12% reduced) with correctly tagged tax records that drive both the control statement and the DPH return
  • Reverse-charge tax codes bound to a kod predmetu plneni (subject code) reference table so each domestic reverse-charge supply carries its statutory code
  • Kontrolni hlaseni (VAT control statement) generation with automatic A1/A2/A3/A4/A5/B1/B2/B3 section bucketing from posted account.move.line tax tags

Request a Quotation

Tell us about your Czech Republic Localization + Control Statement 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.