Custom Engineering / Nimex Solutions
e-İrsaliye Integration
Standard Odoo can build the e-İrsaliye XML from a delivery, but the despatch note still has to be issued, numbered and archived somewhere else before the truck leaves. Nimex made the delivery order the place where it is validated, previewed, sent through Nilvera and filed with its official PDF.
The problem
The XML exists. The despatch note does not.
In Türkiye, goods on the road travel with an electronic despatch note issued through a GİB integrator. Odoo's standard e-İrsaliye module collects the transport data on the delivery (dispatch type, carrier, vehicle and trailer plates, drivers) and generates the UBL XML. Sending it, previewing the official document and archiving the result are left to the user.
The standard XML also carries zero line prices, and nothing keeps the e-İrsaliye date apart from the actual despatch date, which GİB treats differently. A failed send needs a readable reason and a retry, not a support ticket.
What we engineered
A complete despatch workflow on the delivery order.
The standard e-Dispatch fields stay where they are; the workflow around them is new.
Validate and preview
- Hard validation of the mandatory transport data, with the missing fields listed on the delivery.
- Önizleme (PDF): the provider renders the official despatch note without creating a document.
- Delivery notes split into separate note elements.
Send and archive
- Nilvera'ya Gönder resolves the recipient: the partner's e-İrsaliye alias when registered, otherwise the GİB postbox.
- UUID and ETTN / dispatch number stored; the exact XML that was sent attached.
- Official PDF fetched immediately and kept as the main attachment; PDF'i Yenile when needed.
Correct data
- Unit prices and currency seeded from the sales order lines, editable on the delivery; the shipment value is their sum.
- e-İrsaliye Tarihi chosen by the user, frozen once sent, never back-dated; the actual despatch date follows the transfer.
- Partners' e-İrsaliye aliases synchronised during the standard contact check.
Operate at volume
- Nilvera Send Status kept apart from the stock state and the standard e-Dispatch State.
- Readable Nilvera Error and a Tekrar Gönder retry on failure.
- A 30-minute cron for queued dispatches and a list action to send several deliveries at once.
How it works
From a done delivery to an archived despatch note.
- Delivery ready
An outgoing delivery for a Turkish customer is validated; the stock move is Done, the e-Dispatch State is To Send.
- Transport data
Dispatch type, carrier, vehicle plate and drivers with TCKN on the e-Dispatch tab; missing fields are listed until complete.
- Önizleme (PDF)
Nilvera renders the despatch note; Nilvera Send Status stays Not Sent and nothing is issued.
- Nilvera'ya Gönder
Status Sending, then Sent: UUID and ETTN / dispatch number stored, issue date frozen, XML attached.
- Official PDF
The provider's PDF is fetched as the main attachment and the e-Dispatch State becomes Sent.
- Errors and retries
A provider error sets Error with the message and offers Tekrar Gönder; queued dispatches are retried every 30 minutes.
Integration points
Three Odoo apps, one provider.
- DespatchAdvice XML out
- ETTN and status back
- official PDF in
Related solutions