User manual

Saliyo — how to use it

For the person behind the counter, not the person who built it.

This describes a shop that is open — 9 September 2026

Saliyo is live and being used. Fine Interiors in Mbarara has been selling on it every trading day since 28 August 2026 — real sales, real stock, real money in the drawer at the end of the day. Everything below is what that shop actually does, not a plan for what it might do.

So read a "not yet" here as meaning exactly that. Where this manual says something is not ready — working with no internet at all is the main one — it is not ready, and it is not being softened. Where it describes a screen, that screen exists and somebody used it this week.

The pictures are still owed, and the plan for them has changed. This was written expecting screenshots from a visit to the shop in September. That visit was cancelled and is not being rescheduled, so they cannot come that way. They will have to come off Nicholus's own tablet or over a call. Until then, read it as complete text with gaps where pictures go — the words have been kept current even though the illustrations have not arrived.

What has changed since the shop opened

Read these if you have been using Saliyo since August; skip them if you are starting now, because everything below already describes them.

  • Selling on credit, and invoices. A customer can take goods and pay later, and you can give them an invoice with a day to pay by — see Paying later and An invoice.
  • Printing to paper works from an Android phone or tablet, not only from the laptop. An iPhone still cannot, and sends the receipt to the counter instead. See Printing the receipt.
  • Sizes and colours are now chosen, not typed. Add one item shows the ones your shop already uses and you tap them; Edit details can add a size or colour to a design that already exists.

The two sections written after the first draft

Added on the 16th: giving money back, downloading a blank item list, correcting somebody's details, and PINs. The first of those is the one to read before the first time it happens rather than during it — there is no Return button, and the way it is done has a consequence worth knowing in advance.

Added on the 17th: customers. Skip that section entirely if you sell to whoever walks in — it is switched off until you ask for it, and off is a perfectly good answer.


What this thing is for

Saliyo remembers three things you already know but cannot hold in your head at once: what is on the shelf, what was sold, and what it cost you.

From those it works out the rest — what you made today, what is running low, whether the drawer matches the sales, and who did what. You do not have to tell it any of that. You record what happens as it happens, and it does the arithmetic.

It is not a notebook with a screen. The difference is that a notebook lets you write anything, and Saliyo asks why when a number does not agree with another number. That is the point of it, and it is the part that takes a week to stop feeling like an interruption.


Signing in

Every person has their own PIN. Not the shop's PIN — theirs.

That is not bureaucracy. Every sale, every price change and every correction is recorded under the name of whoever was signed in, and that record is what lets you answer "who sold this at that price?" without anybody having to remember. A shared PIN turns every one of those answers into "somebody".

  1. Open the shop's address in the browser — yourshop.saliyo.com.
  2. Type the phone number.
  3. Type the PIN.

First time, or after the owner resets your PIN, Saliyo asks you to choose a new one before it lets you do anything else. Choose something you can type without looking, because you will type it while a customer waits.

Five wrong PINs locks the account for fifteen minutes and tells the owner. The clock does not restart because you got it right on the sixth try — wait for it.

If it says the phone number or PIN is wrong, it will not tell you which. That is deliberate. Staff phone numbers are not secret, and a system that confirms which half you got right is a system that helps a stranger guess the other half.

It signs itself out

A screen nobody has touched for a while signs itself out and comes back to this page. You get a warning across the bottom for a minute first — touch anything to stay signed in.

This matters more than it sounds. Saliyo runs in a browser, and a browser left open stays open: shut the laptop at closing time and, without this, it would open the next morning still on your till, showing yesterday's takings to whoever opened it.

The owner sets how long under Settings → Signing in, anywhere from one hour to twenty-four. Shorter is safer and more annoying; pick what fits how your counter actually works.

If you were signed out this way, the sign-in page says so. Nothing was lost except a sale you had started ringing up and not finished — which is why the warning comes first.


Making a sale

The Sell screen is the one that matters. It is first in the list, and it is the one you should be able to work without reading anything.

The shelf is on the screen. Every product in the shop is a card — the brand at the top, the name, what sizes and looks it comes in, the price, and how many are left. What you sell most is first. The tabs above the cards show one group at a time — Duvets, Bedsheets — with the number still in stock on each. A product made by several makers — 4pcs from Chewusi, Honey G, Jinli and Sunbelt — is one card, with the makers named at the top.

Or find it. Start typing in the search box (or press /). You do not need the whole word — "cre" finds the cream ones, and several words work in any order: "white 5x6", "honey duvet". A brand or a colour is as good a word as the name. If nothing carries every word, Saliyo shows the closest cards and says so, rather than an empty shelf.

Tap the card. If the product comes one way it goes straight onto the sale. If it comes in sizes or looks, the choice opens above the cards — press 6x6, then Blue — with the number of each in stock on the button. Where several makers make it, Brand is asked first. Anything that does not come in what you already chose is greyed. Set how many with − and +, then Add to sale. From the keyboard: arrows move between cards, Enter opens or adds, Escape closes.

The sale is the ticket on the right. Every line shows the item, the size and colour, and − / + to change how many. Remove takes it off.

Hold. A customer goes to fetch money and the next one is waiting: press Hold. The sale is parked on this tablet — nothing is sold, nothing is paid — and the counter is free. Press Resume Hold 1 to bring it back; if you were in the middle of another sale, that one is parked in turn. Held sales stay on this tablet only.

The total is always on the screen. You never have to add up.

Say how they paid — Cash, Mobile money, or Bank.

If they paid cash and you want the change worked out, type what they handed you into Cash given. Saliyo shows the change. This is optional; skip it if you already know.

Press Complete sale. That is the sale recorded, the stock reduced and the takings counted, all at once.

When the price is not the usual price

Type over the price on the line. The total updates, so what you are agreeing to is on the screen before you agree to it.

If you bargained on the whole sale, type the amount you took off into Discount given, under the items. It comes off the total and is recorded as a discount, spread over the items. More than the items come to is ignored, with a note. The same approval limit applies as for any discount.

Small discounts you can just give. Past a limit the owner sets, Saliyo asks for a manager or the owner to type their own phone and PIN to approve it — on the spot, at the counter. The sale then records both names: who sold it, and who approved the price.

Nobody is being accused of anything. It means that when the month's takings are lower than the month's stock movement suggests, the answer is on the record instead of in an argument.

Scanning a barcode

