Shopify appShopify-app

One blank. Forty designs. One number that has to be right.

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.

En blank. Fyrtio designs. En siffra som måste stämma.

Du har 24 svarta t-shirts i storlek M. Fyrtio produkter i butiken trycks på just den tröjan, och Shopify tror att var och en har ett eget lager. Blankstock håller reda på blanken istället, och håller varje produkt som använder den i takt.

Starts in simulation mode. It writes nothing to your store until you have seen the numbers and switched it on. Startar i simuleringsläge. Den skriver ingenting till din butik förrän du sett siffrorna och slagit på den.

Why the numbers drift

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.

Varför siffrorna glider isär

Print-on-demand och små upplagor bryter mot antagandet Shopify är byggt på: att en variant är en fysisk vara. Det är den inte. Tolv av dina produkter är samma Gildan 64000 i svart, storlek M — designen läggs på efter att ordern kommit in.

Antingen sätter du samma siffra på alla och översäljer så fort två säljer samtidigt, eller så sätter du dem lågt och lämnar lager osålt. De flesta butiker räknar till slut för hand, i ett kalkylark, på fredagen.

How it works

Four steps, and the last one you only do once.

Så fungerar det

Fyra steg, och det sista gör du bara en gång.

  1. Create your blanks

    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.

  2. Link your products to them

    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.

  3. Blankstock does the arithmetic

    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.

  4. Turn on writing when you trust it

    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.

  1. Lägg upp dina blanks

    En rad per fysisk vara: ”T-shirt / Svart / M”, 24 i lager. Blankstock kan föreslå dem utifrån dina produktalternativ, eller så lägger du upp dem själv — för hand eller från en CSV.

  2. Koppla produkterna till dem

    Varje design som trycks på den tröjan pekar på samma blank. Appen föreslår kopplingar utifrån färg och storlek, och du rättar det som blev fel. Namnen behöver inte stämma överens.

  3. Blankstock räknar

    Varje variant får det antal den faktiskt går att bygga. Säljer en design sjunker alla andra produkter som delar blanken också — inom sekunder, via Shopifys lager-API.

  4. Slå på skrivningen när du litar på den

    Fram till dess visar appen bara vad den skulle sätta. När den är igång jämför en daglig avstämning uträkningen mot din riktiga butik och säger till så fort de två inte stämmer överens.

An app that writes your inventory should be able to explain itself

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.

En app som skriver ditt lager ska kunna förklara sig

Det värsta en lagerapp kan göra är att tyst sluta fungera. Blankstock är byggd för att säga till när något går fel, inte för att dölja det.

Daily reconciliationDaglig avstämning

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. När du valt vilken lagerplats Blankstock sköter jämför den sin uträkning mot vad butiken faktiskt visar minst en gång per dygn, och listar varje variant där de två skiljer sig åt — med anledningen.

A full ledgerEn huvudbok

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. Varje rörelse bokförs: vad som ändrades, med hur mycket, varför och vilken order som orsakade det. När en siffra ser fel ut finns ett spår att följa.

Safe writesSäkra skrivningar

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. Uppdateringar går bara igenom om saldot fortfarande är det appen läste nyss. Avbokningar och återbetalningar reverserar huvudboken istället för att räkna om, så inget krediteras två gånger.

No customer dataInga kunduppgifter

Blankstock never reads names, addresses, emails or phone numbers. From an order it takes variant IDs and quantities, and nothing else. Blankstock läser aldrig namn, adresser, mejladresser eller telefonnummer. Ur en order tas variant-id och antal, inget annat.

Weekly reportVeckorapport

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. Fyll i din mejladress så skickar Blankstock ett meddelande i veckan: antingen ”allt stämmer” eller en lista på vad som glidit isär. Du ska inte behöva logga in för att lita på appen.

Simulation modeSimuleringsläge

The app installs switched off. It calculates and shows, but writes nothing until you have checked the numbers and turned it on yourself. Appen installeras avstängd. Den räknar och visar, men skriver ingenting förrän du kontrollerat siffrorna och slagit på den själv.

PricingPris

One plan. Billed through Shopify, on your regular store invoice. En plan. Faktureras via Shopify, på din vanliga butiksfaktura.

$19$19 /month/månad

14 days free, then $19 per month. Cancel anytime. 14 dagar gratis, sedan 19 dollar i månaden. Avsluta när du vill.

  • Unlimited blanks and productsObegränsat antal blanks och produkter
  • Automatic blank discovery and mappingAutomatisk upptäckt och koppling av blanks
  • Daily reconciliation and weekly reportDaglig avstämning och veckorapport
  • Full stock ledger and CSV importFullständig huvudbok och CSV-import
  • Email supportSupport via mejl

QuestionsFrågor

Will it overwrite the inventory I already have?

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.

What if a product does not share a blank with anything?

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.

Does it work with more than one location?

You pick one location for Blankstock to manage. Stock at your other locations is left alone.

What happens if I uninstall?

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.

What if one product uses two of a blank?

Set the quantity per sale on the mapping. A two-pack takes two, and the arithmetic follows.

Skriver den över lagret jag redan har?

Bara när du säger till. Appen installeras i simuleringsläge och vägrar slå på sig så länge blanks du kopplat står på noll — den kombinationen skulle slutsälja hela sortimentet med ett klick.

Tänk om en produkt inte delar blank med något?

Lämna den okopplad. Blankstock läser katalogen för att kunna jämföra, men skriver bara till varianter du kopplat till en blank. Något annat i butiken ändras aldrig.

Fungerar det med flera lagerplatser?

Du väljer en lagerplats som Blankstock sköter. Saldon på dina andra lagerplatser lämnas i fred.

Vad händer om jag avinstallerar?

Dina lagersaldon ligger kvar precis som de är — ingenting nollställs. Appen slutar skriva omedelbart och dina åtkomsttoken raderas. Blanks och kopplingar sparas i 48 timmar så att en ominstallation inte tappar din uppsättning, och raderas sedan när Shopify skickar sin begäran om radering av butiken.

Tänk om en produkt går åt två av en blank?

Ställ in åtgången per sålt exemplar på kopplingen. Ett tvåpack tar två, och uträkningen följer med.