A build-to-order Odoo integration that connects Naqel Express to your delivery workflow — create shipments, print AWB labels, fetch live rates, handle COD reconciliation and sync tracking, all from the Odoo backend. Scoped, built, installed and supported by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $199.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo integration that connects Naqel Express to your delivery workflow — create shipments, print AWB labels, fetch live rates, handle COD reconciliation and sync tracking, all from the Odoo backend. Scoped, built, installed and supported by ECOSIRE.
ابھی کوئی ادائیگی نہیں۔ یہ ہماری ٹیم کو قیمت کی درخواست بھیجتا ہے — ہم قیمت اور اگلے اقدامات کے ساتھ ای میل کے ذریعے رابطہ کریں گے۔
Saudi and GCC e-commerce sellers who ship with Naqel Express usually run their fulfilment out of two disconnected worlds: orders and inventory live in Odoo, but shipment creation, AWB label generation, rate lookups and COD reconciliation happen on the Naqel portal. Every dispatch means re-keying the consignee address, copying an AWB number back into the sales order, and manually chasing tracking updates. Odoo's native Inventory app ships with a delivery-carrier abstraction (delivery.carrier) and connectors for FedEx/UPS/DHL/bpost, but there is no Naqel provider out of the box — so base_on_rule fixed-price carriers are the ceiling, and none of the real Naqel API (rating, waybill, COD, tracking) is reachable.
Native `delivery.carrier` provider with a `naqel` delivery type implementing `naqel_rate_shipment`, `naqel_send_shipping` and `naqel_cancel_shipment` hooks
Shipment/waybill creation on `stock.picking` validation, writing the Naqel AWB into `carrier_tracking_ref`
AWB label retrieval attached to the delivery order and printable via a dedicated QWeb report
Live rate calculation from the Naqel rating API surfaced on quotations and website checkout
COD (cash-on-delivery) support: collected amount passed to Naqel per shipment with a configurable COD flag on the carrier
COD remittance reconciliation view matching Naqel settlement back to the source order/invoice
ECOSIRE builds a dedicated Naqel Express connector as a proper Odoo module (__manifest__.py declaring dependencies on stock, delivery and sale) that adds a native carrier provider. We extend delivery.carrier with a naqel delivery type and implement the standard hook methods — naqel_rate_shipment, naqel_send_shipping and naqel_cancel_shipment — so Naqel behaves like any first-class carrier inside the delivery workflow. Credentials, account number, origin warehouse mapping and COD toggles are stored on the carrier record (and mirrored to ir.config_parameter where it makes sense), with sandbox/production endpoints switchable per environment. When a picking is validated, the module calls the Naqel REST/SOAP API to create the shipment, writes the returned waybill number back onto stock.picking.carrier_tracking_ref, and stores the label. AWB labels are retrieved from Naqel and either attached as the carrier PDF or rendered through a QWeb report so warehouse staff print directly from the delivery order. Live rates are pulled at quotation and checkout time so the customer sees an accurate Naqel price rather than a flat fee.
On the operations side we model what KSA sellers actually need: COD support with the collected-amount passed to Naqel and a reconciliation view that matches Naqel's remittance back to the originating invoice/order, so finance can see which cash-on-delivery shipments have been settled. Tracking is kept current through a scheduled automated action (ir.cron) that polls Naqel for status changes and posts them to the picking's chatter (with optional customer-facing status on the portal), plus an inbound webhook option where Naqel supports push updates. All new fields are computed or stored with proper @api.depends where derived, and every model is locked down with ir.model.access.csv access rights and record rules so multi-company/multi-warehouse setups stay isolated. Because it is a real module, the same shipment and rate calls are reachable over Odoo's XML-RPC/JSON-RPC API for any external storefront or middleware you run alongside Odoo.
This is a build-to-order engagement, not an instant apps.odoo.com download. After a short scoping call we confirm your Naqel account type, required services (domestic, GCC cross-border, COD, returns), Odoo edition (Community or Enterprise) and target version (17.0, 18.0 or 19.0). We then build against your Naqel sandbox credentials, ship the module to a staging database for UAT, and go live with a rollback plan. Typical delivery is 2–4 weeks from confirmed scope, and you receive the full source and a git repository handover so nothing is a black box.
Runs daily fulfilment for a Saudi online store and needs Naqel shipments, AWB labels and tracking created straight from Odoo delivery orders — no more re-keying addresses into the Naqel portal.
Handles large cash-on-delivery volumes and needs Naqel's collected amounts matched back to Odoo invoices so remittances reconcile cleanly and settled vs pending COD is visible.
Ships domestically and cross-border across the GCC from several warehouses and needs correct per-warehouse Naqel origins, live rates at checkout, and multi-company record isolation.
Wants a clean, well-structured connector following Odoo carrier conventions, with source and git handover, that they can maintain and extend rather than a locked black-box app.
Buy the license on ecosire.com and download the Naqel Express Shipping 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 Naqel Express Shipping 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 |
|---|---|---|---|---|
| Naqel API integration | Full rating, waybill, COD and tracking calls wired into Odoo carrier hooks | Possible but you build every API mapping yourself | Often partial — rating or label only, if Naqel is covered at all | |
| AWB label printing | Naqel label attached and printed via QWeb from the delivery order | Must design label retrieval and report from scratch | Sometimes a generic label, not always Naqel-formatted | |
| Live rates at checkout | Real-time Naqel rates on quotations and website checkout | You implement the rate call and caching | Varies; may use static tables | |
| COD support & reconciliation | COD amount sent to Naqel plus remittance-to-invoice matching view | Reconciliation logic built by hand | Rarely includes finance-side reconciliation | |
| Tracking sync | Scheduled `ir.cron` polling plus optional webhook, posted to chatter | You schedule and parse status updates yourself | Manual or link-out to Naqel site | |
| Odoo version & edition fit | Built for your exact 17/18/19 target, Community or Enterprise | Depends on your team's version discipline | Locked to the versions the vendor maintains | |
| Source & ownership | Full source plus git repository handover | You own it but carry all build effort | Often obfuscated or license-locked | |
| Support & fixes | Post-go-live support window from the team that built it | Reliant on your own staff availability | Generic ticket queue, no context on your setup |
No. This is a build-to-order engagement — ECOSIRE builds the Naqel Express connector for your specific Odoo version, edition and Naqel account, then installs and supports it. It is not an off-the-shelf apps.odoo.com download.
Typical delivery is 2–4 weeks from confirmed scope. After a scoping call we lock down services (domestic, GCC, COD, returns), your Odoo version and Naqel credentials; timeline depends mainly on how many services and edge cases you need.
Odoo 17.0, 18.0 and 19.0, on both Community and Enterprise. We build against your target version so the carrier provider, views and reports match that release exactly.
Every project includes a post-go-live support window for fixes and adjustments. You also receive full source and a git repository, so you (or any partner) can maintain it. Version upgrades or new Naqel services are handled as scoped follow-on work.
Yes. The connector passes the collected COD amount to Naqel per shipment and includes a reconciliation view that matches Naqel's remittances back to the originating Odoo order/invoice, so finance can track settled vs pending cash-on-delivery.
Yes. Because it is a real Odoo module, shipment creation and rate lookups are reachable through Odoo's XML-RPC/JSON-RPC API, so a headless storefront or integration layer can trigger the same Naqel calls Odoo uses internally.
We build against your Naqel sandbox/test credentials and validate the full flow on a staging database. We only switch to production endpoints and your live account during the go-live cutover, following a documented checklist and rollback plan.
A build-to-order Odoo integration that connects Naqel Express to your delivery workflow — create shipments, print AWB labels, fetch live rates, handle COD reconciliation and sync tracking, all from the Odoo backend. Scoped, built, installed and supported by ECOSIRE.