Treating every colour-size combination as a separate product is how a shop with 400 styles ends up with 6,000 unmanageable records. With colour and size as attributes, you order, count and report at the style level while still knowing you are short of black in M.
The stock view that matters is the grid: styles down the side, sizes across, so you can see at a glance which sizes have sold through. Ordering from a flat list of thousands of items does not surface that.
Be aware of the migration cost before you commit: **there is no one-click conversion** from a flat catalogue into colour-and-size attributes. If your existing data has "Red Shirt M" and "Red Shirt L" as separate items, restructuring is manual work. Better to decide this before you import than after.