The Spoonbill System Guide for Owners and Managers

This guide walks the owner and the manager through every part of the system, screen by screen, so they can train each department before go-live on 28 October 2026. Sections 1 and 2 are for everyone; sections 3 to 13 are one per department; section 14 is the training plan and go-live checklist. Each section names the exact buttons and boxes on the screen, so a trainer can follow it step by step.

1. How the system is organised

Everyone signs in at the same page, www.thespoonbill.co.ke/admin/sign-in, and the system takes them straight to the area for their job. Each person has one role, and the role decides what they see and what they may do. The owner (admin) can see and do everything.

Who lands where

RoleJobLands onMain tools
AdminOwnerAdmin dashboardEverything: orders, menu, stock, money, HR, customers, website, settings
ManagerRuns the restaurant day to dayTillTill, Stores, Marketing, People, My shift, Assistant, all reports
SupervisorShift lead on the floorTillTill with payment; approves discounts and voids with a PIN
CashierTakes paymentTillTill with payment; discounts and voids need a manager PIN
Waiter / waitressTakes orders at tablesTillOpens tables, sends orders to the kitchen, serves; no money
Barman / bartenderBarTillSame as a cashier, at the bar
ChefKitchenKitchen screenStarts and finishes dishes
RiderDeliveryRider screenPicks up and delivers web orders
AccountantMoneyAccounts areaOrder approval, supplier payments, P&L, money reports
Stock & Inventory Manager (storekeeper)StoresStores areaStock items, recipes, suppliers, supply orders, receiving
Marketing / CRM ManagerCustomersMarketing areaClients, campaigns, loyalty, discounts, events, bookings
HR ManagerPeoplePeople areaStaff records, departments, attendance, leave

A waitress has the waiter role; only her job title in HR says Waitress.

Which screens each role can open

AreaWho can open it
Till (POS)Admin, manager, supervisor, cashier, waiter, barman, accountant
Taking payment, moving, splitting or merging billsEveryone on the till except waiters
Approving a discount or a void with a PINAdmin, manager, supervisor
Kitchen screenChef, admin
Rider screenRider, admin
Stores (stock, recipes, suppliers, receiving)Storekeeper, manager, admin
Marketing (clients, loyalty, campaigns, events, bookings)Marketing, manager, admin
People (staff records, departments, attendance, leave)HR, manager, admin
Accounts (order approval, supplier payments, P&L)Accountant, admin
Admin area (menu, website, orders, refunds, cancellations, users, settings)Admin only

Anything in the Admin area a manager needs (adding a dish, refunding an order) goes through the owner.

Reports each role sees

All reports live under Reports. The admin sees all of them.

Report groupWho sees it
Owner and managementManager, accountant
Sales and POSManager, accountant, supervisor
Cash and shiftsManager, accountant, supervisor
Kitchen and deliveryManager, supervisor, chef
Stock and purchasingManager, accountant, storekeeper (recipe costing also the chef)
Accounting and taxManager, accountant
People and payrollManager, accountant, HR
Customers and marketingManager, marketing

Adding a new member of staff

  1. The new person signs up on the website with their own email and a password.
  2. The admin opens Admin › Users, finds them and presses Confirm & Activate, then Activate User. This skips the email check.
  3. In the same row the admin opens the role menu and picks the role: Cashier, Waiter, Bartender, Chef, Rider, Accountant, Manager, Supervisor, Stock & Inventory Manager, Marketing / CRM Manager, HR Manager or Admin.
  4. HR opens People › Staff and fills in the job title, department, date joined, salary, KRA PIN, NSSF and SHIF numbers and ID number. Payroll and the labour reports need these.
  5. The person signs out and back in, and now lands in their own area.

When someone leaves, the admin deletes them in Admin › Users on their last day.

Manager PINs

Voiding an item already sent to the kitchen, or giving a discount, needs a PIN from a manager, supervisor or the admin. Everyone with that power starts on the shop default PIN, which the owner gives them in person.

  1. Each manager and supervisor opens My shift on their first day and sets their own 4 to 8 digit PIN. The system refuses the default and easy runs like 1234.
  2. If someone forgets their PIN, the admin opens Settings › POS and presses Reset on their row under Manager PINs. They go back to the default and set a new one.
  3. The Manager PINs list shows who is still on the default. Nobody should be on it at go-live.

2. The daily routine

Every trading day has the same four steps: a manager opens the day, staff start their shifts, staff end their shifts, and a manager closes the day. Nobody can start a shift until the day is open, and the day cannot close while any shift is still open.

  1. Open the day (manager, supervisor or owner, before the first customer).
    1. Open My shift. Managers and supervisors see a Business Day card under their own shift.
    2. Type anything worth noting in Opening Notes (float counted, gas checked).
    3. Press OPEN VENUE FOR BUSINESS. The card turns green and shows ACTIVE DAY OPEN and the time.
  2. Start a shift (everyone, on arrival).
    1. Cashiers, bar staff, supervisors and managers open My shift, type the cash they start with in Opening float in the drawer (KSh) (0 if the drawer is empty), and press Start shift. Waiters can also press Start shift at the top of the till.
    2. The till now says On shift. Starting a shift also clocks the person in for HR attendance.
    3. If it says "The venue is not yet open for business", the day has not been opened yet.
  3. During the day. Every order is linked to the shift of the person who took it, and every payment to the shift of the cashier who took the money. This is what the shift cash-up and sales-by-waiter reports use.
  4. End a shift (everyone, before leaving).
    1. Open My shift, fill in the Daily Report (tasks completed, issues, customer feedback) and submit it.
    2. Staff with a drawer count the cash and type the total in Cash counted in the drawer (KSh). The button stays off until they do.
    3. Press End shift. This also clocks them out for HR. Shift cash-up then shows the float, the cash the till expected, the cash counted and any over or short.
  5. Close the day (manager, supervisor or owner, after the last shift ends).
    1. Check every shift is ended. The close is refused while any shift is open.
    2. In My shift, type the end-of-day notes in Closing Notes / End of Day Report.
    3. Press CLOSE BUSINESS DAY. The system stores the day's total sales, cash and M-Pesa.
  6. Read the day's figures in Reports: Daily sales summary (Z report) for the takings, Shift cash-up for each drawer, and Business days for each day's totals.

