- होम
- Apps
- Multichannel & PIM Tools
- Delivery Base Module
उदाहरणात्मक पूर्वावलोकनA build-to-order foundation module that gives every Odoo shipping-carrier integration a shared,
consistent base layer — rate abstraction, label storage, tracking hooks, and a common `delivery.carrier` extension pattern.
ECOSIRE scopes, builds, installs, and supports it.
Delivery Base Module क्या है?
A build-to-order foundation module that gives every Odoo shipping-carrier integration a shared, consistent base layer — rate abstraction, label storage, tracking hooks, and a common `delivery.carrier` extension pattern. ECOSIRE scopes, builds, installs, and supports it. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
प्रमुख सुविधाएँ
ऑर्डर पर निर्मित, पूरी तरह आपके लिए तैयार
स्वयं सेटअप की ज़रूरत नहीं — ECOSIRE द्वारा निर्मित, इंस्टॉल और समर्थित एक कार्यशील ऐप।
- 1
आप ऑर्डर करते हैं
एक बार के निर्माण मूल्य से शुरू करें। किकऑफ़ पर हम आपके साथ मिलकर दायरा तय करते हैं।
- 2
हम बनाते और इंस्टॉल करते हैं
ECOSIRE इसे आपके Odoo पर बनाता, कॉन्फ़िगर और इंस्टॉल करता है।
- 3
लाइव + समर्थन
आप लगभग एक कार्य सप्ताह में लाइव हो जाते हैं, गो-लाइव के बाद दो सप्ताह के समर्थन के साथ। हमारे द्वारा दिए गए कोड की खामियाँ निःशुल्क ठीक की जाती हैं।
तकनीकी विनिर्देश
- Odoo संगतता
- Odoo 17, Odoo 18, Odoo 19
- संस्करण
- Enterprise और Community
- लाइसेंस
- लाइसेंस की पुष्टि आवश्यक है
- Python आवश्यकता
- Python 3.10+
- डेटाबेस
- PostgreSQL 12+
इस उत्पाद के बारे में
Once you run more than one courier in Odoo, the cracks show. Odoo's native delivery app models a delivery.carrier and stock.picking handoff, but each carrier connector you bolt on tends to re-invent its own rate-request plumbing, its own label field, its own tracking-reference storage and its own error handling. The result is duplicated code, inconsistent field names across connectors, label PDFs stored three different ways, and a support burden that grows with every new integration. There is no shared contract that says "this is how a shipping carrier talks to Odoo here" — so the tenth connector is as expensive to build and debug as the first.
The Delivery Base Module is the foundation layer that fixes that. It is not a courier connector itself; it is the shared substrate that every ECOSIRE (and your own) shipping integration installs on top of. Technically, it extends delivery.carrier with a common set of fields and abstract methods — a normalized rate-request/rate-response structure, standardized label storage (ir.attachment-backed, one convention for PDF/ZPL/PNG), tracking-number and tracking-URL fields, package-level dimension and weight normalization, and a service-level selector. Carrier-specific modules then subclass a well-defined Python interface (_get_rate(), _send_shipping(), _cancel_shipment(), _get_tracking_link()) instead of each connector improvising its own. Under the hood it uses models.Model inheritance, @api.depends computed fields for landed-cost and volumetric weight, and a thin service layer that carrier modules call — so a new integration is a few hundred lines, not a few thousand.
The module ships with the cross-cutting concerns a fleet of connectors needs but no single connector should own: unit-of-measure conversion between your warehouse UoM and each carrier's expected weight/dimension units, a request/response audit log for debugging carrier API calls, configurable retry and timeout handling, credential storage on the carrier record (with ir.model.access.csv and record rules so only shipping managers read API keys), and a QWeb-driven packing-slip/label report template that carrier modules reuse. Because it exposes its rate and label methods cleanly, they are also reachable over the XML-RPC/JSON-RPC API for headless or e-commerce-driven flows. It is built to your target — Odoo 17.0, 18.0, or 19.0 — and works on both Community and Enterprise (the base itself needs no Enterprise-only dependency; if your carrier flow relies on Enterprise studio or EDI features we call that out during scoping).
Because this is a dependency other modules require, we treat it as an architectural decision, not a plugin drop. During scoping we map which carriers you run now and plan to add, your warehouse UoM conventions, your multi-company and multi-warehouse layout, and any existing home-grown connectors we need to migrate onto the base. We then build against a clean staging clone of your database, run UAT there, and hand over versioned source plus the git repository.
This is build-to-order: nothing is downloaded and switched on instantly. After a short scoping call we confirm scope in writing and typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); the number of carrier interfaces you need supported, multi-company/multi-warehouse layout, UoM and localization depth, and migration of existing custom connectors onto the base all increase the quoted scope. You get a firm fixed quote after the scoping call — never a surprise on the invoice.
What you get
- Installable source code for your target Odoo version (17.0, 18.0, or 19.0), Community or Enterprise
- Installation and configuration on your staging environment, including access-group and record-rule setup
- Technical documentation covering the carrier interface, field contract, and how to build connector modules on top
- User guide plus a live training session for your shipping and warehouse team
- UAT on a staging clone of your database with a documented rollback plan before any production change
- Post-go-live support window for defect fixes and configuration questions
- Git repository handover with full commit history and tagged release
- Reference connector stub demonstrating how to subclass the base interface for a new carrier
Who this is for
Odoo teams running multiple couriers
Operations or IT teams that already ship with two or more carriers and are tired of each connector storing labels, tracking, and rates differently. They need one shared base so the next integration is cheap and consistent.
Odoo partners and in-house developers
Developers who plan to build their own carrier connectors and want a clean, well-documented interface (`_get_rate()`, `_send_shipping()`, etc.) to subclass rather than reinventing rate and label plumbing per carrier.
Logistics-heavy retailers and 3PLs
Businesses with high shipment volume across warehouses and companies that need consistent volumetric-weight calculation, UoM normalization, and an audit trail of every carrier API call for dispute resolution.
E-commerce operations wiring headless flows
Teams driving shipment creation from a storefront or middleware over XML-RPC/JSON-RPC that need the rate and label logic exposed through a stable, documented API surface.
How Delivery Base Module Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo नेटिव |
|---|---|---|---|---|
| What you get | Purpose-built shared carrier base, scoped to your carriers and warehouses | Whatever your team has time to build and maintain | Generic base bundled with one vendor's connectors | A single `delivery.carrier` model with no shared connector contract |
| Carrier interface | Documented abstract methods every connector subclasses consistently | Interface quality depends entirely on internal discipline | Interface tied to that vendor's connector conventions | No abstract multi-carrier interface — each connector improvises |
| Label & tracking storage | One `ir.attachment` convention for PDF/ZPL/PNG plus tracking fields | Often inconsistent between connectors | Standardized within the vendor's own connector set only | Basic tracking reference; no unified label storage |
| Volumetric weight & UoM | Computed volumetric weight and warehouse-to-carrier UoM conversion | Built per connector, easy to get wrong | Varies by vendor; sometimes fixed to their locale | No built-in dimensional-weight or UoM normalization layer |
| API audit & retries | Request/response audit log with configurable timeout and retry | Rarely built until an outage forces it | Usually not exposed as a reusable base concern | None at the base layer |
| Fit & ownership | Made to order; full git repo and source handover to you | You own it, but you also own every bug and upgrade | Licensed as-is; limited to the vendor's roadmap | Ships with Odoo; you extend it yourself |
| Support & delivery | Scoped build, staging UAT, rollback plan, post-go-live support window | Your team is the only line of support | Vendor support tiers, generic to all buyers | Community forums or your Odoo partner |
| Timeline & cost | one working week from confirmed scope; from $999 indicative, fixed quote after scoping | Open-ended internal effort and salary cost | Instant download but generic fit and hidden integration work | Free, but every connector concern is your build cost |
Frequently Asked Questions about Delivery Base Module
Is this a courier connector I can download and use today?
No. It is a build-to-order foundation module — the shared base layer that individual carrier connectors install on top of. It is not on apps.odoo.com as an instant download; ECOSIRE scopes, builds, installs, and supports it for your specific Odoo environment. On its own it standardizes the carrier contract; you pair it with one or more carrier integrations (ours or your own) to actually ship.
How long does delivery take?
Because every build is made to order, we do not ship a pre-packaged binary. After a short scoping call and written scope confirmation, typical delivery is one working week from confirmed scope. The exact timeline depends on how many carrier interfaces you need supported and whether we are migrating existing custom connectors onto the base.
How does pricing and scoping work?
Pricing starts from $999 as an indicative figure for a single-company base scope. The final number depends on the number of carrier interfaces supported, multi-company/multi-warehouse layout, UoM and localization depth, and any migration of existing custom connectors. We give you a firm fixed quote after the scoping call — the from-price is a starting point, not the invoice.
What about support and updates after go-live?
Every build includes a post-go-live support window for defect fixes and configuration questions, plus the full git repository so your team owns the code. Because we build against a specific Odoo version (17.0, 18.0, or 19.0), version upgrades or ports to a newer Odoo release are handled as a separate scoped engagement — we will quote that when you plan the upgrade.
Does it work on Odoo Community, or do I need Enterprise?
The base module itself has no Enterprise-only dependency and runs on Community or Enterprise. If a particular carrier flow you want relies on Enterprise-only features (for example certain EDI or Studio capabilities), we flag that during scoping so there are no surprises.
Will it conflict with Odoo's native delivery app or my existing connectors?
It extends `delivery.carrier` and the standard `stock.picking` flow rather than replacing them, so native delivery behavior stays intact. If you already have home-grown connectors, we assess them during scoping and, where it makes sense, refactor them to subclass the base interface — that migration is part of the quoted scope.
Can I build my own carrier connectors on top of it later?
Yes — that is the point. The module exposes a documented Python interface and a reusable QWeb report, so your developers subclass `_get_rate()`, `_send_shipping()`, `_cancel_shipment()`, and `_get_tracking_link()` for each new carrier. We include a reference connector stub and technical docs to make that straightforward.
Related Modules

