A build-to-order Odoo integration that connects your J&T Express account for one-click shipment booking, AWB/label generation, COD amount mapping and real-time tracking sync. ECOSIRE builds, installs and supports it on Odoo 17, 18 or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $199.00 USD; request a quote for a scoped proposal.
Illustrative previewA build-to-order Odoo integration that connects your J&T Express account for one-click shipment booking,
AWB/label generation, COD amount mapping and real-time tracking sync.
ECOSIRE builds, installs and supports it on Odoo 17, 18 or 19.
No DIY setup — a working app, built, installed and supported by ECOSIRE.
Start with a one-time build price. We scope it with you at kickoff.
ECOSIRE builds, configures and installs it on your Odoo.
You go live in about 2–4 weeks, with a post-launch support window.
If you ship with J&T Express across Southeast Asia, China or MENA, your team is almost certainly living in two systems at once: Odoo for the sale order and delivery, and the J&T merchant portal or a spreadsheet for the actual booking, waybill and COD figures. Every parcel gets keyed twice, tracking numbers are copy-pasted back by hand, and COD amounts collected by the courier never quite reconcile against what Odoo invoiced. Odoo's native stock.picking and the built-in delivery carrier framework give you a carrier_id and a manual tracking-reference field, but there is no J&T API call behind the "Send to Shipper" button — the native flow stops exactly where the real integration needs to begin.
ECOSIRE builds a dedicated J&T Express connector that plugs into that native delivery layer and does the rest. We add a J&T delivery.carrier provider type so a shipping method resolves against J&T's serviceability and rating rules, then implement the send_shipping() and cancel_shipment() hooks to call the J&T Express API directly from the picking. When a warehouse user validates a delivery, the connector creates the J&T order, writes the airway bill number back onto stock.picking.carrier_tracking_ref, and pulls a print-ready label. API credentials (customer code, API key, HMAC/private-key request signing) live in an encrypted settings model backed by ir.config_parameter — never hardcoded — with separate sandbox and production endpoints so we can UAT safely before go-live.
Technically, the connector is a proper Odoo addon: a clean __manifest__.py declaring delivery and stock_delivery dependencies, new models extending models.Model for J&T configuration, shipment logs and COD reconciliation lines, compute fields with @api.depends for landed cost and COD variance, and QWeb reports for the AWB label and a shipping manifest. Access is locked down through ir.model.access.csv plus record rules so only shipping and finance roles touch courier data. Tracking sync runs on a scheduled automated action (ir.cron) that polls the J&T tracking endpoint and posts status changes to the delivery's chatter; where J&T supports push callbacks we expose a signed controller endpoint instead of polling. COD amounts are mapped from the sale order total onto the booking payload and, on remittance, matched back so finance sees a clean collected-vs-expected line. The same connector is exposed to your other automations through Odoo's XML-RPC/JSON-RPC API, so an external OMS or marketplace bridge can trigger a J&T booking without touching the UI.
Because this is build-to-order, nothing ships as a blind download. We start with a short scoping call to confirm your J&T account type, regions, COD workflow and whether you are on Odoo 17.0, 18.0 or 19.0 (Community or Enterprise — the connector targets Community APIs so it runs on both). We then build against your J&T sandbox credentials, hand you a staging environment for UAT, and only after you sign off do we install to production with a rollback plan. Typical delivery is 2–4 weeks from confirmed scope, and you receive the full source, documentation and a post-go-live support window.
Runs an Odoo-based ecommerce or B2C operation shipping J&T parcels across Indonesia, Malaysia, the Philippines, Vietnam, China or the Gulf, and needs bookings, labels and tracking to happen inside Odoo instead of the merchant portal.
Validates dozens to hundreds of deliveries a day and wants one-click AWB generation and label printing off the picking, with cancellation handled cleanly when an order changes.
Owns cash-on-delivery reconciliation and needs collected-vs-expected COD amounts matched automatically so remittances from J&T tie back to invoices without manual spreadsheet chasing.
Responsible for a Community or Enterprise Odoo instance and wants a maintainable, role-secured addon with proper logging and an API surface other systems can call, not a fragile portal-scraping hack.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| J&T API booking from Odoo | Automated `send_shipping()` on picking validation | Possible, but you design and maintain the integration | Sometimes, if the module targets your J&T region | None — manual tracking field only |
| AWB label generation | Print-ready label via QWeb from the J&T API | Buildable with in-house dev effort | Varies; often a fixed template | Not available |
| COD reconciliation | Collected-vs-expected matching with variance compute | Only if you scope and build it | Rarely included | Manual, outside Odoo |
| Tracking sync | `ir.cron` polling plus signed webhook option | You build and schedule it yourself | Usually basic polling | Manual copy-paste of tracking numbers |
| Fit to your workflow | Scoped to your regions, edition and COD process | Fully bespoke but you own delivery risk | Generic; adapt your process to the module | Generic carrier framework only |
| Version support (17/18/19) | Pinned and tested to your exact version | Depends on your team's coverage | Often lags new Odoo releases | Ships with core, no J&T logic |
| Security and credential handling | Encrypted config, signed requests, role rules | As good as your own review | Unknown; audit required | N/A — no external calls |
| Support and maintenance | Post-go-live window plus paid upgrades | Your team maintains it | Vendor-dependent, often forum-only | Community/Enterprise support, no J&T scope |
This is a build-to-order module. After a short scoping call to confirm your J&T account, regions, COD workflow and Odoo version, typical delivery is 2–4 weeks from confirmed scope. We build against your J&T sandbox, hand you a staging environment for UAT, and only cut over to production after you sign off.
No. ECOSIRE builds, installs and supports this connector specifically for your J&T account and Odoo version. There is no instant download — you receive tailored source code plus installation, documentation and a support window after go-live.
Odoo 17.0, 18.0 and 19.0. The connector is built on Community-level APIs (the `delivery` and `stock` frameworks), so it runs on both Community and Enterprise. We confirm your exact version and edition on the scoping call and pin the release to it.
The connector maps the sale order total onto the J&T booking as the COD amount using a configurable currency and rounding policy. On remittance, a reconciliation model matches courier-collected amounts against expected values and computes any variance, so finance sees a clean collected-vs-invoiced line instead of a spreadsheet.
A scheduled automated action (`ir.cron`) polls the J&T tracking endpoint and posts status changes to each delivery's chatter. Where your J&T account supports push callbacks, we instead expose a signed webhook controller so status updates arrive in real time without polling.
Every build includes a post-go-live support window for bug fixes and configuration adjustments. You also get the full git repository, so your team can maintain it. Beyond the initial window we offer ongoing support and paid upgrades — for example when J&T changes its API or when you migrate to a newer Odoo version.
Yes. Customer code, API key and signing keys live in an encrypted settings model backed by `ir.config_parameter` — never hardcoded in the source. Requests are signed (HMAC/private key) and logged to a dedicated shipment-log model, and access to courier and COD data is restricted by role through `ir.model.access.csv` and record rules.

A build-to-order Odoo module that turns your warehouse into a multi-client third-party logistics operation, with per-client inventory segregation, activity-based storage and handling billing, and a customer fulfillment portal. ECOSIRE scopes, builds, installs, and supports it.

Build-to-order Odoo module that syncs orders, stock levels and tracking between Odoo and any external 3PL via API or XLSX/CSV.

A made-to-order Odoo module that governs which products and categories appear on each of your websites, with user- and group-based restrictions layered on top. ECOSIRE builds, installs, and supports it against your exact multi-website setup.

Build-to-order Odoo WMS layer: zoning, wave/cluster picking, directed putaway and velocity slotting. We build, install and support it.
A build-to-order Odoo integration that connects your J&T Express account for one-click shipment booking, AWB/label generation, COD amount mapping and real-time tracking sync. ECOSIRE builds, installs and supports it on Odoo 17, 18 or 19.