A scanner gun is the fast way. Plug in or pair any USB or Bluetooth scanner — the kind that types what it reads. With the search box selected, one beep puts the item on the sale; the box clears itself for the next one. No dialog, no button.

No gun? Use the camera. Press Scan above the search box, point the phone or laptop camera at the barcode and hold still; the item lands on the sale. That needs Chrome or Edge; another browser shows a box to type the code into instead.

The item must know its code first. Under Items, add or edit the item and fill in Barcode or code — scan it there too, or type it. The same code works on Receive, so a delivery can be booked in beep by beep. If a scan says No item has this code, that is where to put it.

Printing the receipt

Every sale has a receipt page — open it from Sales. It prints from the browser's own Print button to any printer the laptop knows.

**Every receipt ends POWERED BY SALIYO.COM, under the NOT A TAX INVOICE line.** It is on the paper slip, the receipt sent by WhatsApp, the return note, a quotation, a purchase order and the price tags — so a customer who likes what the shop is running has somewhere to look it up. It is not something to switch off, and it does not carry the shop's name anywhere outside its own receipt.

Once, in Settings → Receipt: set Receipt paper to 58 mm roll. That is what makes the receipt print edge to edge with nothing from the browser at the top. Fill in the line under the shop name (a phone number) and the address at the foot while you are there; both print on every receipt. Add your logo from the same card, or Saliyo prints the shop's initials in a ring until you do.

Once, on the laptop: the receipt printer has to be installed in Windows with its driver on the Bluetooth or USB serial port. After that, Print → choose the receipt printer → Print.

How you know it is connected: the light on the printer turns blue and it beeps once, the moment you choose it in the Print window. If it does not light and does not beep, it is not connected — check that before you look at anything else, because everything after this point assumes the machine is listening. Nothing is wrong with the roll and nothing is wrong with Saliyo.

If it lights and beeps and the slip still comes out blank, the roll is in the wrong way round: thermal paper prints on one side only. Take it out, turn it over, put it back.

On an Android phone or tablet you do not need any of that. Open the receipt and press Print on the Bluetooth printer. The phone asks which printer, you pick it once, and the slip comes out. Use Chrome or Edge — Firefox cannot talk to a printer at all.

Printing when you sell from an iPhone

An iPhone cannot print to a Bluetooth printer. Not in Safari, not in Chrome, not in any app store app we could install — Apple does not allow it, and no version of Saliyo will change that. You can still sell from the phone all day; it is only the paper that has to happen somewhere else.

So the phone asks another device to print for it.

On the device with the printer — the laptop at the counter, or an Android phone — open Printer station from the menu and press Connect the printer, then Start printing. Leave that page open. It will print whatever arrives, and it does not need touching again.

On the iPhone, finish the sale as normal and press Print at the counter on the receipt. The phone will say Waiting for the counter printer, then Printed at the counter when the paper is out.

If it keeps saying "waiting": nobody has pressed Start on the counter device, or that page has been closed. Open it again.

If the counter says a receipt "started and never finished": the station was interrupted part way. Look at the printer. If no paper came out, send it again from the sale; if paper did come out, leave it — sending it again prints a second copy, and the second copy is marked REPRINT.

A sale that was wrong

Go to Sales, find it, and void it. The stock goes back, the takings come down, and the void is recorded with your name and the reason.

Only an owner or a manager can void a sale. A cashier who has made a mistake should call one — that is the design, not a missing feature.

Nothing is ever deleted. A voided sale stays visible, marked as voided. The history of the shop is a record of what happened, including the mistakes.

Giving money back

Somebody brings something back and wants their money. There are two ways, and which one you use depends on how much is coming back.

Part of a sale — a return

They bought three sheets and are bringing one back.

  1. Go to Sales and find the sale.
  2. Press Take a return.
  3. Put the number coming back beside each thing. The screen only lets you choose what is actually still returnable — if one already came back last week, it knows.
  4. Say why. Wrong size, faded, changed their mind — whatever you would tell the owner.
  5. Choose how the money is going back, and press Give the money back.

The sheet goes back on the shelf, the money comes out of today's till, and you can print the customer a return note.

A cashier needs a manager or the owner to approve it, on the spot, with their own phone and PIN. Both names end up on the record: who took the return, and who allowed it.

The original sale does not change. Monday's receipt still says what it said, and Monday's takings stay exactly as they were. The return is its own event, on the day it actually happened — which is the difference between this and voiding.

The whole sale — a void

They are returning everything and keeping nothing. Go to Sales, find it, and void it. Everything goes back on the shelf at once.

Only an owner or a manager can void. A cashier who needs one should call someone — that is the design, not a missing feature.

One thing to expect, so it does not surprise you. If the sale was made on an earlier day, voiding it today takes that money out of that day's takings, not today's. Monday's total will read lower than it did on Monday. The cash count you already closed for Monday does not change — that is fixed the moment you close a day — but the sales figure does.

That is the reason to prefer a return when only part is coming back: a return never moves a past day's figures.

One rule where the two meet

If part of a sale has already come back, you cannot then void the rest. Saliyo will refuse and tell you to return what is left instead.

This is not fussiness. Voiding puts everything back — including the sheet that is already on the shelf — so the shop would end up with four sheets from a sale of three, and would hand back more money than it ever took. Returning the rest does exactly the right thing.

What is not there yet

Swapping one thing for another in a single step. For now: take the return, then ring up what they are buying instead. Two acts, and the shelf and the drawer both land right.


Receiving a delivery

Receive is where new stock comes in, and it is the screen that decides whether your profit figures are true.

If you have not paid for it yet, tick Not paid yet and Saliyo keeps the value as what you owe that supplier. If you paid part of it on collection, put that figure in Paid now — the rest is what you owe, and you can pay it off in instalments later under Expenses.

  1. Say who supplied it, or add a new supplier. A new one takes a name, and you can add a phone number and an email address if you have them — both are optional, and the email is where an order can be sent to a supplier who is not on WhatsApp.
  2. Add each item and how many arrived.
  3. Type what you actually paid for each one.

That third one is the whole thing. The buying price you enter here is what every profit figure is worked out from. Get it wrong and every margin in the product is wrong with it, quietly, for as long as that stock lasts.

If you paid a different price this time, enter the new price. Do not "correct" it to the old one. Saliyo blends the two — if you had 10 duvets that cost 42,000 and 10 more arrive at 45,000, the cost becomes 43,500 each, because that is what the twenty on your shelf actually cost you. That blending is why a delivery entered carelessly is worse than one entered late.