Deadstock & Overstock Analytics for Odoo
A build-to-order Odoo module that exposes slow-moving, dead and overstocked stock with aging, carrying-cost and liquidation reporting. ECOSIRE scopes, builds, installs and supports it on your Odoo 17, 18 or 19.

Decathlon Marketplace Connector (Mirakl)
Publish offers, import orders and manage returns for the Decathlon marketplace (Mirakl) directly from Odoo 17/18/19. Built, installed and supported by ECOSIRE.

DHL Express Shipping Connector for Odoo
Build-to-order Odoo module connecting DHL Express for live rates, PDF/ZPL labels, tracking and pickup booking on your delivery orders.

DPD Shipping Connector for Odoo
Custom-built Odoo DPD connector: API labels, live rates, Predict notifications and tracking sync. Built and supported by ECOSIRE in one working week.
Delivery Base Module
A build-to-order foundation module that gives every Odoo shipping-carrier integration a shared, consistent base layer — rate abstraction, label storage, tracking hooks, and a common `delivery.carrier` extension pattern. ECOSIRE scopes, builds, installs, and supports it.
- Extends `delivery.carrier` with a shared, normalized field set — rate structure, service level, tracking number, tracking URL, and label reference — so every downstream connector uses identical names
- Defines an abstract Python carrier interface (`_get_rate()`, `_send_shipping()`, `_cancel_shipment()`, `_get_tracking_link()`) that carrier-specific modules subclass instead of re-implementing plumbing
- Standardized label storage via `ir.attachment` with one convention for PDF, ZPL, and PNG formats, linked to the originating `stock.picking`
- `@api.depends` computed fields for volumetric (dimensional) weight and landed shipping cost, recomputing on package dimension or weight change