Build-to-order Odoo x PostEx integration: create shipments, print AWB labels, automate COD reconciliation and returns. Built, installed and supported by ECOSIRE. One-time license from $199.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

Build-to-order Odoo x PostEx integration: create shipments, print AWB labels, automate COD reconciliation and returns. Built, installed and supported by ECOSIRE.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Pakistani e-commerce runs on cash-on-delivery, and PostEx is one of the fastest-growing COD-first couriers in the country. But most Odoo sellers still book PostEx shipments by hand: copy the customer address into the PostEx merchant portal, generate the AWB there, paste the tracking number back into Odoo, and then spend the end of every month trying to reconcile which COD orders were actually paid out. That manual loop leaks hours, invites address typos, and leaves your Odoo delivery orders permanently out of sync with reality.
One-click PostEx shipment booking directly from an Odoo sale order or delivery order (stock.picking) — no re-typing addresses into the PostEx merchant portal
PostEx Merchant API integration for order creation, cancellation and status sync, with the API token stored securely in ir.config_parameter (not hard-coded)
Automatic AWB (tracking number) capture written back onto the delivery order and sale order the moment PostEx accepts the shipment
Printable AWB shipping label as a QWeb PDF report, including the PostEx barcode, consignee details, order reference and COD amount for warehouse packing
Automatic COD collectable-amount computation using an @api.depends compute field that reads the linked sale order total (respecting partial payments and discounts)
Real-time delivery tracking synced back into Odoo via a scheduled ir.cron job that polls PostEx and updates the shipment status timeline
The PostEx Courier Connector closes that loop. This is a net-new, build-to-order Odoo module that ECOSIRE designs, builds, installs and supports specifically for your PostEx merchant account and your workflow. It is NOT an off-the-shelf apps.odoo.com download you install yourself in five minutes — it is a real integration engineered against the PostEx Merchant API and wired into your Sale, Inventory (stock.picking) and Accounting flows, then handed over with documentation, training and a warranty support window.
Under the hood the module ships as a proper Odoo app: a versioned __manifest__.py declaring dependencies on sale, stock and delivery; new ORM models (models.Model) such as a postex.shipment record and a delivery.carrier extension with your PostEx API token stored securely in ir.config_parameter; compute fields (@api.depends) that derive the COD collectable amount from the linked sale order; QWeb PDF reports for the AWB label with a scannable barcode; automated actions and scheduled ir.cron jobs that poll PostEx for tracking status; and access control via ir.model.access.csv plus record rules so warehouse users see only what they should. We target Odoo 17, 18 and 19 and work on both Community and Enterprise.
The result: your team creates a delivery order in Odoo as usual, clicks "Book with PostEx", and the shipment is created over the PostEx API, the AWB label prints straight from Odoo with a barcode, the COD amount is computed automatically from the order, tracking updates flow back onto the picking without anyone logging into the portal, and returned/failed parcels are captured so your stock and COD ledgers stay honest. Because ECOSIRE builds it, you also get a partner who fixes it when PostEx changes their API — not a frozen listing you have to abandon.
A Pakistani e-commerce seller shipping a high daily volume of cash-on-delivery parcels through PostEx. They need bookings, labels and COD reconciliation to happen inside Odoo instead of juggling the PostEx portal and spreadsheets, so the team can dispatch faster and actually know which orders got paid.
The person who validates delivery orders and gets parcels out the door each day. They want one-click and bulk booking from the stock.picking view, an AWB label that prints straight from Odoo with a barcode, and returned/failed parcels flowing back automatically so inventory stays accurate.
Responsible for reconciling COD collections against the PostEx payout. They need a trustworthy view of computed COD amounts per order, delivery vs. collection status, and returns — so month-end reconciliation stops being a manual, error-prone chase.
Buy the license on ecosire.com and download the PostEx Courier Connector for Odoo module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for PostEx Courier Connector for Odoo, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| PostEx API integration (booking, AWB, tracking sync) | Built specifically for PostEx against the official Merchant API, wired into your sale/stock flows | Possible, but you fund the full R&D and PostEx API learning curve yourself | Rarely exists for PostEx specifically; generic listings target other couriers | |
| Automatic COD amount computation from the sale order | Yes — @api.depends compute field derived from the order total, discounts and prepayments | Only if your developer builds and tests the compute logic | ||
| COD payout reconciliation view for finance | Yes — delivered-vs-collected reconciliation view built into the module | Buildable, but extra scope and cost | ||
| AWB label as a printable QWeb PDF with barcode | Yes — branded QWeb report with PostEx barcode, prints straight from Odoo | Requires custom QWeb template work | ||
| Return / failed-delivery (RTS) handling tied to stock and COD | Yes — returns captured against the order, drive stock moves and exclude from COD | Only if explicitly built and tested | ||
| Security via ir.model.access.csv + record rules for warehouse vs finance | Yes — role-based access mapped to your teams during setup | Depends on your developer's diligence | ||
| Fixes when PostEx changes its API | Yes — defect warranty plus optional ongoing maintenance | You maintain it yourself indefinitely | ||
| Delivery model | Build-to-order in 2-4 weeks, installed and validated on your instance | Long in-house project, unpredictable timeline | Instant download, but generic and unsupported for PostEx |
This is a build-to-order module, not an instant apps.odoo.com download — please don't expect a self-install ZIP. After we confirm your requirements and PostEx merchant details, typical delivery is 2 to 4 weeks: scoping and API access, build against the PostEx Merchant API, sandbox/UAT validation on your instance, then go-live. Simpler single-warehouse setups land near the shorter end; multi-warehouse, POS or website-triggered flows take longer. We give you a firm timeline before starting.
Every build includes a post-launch defect-warranty window during which we fix any bug in the delivered scope at no extra charge. Because PostEx occasionally changes its API, we also offer ongoing maintenance so the connector keeps working through those changes and across Odoo point releases. You receive the full source, so you're never locked in — but most clients keep us on a support plan precisely because we maintain the PostEx side for them.
Yes. You need an active PostEx merchant account and access to your PostEx Merchant API token — we integrate against the official API, we don't scrape the portal. If you're not sure how to obtain API access, we help you request it from PostEx as part of onboarding. Your token is stored securely in Odoo's ir.config_parameter, never hard-coded in the module.
We build for Odoo 17, 18 and 19, and the module works on both Community and Enterprise editions — it depends only on the standard sale, stock and delivery apps, not on Enterprise-only features. Tell us your exact version and edition and we target that build; we can also deliver a multi-version build if you plan to upgrade.
The COD collectable amount is derived with an Odoo compute field (@api.depends) from the linked sale order total, so it respects your prices, discounts and any partial prepayment automatically rather than being typed in. On the finance side, we build a reconciliation view that matches delivered shipments against PostEx COD status, so you can see at a glance which orders were collected, which are pending, and which came back as returns.
Return-to-sender and failed-delivery events are captured against the original order via the tracking sync, so the parcel status is visible in Odoo without checking the portal. We wire the return so it can trigger the appropriate stock move back into inventory and flag finance to exclude it from COD collections — keeping both your stock levels and your COD ledger accurate.
Yes. Beyond the backend button and bulk action, we can expose PostEx booking through Odoo's JSON-RPC/XML-RPC API or automated actions, so an order confirmed on your website or POS can create a PostEx shipment automatically. We scope this with you up front since it affects the design and the timeline.
Build-to-order Odoo x PostEx integration: create shipments, print AWB labels, automate COD reconciliation and returns. Built, installed and supported by ECOSIRE.