A sale keeps the cost it had on the day it was sold. Later deliveries never reach back and change what last week's profit was.


Ordering more

The first thing on the Orders screen is what you are running out of, hardest first. You do not have to set anything up for it. Saliyo watches what actually sells and works out how long each thing will last at that rate, so the top of the list is what to buy today and the bottom is what can wait.

Each line carries a word saying how bad it is:

Beside the word it tells you what it worked from: how many are left, and how fast they have been going — 3 pieces left · about a day at 2.0 a day. That is there so you can check it against what you know of the shop. If a line says something you know is wrong, the sales are what it read, so tell us.

If some are already on the way it says so, and does not ask you to order them twice.

Orders is the list of what is running low, already grouped by whoever delivered it last, with a quantity that brings the shelf back to twice its reorder level. Change any quantity (0 leaves it out), pick who you are ordering from (someone in the register, a name you type, or decide later), add a note if you like, press Draft this order, and it moves to Open orders.

Order anything else is under that list: search the catalogue by name or code (a scanner gun works here too), add what you want, set the quantities, and draft it the same way — low or not, reorder level or none.

An open order that nothing has arrived against can be changed: press Edit, alter the quantities, take lines off, add others, change the supplier or the note, and Save changes. Once part of it has been received the lines are the record of what you asked for — receive the rest, or cancel it.

Send on WhatsApp opens the supplier's chat with the message already in it — the reference, the lines, and roughly what it will cost at the last prices — when the supplier's phone is in the register (it gets there when you register them on a delivery). Share hands the same message to any app, or copies it if the phone cannot share. Mark as sent is your own note that you did.

**When the goods arrive, press Receive this delivery on the order.** Receive opens with the lines already filled in; change what differs, save, and the order closes itself — or stays open showing what is still to come if the supplier sent part of it. An order never changes the shelf: only the delivery does — and if that delivery is later reversed, the order opens again with those quantities still to come.

Set reorder levels under Items and the list fills itself. The low-stock alert now says the same thing: the order is a tap away. If you would rather not press it, Settings → Ordering → Draft orders automatically makes the draft appear on its own, in the owner's name — you still share and send it.

Counting the stock

Count is walking the shelves and saying what is really there.

Saliyo does not show you what it expects. That is on purpose. If the screen said "should be 12" you would find twelve — everybody does. You type what you counted, and the comparison happens after.

The opening count is the first one, when the shop starts using Saliyo. Once it is closed, that is the agreed starting point, and every difference after it has to be explained by something.

Every line wears its status. At the top: green for how many are counted, amber for how many are left, red for how many differ. Each counted line says matches (green), missing (red) or more than expected (amber). Past counts read Completed, In progress or Cancelled in the same colours — and the word is always there, so nobody has to read a colour.

One shelf at a time. Under One shelf at a time the Count screen lists every group — Duvets, Bedsheets, Pillows — with how many items it holds and when it was last counted; the one that has waited longest is at the top. Count this shelf opens a count for that group only: the list is just those items, and nothing else can be counted into it. A shelf a day, and the whole shop is touched in a month without anybody counting two hundred lines in one go. A shelf count is a real count — same lock on counted items, same report, same corrections. When a reminder is set, it names the shelf to start with.

Twenty-five at a time, saved as you go. The shelf list comes in pages of 25 in shelf order. Type what you counted; each box is saved the moment you leave it, so a dropped connection or a closed lid costs you one number, not a page. Save and show the next 25 moves you down the shelf; Previous 25 goes back. Counted items drop off the list, so you never see a shelf twice. A blank box is skipped, never counted as none.

Each item you count is locked the moment you save it — it cannot be sold, received or adjusted underneath the person counting it until the count is finished or cancelled. A count taken while the shelf is moving is not a count. Items you have not reached yet carry on selling as normal, so a count can run through the trading day one shelf at a time. While a count is open, every screen says so at the top: who is counting, since when, and how many items are locked.

Started one by mistake, or left one open? The owner or a manager presses Cancel this count on the Count screen and says why. Nothing is corrected, what was counted stays on record, and every item is free again. A count with nothing counted yet cannot be finished — cancel it instead.

When you finish, Saliyo shows what it expected, what you found, and the difference in money. Differences past the owner's limit need an explanation before the count can be closed, and the explanation is recorded next to the name of whoever counted that item.

How often? The owner can choose under Settings → Counting the shelves: every day, every week, every two weeks or every month, and on which day. On the due morning the owner and the storekeeper get a reminder, Count is marked due in the menu, and the Count screen says when the last count was and when the next is due. That is all it does — nothing is locked, no count is opened for you, and a busy Saturday can wait until Monday. Once you finish a count the next due date moves on from that day. Weekly, on a quiet morning, is a good habit for a shop this size; counting all 200 lines every day is a habit that gets dropped by the third week.


When the figures disagree

Adjust is for stock that left without being sold. Breakage, expiry, theft, a correction after a count, something you took for the house.

Every adjustment needs a reason from the list, and Something else needs you to type what happened.

Above the owner's limit it waits for approval. A storekeeper can write off a small amount; a large one needs a manager or the owner. There are two limits: one for a single adjustment, and one for a whole day, so the second cannot be walked around by making ten small ones.

Saliyo tells you before you submit whether this one will need approving and who can approve it. You are not left waiting to find out.


Closing the day

Cash day is the five minutes that make the rest trustworthy.

  1. Count what is actually in the drawer.
  2. Type it in.
  3. Saliyo shows what should be there, from the day's cash sales.

If they match, you are done.

If they do not match past the owner's tolerance, you must say why before the day closes. Someone paid partly in cash and partly on the phone; a float was taken out; a customer was given change from a pocket.

A short drawer is not an accusation. It is a fact that needs a sentence next to it, written on the day while somebody still remembers. The reason the tolerance exists is that a shop that has to explain every 500 shillings stops explaining anything.


The phone, too. Under the drawer figure the close shows Mobile money today, net — sales paid by mobile money, less refunds given that way, plus customers paying balances, less expenses and suppliers paid from it. If you check the phone, type what it shows came in; a difference past the same limit as the drawer needs a word before the day closes, and the owner is told. Leave it blank if you did not check.

Money paid out — only if you want it

