You own 24 black T-shirts in size M. Forty products in your store are printed on that same shirt, and Shopify thinks each one has its own stock. Blankstock tracks the blank instead, and keeps every product that uses it in sync.
Starts in simulation mode. It writes nothing to your store until you have seen the numbers and switched it on.
Print-on-demand and small-batch printing break the assumption Shopify is built on: that one variant equals one physical item. It does not. Twelve of your products are the same Gildan 64000 in black, size M — the design is added after the order comes in.
So you either set every product to the same number and oversell the moment two of them sell at once, or you set them low and leave stock unsold. Most stores end up doing the arithmetic by hand, in a spreadsheet, at the end of the week.
Four steps, and the last one you only do once.
One row per physical item: “T-shirt / Black / M”, 24 in stock. Blankstock can suggest them from your product options, or you add them yourself — by hand or from a CSV.
Every design printed on that shirt points at the same blank. The app proposes matches based on colour and size, and you correct anything it got wrong. Names do not have to match.
Each variant gets the number it can actually be built from. Sell one design, and every other product sharing that blank drops too — within seconds, through Shopify's inventory API.
Until you do, the app only shows you what it would set. Once it is live, a daily reconciliation compares its arithmetic against your real store and tells you the moment the two disagree.
The worst thing an inventory app can do is quietly stop working. Blankstock is built to tell you when something goes wrong, not to hide it.
Once you have picked the location Blankstock manages, it compares what it calculated against what your store actually shows at least once a day, and lists every variant where the two disagree — with the reason.
Every movement is recorded: what changed, by how much, why, and which order caused it. When a number looks wrong, there is a trail to follow.
Updates only go through if the stock level is still what the app read a moment earlier. Cancellations and refunds reverse the ledger instead of recalculating, so nothing is credited twice.
Blankstock never reads names, addresses, emails or phone numbers. From an order it takes variant IDs and quantities, and nothing else.
Add your email address and Blankstock sends you one message a week: either “everything matches” or a list of what drifted. You should not have to log in to trust the app.
The app installs switched off. It calculates and shows, but writes nothing until you have checked the numbers and turned it on yourself.
One plan. Billed through Shopify, on your regular store invoice.
14 days free, then $19 per month. Cancel anytime.
Only when you tell it to. The app installs in simulation mode and refuses to switch on while blanks you have mapped still sit at zero — that combination would sell out your whole catalogue in one click.
Leave it unmapped. Blankstock reads your catalogue in order to compare, but writes only to variants you have linked to a blank. It never changes anything else in your store.
You pick one location for Blankstock to manage. Stock at your other locations is left alone.
Your inventory levels stay exactly where they are — nothing is reset. The app stops writing immediately and your access tokens are removed. Your blanks and mappings are kept for 48 hours so a reinstall does not lose your setup, and are then deleted when Shopify sends its shop redaction request.
Set the quantity per sale on the mapping. A two-pack takes two, and the arithmetic follows.