3. The till (POS)

The till is where every walk-in sale starts. Waiters use it on a phone to take orders. Cashiers, supervisors, managers and the bar use it on the counter screen to take payment. Menu prices include 16% VAT: a dish on the menu at KSh 1,160 costs the customer KSh 1,160, of which KSh 160 is VAT.

The screen has three parts: tables on the left, the menu in the middle and the bill on the right. On a phone they become tabs at the bottom.

Take a dine-in order (waiter, or anyone on the till)

  1. Check the top of the left panel says On shift. If it says Not on shift, press Start shift.
  2. Make sure Dine in is selected, then tap a table. A free table says available; a table with an open bill says OCCUPIED.
  3. Set Guests to the number of people at the table. The covers and spend-per-head reports use it.
  4. Find dishes with Search the menu or the category buttons, and tap each dish to add it. A dish with choices (size, sauce, extras) opens Select Options. A dish marked Offer has a discount from Marketing applied automatically.
  5. To tell the kitchen something, open the note on a line (Note for the kitchen). Use a quick note (No onions, No sauce, Well done, Extra spicy, No ice, Takeaway box), or type one and press Save note.
  6. For a loyalty member, type their name or phone in Loyalty customer (name, phone) and pick them. Their points are added when the bill is paid.
  7. Press Send to kitchen. The order goes to the kitchen screen and the table turns OCCUPIED. Adding more later shows Send new items; when everything has gone, the button says All sent.

Takeaway

Press Takeaway instead of Dine in, add the dishes and press Send to kitchen. No table is held.

Serving: the Ready to serve board

When the kitchen marks a dish ready, it appears on Ready to serve (the link at the top of the till, or My shift › Ready to serve).

  1. Collect the food and press PICK UP.
  2. Put it on the table and press SERVED (a takeaway is handed over the same way).
  3. Serving is the moment the dish's ingredients are taken out of stock.

Change a bill

These need payment rights, so cashiers, supervisors and managers can use them but waiters can't.

ButtonWhat it does
MoveMoves the whole bill to another table (Move Table)
SplitSplits the bill equally between several people (Split Bill Equally)
MergeJoins two tables' bills into one (Merge Bills)
Discount5%, 10%, 15%, 20% or 50% off the bill; needs a manager PIN
Remove a lineBefore it is sent: removed at once. After it is sent to the kitchen: needs a manager PIN and a reason

For a void or a discount the till opens Manager Authorization. The manager or supervisor types their PIN and, for a void, picks the Reason for the void: Customer changed mind, Wrong item entered, Kitchen error, Quality complaint, Took too long, or Other. Then they press Authorize. Every void, its reason and who approved it appears in the Voids and cancellations report.

Take payment (cashier, supervisor, manager, bar)

  1. Tap the table. Its bill loads, each sent line marked sent.
  2. Check the Total. It already includes VAT and any discount.
  3. Press Pay and choose the Payment Method:
MethodWhen to use itCounts as a sale?
CashNotes and coins into the drawerYes, into the cash drawer
M-PesaCustomer pays the shop's M-Pesa. Check the confirmation, then enter the M-Pesa Phone NumberYes, into M-Pesa
CardCard machine paymentYes, into the bank
Pay laterA known customer will pay later (house account, event)No; stays owed in Open and unpaid bills
ComplimentaryOn the house, approved by a managerNo; shown in the discounts and complimentary report
  1. Press Process Payment. The table becomes available again, the sale is posted to the books (cash or M-Pesa, VAT, food and drink sales) and the receipt can be printed.
  2. The receipt shows the items, any discount, the total and the line VAT 16% INCLUDED.

What each person can do on the till

WaiterCashier / barSupervisorManager / owner
Open tables, add dishes, send to kitchenYesYesYesYes
Serve from Ready to serveYesYesYesYes
Take paymentNoYesYesYes
Move, split, mergeNoYesYesYes
Discount or void after sendingNoWith a manager PINOwn PINOwn PIN

My shift

My shift (in the left menu) shows the person's current shift, the Ready to serve link and the end-of-shift Daily Report. For managers and supervisors it also holds the Business Day card and the place to set their own PIN.

4. Kitchen and bar

The kitchen works from one screen, the Kitchen Display System, which the chef sees on signing in. Every order sent from the till, and every approved web order, appears there by itself.

The kitchen screen

ColumnWhat is in itChef's button
Approved OrdersNew orders waiting to be cookedSTART when cooking begins
CookingOrders on the stoveREADY when the food is on the pass
Ready for PickupFood waiting for a waiter or riderNone; the floor collects it
  1. Each card shows the order number, the table or Takeaway, every dish with its options and kitchen notes, and how long ago it came in.
  2. A card older than 20 minutes turns urgent and shows the minutes in red.
  3. Press Enable Kitchen Notifications once on the kitchen tablet. The screen then alerts with NEW ORDER INCOMING! when an order arrives.
  4. Pressing READY tells the floor (Order Ready). The dish then shows on the waiters' Ready to serve board.

When stock is taken out

Stock is taken out when a dish is served (dine-in) or delivered (takeaway and delivery), not when it is cooked. Each ingredient leaves stock in the amount set in the dish's recipe, at its cost on the day. The cost of the food goes into the books at the same moment. A dish with no recipe takes nothing out of stock, so every dish must have a recipe (section 7).