Transport to the market, airtime for the shop phone, a lock for the door. Expenses is where those go — but only once the owner has turned it on under Settings → Expenses. Until then it is not in the menu, and the cash day simply expects the drawer to hold what the sales say it should.

Record it when the money leaves, not at closing time from memory. Press Record an expense, say what it was for, how much, and the one question that matters: where did the money come from?

Get that one right. An expense paid from a phone and recorded as "the drawer" makes the cashier look over by money they never had; the other way round makes them look short.

Who can record one. The owner, a manager, and a storekeeper up to the limit the owner sets (Settings → When to speak up). Above that limit, and for a cashier always, the owner or a manager types their own phone and PIN into the form — the same way a big discount is approved.

A wrong one is cancelled, not deleted. Owner or manager, with a reason. The line stays on the list, struck through, and stops counting. The History screen shows both the expense and the cancellation, with names.

What you get back. The Expenses screen shows today and the month so far. Numbers gains two figures next to Profit: Paid out and Kept — Kept is what was left after the shop paid its way, and it is the number to believe.

Looking back. Choose a Month to see every expense in it, or type in Find an expense — what it was for, or who recorded it — to search every month at once. The screen says how many it found and what they came to, cancelled ones not counted. Back to this month returns to today.


Owed to suppliers

If a delivery is not paid on the spot, tick Not paid yet on Receive (the supplier must be one from the register). The goods go in as normal; their value sits under Orders → Owed to suppliers — and under Expenses too, if the shop uses it — until you pay it — press Pay, say how much and where the money came from. From the drawer it comes off that day's cash; mobile money and bank do not. It is not an expense in the profit figures: the goods' cost reaches profit when they sell. Numbers → Owed to suppliers shows the same, oldest first.

Goods you sell for somebody else — Rwanda

Only in Rwanda, and only if you switch it on: Settings → Goods you sell for someone else.

Some suppliers leave goods with you and are paid for what sells. To record that, open the item, and under Whose goods are these? pick the supplier who left them. Everything else stays the same: you set the price, you sell it at the till, the sale and the money are yours.

What changes is when you owe them. Nothing is owed when the delivery arrives — the goods are still theirs, sitting on your shelf. What they cost becomes owed the moment each one sells. So do not tick Not paid yet on a delivery of their goods; Saliyo will tell you so if you do.

Orders → Owed to suppliers (and Expenses, if the shop uses it) shows the figure, and underneath it says what it is made of: Deliveries not paid for against Their goods that have sold. You pay it the same way you pay for any delivery — press Pay, say how much and where the money came from.

If a sale is cancelled or something comes back, what you owe goes down by exactly that much on its own.

Your items and prices

Items is the catalogue.

Starting out, do not type three hundred items on a tablet. Use Import a list — an Excel file or a spreadsheet you already have. Sizes and colours expand automatically, so one line for a duvet in three sizes and four colours becomes twelve items. You see exactly what will be created before anything is created, and you can fix the file and try again.

Adding one thing by hand — the sticker on the shelf. Add one item, then type it as the sticker reads: the name (Duvets 10pcs), the category, and what you pay and what you sell for.

**Under Sizes and colours you tap, you do not type.** The screen shows every size and colour your shop already uses — 5x6, 6x6, Cream, Navy — and you press the ones this design comes in. Pressing one again takes it off. If you need a colour the shop has never sold, Add a colour that is not here opens a box for it; type it once and it becomes one of the buttons from then on. Each colour shows its own dot, so you can find Cream by eye.

That is the whole reason it works this way: typed by hand, the same colour becomes Cream, cream and Creme over a few months, and the till then offers all three as if they were different things.

Then a grid appears: one box per size and colour for how many are on the shelf now, and a price per size if the sizes sell for different money. One press creates all of them — eight, for that sticker — and the shelf figures go in as a delivery at the cost you typed, so History and the average cost see it as one. A design in only one size and one colour is an ordinary single item, with one In stock now box instead of the grid. If the name is already in the list under another maker, add the brand: that is what tells them apart.

Your items as a file. Export products at the top of Items downloads every item — name, category, sub-category, brand, colour, size, buying and selling price, reorder level, unit — plus a saliyo id column. Open it in a spreadsheet, change what you like, and bring it back through Import a list: because each row carries its id, a renamed item comes back as a rename, a new price as a price change, and untouched rows as no change at all. The stock today column is read back too: once the shop is trading, a figure there is taken as what is on the shelf now — a new row with a figure is added with that stock, and an existing item whose figure differs from Saliyo's balance gets a count correction in your name, which the stock report shows like any other. Leave a cell blank to leave that item's stock alone. So one file can rename, reprice, add and restock in a single upload. Owner, manager and storekeeper only, because buying prices are on it.

No list to start from? The same screen offers two blank ones to download, fill in on any computer or phone, and bring back:

Both arrive with two example rows so you can see the shape. Type underneath them and delete them, or leave them — you will see them listed before anything is saved, and can go back.

Spell your categories the same way every time. The import screen lists the categories you already use, just above the file chooser. "Bedsheets", "bedsheets" and "Bed Sheets" are three different categories to a computer, and you will meet all three later in the filter on the Items screen. Copy them from that list rather than typing them fresh.

A sub-category is optional and puts Soft drinks under Beverages rather than beside it. A brand is the maker — Coca-Cola, Chewusi — and is its own column, not a sub-category. Once a brand exists you pick it from a list rather than typing it again, and it shows on the item's row and on the receipt. Colour and size are columns too: one value in the cell is that item's colour or size; a list in the cell — "Cream, Grey" — makes one item per value.

The list is shorter than the catalogue. Items of one product in different sizes and looks sit in one box — "Bedsheets 4pcs · 6 sizes and looks" — with the stock of all of them added up. Press Show each one to open it and Fold them up to close it again. Each size and look is still its own item with its own stock; only the list is shorter.

The colour down the left of a row is its stock. Red: none left. Amber: running low. Grey: stopped. No colour: fine. A folded box says how many of its items are out or low, so nothing hides inside it. The line above the list says which colour is which.

Look is what the Colour box used to be called — it holds a colour (Cream) or a finish (Fluffy, Plain, Metallic), whichever tells two items apart.

Edit details on a row opens everything about an item — name, category, sub-category, brand, colour, size, unit and reorder level — in one place. The colour and size here are this row's own: one item is one size in one colour, so changing them corrects what this item is, it does not turn it into several.

