Your online shop lets customers browse everything you sell, fill a basket, give you a delivery address and pay — all without ringing you. Orders arrive already paid, and your team despatches them.
The shop lives at /store on your normal web address. If your workspace is
acme, that's acme.bsensor.app/store.
Before you start
Three things need to be in place, and the shop will not be much use without them:
- Something to sell. Your shop shows the same items your till shows. That is decided by the item categories on your POS settings — the same list that decides what a cashier sees and what appears on a table QR menu. There is no separate "put this in the shop" tick to keep up to date, and no second catalogue to drift out of step.
- A way to be paid. Your card payment method needs a settlement account against it, or payments cannot be posted to your books. See Common problems below — this is the single most common thing to get wrong.
- An item to charge delivery as — unless you deliver free. See below.
Steps
-
Go to Setup → Online store.
-
Choose which products the shop shows. Three answers:
- Same as your main till settings — what most shops want. The shop shows exactly what a cashier sees.
- Same as a particular till — for a shop whose website should follow one counter, then pick the till.
- A separate list, just for the shop — when you sell a different range online than over the counter. You then create that list in POS settings with its scope set to "Store"; until you do, your main till settings are used and the screen tells you so.
Either way, which categories appear is set in POS settings, not here — that is the whole point. One list, one place to change it.
-
Choose the item delivery is charged as. This matters more than it looks: the delivery charge appears on the customer's invoice as this item, and the money goes to whatever income account that item uses. Pick one that means "delivery" to your accountant — and if you haven't got one, make one.
Only items of type Service, Charges or Fees are offered. A stock item would come off your shelf every time somebody paid for delivery, and a food or goods item would post your delivery income to the wrong account.
-
Decide how delivery is charged, under How is delivery charged?:
- Same everywhere — fill in Delivery charge (
0if you never charge) and Free delivery over (0if the charge always applies). An order at or above that figure pays no delivery. - By area — customers choose their area from your list. See Charging by delivery area below.
- By distance — customers put a pin on a map, and how far it is from your shop sets the charge. See Charging by distance below.
- Same everywhere — fill in Delivery charge (
-
Read the grey box that appears — it shows exactly what your customers will see.
-
Tick Open the shop to customers.
-
Press Save.
Charging by delivery area
Use this when delivering across town costs you more than delivering next door, or when there are places you don't deliver to at all.
- Choose By area, then under Delivery areas press Add area once for each place you deliver to — a district, a town, an estate. Use names your customers will recognise.
- For each area enter:
- Charge — what delivery there costs.
0means delivery there is free. - Free over — an order at or above this figure is delivered there free.
0means that area always pays its charge. - Places in this area — the neighbourhoods, estates, streets and landmarks inside it, separated by commas: Akoka, Sabo, Ebute-Metta, Unilag. Customers search by these, so someone who knows their estate but not which district you call it still finds the right area. This is the single best way to stop people picking the wrong one.
- Charge — what delivery there costs.
- Decide about everywhere else. Tick Also deliver outside these areas if you'll deliver to addresses not on the list. Customers then see Somewhere else at the bottom of the list, and pay the Charge outside your areas and Free delivery over amounts shown below it. Leave it unticked if you only deliver to the places listed — anyone else can still choose I'll collect.
- Press Save.
What customers see:
- The shop page says Delivery from your cheapest charge.
- In the basket, choosing Deliver to me asks for their Delivery area. They type their area, estate or a landmark and pick from the matches, each with its charge. The delivery line and the total change as soon as they choose, and if the area has a free-delivery offer they are told how much more to spend.
- They cannot pay for delivery until they have chosen an area.
What your team sees: the area is added to the end of the delivery address, so it shows on the Online orders list and on the delivery note the driver takes — for example 12 Bode Street, Yaba. Before despatching, check it matches the address; if it doesn't, correct the charge there (see Despatching online orders).
To stop charging by area, choose Same everywhere and save. Your areas are kept, in case you switch back.
Charging by distance
Use this when your customers are spread out and a list of areas would be long or hard to get right. Customers don't choose anything — they show you where they are, and the charge follows.
-
Choose By distance.
-
Under Where is your shop?, search for your street or tap the map, then drag the pin onto your door. Distances are measured from this pin.
-
Under Charges by distance, set your bands, nearest first — for example:
- Up to 3 km costs 1,000
- Then up to 8 km costs 2,000
- Then up to 15 km costs 3,500
Beyond your last band you don't deliver; those customers can still collect.
-
Set Free delivery over, if you want it — it applies at any distance within your bands.
0means the charge always applies. -
Press Save.
What customers see:
- The shop page says Delivery from your nearest band's charge, and how far you deliver.
- In the basket, choosing Deliver to me shows a map with your shop on it. They search for their street, tap the map, or use Use my location on a phone, then drag the pin onto their door. The distance and the charge appear straight away, and the total follows.
- A pin beyond your last band is refused with the distance, so they can move it or choose to collect.
What your team sees: the distance on the order, and a link that opens the customer's pin on a map — handy for the rider as well as for checking.
About the distances. They are measured in a straight line ("as the crow flies"). Roads are always longer, so set each band a little wider than the trip a rider actually makes — or charge a little more per band.
Visit /store on your own address to see what a customer sees.
Tips
- Start closed. The shop is off until you switch it on, so you can set your prices and pictures without anyone seeing a half-finished catalogue.
- Prices match your till. The shop uses the same price your cashier would charge, worked out the same way — department price, then price mode, then package, then the item's own price. Change a price once and it changes everywhere.
- Pictures sell. An item with no picture shows a grey placeholder. The shop uses the same item photos as your till and your QR menus, so anything you have already added appears automatically.
- Items out of stock are hidden — unless you allow selling without stock, in which case the shop follows that setting too, exactly as your till does. Customers cannot add a sold-out item even from an old page left open.
- Services do not need stock. Only stock items are hidden when they run out, and a recipe item is hidden when one of its ingredients is short.
- Customers can choose to collect. Every basket offers "Deliver to me" or "I'll collect" — a collection is charged no delivery and asks for no address, and reaches your despatch queue marked Collecting from the shop. You do not switch this on; it is always there.
- Customers browse by scrolling. Every category is on one page with a bar of category buttons across the top; tapping one jumps to that section, exactly as your till and your table menus work.
- Items sold in more than one size show a chooser. Bottle or carton, kilo or bag — the price changes as they pick, and each size is a separate line in the basket so an order can hold both.
- Recipe items ask what goes in them. A build-your-own opens the same picker your table QR menu uses, and the price is worked out from the components chosen — never from what the customer's browser says it should be.
- The free-delivery figure earns its keep. Customers see how much more to spend to get free delivery, which is one of the simplest ways to lift an order value.
Common problems
"Choose the item the delivery charge is billed as, or set the charge to 0."
You have switched the shop on and set a charge, but not said what to bill it as.
Pick an item in the dropdown, or set the charge to 0.
"That item cannot be used for delivery." The item is not a Service, Charges or Fees item. Create one called "Delivery", set its type to Charges and give it the income account your delivery revenue should land in, then pick it here.
"The item your delivery charge was billed as can no longer be used." It has been deleted, made inactive, or changed to a type that is not a service, charge or fee. Pick another one before you take any more orders — until you do, delivery cannot be charged.
"An order was despatched but the customer still looks like they owe me." Your card payment method has no settlement account. Go to Setup → Payment methods, find the method for your card gateway, and set the bank or cash account the money settles into. Until that is set, the system will raise the invoice but leave the payment for you to post by hand — it would rather leave you one row to fix than guess which account your money went to. Fix the setting, then post the missing payments from those invoices.
"My item isn't in the shop." Check four things, in this order: the shop is switched on; the item's category is one your POS settings include; the item is active; and it is not a stock item that has run out. If a cashier cannot see it on the till, a customer will not see it in the shop either — they are the same list.
"I want the shop to sell something the till doesn't, or the other way round." Set Products shown in the shop to A separate list, just for the shop, then create a POS settings row with the scope set to "Store" and give it the categories you want online. Everything else — prices, photos, stock rules — still comes from the same place, so only the range differs.
"Every delivery area needs a name" or "… is listed twice." An area row is blank, or two rows have the same name. Fill in or remove the blank row, or rename one of the two.
A customer says their area isn't on the list. Often it is, under a name they don't use — add the place they typed to Places in this area for the right area, and the next customer finds it. If you genuinely don't cover it, either add a new area, or tick Also deliver outside these areas so they can choose Somewhere else. Until then they can only collect.
"Put the pin on your shop's location" / "Add at least one distance band." Charging by distance needs both: where the shop is, and at least one band.
A customer is told "We deliver up to … km from the shop". Their pin is beyond your last band. If they've put it in the wrong place, they can move it. If you do deliver that far, add a further band.
"Use my location" doesn't appear for customers. Phones and browsers only share a location with secure (https) pages. On your live web address it appears; customers can always search or tap the map instead.
The map is blank or the street search finds nothing. The map and search come from OpenStreetMap over the internet. A strict office network or browser extension can block them. Customers can still tap the map where they are, or choose to collect.
A customer is told "We no longer deliver to that area." They had the basket open while you removed that area. They just need to choose again — the list refreshes when they see the message.
Delivery shows as free even though I set a charge. No item is chosen in Delivery charged as, or the chosen one can no longer be used. Without it there is nothing to bill the charge as, so none is added. Pick the item and save.