A cancelled order never takes stock out. Refunding a dish does not put it back either, because the food was already used.

The bar

The barman works on the till like a cashier: takes the drink order, takes payment and serves. Drinks sent to the kitchen show on the kitchen screen with the food; there is no separate bar screen yet.

The chef's other screens

The chef's menu has Notifications, My shift (start and end shift), the Kitchen assistant, and Reports: ticket times, late and rejected orders, and recipe costing.

5. Online orders and delivery

Customers order on the website for delivery or pickup and pay either online through Paystack (card or M-Pesa) or in cash on delivery or pickup. Online ordering is paused for the move to Sunpark and opens again automatically on Wednesday, 28 October 2026. Until then the website shows a banner and refuses checkout; the till keeps working.

How a web order moves

StepPaid online (Paystack)Cash on delivery or pickupWho acts
1. Order placedCustomer pays on the Paystack pageOrder waits as unpaidCustomer
2. Approved for the kitchenAutomatic once Paystack confirms the paymentAccountant (or owner) approves it on the Accounts dashboard, or rejects itAccountant
3. CookedSTART, READY on the kitchen screenSameChef
4. Handed overRider delivers, or the customer collectsSame; the cash is taken at the door or counterRider / floor
5. Counted as a saleAlready paid at step 1Marked paid when it is delivered or handed overAutomatic

The accountant's approval

  1. Open Accounts. Cash orders waiting for approval are listed (Order Approval).
  2. Check the customer, items and payment method, then approve or reject. An approved order goes straight to the kitchen screen.
  3. Paystack orders never wait here; they arrive in the kitchen already paid.

The rider

The rider signs in and lands on the Fulfillment Center.

  1. Available for Pickup lists delivery orders the kitchen has marked ready. The rider takes one (Order Picked Up).
  2. It moves to Active Deliveries. At the door the rider marks it delivered (Order Delivered) and collects cash if it is a cash order.
  3. Completed Today shows the rider's deliveries. The Rider deliveries report shows each rider's count, times and delivery fees.

The owner's order screens

  • Admin › Orders lists every order from every channel, with filters. Opening one shows its timeline and, on the right, its Actions.
    • Cancel Order asks for a reason: Customer cancelled, Out of stock, Duplicate order, Payment failed, Could not deliver, or Other. Cancelling frees the table and takes nothing from stock.
    • Refund appears on a paid order. Type the amount (up to the total) and a reason, then Confirm refund. The refund is recorded today and reversed in the books; pay the customer back separately.
  • Admin › Deliveries follows delivery orders and their riders.
  • Admin › Kitchen shows the kitchen screen to the owner.

M-Pesa and Paystack

Online payments go through Paystack, which settles into the bank. At the till, M-Pesa is paid to the shop's own M-Pesa and the cashier records it (section 3). The Payment methods and M-Pesa check report lists both.

6. Menu and products

The menu is one list, used by the till, the website and the reports, and only the owner edits it, in Admin › Products and Admin › Categories. A change shows on the till straight away and on the public website within about 5 minutes.

Add or change a dish

  1. Admin › Products, then the new-product button (or open a dish to edit it).
  2. Fill in Product Name, Price and Stock Quantity (required). Type the price the customer pays, including VAT.
  3. Choose the Category, upload a Product Image and write a Description.
  4. Optional details: Prep Time (mins), Calories, Spice Level (0-5), Ingredients and Allergens (comma separated), and the search-engine Title and Description.
  5. Switch on Active to sell it. Vegetarian and Vegan add badges on the website.
  6. Press Save Product.
  7. Then give it a recipe in Stores › Recipes (section 7). Without a recipe the dish sells, but takes nothing from stock and shows no food cost.

To stop selling a dish for a while, switch Active off rather than deleting it; past sales keep their name in the reports.

Categories

Admin › Categories holds the menu groups (Burgers, Chicken, Drinks and so on): Category Name, Description and Category Image. The till's category buttons and the website's menu pages follow them.

Offers on a dish

Marketing sets a discount on a dish in Marketing › Discounts (section 10). While it runs, the till shows the dish with an Offer tag and the lower price.

Options and extras

Dishes with choices (size, sauce, extras) open Select Options on the till, and their extra price is added to the bill. The owner manages them at the bottom of the dish's page in Admin › Products, under Options and extras: switch on the groups the dish offers, change an option's extra price, add or remove options, or create a new group with Fewest to pick and Most to pick (for example Sauce, pick 1, required). Groups are shared, so a price change applies to every dish that uses the group.

The website

Admin › CMS changes the public website without touching the menu. Its tabs are Themes, Hero & Logo, Fries Section, Featured Menu, Grid & Cards, Footer and Styles. Customers can also build their own combo on the Combo creator page, which uses the same menu.

7. Stock and purchasing

Stock goes up only when a supplier delivery is received, and down when a dish with a recipe is served or delivered. Each movement is costed and posted to the books by itself. The storekeeper runs this in Stores; the manager and the owner can open it too.

The Stores menu

ScreenUse it to
Inventory (Stock & Inventory)See every ingredient: stock level, last cost, total value (KSH Total Valuation), Low Stock / Healthy status; search and filter; open an item
Stock countCount the shelves; each difference is recorded and posted
WastageLog anything thrown away
RecipesSet what each dish uses
SuppliersKeep suppliers' names, contacts and what they supply
Supplier OrdersReceive deliveries
Supply ChainSupplier performance, deliveries by day, week or month, and weight accuracy

Add an ingredient

  1. Stores › Inventory, then add a new item.
  2. Fill in Item Name, Category (Vegetables, Dairy, Meat, Dry Goods, Beverages, Other), Unit of Measure (kg, g, l, ml, pcs, box), Unit Cost (Ksh), SKU / Reference (optional), Initial Stock Level and Reorder Level.
  3. Press Add Item.