"This design also comes in" — adding a size or colour to something you already sell. At the foot of Edit details the screen says what the design comes in today — Today it comes in 5x6 · 6x6 · Cream — with those already ticked. Tick one it does not have yet, press Add to this design, and the missing ones are created: tick Navy on a design in two sizes and you get the 5x6 Navy and the 6x6 Navy, both under the same line in the list.

Three things worth knowing before you use it:

Ones you already sell are left alone — including any you have stopped — so pressing it twice does not make a second Navy.

Three buttons on each row, the rest under More. Record a delivery, Change stock and Edit details are on the row — the three you use most. More opens Change price, Change cost price, Change category, Photo… and, last and set apart, Stop selling.

Change price changes what you sell it for from now on. It does not change what anything already sold for.

Change cost price — owner and manager only — changes what the shop stocks it at: what you paid, not what the customer pays. From now on, and nothing already sold moves: every sale keeps the cost it was made at, so last month's profit stays last month's profit. Deliveries still update the cost on their own; this is for when you know the figure has changed and there is no delivery to enter.

Stop selling takes an item off the Sell screen without deleting anything. Its history stays. Use it for a line you no longer stock — deleting would take last year's sales with it.

Photo… (under More) opens Take photo and Choose from gallery, which put a picture on the item — it helps whoever is on the till recognise a thing by sight. Either one replaces a photo that is already there, and Remove photo takes it off — the coloured tile comes back.

Two products that are the same thing

Owner and manager only. Open one of them with Edit the product and press Same as another product? Merge it. Type part of the other one's name, choose it, and the screen says what will happen — "Every item under Tieback will move under Tiebacks, and Tieback will be removed." — before you press Merge. Stock, prices and item names do not change. Delete this product is there too, for a product with nothing on sale; while any of its items still sell, merge it instead.

Services — work, not goods

Only if the owner switches it onSettings → Services. Then Add one item offers This is a service (no stock): a repair, a delivery, a monthly cleaning. A service sells at the till like anything else, but it has no stock — it is never counted, never low, never received or adjusted, and it says Service where goods show how many are left. Whether an item is a service is decided when it is added and cannot be changed afterwards.

Places — a service that has room rather than stock. A course, a class, a workshop: work that runs out of seats. Put a number in Places on the service and Saliyo stops selling it once that many are booked — at the Services screen, at Sell, and through a payment link, all counting against the same number. Leave it empty and there is no limit. The Items list then shows 12 of 20 places taken, and the till says Fully booked instead of a price pill.

A voided sale gives its place back, and so does a return. You can lower the number below what is already sold: nobody who paid is turned away, the service simply reads full.

It counts every sale of that service, for as long as the service exists. A course you run again in November is a new service with its own places — otherwise November's class is full before it opens. (A payment link has its own Places too, which is that one intake's room; the two are checked together and whichever runs out first is the one that stops the sale.)

The Services screen — a counter for work

With services on, Services is in the menu, next to Sell. It is laid out for work rather than a shelf, in the order a job is sold:

  1. Who — find the customer by name or phone number, or leave it empty for a walk-in. Pay later needs a customer. Somebody new? Type their name (or number), press Add "…" as a customer, and they are added and chosen without leaving the screen.
  2. What was done — press Add to cart beside each service, + and for more than one. A service with places says how many are left, and a full one says Fully booked and cannot be added. Each service is at its own price; money off goes in the Discount box below. Add a Note if it helps — "Room 12, deep clean" — and it is printed on the receipt.
  3. How they are paying — cash, mobile money, bank, or Pay later (with a deposit, as at the till). A cashier putting work on pay later needs a manager's phone and PIN. Discount takes money off the whole job — type an amount, or a percentage with % — and the line under it says what the job comes to. It is a discount like one given at the till: past the shop's limit a cashier needs a manager, and it shows in the numbers.

Paying part now, the rest later. Choose Pay later, put what they pay today in Paid now, and complete the sale. Where the shop takes instalments, the screen that follows offers Pay in instalments for what is left — the same dates as on the customer's page, set before they walk out.

Complete records the sale and offers the receipt. It is the same sale the till makes — the cash day, the numbers and the customer's page all see it. A job that also sells goods ("curtains plus fitting") is rung on Sell, where services appear too, so it stays one sale and one receipt. The Services screen needs a connection; it does not keep a sale while offline the way the till does.

A shop that only sells services says so when it signs up — Do you sell goods, services, or both? — and opens with the Services screen and without Sell, Receive, Orders, Count, Adjust and Labels. An existing shop can do the same under Settings → Services → This shop sells goods too. Nothing is deleted either way.

Mobile money through Saliyo (Rwanda)

Set up by Saliyo, not in Settings. For a shop without a mobile money merchant account of its own, Saliyo can take its customers' mobile money and pay it to the shop's number. Saliyo switches it on and sets the number the money goes to; nobody in the shop can change that number, which is what keeps the money going to the right place.

At the Services screen, choose Mobile money. The customer's number is filled in when they are on the list; check it and press Send the prompt. The customer approves on their own phone, and the screen records the sale by itself once the payment is confirmed — not before. If they decline, send it again or press Take cash instead. The job cannot be changed while a prompt is waiting, because the amount asked for is the amount sold.

On a customer's page, Request payment does the same for what they owe: when they approve, it is recorded against their balance.

Nothing is lost if the connection drops. A payment that arrived after the screen stopped waiting shows under Mobile money → Received, not yet on a sale, and the Services screen offers it for a sale of exactly that amount.

Mobile money in the menu is the statement: what was collected, Paypack's fees, what has been paid to the shop's number, and what is still to pay. Saliyo pays the money to the shop's number, Paypack's fees deducted — by hand at first, and each payout appears here as soon as it is recorded.

Needs mobile money through Saliyo and services switched on. Then Payment links is in the menu, for the owner and managers.

A payment link is a page with its own web address — for example elevate.saliyo.com/pay/masterclass-cohort-2 — that you put on your website, send on WhatsApp or print on a poster. The customer opens it, chooses what they are paying for, types their name and mobile money number, and presses Pay. Their phone asks for their PIN; when they approve, Saliyo records the sale and adds them as a customer (if the shop keeps customers), exactly as if it had been sold at the Services screen. Nobody in the shop has to do anything, and it works at night.

