Most ecommerce brands do not have a mysterious shrink problem. They have a timing problem. Sales land in one system, stock moves in another, and finance posts adjustments days later. By the time anyone compares numbers, each tool tells a slightly different story.
Three common breakpoints
Returns that restock late, marketplace fees booked separately from revenue, and purchase orders received but not yet in the ledger are the usual suspects. None of them are hard to explain in isolation. Together they make "on hand" and "on the books" feel like different businesses.
What good looks like
Operators should see the same quantity finance uses for COGS. Sales should reflect what you can actually fulfill. When those views share a workspace, drift shows up as a daily exception instead of a quarterly surprise.