Skip to main content
Naqel Express Shipping Connector for Odoo — A build-to-order Odoo integration that connects Naqel Express to your delivery wo — 1/1Illustrative preview

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.

What is Naqel Express Shipping Connector for Odoo?

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 $999.00 USD; request a quote for a scoped proposal.

Key Features

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
Scheduled `ir.cron` tracking sync that polls Naqel for status changes and posts them to the picking chatter
Optional inbound webhook endpoint for Naqel push status updates where supported
Sandbox/production endpoint switch and encrypted credential storage on the carrier record
Multi-warehouse origin mapping so each warehouse ships from the correct Naqel origin/account
Cancellation flow that voids the Naqel shipment when a delivery is cancelled in Odoo
Security enforced via `ir.model.access.csv` plus record rules for multi-company isolation
Structured API error handling with ret/timeout logging so failed bookings surface clearly instead of silently
Shipment and rate calls exposed over Odoo XML-RPC/JSON-RPC for external storefronts or middleware
Compatible with Odoo 17.0, 18.0 and 19.0, on both Community and Enterprise editions

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

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.

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 one working week from confirmed scope, and you receive the full source and a git repository handover so nothing is a black box.

What you get

  • Installable module source code targeted to your exact Odoo version (17.0 / 18.0 / 19.0) and edition
  • Installation and configuration on your environment, including Naqel credentials, carrier setup and warehouse mapping
  • Technical documentation covering models, API mappings, config parameters and the cron/webhook design
  • End-user guide plus a live training session for warehouse and finance staff
  • UAT on a staging database with sign-off before production go-live, and a documented rollback plan
  • Post-go-live support window for bug fixes and adjustments after launch
  • Git repository handover with full commit history so you own and can extend the code
  • Naqel sandbox-to-production cutover checklist and endpoint/credential switch instructions

Who this is for

KSA E-commerce Operations Manager

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.

Finance / COD Reconciliation Lead

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.

GCC Multi-Warehouse Retailer

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.

Odoo Partner / In-house Developer

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.

How Naqel Express Shipping Connector for Odoo Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Naqel API integrationFull rating, waybill, COD and tracking calls wired into Odoo carrier hooksPossible but you build every API mapping yourselfOften partial — rating or label only, if Naqel is covered at allNone — no Naqel provider in Odoo core
AWB label printingNaqel label attached and printed via QWeb from the delivery orderMust design label retrieval and report from scratchSometimes a generic label, not always Naqel-formattedNo carrier label without a provider
Live rates at checkoutReal-time Naqel rates on quotations and website checkoutYou implement the rate call and cachingVaries; may use static tablesOnly fixed-price `base_on_rule` carriers
COD support & reconciliationCOD amount sent to Naqel plus remittance-to-invoice matching viewReconciliation logic built by handRarely includes finance-side reconciliationNo COD carrier flow
Tracking syncScheduled `ir.cron` polling plus optional webhook, posted to chatterYou schedule and parse status updates yourselfManual or link-out to Naqel siteManual status entry only
Odoo version & edition fitBuilt for your exact 17/18/19 target, Community or EnterpriseDepends on your team's version disciplineLocked to the versions the vendor maintainsN/A
Source & ownershipFull source plus git repository handoverYou own it but carry all build effortOften obfuscated or license-lockedN/A
Support & fixesPost-go-live support window from the team that built itReliant on your own staff availabilityGeneric ticket queue, no context on your setupCommunity forums only

Frequently Asked Questions about Naqel Express Shipping Connector

Is this an existing app I can download and install right now?

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.

How long does delivery take?

Typical delivery is one working week 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.

Which Odoo versions and editions are supported?

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.

How do updates and support work after go-live?

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.

Does it handle COD, the most important flow for KSA sellers?

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.

Can my external storefront or middleware call the same shipping logic?

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.

Do you need our live Naqel account to build it?

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.

Request a quote

Naqel Express Shipping Connector

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.

  • 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

Request a Quotation

Tell us about your Naqel Express Shipping Connector requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.