Making one. Press New payment link. Say what people are paying for ("Public Speaking Masterclass — Cohort 2"); the web address is made from it and can be changed before you save, never after, so a link you have shared keeps working. Add one to six choices, each one of your services at its price — "I pay — 150,000" and "My employer pays — 354,000" are two services. The price always comes from the service: change the service's price and the link changes with it.

Copy link puts the address on the clipboard; Open shows the page as customers see it. Each link says how many people have paid through it and how much. Close link stops it taking payments (the page says so to anyone who opens it); Reopen starts it again. A choice whose service has been turned off disappears from the page, and the list says so.

Limits, so nobody can use your link to annoy strangers. A number can be sent at most three prompts an hour, a link thirty, and the whole shop sixty.

If the customer's phone never answers, nothing is recorded. If they approve after the page stopped waiting, the payment is still recorded within a few minutes. A payment that arrived but could not be recorded — the service was deleted meanwhile, say — is flagged to Saliyo, who sorts it out with you.

Places in this intake. Put a number in Places and the link stops taking payments once that many people have paid; the page then says Fully booked instead. While fewer than ten are left it says how many. A prompt waiting on somebody's phone holds a place for fifteen minutes, so the last place is never sold twice. The list shows 5 of 20 places taken, and Full when it is.

This number is this link's room. The service behind a choice can carry places of its own (Your items and prices → Services), which count every sale of it wherever it was sold — so a choice can be full here because the course filled up at the counter. The list says so beside the choice, and the page greys it out before anybody types a name.

Promotions and promo codes

Only if the owner switches them onSettings → Promotions. Then Promotions is in the menu, for the owner and managers.

A promotion is money off that you approve in advance: a name ("Early bird"), an amount or a percentage, and what it is on — everything, services only, or goods only. You can also set a minimum ("when the sale comes to 50,000 or more"), dates it runs between, and how many times it can be used. Because you approved it, whoever is at the counter can apply it without a manager — unlike a discount typed into the Discount box.

Without a code, a promotion appears in the Promotion list at the Services screen and on Sell, above the discount box. With a code (EARLY20), it never appears in a list: it has to be typed — at the counter, in Promo code, or by the customer themselves on a payment link, under Have a promo code?. Give the code to the people it is for.

One kind of money off per sale. Choosing a promotion empties and locks the Discount box. The screen shows what it takes off, and the sale records which promotion it was, so the Promotions screen can say how often each has been used and how much it has given away. A code already used on a sale cannot be changed afterwards; close the promotion and make a new one.

On Sell, the promotion replaces the "discount given" box the same way, and it needs every item at its own price: if you changed a price on the ticket, the till says so and will not complete until you undo the price or remove the promotion. A sale with a promotion that goes through the offline queue keeps its promotion when it is sent.

Closing a promotion stops anyone applying it; sales it was used on keep it.

The Numbers screen shows Promotions used for the period you choose: how many sales each was used on, how much it took off, and what those sales came to. Voided sales are not counted.


Customers — only if you want them

Sign-up asks you"do you keep a list of your customers?" — and your answer is what this is set to. Leaving it off is a perfectly good answer. If you sell to whoever walks in, there is nothing here for you: skip to the next section and the till behaves exactly as it does above.

Say yes if you have regular customers, people who pay later, or companies you invoice. Say no if every sale is a stranger. Either way you can change your mind — Settings → Customers — and turning it off never deletes anybody.

It is worth turning on if you sell to the same places more than once — a guesthouse, a hotel, a school, a neighbour who comes back every month. The question it answers is the one you get asked on the telephone: "what did we take from you in March?"

To turn it on: Settings → Customers → Turn on. A new Customers item appears in the menu. That is the whole of it.

Adding somebody

Customers → Add a customer. A name is the only thing it asks for that it insists on. A phone number and an email are useful if you have them; the note is for you — "orders sheets by the dozen, settles on the last Friday" — and it never prints on anything.

Two people can share a name; two people cannot share a number. There are a lot of Johns, and Saliyo will not argue with you about that. A phone number is different: it is the thing that says the same person, so if you type one that is already on file, Saliyo tells you whose it is. Usually that means you have just found the person you were looking for.

Anyone who can sell can add a customer, because the person standing at the counter is the one who meets them. Correcting a record, or turning somebody off, is the owner or a manager — the same line the product draws everywhere else.

Putting a customer on a sale

On the Sell screen, under the total, it says Customer — nobody in particular. That is not a field waiting to be filled in; it is the ordinary state of most sales, and the sale completes without you touching it.

If this one is for somebody:

  1. Tap Choose.
  2. Type part of their name, or their number.
  3. Tap them.

If they are not on the list, type their name in the same box, add their number if you have it, and tap Add … and use them. They are on the sale straight away — you do not leave the sale to do it.

Tap Clear to take them back off. And the next sale starts with nobody again, always: a customer never carries over from the last one.

What you get back

Customers lists everybody, what they have spent with you, and when they last bought something. Tap a name for their own page: the same figures, plus every purchase, each with its receipt one tap away.

A cancelled sale stays on their page, marked, and stays out of their total. That is the honest pair — you can see that something was rung up and undone, and their total says what they actually bought.

Quotations

Quotations is for "what would this come to?" — a hotel asking before it orders. Pick who it is for (or type a name), add the items, change any price you are promising, say how many days it holds, and Make the quotation. Share sends it as a message; when they say yes, Ring it up opens the till with the lines already on it at the quoted prices, and the sale closes the quotation. A quotation on its own touches nothing — no stock, no money, no report. Past its date it shows as expired.

Paying later

Only if the owner switches it onSettings → Customers → Let customers pay later. Then, with a customer on the sale, the till offers Pay later beside Cash and Mobile money. The goods leave, the sale counts as a sale, and nothing goes in the drawer — the customer owes the whole amount. A cashier needs a manager's PIN to do it.

Taking the money happens on the customer's page under Customers: Record a payment, the amount, and how it came. Cash goes into that day's drawer and the day close expects it; mobile money and bank do not touch the drawer. What they still owe is on their page, on the list beside their name, and under Numbers → Owed to you, oldest debt first.

A deposit. With Pay later chosen, the till offers Paid now and Paid by — cash or mobile money. Type what the customer pays now and the note says "pays 5,000 now and owes 53,000"; the deposit goes in the drawer (or on the phone) today and only the rest is owed. A deposit of the whole amount is not pay later — choose Cash or Mobile money instead.

