The chain reads left to right: goods value in the supplier's currency → × the bank's rate → goods value in QAR → + shipping → cost per piece → + packaging → total cost → selling price.
Bank rate is the rate actually charged on that shipment, taken from your statement — not the official peg, because the bank's margin is part of what the goods cost you. Goods value and Bank rate show the latest shipment, while the QAR and shipping columns are a weighted average across every shipment. So for an item bought twice at different prices those columns will not multiply out — deliberately: the right cost for the stock on your shelf is the average, not the last price paid. Such rows are flagged, and Details shows each shipment on its own.
| Photo | Item | Supplier | Stockpieces | Goods valueper piece · supplier currency | Bank rateQAR per 1 unit · as charged | Goods valueQAR per piece | ShippingQAR per piece · courier | Cost per piecegoods + shipping | PackagingQAR per piece · from catalogue | Total costQAR per piece | Selling priceQAR | ProfitQAR per piece | Margin% of selling price | Stock valueQAR at cost |
|---|
Nothing here yet. Add a supplier, then a product, then a receipt.
Receipts — incoming shipments
Each shipment is entered once: the supplier's currency, the exchange rate on the day you paid, the freight cost, and the items received. The rate is stored with the shipment and never updated afterwards — the cost of your stock is what left your account that day, not what the currency is worth today.
Products
A product carries its photograph, its packaging cost and its selling price. Purchase price and quantity are not entered here — they come from receipts, so every figure keeps a source you can trace back.
Packaging
Price each packaging item once here — a gift box, a carrier bag, tissue — then attach it to the products that use it. When a supplier raises the price of boxes you change one figure and every margin that uses a box corrects itself.
This replaces typing a packaging cost into each product one by one. That older way is still honoured for anything already entered, but it meant that the day a price changed, a hundred products needed editing by hand — which in practice means they never are, and every margin on the screen is quietly wrong from then on.
Packaging stock movements
What you bought, what was written off, and corrections after a physical count. Bags used by sales are not entered here — they are counted automatically from the sales themselves, because nobody remembers to record "used one bag", and a figure that depends on remembering drifts.
Nothing is corrected in place. Deleting an entry returns the count to what it was before it, so the history stays readable and a wrong entry can simply be removed.
Suppliers
The currency saved against a supplier is offered automatically when you record a receipt from them.
Sales
Record each sale you make on the shop site. Stock comes down and this screen shows what you actually earned — not what you would have earned at the list price.
Import from Shopify
In Shopify: Orders → Export, choose the date range, and upload the CSV here. Sales are matched to your products by SKU, and the cost of the day is stored with each one.
Importing the same export twice is safe — it updates the same records rather than adding a second copy, so exporting the last month every month is fine. Refunded, voided and cancelled orders are left out, since they earned nothing and their goods came back. Nothing is written until you have seen what will happen.
Record a sale by hand
For anything sold away from the shop site — in person, Instagram, a phone order.
Stock out & corrections
For stock that leaves without being sold — damaged, given away, returned to the supplier, or a stock-count correction. Sales go on the Sales tab, where the price achieved is recorded with them.
Stock is never a number that gets overwritten: it is received minus issued. Every movement stays on record with its reason, so a wrong entry is deleted on its own and the figure returns exactly as it was.
Backup
It is still worth keeping your own copy. An account can be lost, locked or suspended, and a business should never have exactly one copy of its cost records. One file holds everything, photographs included.
Download a copy
Restore from a copy
The contents are shown to you before anything is written. Restoring adds to what is already there, matching by id.
Sample data
Two shipments, four products and two suppliers, so you can see the layout before entering your own. It loads only into an empty database, so it can never mix with your real figures.