A distributor of consumer goods supplies customer branches, and part of that stock is left on consignment. Al Jawad Software House shaped Odoo around that rhythm: goods go out, are sold on, and are invoiced later.
Where the work gets hard
Consignment is invoiced late. Goods sit at a customer's branch before anyone bills them.
Returns are routine. Stock comes back with a reason, and it affects what the customer owes.
Field staff are out of sight. Merchandisers visit branches, and managers want to know they were really there.
What we implemented
Consignment
A flag on the customer makes its orders consignment orders. Confirming one delivers the stock to the customer's branch without an invoice. Later, a wizard gathers what was delivered and not yet invoiced, net of returns, across orders and branches, and refuses a quantity above what remains. The customer gets one tax invoice.

Goods return notes
A return note records the reason, the lots and the consignment price, and creates the reverse stock movement.
Printed documents
The tax invoice, credit note, delivery note without prices, quotation, return order, commercial invoice, picking and packing lists and purchase order share a common layout.
Field and warehouse controls
Odoo compares a merchandiser's reported location with the accurate one. Users are limited to their own warehouses, and time off needs a second approver.
How the work gets easier
| The usual way | With the new process |
|---|---|
| Consignment stock is invoiced from memory | A wizard lists what is delivered and not yet billed |
| Returns are adjusted separately | A return note moves the stock |
| Field visits are taken on trust | Locations are compared |
Invoicing, returns and field visits are handled from the same records.

Related solutions
- Odoo Inventory and Sales
- Odoo Field Service
- Odoo Custom Development