Two rules. A limit can be set per customer, and a sale past it is refused. And a sale still owed for cannot take a part-return — take the payment first, or cancel the sale and ring up what was kept.

In credit. If a customer paid towards a pay-later sale that was later cancelled, the shop is holding their money: their page says In credit and how much, and it comes off their next sale on pay later.

An invoice

Only where pay later is on. An invoice is that same debt with a number on it and a day to pay by — what a hotel means when it says "send us an invoice" before it will pay anything.

Invoices in the menu shows three things: what is late, what is still running, and at the bottom the credit sales that have no invoice yet. Pick one and Issue the invoice: say how many days they have — 30 unless you change it — and anything you want printed under the total, a bank account for instance. Nothing about the sale changes. The goods, the money and what they owe are exactly as they were; the invoice is a document for what already happened. A cashier needs a manager's PIN, the same one they needed to let the goods go on credit.

Sending it. Share puts it in a WhatsApp message. Open the invoice shows the printable page, and your browser's Print button puts it on paper or saves it as a file you can attach to an email.

When they pay, record it on the customer's page exactly as you do now. The money goes against the oldest thing they owe first, so their earliest invoice clears first. An invoice with nothing left on it stops being late even if its date has gone by.

Late means money still owed after the day on the invoice. Numbers → Owed to you now has an Overdue column beside what is owed: blank there means either the invoice still has time to run or the debt was never invoiced.

Issuing twice gives you the same invoice back, never a second one — the customer may be holding the first.

It is not a tax invoice, and it says so at the foot. Saliyo is not connected to URA or RRA, so nothing it prints has been stamped by anybody. If a customer needs a stamped tax invoice, that still comes from wherever you get one today.

Plans — billing a customer every month

Only if the owner switches it onSettings → Customers → Bill customers on plans, which needs pay later on, and a service to bill (see Services under Items). Plans in the menu lists who is billed for what.

Adding one (owner or manager): choose the customer and the service, the price, how often — every week, month, quarter or year — the day of the first bill and how many days they have to pay. The screen says "First bill 1 Oct, due 8 Oct." The first bill is for a whole period, and each bill after it comes on the same day of the month.

Each bill is a sale on pay later, raised by Saliyo on its day and given an invoice. The customer owes it like any other pay-later sale, and you take the money on their page the same way. A late customer keeps being billed; Saliyo tells the owner every morning who is late. There are no late fees.

Pause stops the bills until you Resume — the paused months are never billed afterwards. End stops them for good; what was already billed is still owed. Change price applies from the next bill. Bill now raises, while you wait, a bill whose day has come — a plan starting today, with the customer standing there. It never bills a period before its day. If a row says a bill has not been raised yet, press Bill now and tell Saliyo — it means the automatic billing has stopped.

Instalments — paying off one sale in parts

Only if the owner switches it onSettings → Customers → Let customers pay in instalments, which needs pay later on.

On the customer's page, Instalments lists every pay-later sale they still owe on. Pay in instalments splits it: say how many parts, the first date, and every week or every month, and Saliyo fills in equal parts — whole amounts, anything left over on the last one. Change any date or amount; the line under them says whether they still add up to the sale, and Save the dates waits until they do. The invoice then falls due on the last date.

The money still comes in the usual wayRecord a payment on the same page. Each payment settles the customer's oldest debt first, and within a sale the earliest part first, so the list shows each part as Paid, Part paid, Due or Late without anyone ticking anything. A late part puts the customer on the owner's morning notice of who is behind. Change the dates replaces the schedule; the old one is kept in the history. A cashier needs a manager's phone and PIN to set or change dates, as for the sale itself.

Their own page — the customer sees and pays what they owe

On a customer's page, Their own page makes a private link for that customer — for example elevate.saliyo.com/c/… — that you send them. Opening it, they see what they owe, the bills that make it up (plan bills say which period), their instalment dates with any that are late, and their plans with the next bill date. Where the shop has mobile money through Saliyo, they can Pay now: the amount they owe is filled in, they may pay less (part now, the rest later) but never more, and the prompt goes to the number you have for them unless they type another. When they approve, the payment is on their balance straight away, as if you had recorded it yourself.

Sending it. Copy link, Send on WhatsApp (WhatsApp opens with the link in a message, and you choose who to send it to) or Email it to them (only when they have an email address). The card says when they last opened it.

A link sent to the wrong person — press Stop this link and make a new one. The old link stops working at once. Only the owner or a manager can do that, or make a customer's first link; anyone at the counter can send one that exists.

Reminders by emailSettings → Reminders to customers, off until you turn it on. Then customers with an email address are emailed when a plan's bill is raised, on the day an instalment falls due, and once a week while they are late — each email carrying the link to their page. Never more than one email a day to anybody; a customer turned off, or whose email was removed, gets nothing.

Turning somebody off, and turning the whole thing off

Turning a customer off keeps everything they ever bought. They stop appearing at the till, their history stays exactly where it is, and you can turn them back on. It is for the guesthouse that closed, not for tidying up.

Turning the whole feature off — Settings → Customers → Turn off — hides the list and stops new sales naming anybody. Nothing is deleted. No past sale changes. Turn it back on and everything is as it was.

What this does not do yet

The customer's name does not print on the receipt. The paper is 32 characters wide and there is a decision still to be made about what gets that space.

The customer cannot accept the invoice themselves. You send it, they say yes on the phone or by message, and you carry on — there is no link they open and no button they press. That is deliberate for now: a page anybody with the link can open is a different kind of thing to build, and it is being decided on its own rather than slipped in beside this.

Reminders to the customer are not here yet. Saliyo does not yet send the customer an email or a message before or after a date — the owner's morning notice of who is late is the reminder for now.

(This is where the manual used to say there was no "pay later". There is — it is two sections up, and it has been there since the end of August.)


The numbers

Today is the first screen after signing in. For the owner and a manager it is the shop's day: takings, items sold, profit so far.

A cashier gets a different Today — 2 September 2026. Under What you sold today is a list of the sales that cashier rang up: the time, the receipt number and how many pieces went over the counter. Tapping a row opens the receipt, which is what a cashier needs when a customer comes back holding a slip. There is no total on it, and it is that cashier's own work only — not the shop's, and not the person who was on the till before them.

