Buy the parts, cost them properly
Ordering components, landing freight and duty into what they truly cost, and knowing what is left on the shelf - that is the part of making things Stockroom does, and it does it free. Bills of materials are not built, so everything below is the buying side.
- POs for components and materials
- Landed cost on the part
- Counts and adjustments that stick
Orders built the way a workshop orders
Small manufacturers buy differently from retailers: odd quantities, part numbers that are not yours, and charges that are not shipping.
- Search by name, not a code. Type two characters into the items field and your own product names come back with a thumbnail, the SKU and what is on hand. This exists because a manufacturer told us he does his POs from home, never scans anything, and was opening a product picker for every single line.
- Custom lines for things that are not products. Tooling, a die charge, a setup fee, a one-off part that will never be a Shopify product. Add it as a custom line and it prints on the supplier document and counts in the total.
- Pack sizes and minimums. Per-variant pack size and minimum order quantity ride along on every line, so a suggested quantity rounds to the way your supplier actually sells the thing.
- The supplier's own part number. Each variant can carry the vendor product code, which resolves onto the PO lines, the PDF and the CSV export. Your supplier reads their number, not yours, and nothing coming back from Shopify can overwrite it.
- Mixed tax on one document. Per-line tax rates for the GST-and-QST case, per-line discounts, and shipping or adjustment charges that split across the lines however you say.
- Add to an order you already sent. When the supplier confirms extras, ordered and partial POs accept new lines, and Stockroom nudges you to resend the document. Existing lines stay locked, because the supplier is working from the copy you sent.
What the part actually cost
A component's cost is the invoice plus the freight plus the duty, allocated properly. That number is the one your finished-goods margin depends on.
- Freight and duty into the unit cost. Allocate a charge across the lines by value, by quantity, by weight, or by a split you type yourself, and it lands in the landed cost of each part.
- The invoice is the truth. Unit costs are editable while you receive, and what you type is written to that receipt. The next delivery of the same part at a different price does not rewrite this one.
- Undo a receive. Received with the wrong costs? The receipt is voided rather than deleted: quantities reverse, the PO steps back so a corrected receive can follow immediately, and the voided receipt stays in the history marked as undone.
- Part now, the rest later - or never. A short delivery asks what you want: keep the order open for another parcel, or close it short, which retracts the remainder from Shopify incoming instead of stranding it forever.
- One shipment, several POs. When three orders arrive on one pallet, receive them in one session. Scanning matches across every included order and each one gets its own receipt at its own costs.
- Cancel what will never arrive. Cancel the remaining quantity on a line and it stops counting toward totals, tax and charge allocation, while the originally ordered quantity stays on the record.
Counting what is left
- Stocktakes with a scope. Count by vendor, tag or location, or take the least-recently-counted items and make cycle counting a habit rather than an annual event.
- Adjustments with a reason. Damage, shrinkage, a miscount. Adjustments are drafted, then applied - and applied is permanent, so a correction is another document rather than a rewrite of history.
- One timeline per part. Receipts, adjustments, counts, transfers and daily sales on the same per-product history, so "where did forty of these go" has an answer.
- Value at cost, and as of a date. What the shelf is worth now, or on the last day of your financial year, on FIFO or weighted average.
The honest boundary
Better you read this now than discover it after you install.
- There are no bills of materials. Stockroom does not hold a recipe that turns components into a finished product, and it will not decrement parts when you build one. Every item is bought, received and counted on its own.
- Shopify bundles are left alone deliberately. If a finished item is a Shopify bundle, Shopify derives its stock from the components. Stockroom recognises those items and never writes inventory to them, rather than fighting Shopify over the number.
- Yield and scrap are just adjustments. You can record what you lost with a reason against it, and it shows up on the timeline and in the stock-on-hand walk. What you cannot do is model an expected yield.
- What is free, and what will not be. Purchase orders and receiving are free, and they stay free - that is the core of the app, not a trial. As Stockroom grows into deeper inventory management, the advanced end of that will be paid, along with things like hands-on onboarding and priority support.
Common questions
Can Stockroom track a bill of materials?
Not today. It manages what you buy - components and materials on purchase orders, received at a real landed cost and counted on the shelf. It does not assemble them into a finished product or consume the parts when you build one. If that is the whole of what you need, Stockroom is not the app yet.
Can I order something that is not a Shopify product?
Yes, as a custom line on the purchase order. It prints on the document your supplier reads and it counts in the order total. It is not a Shopify product, so there is no stock level sitting behind it.
We buy materials in another currency.
Each supplier carries their own currency and their orders are priced in it, defaulted to a daily reference rate and frozen when you mark the order placed. Freight and customs charges can be in your own currency on the same document.
Our supplier adds a setup fee to every order.
Add it as an adjustment charge and choose how it splits across the lines - by value, quantity, weight, or a split you type per item. It ends up inside the landed cost of the parts it belongs to, which is where it should be.
Is there a limit on how much we can put through it?
No. There is no cap on SKUs, purchase orders, suppliers, locations or users, and no per-order pricing. Every store runs the same app.
Run it on your own catalog
Install Stockroom free from the Shopify App Store. No trials, no credit card.