Custom Engineering / Nimex Solutions
Cargo & Logistics Integrations
Registering parcels on carrier websites and copying tracking numbers back by hand does not scale. Our connectors create the Yurtiçi Kargo or Aras Kargo shipment from the Odoo delivery, bring back the tracking numbers and the label, and keep the carrier's status on the delivery.
Details vary per carrier contract: operations, status names, label formats and options depend on the carrier account.
The problem
Two systems that both know the parcel, and a person copying between them.
Turkish e-commerce and wholesale shippers hand most parcels to Yurtiçi Kargo and Aras Kargo. Their web services are SOAP-based and Odoo ships no connector for them, so warehouses typed each receiver into the carrier's portal, printed the label there and pasted the tracking number back, and customers asked the sales team where their order was.
The delivery order in Odoo already holds the receiver, the packages, the weight and the desi. The connector lets that record talk to the carrier directly, in both directions.
What we engineered
The carrier as an Odoo delivery method, in both directions.
Outbound: the shipment and its parcels. Inbound: tracking numbers, the label and every status change.
Create
- From a validated delivery, the shipment is registered at the carrier with the receiver and address.
- The delivery reference is the carrier's cargo key, so both systems name the parcel the same way.
- Parcel count, desi and weight taken from the delivery's packages.
Label
- Tracking number and barcode per parcel written on the delivery.
- Yurtiçi can return printer-ready ZPL: straight to a Zebra printer, or rendered as PDF.
- The label attached to the delivery and its chatter.
Track and cancel
- A scheduled job queries the carrier with history and writes each status change on the delivery.
- Each change posted in the chatter, where sales and support can see it.
- Cancellation before pickup and cash-on-delivery parameters in the same flow, enabled per carrier contract.
The tracking log
One delivery, one key, one history.
The tracking numbers on the delivery are the barcodes on the labels, and the delivery reference is the key used for every status query. Cancelling before pickup clears the tracking reference again, so the delivery never shows a shipment the carrier no longer has.
How it works
From a validated delivery to "Delivered".
- Configure the carrier
Yurtiçi Kargo or Aras Kargo as a delivery method with the web-service credentials and the sender account.
- Validate the delivery
Packages, weight and desi come from the delivery order, as in standard Odoo.
- Send to the carrier
The shipment is created with the delivery reference as cargo key, the receiver, parcel count, desi and weight; a ZPL label is requested.
- Tracking and label come back
Barcodes per parcel become the tracking reference; the label is attached and the chatter says "Shipment created".
- Print
ZPL goes straight to a Zebra printer, or the label prints as PDF.
- Track
A scheduled job queries the shipment with history; status changes such as In transit and Delivered are written on the delivery and posted in the chatter.
Integration points
- Delivery orderreceiver · parcels · desi · weight →Carrier shipment
- Tracking reference← barcode per parcelCarrier response
- Attachment, printer← ZPL label dataCarrier response
- Carrier status, chatter← tracking history (scheduled)Shipment query
- Cancel shipmentcargo key →Carrier cancellation
Aras Kargo follows the same two-way pattern; its operations and label format are set per contract.
Related solutions