The numbers is the fuller view — what sold, what made money, what is sitting on the shelf not moving, what is running low. If the shop records expenses, Profit is what the goods made and Kept is what was left after transport, airtime and rent came out of it, and Paid out, by kind says where it went.

What sold, three more ways. Under Best sellers, the same sales are listed by product, by brand and by look. Brand and look are the ones the item had when it was sold, so renaming or re-branding an item later does not move last month's sales.

Finding one sale. Sales lists the latest hundred; Find a sale — an item, a customer, who sold it, the amount or the receipt number — and the From and To dates reach every sale the shop has ever made. A cashier searches today's only.

Stock lost or found is the number a count is for: every adjustment and count correction in the period, by reason — damaged, expired, stolen, taken for own use, count correction — with what it was worth at today's buying price. A count correction from a stock count and one typed in Adjust are listed apart: the first came from walking a shelf, the second is a number somebody entered, and only the first says how accurate the stock is. Lost is red; found is amber, because a surplus is a difference to look into, not good news.

How far to trust the stock figures says when the shelves were last counted and what that count found, how many corrections have been made since outside a count (a spreadsheet upload, for instance), and when the next count is due if the owner set a rhythm. A refund is taken out of the day it was given, so returns never inflate a day's takings.

A cashier never sees what anything cost you, or what it made. They see prices and totals, and nothing else. That is not distrust; a buying price is the one number a competitor would like, and till operators change more often than owners do.

Nor do they see what the shop took today. Until 2 September the Today screen showed everybody the day's takings; now the shop's figures are the owner's and the manager's, and a cashier gets their own list instead.

A storekeeper does see buying prices — they have to, since they are the one entering deliveries — but not profit. Profit is the owner and the manager only.


VAT — only if the shop is registered

Most shops are below the registration threshold and never charge VAT; leave Settings → VAT off and nothing changes anywhere. A registered shop switches it on, types its registration number and the rate (18 in Uganda and Rwanda). Prices stay as they are — VAT is inside them. From then on every sale records the VAT in each line, frozen there like the cost, the receipt says Includes VAT 18% with the amount and carries the number, and deliveries record the VAT inside them the same way. Under Items, each item can be Standard, Zero-rated or Exempt — that is what the tax law says about the goods, not a discount. Numbers → VAT gives output VAT, input VAT and the difference for any period, on the shop's own calendar. The receipt still does not say "tax invoice": no authority has stamped it yet — that is the next piece of work, per country.

Your people

People is where staff are added, each with their own PIN and a role.

RoleWhat it is for
OwnerEverything, including the history, the settings and exporting the shop's data
ManagerRuns the shop day to day: sells, receives, counts, approves, closes the day
StorekeeperStock, not money: receives deliveries, counts, adjusts. Cannot sell
CashierSells. Never sees cost or profit, and never the shop's daily takings — Today is a list of their own sales, and the Sales list shows them today only. Earlier days are the owner's and the manager's

Turning someone off keeps everything they did. Their sales, counts and corrections stay under their name. You are closing an account, not erasing a person's work.

How many people your plan covers. The Small plan covers up to five people working in Saliyo, the owner included; Growing and Established cover your whole team. Only people who are switched on count — turning off somebody who has left frees their place for the next person. If Small is full, adding a sixth person (or turning someone back on) is refused with a message saying so, and nobody already working is affected; tell us and we move you up the same day.

A manager cannot reset the owner's PIN. Resets only go downwards.

Correcting somebody's details

Edit changes a person's name, their phone number, or what they do. Use it — do not turn somebody off and add them again. Adding them again makes a second person, and their old sales stay under the first one, so the shop ends up with two of somebody and neither has their whole history.

The phone number is what they sign in with. Change it and the old number stops working straight away, so tell them before you save. This is the reason Edit exists: one wrong digit typed on the day somebody joined used to mean that person could never sign in at all.

Nobody can change their own job, including you. If your own role needs to change, the owner does it. A manager who could promote themselves would make every other rule on this page decoration.

Only the owner can make somebody an owner, or change an owner's details at all.

A change takes effect the next time that person opens a screen. They do not need to sign out and back in.

PINs

You never type somebody's first PIN. When you add a person — or reset a PIN — Saliyo makes six random digits and shows them to you once, large, on the screen. Read them out. They choose their own the first time they sign in.

It is shown once because it is not stored anywhere after that. If you look away before reading it, reset the PIN and a new one appears. That is the correct cost: a PIN somebody could look up later is not a PIN.

Do not give two people the same number. Saliyo will not let you, and the reason is the whole point of the product — a name on every sale only means something if the name is right.


Tablets

Tablets lists the devices allowed to sell.

If you turn on Only approved tablets can sell, a PIN on its own stops being enough — the device has to be one you approved once. It means a PIN seen over a shoulder is not a sale made from somewhere else.

Worth turning on once the shop's own tablet is set up. Not before, or you will lock yourself out of the thing you are setting up.


When something goes wrong

"This address is not a shop." The web address is wrong. It needs your shop's name in front — yourshop.saliyo.com, not saliyo.com.

Locked out after wrong PINs. Fifteen minutes, and then it clears itself. The owner was told it happened. An owner or a manager can also unlock somebody straight away under People, without waiting.

A sole owner who has forgotten their PIN. There is nobody above them to reset it, and there is no self-service route back in today — telephone Saliyo. Worth avoiding rather than solving: add a manager before you need one.

There is no Customers menu item. It is switched off, which is how every shop starts. The owner turns it on under Settings → Customers.

A sale will not complete. Read the message; it says what to do. The common ones are a shop gone read-only because a subscription lapsed (the owner can fix it in minutes) and a stock count open on that item (finish or cancel the count).

The numbers look wrong. Start with History. Every action is there with a name and a time, and the answer is usually a delivery entered at the wrong price or an adjustment nobody mentioned. History is owner-only.

Nothing loads. Check the connection. Saliyo needs the internet to record a sale, and it would rather refuse than pretend a sale is saved when it is not.


The two habits that matter

Everything above is detail. These two are the whole thing:

Enter the buying price correctly, every delivery. Every profit figure the product will ever show you is built on it.

Close the day, every day. Cash that goes unexplained for a week cannot be explained at all — nobody remembers that far back. Five minutes on the day is worth more than an hour a month later.


Something here wrong, or missing? It is meant to match what the screens actually say. If it does not, the manual is the thing that is wrong.