You stop finding out you're out of string when you reach for it
Running out of a string is never a surprise at the moment it happens — it is a surprise three days later, when the customer who only plays that string is standing at your counter. The reel ran down over weeks and nothing told you.
Racketworks now tracks restocking as its own job. Every string can carry its own reorder point, in sets, because "low" is not one number across your whole shelf — you might want two sets of warning on a polyester you sell constantly and eight on natural gut you special-order. Set none and it uses your shop default.
When something drops below its line it appears on a restock list with what you have, what is already on the way, and a plain-text order sheet you can paste straight to your rep. Mark it ordered with what you expect to pay, and when the box arrives that cost comes in with it — so the price is captured once, at the one moment somebody actually knows it, instead of being typed twice or guessed at later.
Partial deliveries are the normal case, not an edge case. Order four reels, your rep ships two, and the other two stay on order rather than quietly vanishing or being written off. And an order that is never coming can be cancelled — if half of it already arrived, you keep the half that landed and only the remainder goes away.
What it doesn't do yet. There is no supplier record and no purchase-order document — an order is a note that string is coming, not a procurement system. Nothing orders automatically, and it never will without you asking; software that spends your money on its own judgment is not a feature. There is also no lead-time tracking, so "on the way" doesn't estimate a date.
Where to start. Inventory → Restock. Set a reorder point on the two or three strings you actually run out of. Those are the ones that cost you a customer, and they are usually the same two or three every year.