Skip to main content
Customs & HS Code Compliance for Odoo — Build-to-order Odoo module for HS/HTS codes, customs declarations, CN22/CN23 forms an — 1/1Illustrative preview

Build-to-order Odoo module for HS/HTS codes, customs declarations,

CN22/CN23 forms and duty/tax estimates on cross-border shipments.

What is Customs & HS Code Compliance for Odoo?

Build-to-order Odoo module for HS/HTS codes, customs declarations, CN22/CN23 forms and duty/tax estimates on cross-border shipments. 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

HS/HTS code assignment on product.template and product.product, with a searchable code library, category defaults and per-variant overrides
Country-of-origin capture (ISO 3166) on products and stock moves, propagated onto declarations and shipping documents
Incoterms 2020 selection on sale orders and delivery orders, controlling who bears duty, insurance and freight on the paperwork
Customs declaration model (a dedicated models.Model with states draft / submitted / cleared) linked to the originating delivery order and sale order
QWeb PDF report templates for commercial invoice and packing list, printable from the Sales Order or Delivery with per-line HS codes and origin
CN22 and CN23 postal declaration QWeb forms plus a generic customs declaration layout, auto-filled from order and product data
Duty and import-tax estimation as a stored @api.depends computed field that recalculates when HS code, destination, declared value or Incoterm changes
Per-country / per-HS duty rate configuration table so estimates reflect your real tariff schedules rather than hardcoded guesses
Landed-cost preview combining goods value, freight, insurance and estimated duty/tax on the order before shipment
Security via ir.model.access.csv plus record rules — separate roles for warehouse preparers and compliance managers, with company-scoped multi-company rules
Automated actions / server actions to flag shipments missing an HS code, origin or Incoterm before they can be validated
XML-RPC / JSON-RPC exposure of declarations and HS data so brokers, carriers and 3PL systems can read and write records
Menu, list, form and search views (Odoo XML, OWL-compatible) under an Inventory / Customs section, with filters by country, status and Incoterm
Chatter, activity scheduling and full audit trail on every declaration for compliance evidence

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

Customs & HS Code Compliance is a build-to-order Odoo module that ECOSIRE designs, builds, installs and supports for cross-border shippers and freight forwarders — it is not an instant apps.odoo.com download. You buy the engagement; our engineers deliver a working module tailored to your Odoo 17, 18 or 19 database within a one working week lead time.

The module turns Odoo into the single place where your product master, sales orders, delivery orders and customs paperwork stay in sync. We extend product.template and product.product with dedicated HS/HTS, country-of-origin and Incoterms fields, add a customs declaration model with its own security and record rules, and wire QWeb report templates that print commercial invoices, packing lists, CN22 and CN23 forms straight from the Delivery (stock.picking) or Sales Order — no re-keying into a separate portal.

Duty and import-tax estimation is computed with real Odoo mechanics: stored computed fields using @api.depends recalculate landed cost when HS code, destination country, declared value or Incoterm changes, so your team sees an estimate before the goods ship. Every HS/HTS assignment, declaration and printed document is a first-class Odoo record with chatter, audit trail and access control via ir.model.access.csv and record rules — so a warehouse user can prepare paperwork while only a compliance manager can finalise a declaration.

Because it is native Odoo, everything is reachable over XML-RPC / JSON-RPC for your carrier, broker or 3PL integrations, respects Community vs Enterprise feature boundaries, and upgrades cleanly across 17/18/19. We ground the build in your actual tariff schedules, destination markets and forwarder workflow — then hand over documented source code you own, configuration, training and a support window.

What you get

  • Installable Odoo module (custom addon with __manifest__.py, models, views, security and QWeb reports) targeting your chosen Odoo 17, 18 or 19 version
  • Full, documented source code that you own — delivered to your Git repository or as a packaged addon, no license lock-in
  • Configuration in your database: HS/HTS library seeded, duty-rate tables for your destination countries, Incoterms and report branding
  • QWeb report templates (commercial invoice, packing list, CN22, CN23, customs declaration) styled with your company header and legal fields
  • Security configuration: ir.model.access.csv, record rules and user groups mapped to your warehouse vs compliance roles
  • Deployment on your instance (self-hosted, Odoo.sh or ECOSIRE-managed) with a smoke-tested end-to-end shipment-to-paperwork run
  • Admin and end-user documentation plus a live training session for warehouse and compliance staff
  • A post-go-live support window covering bug fixes, minor adjustments and compatibility questions

Who this is for

Cross-border e-commerce shipper

Runs an online store fulfilling international parcels from Odoo Inventory and needs CN22/CN23 and commercial invoices printed per delivery, with HS codes and origin already on every product so parcels clear customs without manual paperwork.

Freight forwarder / customs broker

