The storefront and the back office each hold part of the truth about an order. Most of the work is agreeing which part.
Catalogue and pricing maintained separately in two systems
Order state diverging between storefront and ERP
Stock figures that are accurate in neither system
Returns and partial fulfilment handled manually
One owner per attribute, with a contract for everything published downstream.
Order state modelled explicitly, including partial and cancelled paths.
Availability computed from a single source, with reservation rules.
Reverse logistics as a first-class flow rather than an exception.
Retail margins do not survive dead stock or unchased invoices. Both are visible in Odoo already; neither is in front of anybody.
Lines that have not sold in a season are the single biggest recoverable cash position in a retail business, and the hardest to see in a stock list sorted by name.
Shelf-edge labels, price changes and goods-in labelling from the same product data, so the shelf and the system say the same price.
For trade and wholesale accounts, the escalation ladder somebody keeps meaning to write down.
Sell-through by line, by store, by week - in the dashboard the buying team already looks at, refreshed with each person's own view of the data.
Every one of these is on the Odoo Apps Store and installs on its own. Nothing here requires the others, and the order is an opinion rather than a dependency. See the whole catalogue.