Dashboard
Your store at a glance.
What we are working on
The shop talking to itself: the new website, the shelving in the back, the van. Start one for a job, argue it out, send a photo of what you mean โ then write down what was decided, so the answer is still here in six weeks. See them all.
Discussion
Working out what to do, before anybody is told to do it. One discussion per job โ the new website, the shelving, the van โ with everything anybody said about it in one place, under their name. When it is decided, settle it with a sentence saying what was decided: that sentence is what the list shows afterwards, and it is the thing a chat group can never tell you. What comes out of it goes to somebody as a task.
1 Upload a sheet
Excel (.xlsx / .xls), CSV, or a photo of a stock sheet. Rows should contain the barcode, the location and the check (counted available quantity). A price column is optional.
Order lists
Drafts of what the shop needs to order โ one for each supplier, each run to the wholesaler or each job, named however suits. Add things as you notice them running short. A list is only a draft: it orders nothing, moves no stock and spends no money.
| List | Items | Units | Last changed |
|---|
Order list
Items
Adding something already on the list adds to how many.
| Item | Barcode | Qty | Note | Actions |
|---|
Note
Who it is going to, when, and anything the person doing the buying should know.
Supplier catalogues
The suppliersโ own price lists, as they send them. Upload one, check what was read off it, publish it โ then search it and put what the shop needs into that supplierโs basket, which becomes their purchase order.
Catalogues
| Catalogue | Items | Currency | Status | Updated |
|---|
Catalogue
Items
Preorders
Drafts for what customers have ordered ahead โ goods the shop is getting in for them. New preorder opens a cart marked as a preorder: add what the customer wants, name the customer, and Save as draft parks it here. Open one in the cart to change it, and ring it up from there when the goods arrive. Each is a Shopify draft tagged Preorder, so it is also under Drafts.
| Draft | Updated | Customer | Items | Total | Status |
|---|
Reserved
Goods held for a customer until a set date โ taken off sale so nobody else buys them in the meantime. New reservation opens a cart marked to reserve: add the items, name the customer, choose the date to hold them until, and Save as draft parks it here. When the date passes Shopify puts the stock back on sale by itself and the row says expired. Open one in the cart to ring it up when the customer comes, Extend to hold it longer, or Release to let the goods go. Each is a Shopify draft tagged Reserved, so it is also under Drafts.
| Draft | Customer | Items | Total | Held until | Hold |
|---|
Purchase orders
Write an order yourself or upload the supplier's sheet, then receive it into stock when the delivery arrives.
| Name | Supplier | Created | Status | Lines | New items | Received |
|---|
New sale
Scan a barcode or search by name. The cart stays visible while you work.
Scan to sell
Point the scanner at a barcode and the item drops straight into the cart.
No barcode? Type part of the product name and pick from the list.
Orders
Newest first until a heading says otherwise. New orders appear automatically while this page is open.
| Order | Date | Customer | Channel | Items | Total | Payment | Fulfillment | Top Speed |
|---|
Drafts
Carts parked for later โ a held sale, a quote, or an invoice waiting to be paid. These are Shopify draft orders, so they also appear under Orders โ Drafts in your admin.
| Draft | Updated | Customer | Items | Total | Status |
|---|
Top Speed Orders
The orders to go out with Top Speed, ticked at the till or on the Orders page โ the list to hand over when the driver comes. Newest first; untick one at the end of its row and it leaves, and the order itself is untouched. Tick the boxes at the front of the unpaid ones and Settle together collects for the lot of them at once. Once the courier's waybill number is known, Add tracking under an order's fulfillment puts it on the order in Shopify. Booking a parcel โ the waybill, the money to collect at the door, the sheet that travels with it โ is still Delivery.
| Order | Date | Customer | Items | Total | Payment | Fulfillment | Top Speed |
|---|
Quotes
Every quote number this shop has printed, newest first โ what it was for, who asked, and for how much. The search combs the whole book and the pages at the foot walk back through the rest of it, not just the quotes shown here. When a customer says yes, the quote becomes an official invoice from here: the goods are billed as they stand, without rebuilding the cart.
| Number | Quoted | For | Customer | Total | Status |
|---|
Proforma invoices
Invoices printed on company paper without a number โ newest first, with a search that combs the whole book and pages at the foot that walk back through it. Nothing here has touched the official sequence: when the customer pays, or their accounts department asks for the real thing, the proforma becomes an official invoice from this page without rebuilding the cart.
| Printed | For | Billed to | Total | Status |
|---|
Official invoices
Every MOF invoice number this shop has issued, newest first โ what it was for, who it was made out to, and for how much. Press an invoice to see the items on it, from the copy the book kept when the paper printed. The pages at the foot walk back through the rest of the book, not just the invoices shown here. Numbers are spent only when an invoice really prints.
| Number | Issued | For | Made out to | Total | Receipt | Status |
|---|
Receipts
Every payment the book has recorded, newest first โ what came in, against which invoice, whether paper was printed for it and whether the money has been counted into the cash drawer. Printing a receipt moves no money: the sheet lands here as paper waiting on a payment, and pressing Paid on it โ or on the invoiceโs row in the invoice book โ asks what came in, in dollars, lira or both, and writes the receipt and the drawer entry together. A sheet nobody ever pays is torn up from its own row. Each row can be put back on paper exactly as it printed, and a payment the book has under the wrong date can be moved onto the day the money really came in. The figure above the table is what those invoices still owe, with what came in split beside it by whether paper exists and by what the till is still waiting for โ all of it over everything the filters matched, not just the rows on screen.
| Received | Invoice | From | Amount | Paper | In the till | Still open |
|---|
Vouchers
Gift vouchers the shop has sold or given away, and what is left on each. A voucher that is sold is a sale into the drawer the day it is sold; spent at the till, it comes off the goods as a discount named for it, so the money is counted once. One that is given never had money behind it. Take one off a sale from New sale โ ๐๏ธ Voucher, beside the discount.
| Code | Issued | For | Value | Left | Runs out | State | Actions |
|---|
Sponsorships
Goods the shop gives away to be seen โ parts for a school's robotics team, prizes for a fair, a kit handed to somebody who will film it. Given from here they go out on an order like any sale, so the stock comes off the shelf, but nothing is collected: what they are worth, at the prices below, is filed as a Marketing cost โ on the Expenses page and in the P&L. No money moves: not out of the drawer, and not out of any account.
Give a sponsorship
Scan or search the goods being given away. Each one is valued at its price, which can be changed on its line.
| Given | For | Order | What for | Worth | By |
|---|
Invoice customers
The customers official invoices and quotes are made out to โ company name, MOF #, telephone and address, held once so the Print dialog fills them in instead of asking each time. Whatever gets typed when paper prints is saved back here by itself.
| Customer | MOF # | Tel | Address | Customer ID |
|---|
Statement of account
Pick a customer from the file and every official invoice made out to them lines up against the payments received, oldest first, down to what is still owed. Bound it to a period and everything earlier is carried in as a balance brought forward.
Whose statement?
Search the customer file above, or press Statement on a customer's row โ the statement reads their official invoices straight off the book.
- Invoiced
- Received
- Balance due
| Date | Invoice | PO | Type | Notes | Invoiced | Received | Balance |
|---|
Cash drawer
Every dollar and every lira that went into the drawer or came out of it โ sales as they were paid, money paid in and out, what it costs to be open, and the corrections that keep the till agreeing with the book.
| When | What | Against | How paid | Dollars | Lira | Value | Actions |
|---|
Accounts
Every pocket the shop holds money in besides the drawer โ the bank, the Whish wallet, the safe โ each with its two-currency balance, the account number and notes worth keeping, and its own history. Money moves between them and the till with Move money on the Cash drawer page.
One account's history
| When | What | Against | How | Dollars | Lira | Value | Balance after |
|---|
Expenses
What the shop spent, by month and by expense type โ the rent, the salaries, the generator, what was paid to suppliers โ read off the same day book the drawer keeps. Filing something under the wrong type is put right here, without touching the money.
Expense types
| Type | Entries | Total | Actions |
|---|
| When | Category | What | How paid | Dollars | Lira | Cost | Actions |
|---|
Bills
What the shop owes its suppliers. The invoice book answers who owes us; this answers who we owe โ every supplier invoice, what it charged, what is still outstanding and how long it has been waiting. Settling one writes the obligation down; it does not move the drawer, because a bill is not a payment.
| When | Supplier | Their number | Order | Charged | Owed | State | Actions |
|---|
Suppliers
Who the shop buys from. One line each โ the name, the number your own books know them by, and how to reach them โ so that โElectroslabโ, โelectroslabโ and โElectro slabโ are one supplier and not three. It fills itself as bills and orders name people.
| Supplier | Our number | Telephone | Owed | Actions |
|---|
Supplier Credit
Money sent ahead to suppliers, and the orders it paid for. Add a credit with the dollars you sent and the yuan the supplier received: the day's dollar-to-yuan rate is looked up, the yuan are valued at it, and what is left of the dollars is the transfer fee. Every purchase order naming the supplier is taken out of their credit at its goods total.
| Supplier | Credit sent | Fees | Orders | Balance | Actions |
|---|
Journal
A manual journal โ entries written by hand for adjustments and bookkeeping, each one balancing its debits against its credits. It does not post itself from sales, payments or expenses; those are the rest of Accounting's to record. Save an entry as a draft to look at again, and post it once it is final.
| Date | Reference | Description | Debits ($) | Debits (LL) | Status | Actions |
|---|
Annual report
A financial year, read out of every book the shop keeps: revenue counted once across sales orders, official invoices and the drawer; cost of goods sold rather than bought; every exclusion named with a count and a value. Two files come out โ a workbook and a designed report โ and neither is published if the year fails its checks.
Publication
A year that fails any of these is not published: the files are not produced and the run log below says why. A workbook with a warning attached is a workbook that gets sent on without it.
Closing the year
Once the report has gone out, close the year: every book then refuses an entry, a correction or a crossing-out dated inside it, and next year's report sets these figures beside its own, as published. Reopening takes the reason, and is kept with the year.
Profit and loss
Where the revenue came from
From the statistics page's cash result to this net profit
The statistics page counts money on the day it moved; this report counts a sale on its order date and a cost when it is owed. Each line is a population the two read differently.
What was left out
Each of these is excluded on purpose. None of it is missing.
Source data quality
Accounts with no P&L line
Nothing is ever dropped for want of a mapping: an unmapped account is still counted, on a line that says so. Give each one a home and it moves there the next time the year is built โ Map for one, Save these lines for every choice made. Money on a bill that names no account is listed under its supplier. A journal account has to be answered before the year publishes โ it may be a cost, or the balance sheet the cost was paid from.
Items no unit cost could be found for
Their revenue carries an estimated cost, not a calculated one. Enter the supplier bill, or the product's cost per item, and the estimate becomes a calculation. Largest first.
Run log
What this year is built with
The short list of things the books cannot say. Each is a fact about this year alone โ changing it never restates another one.
Manual adjustments
For a cost or a sale the books cannot show โ goods bought for cash with no bill, say. Each lands on one P&L line, in its month, with its note printed beside it in the workbook.
The books closed through
Nothing dated on or before this day can be written, changed or crossed out in the drawer, the invoice book, the bills or the journal. A correction is made today, in the open period. Only the owner sets it, with the admin password where the shop has one; moving it back reopens a period, needs the reason, and is recorded too. It is the same date the drawer, the journal and the invoice book offer to set, and closing a year below closes the books through its 31 December.
Do the books agree?
Orders against the drawer, invoices against the drawer, purchase orders against their bills, vouchers and build deposits against their drawer rows. Nothing is changed.
Trial balance
Every book read as the double entry it implies, on one small chart. The two clearing accounts are the checks: money receipted but not in a pocket, and suppliers paid without a bill settled.
Copies of the books
A copy of a book is kept before anything final is done to it โ a purge, a delete, an import โ and any copy can be put back (what stands then is kept first). Only the owner sees these.
Statistics
What the shop took over a period, how much of it was lira, what it cost to be open, and what the drawer did โ read off the same day book, in dollars at the rate each payment was taken at.
Cash result โ receipts and payments
The period's money laid out on a cash basis โ income, outgoings, the operating result, then stock bought, deposits and gift vouchers held, and what the partners took. A cash result, not profit after the cost of the goods sold: the Annual report works that out, and its page bridges a year's cash result here to its net profit, line by line.
Where the money sits
The till and every account at the period's close, valued at today's rate.
How it was paid
Every sale in the period, grouped by what the customer put on the counter.
What it cost to be open
Expenses by what they were for, biggest first.
Day by day
The drawer over the period
Money in and out, by who with
Customers
Everyone the shop knows: what they have bought, what they have spent, and the company and address an official invoice needs. Search by name, email or phone โ a phone number can be typed the way it is written on a card.
| Customer | Contact | Company & city | Orders | Spent | Since |
|---|
Customer
Orders
| Order | Date | Items | Total | Payment | Fulfillment |
|---|
Address
The default address, and what an official invoice prints. The company and the street are two of the four things an MOF invoice cannot be made out without.
Contact
A phone number needs its country code โ Shopify will not take a local one.
Summary
Tags
Note
Prep queue
Carts sent to the shop floor. Employees work these in the picking app at
/prep โ this is the counter's view of what is being picked.
| Job | Sent | From | Items | Picked | Status | Picker |
|---|
Set aside
Kits built as far as the shelf allowed and put by, each waiting on a part that was not there. Nothing in them is sellable and none of them counts as prepared โ but the parts inside have left stock, because they are in a box.
Stock alerts
What the floor found on the shelf when it did not match the screen. Raised from the
picking app at /prep โ usually the first
anyone knows a count has gone wrong.
| Item | Says | Shelf vs screen | Note | Who |
|---|
Tasks
Jobs that are not picking lists โ clean the storeroom, count the resistor drawer, ring
the supplier. Write one down and give it to somebody; it appears on their phone in the picking app at
/prep, and what they say about it comes
back here. Leave the name blank and the first person free can take it.
| What needs doing | Who | Wanted by | Status |
|---|
Wishlist
Who asked for what, and whether it is in yet. Anything the shop already lists is watched against the shelf by itself โ when it arrives the row turns and the sidebar counts it, so nobody has to remember. Something the shop does not stock is written down in words and marked in by hand. Most asked for adds it all up, so the next order to the supplier is decided by what people actually came in for.
| Who is waiting | What they are after | On the shelf | Where it stands |
|---|
Prep job
Everything on this job
| Item | Barcode | Shelves | In the box | State |
|---|
Delivery
Orders going out of Beirut with a courier. Book one from its order page, write down who is taking it and what they collect at the door, then print the sheet that travels with the parcel. The waybill is the courier's own number โ scanned or typed off their paper โ and once it is here the sheet carries it as a barcode, the parcel sticker prints it, and Shopify shows it to the customer as tracking.
| Order | Who it is for | Where | Waybill | Pieces | To collect | Status |
|---|
Delivery
The sheet
Where it got to
Set by hand, here. Nothing in this app is told anything by the courier, so these are the shop's own note of where a parcel got to โ not tracking.
Employees
Everybody who signs in โ here, or to the picking app at
/prep. What they do decides what they
see: a new account starts on the shop floor with the picking app and nothing else, and
Permissions opens the menu on the left so you can switch on exactly the entries
they need, one at a time.
| Name | Username | What they do | What they can reach | Status |
|---|
Activity log
Every action anybody took โ at this counter and on the shop floor โ with the person who took it and the minute they did. Sign-ins, prices, orders, invoices, stock, staff accounts: all of it, including the attempts that failed. Kept in the same place as the books, so a deploy cannot take it away.
| When | Who | What happened | Where |
|---|
Products
Scan or search for anything in the catalogue to see its price, its stock at every location, and which shelf it is on. Prices and shelf codes can be changed here; everything else stays in Shopify.
| Product | Barcode | Shelves | Price | In stock | Status |
|---|
Product
Stock
| Location | Available | Committed | On hand |
|---|
Where it is
The shelf codes for this item. They are kept in Shopify as variant metafields, and written into the SKU so they are readable from the Shopify admin too, which the Shopify admin shows under the variant's Metafields. Leave a box empty for a shelf this item is not on.
Used in kits
Pricing
Details
Reprice
When a supplier's list moves, a whole shelf moves with it. Find the products, say how much โ a percentage or an amount, up or down, or one price for all of them โ and see what every one of them becomes before anything is written. Prices are read from Shopify again at the moment of writing, so a price changed at the counter in the meantime is raised from what it really is now.
1 Which products
Leave the boxes as they are to take a supplier's whole range, or type to narrow it: a name, a barcode, a SKU or a tag. Archived products are never included โ they are not for sale, so the price on them is not a price the shop charges.
Projects
Parts pulled off the shelf for a build. Adding an item takes it out of stock straight away โ it has left the shelf, so Shopify should say so. Anything that turns out not to fit goes back with one click; whatever is still held when you close the project counts as used.
| Project | For | Started | Items | Holding | Returned | Deposit | Status |
|---|
No projects yet
Start one for a prototype, then scan the parts you take for it. They come out of stock as you add them, and go back when you return them.
Project
Parts taken
Adding a part takes it out of Shopify immediately. Set Qty first to take several at once, or use “Take more…” on a part the build has already had.
| Item | Barcode | Taken | Returned | Holding | Value |
|---|
Notes
Customer
Who the build is for. The order this project is billed as goes to them.
Deposit
What the customer has paid towards this build. It goes into the drawer now, and comes off the bill when the project is completed as an order.
Stock movements
Every part that left or came back, newest first.
Kits
A kit is a set of products sold as one item, with its own barcode and price. Send a kit to prep to have boxes assembled ahead of time โ assembling takes the parts out of stock, and selling then takes a prepared kit. Anything sold beyond what is prepared comes out of the parts, worked out live from the component stock in Shopify. The product a kit is sold as shows what this page says: the kit's price, and its prepared boxes as the count in stock โ never below zero.
| Kit | Items | Prepared | Parts | Price | Barcode | Status |
|---|
Most used parts
Every part across every kit, ranked. Sold in kits is how many went out inside the kits that sold over the period โ each kit's count of the part times how many of that kit sold, read from Shopify's orders on every channel, net of refunds. Total qty is how many go into one of each kit, all added up. Kits is how many kits list it at all.
| # | Part | Sold in kits | Total qty | Kits | In stock |
|---|
Which kits use a part?
Search for an item โ 0.5W 330 ohm resistor, a product name, a barcode โ and every kit that uses it comes back, with how many go into one of each kit. Both the words the kits' own parts lists use and the product's name in Shopify are searched, so it does not matter which of the two you happen to know.
Kit
What's in one kit
Quantities are per kit, and every part's name, note and barcode can be typed over โ including on a kit that came from a spreadsheet, where the words are whoever wrote the sheet's rather than the shop's. A component with no barcode can't be sold yet โ type its barcode in to link it to the product in Shopify, or mark it as a custom item (a box, a printed sheet, a hand-made part) that is gathered for each kit but has no stock of its own.
Drag a row by its handle to put the parts in the order they should be gathered in โ that is the order the assembly list goes out to the floor in. The handle takes the arrow keys too, and Home and End, for a keyboard or a long list.
| Component | Barcode | Per kit | Value | In stock | Builds |
|---|
Scanning a barcode adds it straight away. Otherwise pick from the list โ arrow keys and Enter work.
Can I build this many?
Ask for a number of kits to build and this says how many the parts on the shelf cover, what is holding the rest back, and by how much. Every kit is counted as built from scratch โ kits already assembled are not counted.
Availability
Prepared stock
Set aside
Kit details
Sold as
Order
Items
| Item | SKU / shelf | Barcode | Qty | Unit price | Total |
|---|
Payment
Timeline
Pickup labels
Stickers for orders waiting to be collected: a number โ one, or a run with a sticker each โ or anything you write yourself. Big, bold and alone on the paper.
Print a number
Leave up to empty to print the one number. The sticker's own look โ caption, barcode, the shop's frame โ is set once against the numbered label in Labels โ Template, so the same sticker comes out however many people print it.
Write a sticker
For what a number cannot say โ a name, paid, back Tuesday, which bag of three this is. Type it and it prints as large as the paper will carry it, in English or in Arabic: the words wrap themselves and the writing sits in the middle of the sticker. Enter starts a new line, and the drawing beside the box is the sticker you will get.
The ones you write again and again โ paid, call before collecting โ are worth keeping: write it once, press Save this one and give it a name, and from then on it is in this list. Picking one puts it in the box below, so it can still be changed before it goes on paper. The list is the shop's, not this machine's: a sticker saved at one counter is in the list at the next.
What came out
| Label | Copies | State | Sent |
|---|
Order check
Count a ready bag against its picking list before it is handed over โ scan each item, or count by hand. Who checked it, and whether it matched, stays on the job. Kits the floor has assembled are proved here too, under Kits to book in: confirming one takes the parts out of Shopify and puts the built kits into the kitโs own stock.
| Job | Ready | Items | Picked by | Check |
|---|
Labels
Shelf labels on the shop's own Datamax printer: scan or search, and the name, barcode and price come out on sticky paper.
Print queue
Jobs wait here until the printing helper on the counter PC collects them. A scanned barcode prints straight away; anything typed shows its matches first, so copies and lines can be set.
| Label | Copies | Status | When |
|---|
The printing helper
The printer is on a USB port of a shop PC, so a small helper runs there and collects these jobs.
Download all three files into the same folder on that PC, then double-click
install-label-helper.bat once: Windows starts the helper at every sign-in from then on,
with no window and nothing in the taskbar, and it starts printing straight away
without a restart. It needs nothing installed.
To watch it work instead, double-click start-label-helper.bat and leave the window open โ
it says what it is doing, and stays open to show the reason if anything goes wrong. Either way it
writes label-helper.log beside itself, so a hidden helper can still be read.
install-label-helper.bat /remove stops it and takes it back out of Windows startup.
Resetting the token cuts off every previously downloaded helper.
Print a purchase order label
The PO number alone, big and bold in white out of a black block. Want the supplier, a barcode or the shop's frame on it too? Tick them on for the PO label in Template below โ and untick Black label there for the shop's white paper instead.
Print a customer label
The name big with the phone under it โ for a parcel waiting to go out, with the order number and who is taking it across the top, printed white out of a black block. Orders have their own Print label button, which fills this in from the order and asks the same question.
Print numbered labels
One number, or a run of them with a label each โ bin markers, drawer numbers, boxes in a delivery. Leave up to empty to print the one number. Each prints alone, big and bold in white out of a black block; the caption and barcode print only if you tick them on for the numbered label in Template below.
Print a custom label
Whatever you want it to say, in English or in Arabic. Type it below โ Enter starts a new line โ and it prints as large as the paper will carry it: the words wrap themselves, every line comes out the same size, and the block sits in the middle of the sticker. Nothing else is on it unless you tick it on for the custom label in Template below, where its alignment lives too. Arabic prints as Arabic โ joined up and reading right to left โ unless the Printer built-in font is on, which has no Arabic in it and spells the words in Latin letters instead.
Template
The label as the printer will draw it. Untick an element to drop it, pick a text size, and nudge anything in half-millimetre steps โ the preview updates as you type, and nothing prints until you press Print test label. Save makes this the label on all desktops. Each of the five labels keeps its own settings: pick which one you are working on with Preview. Align appears for the custom label, whose block of writing is the only thing here with an edge worth choosing.
Black label prints white out of a black block, inside a white border โ the PO, numbered and customer labels come this way; the shelf and custom labels do not. It is the label the eye finds in a pile, and it costs the printer a lot more ink: it burns about seven tenths of the paper instead of one tenth, so print a test roll before a delivery's worth. A barcode ticked on keeps its own white patch, because a scanner cannot read light bars on dark.
| Element | Show | Size | Width | Right (mm) | Up (mm) |
|---|
Label stock & printer
The label follows the shop's template: name on top, brand up the left edge, barcode with its digits in the middle, phone up the right edge, and the rest of the name under the lower rule. Blank the brand or phone to leave them off. Heat is how hard the printer burns โ raise it if labels come out faint. The printer name must match Windows' printer list exactly; the helper prints that list when it starts. The layout is drawn from the shop's BarTender template for its 1.5โณ ร 1.1โณ (38 ร 28 mm) stock.