Manages declarations on behalf of many clients and needs a structured customs declaration record linked to each shipment, role-based access for preparers vs finalisers, and XML-RPC access so external broker systems can push and pull declaration data.

Export operations / compliance manager

Owns tariff classification accuracy and audit readiness; wants HS/HTS assignments enforced, duty estimates visible before shipment, Incoterms captured correctly, and a full chatter audit trail on every declaration for regulator or auditor review.

How Customs & HS Code Compliance for Odoo Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
HS/HTS codes on products with duty estimationDedicated HS/HTS fields plus @api.depends duty estimation configured for your countriesPossible but you design the data model and compute logic from scratchSome apps add an HS field; duty estimation is rare and rate tables are genericNo
CN22 / CN23 and customs declaration formsQWeb templates for CN22, CN23, commercial invoice and packing list, branded to youMust be authored as bespoke QWeb reportsVaries — some print invoices, few cover CN22/CN23No
Tailored to your tariff schedules and forwarder workflowYes — scoped to your destinations, roles and process before buildYes, if you have the in-house Odoo engineering capacityNo — off-the-shelf assumptions you adapt toNo
Role-based access (preparer vs compliance manager)ir.model.access.csv plus record rules mapped to your real rolesYou write the security rules yourselfUsually a single generic access levelPartial
Source code ownership and no license lock-inFull documented source delivered to you, no per-seat app licenceYes, you own what you buildNo — bound to the vendor's licence and update cyclePartial
Delivery model and effort to productionBuilt, installed, tested and trained by ECOSIRE in one working weekWeeks-to-months of your own developer time to reach the same scopeInstant install but then significant configuration and gap-fillingImmediate but the capability simply does not exist
Support, updates and version upgradesPost-go-live support window plus optional 17/18/19 upgrade retainerEntirely your team's responsibilityDepends on vendor's roadmap and paid support tierCovered by Odoo core but no customs feature to support

Frequently Asked Questions about Customs & HS Code Compliance

How long until the module is delivered and working in my database?

This is a build-to-order engagement with a typical one working week lead time, not an instant download. After a short scoping call we confirm your Odoo version (17, 18 or 19), destination markets and tariff data, then build, test and deploy the module to your instance. Timing depends on how many report formats and duty tables you need; we agree a delivery date in writing before starting.

What support and updates do I get after go-live?

Every engagement includes a post-go-live support window for bug fixes, minor tweaks and compatibility questions. Because you receive the full source code, your team or ours can maintain it. We also offer optional ongoing support and version-upgrade retainers to keep the module compatible when you move between Odoo 17, 18 and 19 or apply Odoo point releases.

Does this work on Odoo Community or only Enterprise?

The module is built on standard Odoo primitives — models.Model, fields, computed fields, ir.model.access.csv, record rules, QWeb reports and standard views — so the core runs on both Community and Enterprise for Odoo 17, 18 and 19. If your scope requires Enterprise-only features (for example advanced studio-style customisations or specific Enterprise apps), we flag that during scoping so there are no surprises.

Are the duty and import-tax figures official or an estimate?

They are estimates, computed from the duty-rate tables we configure for your destination countries and HS codes, combined with declared value, freight, insurance and Incoterm. They help your team price and prepare shipments. They are not a substitute for a binding ruling from a customs authority or licensed broker, and final assessed duty is determined by the destination customs office.

Can it integrate with my carrier, broker or 3PL systems?

Yes. All records — HS/HTS data, declarations and shipping documents — are native Odoo models reachable over XML-RPC and JSON-RPC, and we can add scheduled or automated actions and webhooks as part of the build. During scoping we map the exact integration points so brokers, carriers or a 3PL can read and write the data they need.

Will it survive an Odoo version upgrade?

We build against clean, upgrade-friendly patterns and avoid fragile overrides where possible, so the module moves across 17, 18 and 19 with predictable effort. Because Odoo's own APIs change between major versions, a version jump may need a small migration pass, which we can handle under an upgrade retainer or as a fixed-scope follow-on.

Request a quote

Customs & HS Code Compliance

Build-to-order Odoo module for HS/HTS codes, customs declarations, CN22/CN23 forms and duty/tax estimates on cross-border shipments.

  • HS/HTS code assignment on product.template and product.product, with a searchable code library, category defaults and per-variant overrides
  • Country-of-origin capture (ISO 3166) on products and stock moves, propagated onto declarations and shipping documents
  • Incoterms 2020 selection on sale orders and delivery orders, controlling who bears duty, insurance and freight on the paperwork
  • Customs declaration model (a dedicated models.Model with states draft / submitted / cleared) linked to the originating delivery order and sale order

Request a Quotation

Tell us about your Customs & HS Code Compliance 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.