Case study · Anonymized

POS that survives session close

Multi-outlet electronics retail on Odoo 19

East Africa retail group, 8+ shops, serialized inventory, agent/cashier split, inter-company stock. Client name withheld by request.

17+
Custom modules
8+
Outlets live
Odoo 19
Version
↓ 60%
Session close disputes

Challenge

Vanilla Odoo POS could not enforce serial-only selling, separate sales-agent from cashier roles, or produce session closes finance would sign. Stock visibility across warehouses was unreliable; commissions lived in spreadsheets.

Approach

  • Multi-company structure with shared product masters
  • Custom POS modules: role split, serial scan, payment references, manager close
  • Commission lines on pos.order
  • Inter-warehouse transfers and outlet-level reporting
  • Odoo.sh staging → phased shop rollout

Outcome

Finance reconciles sessions without parallel Excel. Operations see real stock by shop. Agent commissions calculate at sale time. Post-go-live support covered upgrades and edge-case fixes.

Similar retail rollout?