A build-to-order Odoo module that connects your Odoo instance to Easyship for live multi-courier rate comparison, pre-paid duties and taxes (DDP), label generation, and tracking sync. ECOSIRE scopes, builds, installs, and supports it — typical delivery 2-4 weeks from confirmed scope. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo module that connects your Odoo instance to Easyship for live multi-courier rate comparison, pre-paid duties and taxes (DDP), label generation, and tracking sync. ECOSIRE scopes, builds, installs, and supports it — typical delivery 2-4 weeks from confirmed scope.
Sem pagamento agora. Isto envia um pedido de orçamento à nossa equipe — responderemos por e-mail com preços e próximos passos.
Cross-border sellers hit a wall the moment an order needs a real landed cost. Odoo's native delivery framework (delivery.carrier, fixed and rule-based methods, plus the handful of Enterprise carrier connectors) can quote a shipping price, but it has no concept of comparing dozens of global couriers in one API call, no pre-paid duties-and-taxes (DDP) calculation, and no automated customs paperwork. Teams end up copy-pasting HS codes into a courier portal, guessing at import duties, then pasting tracking numbers back into stock.picking by hand — which is exactly where margin and delivery promises leak away.
New `easyship` provider type on `delivery.carrier` implementing Odoo's standard `rate_shipment` / `send_shipping` / `get_tracking_link` / `cancel_shipment` interface
Live multi-courier rate comparison via the Easyship REST API, returning courier, service level, transit estimate, insurance and total cost per option
Pre-paid duties and taxes (DDP) landed-cost calculation surfaced on the sale order and eCommerce checkout before the customer commits
`compute` landed-cost field with `@api.depends` on order lines, packages and destination so quotes stay accurate as the cart changes
HS code, country of origin and declared customs value fields added to `product.template` / `product.product` for accurate duty estimation
Automated label purchase on delivery-order validation, storing the returned label PDF as an `ir.attachment` on `stock.picking`
ECOSIRE builds a dedicated Easyship connector that lives inside Odoo as a first-class delivery integration. We add an easyship provider type on delivery.carrier, wire a service layer to the Easyship REST API (with your API token stored in ir.config_parameter, never in source), and surface real-time rates at quotation and eCommerce checkout. A rate request sends parcel dimensions, weight, origin and destination, and declared item values; each returned option — courier, service level, delivery estimate, insurance, and the DDP-inclusive landed cost — is written back to the sale order so your team or your website customer picks with full visibility.
Technically, the module extends delivery.carrier with easyship_rate_shipment, easyship_send_shipping, easyship_get_tracking_link, and easyship_cancel_shipment methods that plug into Odoo's standard carrier interface, so the rest of the app behaves normally. HS codes, country of origin, and declared customs values live on product.template; a compute field with @api.depends on order lines, packages, and destination keeps the landed cost live as the cart changes. On validation of the delivery order we call Easyship to buy the label, store the returned PDF as an ir.attachment, write the tracking reference and courier onto the picking, and generate the commercial invoice / CN22 / CN23 customs documents as a QWeb report. An Odoo scheduled action (ir.cron) polls Easyship for status updates and posts tracking events to the picking chatter, while branded tracking notifications go out through Odoo's mail templates.
Because every backend field is real Odoo data, everything downstream works as expected: ir.model.access.csv plus record rules scope who can see rates and buy labels, automated actions can trigger label purchase on a stage change, and the whole thing is reachable over the XML-RPC / JSON-RPC API if you drive fulfillment from an external OMS or WMS. We build against your exact edition and version — Community or Enterprise, Odoo 17.0, 18.0, or 19.0 — and account for the differences (for example, Enterprise's studio-generated fields or delivery workflow tweaks) during scoping.
This is a build-to-order engagement, not an instant apps.odoo.com download. After a short scoping call we confirm your couriers, countries, DDP rules, and label/customs requirements in writing, then build, test on a staging copy of your database, and hand over installable source plus a git repository. Typical delivery is 2 to 4 weeks from confirmed scope, followed by user training and a post-go-live support window.
Ships from one or two hubs to many countries and needs the customer to see a true DDP landed cost at checkout so there are no surprise duty bills and fewer refused parcels.
Wants to stop logging into separate courier portals and instead compare every service on rate, speed and insurance directly inside Odoo, then buy the label without leaving the delivery order.
Runs the Odoo Website shop and needs real Easyship rates and duties injected into the checkout flow, with branded tracking emails that match the store, not generic courier notifications.
Owns the Odoo instance and needs a maintainable, access-controlled integration with proper security rules, a git repo, and XML-RPC/JSON-RPC hooks for their WMS rather than a black-box app.
Compre a licença em ecosire.com e baixe o ZIP do módulo Easyship Connector for Odoo no painel da sua conta.
Extraia o ZIP em sua pasta de complementos personalizados do Odoo no servidor (ou faça upload via Aplicativos > Instalar do arquivo em Odoo.sh/runbot).
Ative o modo de desenvolvedor, abra Aplicativos, clique em Atualizar lista de aplicativos, procure por Easyship Connector for Odoo e pressione Instalar.
Abra o novo menu, cole sua chave de licença ECOSIRE, conecte quaisquer credenciais externas (Shopify, Amazon, Stripe, etc.) e salve.
Execute o teste de conexão integrado, sincronize seus primeiros 10 registros e agende o cron recorrente. Entre em contato com o suporte se algo falhar.
| Critério | ECOSIRE | Construção personalizada | Concorrente | Odoo nativo |
|---|---|---|---|---|
| Multi-courier rate comparison | Live Easyship comparison across global couriers inside the sale order and checkout | Possible but you build and maintain the whole API layer yourself | Often single-courier or limited region coverage | |
| DDP duties & taxes | Pre-paid landed cost computed and shown before the customer commits | Must design duty logic and HS mapping from scratch | Rarely included; usually shipping cost only | |
| Customs documents | Commercial invoice + CN22/CN23 auto-generated as branded QWeb reports | Build each report template and data mapping yourself | Sometimes a generic label, rarely full customs docs | |
| Tracking sync | `ir.cron` polling posts status events to the picking chatter automatically | You build and schedule the polling and error handling | Varies; often manual tracking-number entry | |
| Fit to your Odoo | Built to your exact version, edition and workflow with UAT on staging | Fully bespoke but you own all the risk and testing | Generic build; may clash with your customizations | |
| Odoo version support | 17.0 / 18.0 / 19.0, Community or Enterprise, with migration path | Whatever you build and maintain per version | Often lags new Odoo releases | |
| Security & access | `ir.model.access.csv` + record rules, token in `ir.config_parameter` | You must design and audit the access model | Access model quality varies by vendor | |
| Ownership & support | Full source + git repo + training + post-go-live support window | You own it but carry all maintenance in-house | Vendor-locked; support depends on the publisher |
This is a build-to-order module, not an instant download. After a scoping call to confirm your couriers, countries, DDP rules and customs requirements, typical delivery is 2 to 4 weeks from confirmed scope. Complex multi-warehouse or heavy eCommerce-checkout customization can extend that, and we agree the timeline in writing before we start.
Yes. You provide your own Easyship account and API token, which we store securely in Odoo's `ir.config_parameter`. Courier rates, DDP calculations and label purchases run through your Easyship account and billing; the module is the Odoo-side integration, not a reseller of Easyship.
Odoo 17.0, 18.0 and 19.0, on both Community and Enterprise. We build against your exact version and edition and account for edition differences (delivery workflow, studio fields, etc.) during scoping. If you later upgrade Odoo, a version migration can be quoted separately.
The module sends declared item values, HS codes and country of origin (stored on the product) plus the destination to Easyship, which returns the pre-paid duties-and-taxes estimate. That landed cost is written to the sale order and, if you run Odoo eCommerce, shown at checkout so the customer sees the true delivered price.
Every engagement includes a post-go-live support window for bug fixes and configuration adjustments. You receive the full source and git repository, so your team can maintain it. Beyond the included window we offer ongoing support and enhancement retainers, and we can quote Odoo version-migration work when you upgrade.
Yes. We generate the commercial invoice and CN22 / CN23 customs documents as QWeb reports from the live order data, branded to your company. They are produced on label purchase so warehouse staff do not fill customs forms by hand.
Yes. Because everything is standard Odoo data, the connector is fully reachable over the XML-RPC / JSON-RPC API. An external OMS or WMS can request rates, trigger label purchase and read tracking, and we can wire Odoo automated actions to buy a label automatically on a stage change.
A build-to-order Odoo module that connects your Odoo instance to Easyship for live multi-courier rate comparison, pre-paid duties and taxes (DDP), label generation, and tracking sync. ECOSIRE scopes, builds, installs, and supports it — typical delivery 2-4 weeks from confirmed scope.