A work order moves through Odoo cleanly on the planning side: materials get reserved, a routing gets followed, a finished good gets recorded. The gap is upstream of that, on the floor itself. An operator finishing a step, a machine going down, a batch coming up short, often gets noted on a clipboard or a whiteboard before anyone touches Odoo, which means the system's view of production is only as current as the next time someone updates it by hand.
Older or specialized equipment makes this worse. A business running legacy MES software or machine controllers that predate Odoo entirely usually has no path for that equipment's own data to reach Odoo automatically, so the two systems track production separately instead of one feeding the other.