What you are short of, and the order that fixes it.

The shop sold forty black hoodies in L and has eleven. The system already knows both numbers, so the purchase order should start from the shortage rather than from a blank page.

And when the goods arrive, they should land in stock without anyone counting them into a second system.

Shortages become orders

What the open orders need against what the shelf holds, per variant. Turn the gap into a purchase order to the supplier who carries it, and add anything else by hand on the same document.

A document the supplier can read

Your own numbering, your branding, a PDF, and a link you can email the supplier straight from the order so they can see it without an attachment.

Arrivals go into stock

When the goods come in, the lines are matched back to real catalog variants and committed as stock movements. Anything ambiguous is left for a person rather than guessed at.

Or it happens on its own

Set the status that means "received" and matching lines restock themselves when a purchase order reaches it. Lines that could not be matched cleanly raise a notification instead.

Fields of your own

The columns and the extra fields a purchase order carries are configurable the same way an order's are.

Questions shops ask

What if a supplier sends a partial delivery?

Lines are committed individually and each records how many were actually taken in, so the rest of the purchase order stays open.

Does this need the inventory module?

Purchase orders work without it. Turning shortages into stock movements is the part that needs numbered inventory switched on.

Come and see it running in a shop like yours.