Use one unit per ingredient and stick to it: if flour is kept in kg, recipes and deliveries are in kg too.

Count the opening stock (before go-live)

Most items are at zero today, so serving a dish would push them below zero. Before opening:

  1. Count everything in the store, the kitchen and the bar.
  2. Make sure every item has its current Unit Cost (open it in Inventory, then Edit Item).
  3. Open Stores › Stock count, tick This is the opening stock count, type the counted amount for each item (leave any you did not count blank) and press Save count.
  4. Check Stock on hand and valuation in Reports; the total is the value of stock the business owns.

Regular stock counts

Count at least once a month the same way, without the opening tick. For each item the screen shows what the system expects (System says), what was Counted, the Difference and its Value at cost. Save count records each difference as a stock movement and posts shortages to cost of sales (surpluses the other way), so the Stock movement and Recipe vs actual usage reports and the books agree with the shelves. An opening count posts the stock brought in to the owner's equity instead.

Give each dish a recipe

  1. Stores › Recipes lists every dish. Press Add Recipe (or Edit Recipe) on a dish.
  2. Press Add Ingredient, pick the Inventory Item, and type the Qty Required for one portion, in the item's own unit (0.25 for a quarter kg).
  3. Add every ingredient, including packaging for takeaway if you track it, then Save Recipe.
  4. Check the dish in the Recipe costing and food cost % report: its ingredient cost, its price without VAT, food cost % and margin. A dish shown with "No recipe" or "ingredient(s) without a cost" needs fixing.

Example: a dish at KSh 1,160 (KSh 1,000 without VAT) using 0.25 kg of flour at KSh 200 a kg costs KSh 50 in ingredients, a 5% food cost and a KSh 950 margin.

Buy from a supplier

  1. Add the supplier once in Stores › Suppliers.
  2. Raise an order: Supply Chain › Manual Purchase Order. Pick the Supplier, then for each line the Inventory Item, Quantity and Unit Cost, and save. It is now pending.
  3. When the goods arrive, open Supplier Orders, press Receive on the order, check the items, type the Actual Delivered Weight (kg) and the Invoice / Delivery Note Number, and press Confirm & Update Stock.
  4. Receiving does all of this at once:
    1. Stock goes up by the quantity ordered.
    2. The item's cost becomes the weighted average of what was in stock and what arrived.
    3. The supplier's price is recorded (Supplier price changes report).
    4. A bill for the supplier is created, waiting for the accountant (section 8).
    5. The books record stock received and the money owed to the supplier.
  5. Any weight difference shows in Supplier Orders and the supplier performance report.

Low stock and reorder

When an item falls to its Reorder Level the system raises a low-stock alert, and an urgent one at half that level. The Reorder list report shows what to buy and from which supplier last.

Gas

The gas cylinders sit on smart scales. The owner's Admin › Gas screen shows each cylinder's gas left, use per day, days left, refills and cost. The Gas usage report gives the daily figures.

Logging waste

  1. Open Stores › Wastage. Chefs and supervisors use Log wastage on the kitchen screen.
  2. Pick the Item, type the Quantity in its unit, and choose the Reason: Spoilt, Expired, Dropped, Contaminated, Overcooked, Returned by customer, or Other. The screen shows its value at cost.
  3. Press Log wastage. It leaves stock at once, is valued at cost, posts to Food Wastage in the books, and shows in the list beside the form and in the Wastage report.

8. Money and accounting

Nobody types sales or stock into the books: every sale, refund, delivery, supplier payment, dish served and payroll run posts its own balanced entry the moment it happens. The accountant's job is to approve, pay, check and report, not to re-key.

What each event posts

