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.
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. 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. 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. 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 |
|---|
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 | 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 |
|---|
Expenses
What the shop spent, by month and by category โ the rent, the salaries, the generator โ read off the same day book the drawer keeps. Filing something under the wrong name is put right here, without touching the money.
| 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 | Number | Telephone | Owed | 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.
Profit and loss
Where the revenue came from
What was left out
Each of these is excluded on purpose. None of it is missing.
Source data quality
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.
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 to where it belongs.
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.
Profit & loss
The period the way an accountant lays it out โ income, outgoings, the profit, and what the partners took out of it.
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. 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 โ 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.
| Kit | Items | Prepared | Parts | Price | Barcode | Status |
|---|
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.