Once shipments pass a few dozen a day, copying the address from the order into the carrier's website, then copying the tracking number back to the customer, becomes a full-time job. Address errors and "where's my order?" messages grow with it.
What the integration does
- Creates the waybill straight from the delivery order in Odoo, with weight and number of parcels.
- Prints the shipping label in the warehouse without opening the carrier's site.
- Saves the tracking number on the order and sends it to the customer automatically.
- Updates shipment status in Odoo: picked up, in transit, delivered or returned.
- Tracks cash-on-delivery amounts and matches them with the carrier's payouts.
The national address
Address accuracy is the first reason a delivery succeeds on the first attempt. Storing the Saudi national address in structured fields on the customer record, rather than free text, reduces returns, speeds up delivery, and also serves e-invoicing for business customers.
Cash on delivery
Cash-on-delivery amounts stay with the carrier until it pays them out. The clearest method is to record each collected amount in a clearing account for the carrier, then match it with the payout and settlement statement, so you always know how much the carrier holds for you.
More than one carrier
Many companies use more than one carrier: one within cities, another for remote areas and a third for international shipping. Odoo can apply rules that choose the carrier by city, weight or order value, so it's picked automatically instead of by a person each time.
Before go-live
- A business account with each carrier, with API access enabled.
- Product weights and dimensions defined in Odoo.
- Test a standard shipment, a cash-on-delivery shipment and a return.
- A customer message template with the tracking number.
Integration options differ between carriers, so at the start of the project we confirm what each carrier offers your account, then build the integration on that.