A phone charger you bought for $2 six months ago now costs $3 to restock. If the shop is still pricing repairs off that old $2 number, every one of those repairs is quietly losing money, and nobody notices until the shelf is empty and the math doesn't add up.
Spreadsheets and memory don't track cost, they track a snapshot
Most repair shops price parts off whatever the technician remembers paying, or a spreadsheet column that gets updated whenever someone has time. Neither tracks the actual purchase history. When a part comes from three different batches at three different prices, a single "cost" field just picks one number and hopes it's close enough.
FIFO turns a guess into an actual number
First-in-first-out costing assigns the price of the oldest batch still in stock to the next unit sold, and moves to the next batch once that one runs out. It's not a new idea, accountants have used it for decades, but a repair shop rarely has the tooling to apply it per part, per batch, automatically. Done by hand, it's too much bookkeeping for a five-minute repair.
What actually helps
Inventory and point-of-sale in the same system, so every part sold pulls its real cost from the batch it came out of, not a static field someone forgot to update. The technician still just picks the part and closes the ticket; the margin comes out correct without anyone doing extra math.