EventWhere it startsDebit (goes up)Credit (goes up)
Sale paidTill Process Payment, Paystack, or a cash web order handed overCash on Hand, Mobile Money or Bank (the full bill)Tax Payable (VAT, 16/116 of the bill); Food Sales; Beverage Sales; Delivery Income
RefundOwner's Refund on the orderFood Sales and Tax Payable (the refunded share)Cash, Mobile Money or Bank
Dish servedWaiter's SERVED, or handoverCost of Goods SoldInventory
Delivery receivedStorekeeper's Confirm & Update StockInventoryAccounts Payable (owed to the supplier)
Supplier paidAccountant's Mark as PaidAccounts PayableCash, Mobile Money or Bank
Waste loggedLog wastageFood WastageInventory
Payroll runRun payrollWages and Salaries (gross pay plus the employer's NSSF and housing levy)Payroll Liabilities (PAYE, SHIF, NSSF, levy); Wages Payable (net pay)
Salary paidMark paid on the payslipWages PayableBank
Expense recordedSave expenseThe expense account (Rent, Utilities, Supplies, Wages and Salaries, Other Expenses)Cash, Mobile Money or Bank
Stock count differenceSave countInventory for a surplus; Cost of Goods Sold for a shortageThe other of the two; Owner Equity for an opening count

Pay-later and complimentary bills post nothing until they are paid; a cancelled order posts nothing at all.

VAT

Menu prices include 16% VAT, so VAT is 16/116 of what the customer pays: KSh 160 on a KSh 1,160 bill. It sits in Tax Payable until it is paid to KRA. The VAT return report gives the monthly output VAT and the sales it came from.

The accountant's area

Menu itemUse it to
DashboardToday's figures and the cash web orders waiting for Order Approval
Financial ReportsSales reports
Inventory VarianceStock snapshots compared over time
Supplier PaymentsPay supplier bills
ExpensesRecord running costs
PayrollRun payroll and mark payslips paid
Payroll & HRMStaff costs and payroll records
Profit & LossThe P&L
Transaction History and Order Flow CanvasEvery order and where it is

The full set of money reports is under Reports (section 11).

Pay a supplier

  1. Supplier Payments lists each bill created when a delivery was received, with its amount and supplier.
  2. Press Process Payment on the bill.
  3. Choose the Payment Method (M-Pesa Business, Bank Transfer, Petty Cash, Cheque), type the Transaction Reference / Invoice #, add Internal Notes if needed, and press Mark as Paid.
  4. The bill shows Ledger Synced. The Accounts payable report shows what is still owed to each supplier and how old it is.

Refunds and cancellations

Both are done by the owner on the order's page (section 5). A refund needs a reason and is reversed in the books on the day it is given. A cancellation also needs a reason and posts nothing, because nothing was paid. Both show in the Refunds and Voids and cancellations reports with who did them.

Month-end checks

  1. Trial balance: total debits must equal total credits.
  2. Till vs ledger check: every paid order should be posted; any order listed has a problem.
  3. Accounts payable: agree each supplier's balance with their statement.
  4. VAT return: the output VAT to file.
  5. Profit and loss: sales without VAT, cost of ingredients, wastage, staff costs, other expenses and operating profit, by month.

eTIMS (KRA)

The system can sign each sale with KRA eTIMS when it is handed over. It is switched on and configured in Settings (eTIMS card) and currently runs against KRA's test (sandbox) system only, so no live invoices are sent yet. The eTIMS status report lists signed bills and failures.

Expenses

  1. Open Accounts › Expenses.
  2. Fill in the Date, Category (Rent, Utilities, Gas, Internet, Supplies, Cleaning, Packaging, Repairs, Transport, Marketing, Licences, Bank charges, Salaries, Other), Paid to, Amount (KSh), Paid by and Details, then press Save expense.
  3. The month's entries and the totals by category show beside the form; pick another Month to look back. A wrong entry is removed with its bin button, and its posting goes with it.
  4. Stock bought from suppliers is not entered here; it comes in through Supplier Orders. Once payroll is run on the Payroll screen, salaries are not entered here either.

9. HR and payroll

HR keeps one record per member of staff, attendance fills itself in from shifts, and the payslip maths follows the Kenyan rates in force from 1 February 2026. The HR Manager works in People; the manager and the owner can open it too.

The People screens

People › HRM (Human Resource Management) shows Total Staff, Departments, Present Today and Pending Leaves, with four tabs:

TabWhat it holds
Staff Directory (Employee Records)Name, job title, department, date joined, salary
Departments (Departments & Managers)The restaurant's departments
Attendance (Today's Attendance)Who is in today and when they checked in
Leave Requests (Leave Management)Leave requests and their status

Fill in a staff record

  1. People › Staff, then open the person.
  2. Under Employment & Statutory Details fill in Job Title, Department, Employment Type (Full Time, Part Time, Contract, Casual), Date Joined, Gross Salary (KES), KRA PIN, ID Number, NSSF Number and SHIF Number.
  3. Save. The profile shows Estimated monthly deductions (PAYE, NSSF, SHIF, Housing Levy) and the Net Take Home, plus the person's hours and sales.

Every member of staff needs a record with a salary before go-live: the labour cost, prime cost and payroll reports use it.

Attendance

Starting a shift checks the person in and ending it checks them out (section 2), so nobody keeps a separate register. The Attendance and hours and Lateness and absence reports read it.

Statutory rates on file (from 1 Feb 2026)

DeductionRateNotes
NSSF6% employee + 6% employerTier I on the first KSh 9,000; Tier II up to KSh 108,000; at most KSh 6,480 each side
SHIF2.75% of grossAt least KSh 300 a month, no upper cap
Affordable Housing Levy1.5% employee + 1.5% employerOn gross pay
PAYE10% / 25% / 30% / 32.5% / 35%Bands at 24,000, 32,333, 500,000 and 800,000 a month, on pay after NSSF, SHIF and the levy
Personal reliefKSh 2,400 a monthTaken off PAYE

If KRA or NSSF change a rate, the developer updates the rates on file and every payslip follows.

Worked payslip: KSh 50,000 a month

LineKSh
Gross salary50,000.00
NSSF (540 + 2,460)−3,000.00
SHIF (2.75%)−1,375.00
Housing levy (1.5%)−750.00
Taxable pay44,875.00
PAYE (8,245.85 less 2,400 relief)−5,845.85
Net take-home pay39,029.15
Employer NSSF + employer housing levy3,750.00
Cost to the business53,750.00

The P&L and labour-cost reports count the cost to the business (gross plus the employer's share), not just gross.

Payroll and leave

Run payroll

  1. Open People › HRM and press Run payroll, or Payroll in the People menu. The accountant has Payroll in the Accounts menu.
  2. Pick the Month. Not yet run this month lists everyone with a salary, with their estimated PAYE, other deductions and net pay.
  3. Press Run payroll. Each person gets one payslip for the month (a second run skips them), and the cost, the statutory amounts owed and the net pay owed are posted to the books.
  4. Pay staff as usual, then press Mark paid on each payslip. The net pay leaves the bank in the books.
  5. The Payroll and statutory deductions report lists every payslip with the PAYE, SHIF, NSSF and housing levy to pay by the 9th of the next month.

Leave

  1. Staff ask for leave on My shift, in the Leave card: the Type of leave, First day off, Last day off and Reason, then Request leave. Their requests and decisions are listed under it.
  2. HR can enter a request for anyone on the Leave Requests tab with Record leave request.
  3. Pending requests show Approve and Reject. The decision and who made it appear in the Leave report.

10. Marketing and CRM

Every customer who orders on the website or is picked as a loyalty customer at the till builds up a history, and the system sorts them into groups so Marketing knows whom to reward and whom to win back. The Marketing / CRM Manager works in Marketing; the manager and the owner can open it too.

The Marketing menu

ScreenUse it to
CRMThe overview: Best customers and Win them back lists
Clients (Customers)Every customer: orders, spend, points, last order, segment; open one to add notes
Campaigns (Campaigns & social)Plan campaigns, save drafts and write the captions customers see
LoyaltyPoints rules, the Rewards catalogue, and approving social posts for bonus points
Discounts (Global Price Discounts)Put a dish on offer for a period; it shows on the till with an Offer tag
Events (Events & Offers)Create events and offers for the website
Bookings (Venue Bookings)Table and venue bookings, and their status

Customer segments

SegmentWho is in itWhat to do
VIP5 or more orders, or the top 10% by spendThank them; first to hear of events
Regular2 or more orders, the last one within 30 daysKeep them coming with points and offers
NewFirst order or sign-up in the last 30 daysWelcome offer for a second visit
At riskNo order for 30 to 90 daysA reason to come back now
LapsedNo order for over 90 daysA win-back offer
Never orderedHas an account, no orders yetA first-order offer

Loyalty

  1. In Loyalty, set Points per KSh 100 spent, the Minimum spend to earn (KSh) and the Social Media Bonus Points.
  2. Build the Rewards catalogue: what a customer can redeem and for how many points.
  3. Customers earn points when a bill is paid, at the till (picked as Loyalty customer) or online. Redeeming a reward places a kitchen order, so it pauses with online ordering until 28 October.
  4. Customers who post about The Spoonbill send the post in; Marketing approves or rejects it here, and approval adds the bonus points.
  5. The Loyalty points report shows points earned, used and still outstanding, and what the outstanding points are worth in KSh.

Events, bookings and cook-outs

  • Events sets up events and offers that show on the website's events pages; customers book seats from there.
  • Bookings lists venue and table bookings to confirm or decline.
  • Cook outs (owner's Admin › Cook outs) tracks outside catering: each request, its date and its quote.
  • Business leads (owner's Admin › Business Leads) tracks corporate and partnership enquiries from first contact to won or lost.

The Bookings, catering and events, Event leads and conversion and Campaign results reports cover all of these.

11. Reports

There are 57 reports, all in one place, Reports in the left menu, and they all count a sale the same way: a sale is a paid bill, net of refunds, on its Nairobi date, with VAT inside the price. Each person sees only their own department's reports (section 1).

Using a report

  1. Open Reports and pick a report from its group.
  2. Choose the period: Today, Yesterday, This week, This month, Last month, or your own dates. Snapshot reports (stock on hand, reorder, recipe costing) show today and need no dates.
  3. Read the figures at the top, then the tables and the chart below them.
  4. Excel / CSV downloads the report so Excel can add it up; Print prints it or saves it as a PDF with the restaurant name, period and who printed it.

A report that shows zeros usually means nothing was paid in that period, not that it is broken.

Every report

GroupReportUse it to see
OwnerOwner's daily brief (KPIs)Takings, profit, food / labour / prime cost %, cash variance, stock alerts, against the previous period
SalesDaily sales summary (Z report)Gross, discounts, refunds, net takings, VAT, bills, average bill, by payment method and channel
SalesBest and worst sellersEvery dish ranked by quantity and sales, the slowest, and dishes that sold nothing
SalesMenu engineeringPopularity against margin: stars, plowhorses, puzzles and dogs
SalesSales by categoryEach category's sales and share, food against drinks
SalesSales by hour, daypart and weekdayWhen the money comes in
SalesSales by channel (walk-in vs online)Dine-in, takeaway, delivery and online orders
SalesPeriod comparisonThis period against the same number of days before it
SalesSales by waiterBills, sales, average bill, discounts and sales per hour for each waiter and cashier
SalesSales by tableEach table's bills, guests, sales and turnover
SalesPayment methods and M-Pesa checkTakings by cash, M-Pesa and card, with each M-Pesa payment to match to the statement
SalesDiscounts and complimentary billsEvery discount and free bill, who gave it and who approved it
SalesVoids and cancellationsItems voided and orders cancelled, with reasons and staff
SalesRefundsEvery refund, its reason and who gave it
SalesUnpaid and pay-later billsEvery bill not yet paid, and how long it has been open
SalesExtras and options soldWhich extras customers add, and what they bring in
SalesOrder heatmapOrders by weekday and hour, for rosters and prep
CashShift cash-up (X / Z by cashier)Each shift: float, cash, M-Pesa and card taken, cash expected, counted, over or short
CashBusiness daysEach day: who opened and closed it, sales, cash, M-Pesa, variance
CashStaff end-of-shift reportsStaff's daily reports: tasks, issues, feedback, cash
KitchenKitchen ticket timesHow long each dish and chef takes, against the menu prep time
KitchenLate and rejected ordersOrders over 30 minutes to the customer, and orders the kitchen rejected
KitchenRider deliveriesDeliveries per rider, ride times, order-to-door times, delivery fees
StockStock on hand and valuationEvery item, how much is in stock and what it is worth
StockReorder listWhat to order now, how long stock lasts, the last supplier
StockStock movementOpening, received, used, wasted, adjusted and closing for each item
StockRecipe vs actual usage (variance)What sales say was used against stock counts: unexplained loss in KSh
StockWastageWhat was thrown away, why, and what it cost
StockRecipe costing and food cost %Ingredient cost, food cost % and margin of every dish
StockDead and slow stockStock that isn't moving and the money tied up in it
StockPurchases by supplier and itemWhat was bought, from whom, at what average cost
StockSupplier price changesItems whose purchase price went up or down
StockSupplier delivery performanceOn-time deliveries, failures and short weights per supplier
StockGas usageKilograms of gas used per day and per cylinder, and the cost
AccountsProfit and lossSales, ingredient cost, wastage, staff costs and expenses by month, with food, labour and prime cost %
AccountsTrial balanceEvery account's balance; debits must equal credits
AccountsGeneral ledger (journal)Every posting in the period, account by account
AccountsCash bookCash, M-Pesa and bank movements with running balances
AccountsExpensesSpending by category, vendor and payment method
AccountsVAT returnOutput VAT per month from VAT-inclusive sales
AccountseTIMS statusWhich paid bills KRA eTIMS signed, and why the rest failed
AccountsAccounts payable (suppliers)What is owed to each supplier, aged 0-30, 31-60, 61-90 and 90+ days
AccountsAccounts receivablePay-later bills and event balances customers still owe
AccountsTill vs ledger checkPaid orders missing from the books or posted with the wrong amount
PeopleAttendance and hoursWho clocked in, days and hours worked, who never clocked in
PeopleLateness and absenceLate arrivals, absences and leave days per person
PeopleLabour cost and labour %Staff cost per day against sales, and sales per hour worked
PeoplePayroll and statutory deductionsGross, PAYE, SHIF, NSSF, housing levy and net pay per payslip
PeopleLeaveLeave requests by type and status, and who decided them
CustomersCustomer segments (RFM)VIP, regular, new, at-risk and lapsed customers, and what each spends
CustomersTop customersWho spent most in the period
CustomersNew vs returning customersFirst-time and returning customers, and new sign-ups
CustomersWin-back listGood customers who stopped coming, biggest spenders first
CustomersLoyalty pointsPoints earned and redeemed, and what the outstanding points are worth
CustomersCampaign resultsEach campaign's cost, reach and sales while it ran
CustomersEvent leads and conversionLeads by stage and source, win rate, why leads were lost
CustomersBookings, catering and eventsVenue bookings, catering requests and events by date, with guests and value

Which reports to read, and when

WhenOwner / managerAccountantStorekeeper
Every dayOwner's daily brief; Daily sales summary (Z report); Shift cash-upPayment methods and M-Pesa checkReorder list
Every weekBest and worst sellers; Sales by waiter; Voids and cancellations; Discounts and complimentary billsAccounts payable; Unpaid and pay-later billsWastage; Stock movement
Every monthProfit and loss; Menu engineering; Labour cost and labour %Trial balance; Till vs ledger check; VAT return; Payroll and statutory deductionsRecipe vs actual usage; Supplier price changes; Dead and slow stock

12. Assistants

Each department has an assistant that answers questions from the live figures and can prepare simple changes, but it never changes anything until the person replies YES. Staff reach it on Assistant in the left menu (Your assistants), and approved staff can also message it on WhatsApp.

AssistantForAsk it things like
General manager assistantOwner, manager"How did we do yesterday against last week?"
Accounting assistantAccountant"What do we owe suppliers?" "What was VAT this month?"
Storekeeper assistantStorekeeper"What is running low?" "Order 10 kg of flour from our usual supplier"
Kitchen assistantChef"Which dishes are slowest to cook?"
Floor assistantWaiters, cashiers"Is the beef burger on the menu, and how much is it?"
Marketing assistantMarketing"Who are our lapsed customers?" "Draft a weekend campaign"
HR assistantHR"Who is in today?" "Who is on leave?"

How to use it

  1. Type a question in plain English. The assistant can also run any report the person is allowed to see, so the answer matches the report screen.
  2. When it proposes a change (a supply order, a campaign draft), it shows exactly what it will do and waits.
  3. Reply YES to go ahead or NO to drop it (the box says "Ask, or reply YES / NO to a proposed change").
  4. Treat answers as a quick look; for anything you will act on with money, open the report itself.

The owner's AI agents console

Admin › AI agents shows Who can message the agents on WhatsApp, Recent messages, and the Changes the agents made after a YES. Add or remove WhatsApp numbers there. The assistants run on the AI service key set in Settings.

13. Admin settings

Only the owner opens Admin › Settings, which holds the receipt, tax and service settings for the whole business and links to the till and access settings.

Settings

CardWhat to setNotes
ReceiptRestaurant Name, Phone Number, Address, KRA PIN, Header Message, Footer MessagePrinted on every receipt. Press Save Receipt Configuration
eTIMSBranch ID, Device serial (OSCU), Default item classification, on / offSigns each completed sale with KRA. This install files to the KRA sandbox (test) system only
IntegrationsAI and email service credentialsThe assistants and system emails use these keys
Restaurant ThemesThe website's colour themeSame as CMS › Themes
Access ControlCustom roles and their permissionsSee below
POS SettingsThe till, printers, PINs, the business daySee below

POS settings (Settings › POS)

  1. Business Day and Shift cards: the same open and close day controls as on My shift, plus the owner's own shift with Starting Float and Actual Cash in Drawer.
  2. Terminal Configuration: Terminal Identifier, Default Currency and Auto-Print (open the receipt as soon as a bill is paid; when it is off, the till offers Print receipt instead). Security & Access: Manager Authorization (discounts need a manager or supervisor PIN) and Allow Void Items (items already sent can be voided, always with a PIN). Save, and the till follows them the next time it is opened.
  3. Printers: add each printer with its Printer Name, Role (receipt, kitchen, bar, other), Connection (network or USB) and Interface/Address, and choose which categories print where (Auto-Route Categories).
  4. Manager PINs: who can approve voids and discounts, whether they are still on the default PIN, and Reset (section 1).

Access control

A person's access comes from the role picked in Admin › Users (section 1), and that is all most businesses need. Access Control adds custom roles on top: Add Custom Role, give it a Role Name ("Junior Accountant") and Description, then tick View, Edit or Delete for each Module. Only a few screens check these custom permissions so far, so test a custom role with a practice account before relying on it.

Settings to check before go-live

  • Receipt: restaurant name, phone, the new Sunpark address, KRA PIN, header and footer
  • Printers added, and kitchen and bar categories routed to the right printer
  • Every manager and supervisor on their own PIN
  • eTIMS details from KRA entered (it stays on the sandbox until the developer moves it to live)
  • AI service key set, so the assistants answer
  • Every staff member has the right role in Users

14. Training plan

Train in the order the money moves: first the people who open and close the day, then the floor and kitchen together on a practice service, then the back office. Each person should do every step below once, on a practice login, before go-live on 28 October.

Practising safely

The practice logins (waiter, waitresses, cashiers, chef, rider, barman, supervisor, manager, accountant, storekeeper, marketing, HR) work on the real system, so whatever they do is real.

  • Put TEST in the customer name or note of every practice order.
  • Practise on one table number, so the floor plan stays clear.
  • Tell the owner when practice ends; the test orders, shifts and stock movements are then removed in one go, and the practice logins deleted or given new passwords.

Step 1: Managers and supervisors (train first)

  • Sign in and set their own PIN on My shift
  • Open the business day; close it at the end
  • Approve a discount and a void with their PIN, choosing a reason
  • Read the Owner's daily brief, the Z report and the Shift cash-up
  • Check each drawer's over or short in the Shift cash-up
  • Find a dish in Best and worst sellers and a waiter in Sales by waiter

Step 2: Floor and kitchen together (one practice service)

RolePractise
Waiter / waitressStart shift; open a table with the guest count; add dishes with options and a kitchen note; send to kitchen; add more and Send new items; pick up and serve from Ready to serve; end shift with the Daily Report
ChefEnable kitchen notifications; START and READY each order; spot an urgent (over 20 minutes) card
Cashier / barStart shift; take cash, M-Pesa and card; a pay-later and a complimentary bill (with a manager); move, split and merge a bill; print a receipt; start with a float and end shift with the drawer counted
RiderTake an order from Available for Pickup, mark it picked up and delivered

At the end, the manager reads the day's Z report and Shift cash-up with them, so everyone sees their own work in the figures.

Step 3: Back office

RolePractise
StorekeeperAdd an ingredient; save a stock count; log wastage; give a dish a recipe and check its food cost; raise a manual purchase order; receive it and see stock and cost change; read the Reorder list and Stock movement
AccountantApprove a cash web order; pay a supplier bill; record an expense; read Accounts payable, Trial balance, Till vs ledger check, VAT return and Profit and loss
HRFill in a full staff record with salary and statutory numbers; read the estimated payslip; open Payroll for the month; record and approve a leave request; read Attendance and hours after the practice service
MarketingFind VIP and lapsed customers; set loyalty points and a reward; put a dish on offer and see the Offer tag on the till; create an event
OwnerAdd a dish and a category; refund and cancel a practice order with a reason; set the receipt details; add printers; check Manager PINs

Before go-live (28 October)

  • Opening stock counted on Stock count with the opening tick, and unit costs set (section 7)
  • Every active dish has a recipe and no "ingredient(s) without a cost" in Recipe costing
  • Every member of staff has an account with the right role, and an HR record with a salary
  • Every manager and supervisor on their own PIN
  • Receipt, printer and eTIMS settings done (section 13)
  • Practice orders, shifts and test data removed, including the Malindi test stock and suppliers loaded for testing
  • Practice logins deleted or given new passwords
  • The business day opened by a manager on the first morning

15. Troubleshooting and FAQ

Most problems on the day come from a step missed earlier: the day not opened, a shift not started, a dish without a recipe, or a person with the wrong role.

ProblemWhyWhat to do
Till says Start your shift first, or Start shift fails with "The venue is not yet open for business"The business day is not openA manager opens it on My shift (OPEN VENUE FOR BUSINESS)
Till briefly says Not on shift after signing inIt is still loading the shiftWait a few seconds; press Start shift only if it stays
CLOSE BUSINESS DAY is refusedA shift is still openAsk everyone to press End shift; then close
A waiter cannot see Pay, Move, Split or MergeWaiters do not handle moneyA cashier, supervisor or manager takes payment
A void or discount asks for a PINVoids after sending, and all discounts, need approvalA manager or supervisor types their PIN and picks a reason
A table still shows OCCUPIEDIts bill is open (sent but not paid)Take payment, move it, or have the owner cancel it with a reason
A dish sells but stock does not go downIt has no recipe, or it was never marked served or deliveredAdd the recipe; make sure the floor presses SERVED
Stock shows a negative numberOpening stock was never countedCount it on Stock count
A dish's food cost shows 0%An ingredient has no unit costEnter the cost on the item, or receive a delivery with a price
Shift cash-up shows a drawer over or shortThe count at End shift differs from the float plus the cash takenRecount; check change given and pay-later bills; note it in the Daily Report
A report shows zerosNothing was paid in that periodCheck the dates; pay-later and complimentary bills are not sales
A cash web order never reached the kitchenIt is waiting for approvalThe accountant approves it on the Accounts dashboard
Website says online ordering is pausedPaused for the Sunpark moveIt opens again by itself on 28 October; the till keeps working
A new staff member lands on the wrong screenWrong role, or they have not signed in againThe owner sets the role in Admin › Users; they sign out and in
A manager forgot their PINThe owner presses Reset under Manager PINs; they set a new one on My shift
The assistant does not answerThe AI service key is missing or used upThe owner checks Settings › Integrations

Not built yet

There is no separate bar screen: drinks show on the kitchen screen with the food. Everything else in this guide works on the screens described.

Who to call

  • Using a screen, a role or a report: the manager first, then the owner.
  • Something broken or a number that looks wrong: the owner sends it to the developer with the screen, the time and what was expected.