Skip to content

Downloads

Illustrative practice report pack

See the output and reporting basis before setting up a firm's delivery process. Every name and figure in this sample is fictional.

⬇ Download the illustrative practice report pack (PDF)

Usage guide: Practice report packs.

SBB Accountant — your books, natively (Windows)

A complete copy of your general ledger on your own computer. Trial balance, profit & loss, balance sheet and account ledger — all calculated on the machine, with the network unplugged.

⬇ Download SBB Accountant for Windows (.exe)

One-click installer · Windows 10/11 (64-bit) · If SmartScreen warns, choose More info → Run anyway.

Your books are encrypted on the computer, and signing out removes them. Any currency: every posting is converted at the rate it was recorded with, so a closed month's figures never move. Setup guide: SBB Accountant.

What's new in 0.12.0

  • Switch between your businesses without leaving the app. If you run more than one, click the business name at the top of the sidebar and pick another. Ones already on this computer open straight away, with no connection needed — and switching here does not change which business your browser is showing.
  • Card terminals are a kind of money location. Interac, Stripe, Square, Moneris, PayPal. Card takings settle separately from the bank account they eventually reach, so keeping them apart is what lets both reconcile.
  • Two smaller fixes: chart labels no longer overlap when income and expenses finish a month close together, and the bank reconciliation screen no longer says the work happens in Excel — it moved into the app in 0.11.0.

What's new in 0.11.0

  • Bank reconciliation now reconciles the account you picked. Choosing a till or wallet showed another one's balance under the wrong name, and "Check for changes" quietly kept showing the last file you exported. Every figure now comes from the account on screen, and you can tick a statement off inside the app — Excel is still there if you prefer it, but it is no longer the only way.
  • A running balance in the ledger. The column a ledger exists for: what the balance was after each posting, on any page, in either order. Every posting also shows who made it, and clicking one shows both sides of the entry.
  • Long ledgers no longer stop at 500 postings. Busy accounts were silently cut off, so the total at the bottom was not the account's total. The ledger now pages, and always tells you how many postings there really are.
  • See one till at a time. Accounts that hold several cash drawers or wallets can be narrowed to just one, everywhere it matters.
  • An overdrawn bank account is shown as an overdraft, under what you owe, instead of as a negative asset. The balance sheet says when it has moved a line and why.
  • Balance sheet and profit & loss read like statements. Comparison against the period before, each line as a share of revenue, what changed and by how much, expenses broken down by category instead of one lump, current and non-current split out, and empty accounts hidden unless you want them.
  • Reports is now analysis, not a second copy of the ledger. Where income came from, where it went, which tills carry the business, who you trade with, and what moved most against last period — each as a chart with the figures in a table beside it. If days in the period have nothing recorded, it says so.
  • Working papers you can find again. Several papers at once, each showing whether it is untouched, ready or already filed; a moved or deleted file is reported instead of vanishing; and everything you have posted stays listed with the journal it created.
  • Tables throughout: headings that stay put as you scroll, columns that do not jump about, figures that line up, and a compact mode for long lists.

What's new in 0.10.0

  • Upgrading no longer empties the app. Installing over an older version could leave the app unable to load your books at all. It now brings your existing copy forward automatically.
  • Errors say what actually went wrong. Every problem used to read "Couldn't reach SBB", which sent people to check their internet when the internet was fine. The app now tells you whether it is your connection, your session, SBB itself, or the copy of the books on your computer.
  • "Rebuild my books" — if the copy on your computer is ever damaged, one button throws it away and downloads it again. Your books live on SBB, so nothing is lost.

What's new in 0.9.0

  • “Where the money is” showed the wrong balances. SBB keeps one ledger account per kind of location, so a business with several tills or wallets saw them merged — and a difference reported against one of them that wasn’t real. Every location now appears separately with its own balance.
  • “Couldn’t reach SBB” was sometimes an expired sign-in. The app now keeps your session alive while it’s open, and says plainly when you need to sign in again instead of blaming your connection.

What's new in 0.8.0

  • Reports. One button produces your whole pack as an Excel workbook — cover, trial balance, profit & loss, balance sheet, where the money is, and the full general ledger for the period you choose.
  • Every posting now shows who made it, on screen and in every export.
  • A general ledger across all accounts, not just one at a time.

What's new in 0.6.0

  • Charts on the dashboard. Income against expenses month by month, and every place your money sits — hover for the figures, click a bar to open that account's postings. Both work offline like everything else.
  • Press Ctrl+K to jump to any screen, or straight to an account by name.
  • It remembers where you were — the app reopens on the screen you left.

What's new in 0.5.1

  • Bank reconciliation in Excel. Export an account, tick off what appeared on your statement, add any bank charges, and Excel tells you when it reconciles. File it from SBB and the charges post as a journal.
  • Where the money is — every bank account, drawer and wallet by the name you gave it, with anything overdrawn flagged.
  • Search and filter the account ledger by description, counterparty, amount, debit/credit or date.
  • Automatic updates. Fixes now reach you without a download.

What's new in 0.3.0

  • Month-end in Excel. Export a working paper — your trial balance with adjustment columns beside it — make your adjustments in Excel, and save. SBB reads them back, shows you exactly what would be posted, and posts it as one journal when you say so.
  • Excel checks your journal for you. Live totals in the sheet say “Balanced” or how far out you are, before the file comes back.
  • It refuses to guess. Sort or filter the rows all you like — every adjustment lands on the account it belongs to. Rows that aren’t linked to a real account are skipped and reported, never posted to a guess.

What's new in 0.2.0

  • A proper workspace. A collapsible sidebar grouped into Overview, Statements and Detail, in the same design language as the rest of SBB.
  • The business and the sync state are always on screen — you can never read a statement without knowing whose books they are and whether they're current.
  • Everything drills in. Dashboard tiles open the statement behind them, and a trial balance row opens that account's postings.
  • Profit & loss gained period shortcuts — this month, this quarter, this year — and proportion bars, so you can see the shape of a period without reading every figure.

What's new in 0.1.7

  • First release. Overview, trial balance, profit & loss, balance sheet and account ledger, all working offline.
  • Multi-currency throughout — statements in your base currency, with each posting converted at its own recorded rate, and foreign amounts still shown as originally posted.
  • Encrypted on your machine, with the key in Windows' credential store. If Windows can't hold that key securely the app refuses to run rather than saving your books unprotected.
  • Reads only. Recording entries stays in the web app; Excel working papers are next.

SBB Desktop — POS & Inventory (Windows)

The offline-first till for shops, clinics, pharmacies, and supermarkets. Works with receipt printers, barcode scanners, and POS touch screens.

⬇ Download SBB Desktop for Windows (.exe)

One-click installer · Windows 10/11 (64-bit) · If SmartScreen warns, choose More info → Run anyway.

New versions install over the old one; your local data and settings are kept. Setup guide: SBB Desktop.

What's new in 0.31.0

  • A sale could complete, print a receipt, and then be rejected when syncing with “Insufficient available stock” — money taken, nothing in your books. Stock is held per till, and the app was checking a business-wide total. It now checks the same thing the server does, before the customer pays, and tells you where the stock actually is: “only 2 left at Main Bar — there are 12 at Store Room.”

What's new in 0.30.1

  • Sale amounts in the activity log were shown 100x too large. A NGN 4,784,000 sale was recorded as “NGN 478,400,000”. Fixed everywhere, along with the same fault in the list of sales needing attention.
  • Receipts with many items failed to print. The longer the sale, the likelier it was. Fixed — and a printer problem now reads as a printer problem, and says your sale is safe.

What's new in 0.29.0

  • Settings tells you the truth now. If something failed — a logo that wouldn't upload, a test print that didn't reach the printer — you used to get a green note that looked like it had worked. Failures now show as errors and stay on screen until you've dealt with them, instead of disappearing after two seconds. A save that fails says so, and your typing is left where it is.
  • Search your settings. Type "drawer", "printer", "logo" or "backup" in the box at the top and jump straight to the setting, across all seven tabs.
  • Unsaved changes are visible. Settings marks itself as unsaved the moment you edit a field, so you can't leave a tab thinking you saved when you didn't.
  • Phone scanner history — Settings → Devices now lists the phones you've paired from this till, with how many items each session scanned and how long it ran. Useful after a stocktake, and for checking a phone actually connected.

What's new in 0.28.0

  • The till stays usable while your phone is scanning — pairing used to open a full-screen window, so you could scan but couldn't reach the cart to take payment. It's now a small floating panel at the bottom-left that you can minimise to a pill and keep selling. Minimising does not stop scanning: the pill shows a live dot and counts the scans as they land.
  • Your phone now tells you what it scanned — instead of just the barcode digits, it shows the product name and price, or says plainly that the barcode isn't in your catalogue yet. It buzzes differently for each, so you can hear the difference without looking at the screen.
  • Pairing links moved to smartbusinessbook.io. Codes you've already printed still work — the old address redirects.

What's new in 0.27.0

  • Checkout is always on screen — the total, cash-received box and the Hold/Cash buttons no longer scroll away. Whether the cart holds one item or a hundred, only the item list scrolls; taking payment is never more than a click away. This also fixes table orders, where the extra payment fields used to push checkout off the bottom of the screen.

What's new in 0.26.2

  • A modern, native-feeling look — the whole app (POS, cart, inventory, settings, floor plan, every dialog) has been redesigned in a Windows 11 "Fluent" style: crisper corner radii, layered elevation shadows, a NavigationView-style sidebar, smoked-glass dialogs, and native-feeling scrollbars.
  • Checkout is never a scroll away — on a busy cart, the Hold/Cash buttons used to get pushed off-screen, forcing a scroll to check out. The cart now only scrolls its item list; payment fields and the checkout buttons always stay in view.

What's new in 0.25.0

  • Switching business now really switches — held sales, activity logs and failed sales from one business were showing up in another. Each business's work now stays with that business. Nothing queued is lost: sales rung up for another business simply wait until you switch back to it.
  • Mobile money uses your own account — if you hadn't set up your payment details yet, the till was falling back to a different payment route. It now points you to Settings → Payments instead, so customers always pay into your MoMo/Airtel account.
  • Payment details show on the customer screen again when taking mobile money.
  • Only your country's networks appear in the advanced PawaPay settings.
  • Shops and pharmacies no longer see kitchen settings.

What's new in 0.24.0

  • Settings is much easier to find your way around — it's now organised into tabs (General, Till, Payments, Printing, Devices, Team, Advanced) instead of one long page, and it remembers where you were.
  • New Devices tab — see at a glance what your till is actually connected to: your receipt printer (with a Test button), the customer screen, your kitchen and bar printers, and any other tills in your shop. Name this till here too.
  • More buttons fixed — a few buttons were white-on-white on the default theme, including in Settings and the sync panel.

What's new in 0.23.0

  • Stock adjustments now work — adding or removing stock from Inventory was silently doing nothing. It saves properly now, and if the server ever refuses a change you'll see exactly why instead of it vanishing.
  • Save buttons are visible again — the Save button on Inventory and Settings was white-on-white on the default theme.
  • Customers scan from their own screen — press 🖥️ Show this on the customer screen when taking mobile money, and the QR, the amount and simple numbered steps appear on the customer's display. No more turning your till around.

What's new in 0.22.0

  • Several tills, one shelf — if you run more than one till in the same shop, they now tell each other what they've sold over your own network. Stock counts down on every till within a second, so two counters stop selling the last item twice. The sidebar shows how many other tills are online. It needs no setup and no internet — and if the network drops, every till keeps working exactly as before.

What's new in 0.21.0

  • Sell by weight — for butcheries, groceries and agro-dealers. Price a product per kg (or litre), and tapping it asks for the weight: type what the scale reads, see the price update live, and add it. The cart shows “⚖ 1.5 kg”, stock counts down in kg, and the receipt prints “1.5 kg Beef”. Products sold by the piece are completely unchanged.

What's new in 0.20.0

  • Switching an existing product to lots is now safe — if you already had stock on the shelf, Lots tells you plainly (“50 units aren’t in any lot”) and lets you bring it in with one tap, with an optional expiry. It records what you already have rather than adding stock. Until you do, the till explains exactly why those units can’t be sold instead of just saying “out of stock”.

What's new in 0.19.0

  • Receive deliveries as lots, right from the till — in Inventory, tap Lots on any product to enter a delivery: quantity, batch number and expiry date. From then on every sale automatically takes the earliest-expiring lot that's still in date. The same screen lists what's on the shelf with each lot's expiry, and lets you write off expired stock (the only way expired stock ever leaves — it's never sold).

What's new in 0.18.0

  • Batch/lot tracking with true FEFO — for pharmacies and anyone holding dated stock. Receive each delivery as a lot with its own batch number and expiry, and every sale automatically takes from the earliest-expiring lot that's still in date. Expired stock is never handed out: it stays on the shelf, counted, until you write it off — so you can return it to the supplier instead of selling it by mistake.
  • Recall support — every lot records which sales it went out on, so you can answer "who got batch X?" if a supplier recalls it.
  • The till shows the expiry of the lot it would actually sell, and refuses a product whose remaining stock has all expired, telling you exactly why.

What's new in 0.17.0

  • Never sell expired stock by accident — products show ⛔ expired or ⏳ days left right on the till. Scanning an expired item stops the sale and asks for the owner's PIN before it can go through, and records it. Set the expiry date on a product in the web app, and Inventory now shows an expiry column so you can push or return stock before it's dead money.

What's new in 0.16.0

  • Split the bill — on any table, tap ➗ Split the bill. Pick what each person is paying for and settle just those items; whatever's left stays on the table until it's paid. Or choose Equally to see exactly what each person owes (the shares always add back to the bill, to the shilling).

What's new in 0.15.0

  • Orders straight to the kitchen and bar — set up your stations in Settings → Kitchen & bar printers (name them, list which categories go where, and give each one this till's printer IP). Then 🔥 Send to kitchen on any table prints a docket per station — no prices, just what to make, with add-ons and notes underneath. It only ever sends the new items, so adding two beers to an open tab sends two.

What's new in 0.14.0

  • Restaurant mode with tables & tabs — if you're a restaurant, bar, hotel or caterer, your till now opens with a Tables screen and a ready-made floor. Tap a table to open its tab, keep adding through the night (it saves itself), and settle when they leave. Tables colour by how long they've been open so nobody gets forgotten. Edit your floor in Settings → Till mode.
  • Any other business can switch it on in Settings → Till mode.

What's new in 0.13.0

  • Sizes, flavours and add-ons — set up "Add-ons: extra egg +500" or "Size: Large +1000" once in Settings → Modifiers & add-ons, tick which products offer them, and the till asks as you tap. The price updates itself and the receipt reads "Rolex — extra egg". Works offline.

What's new in 0.12.0

  • Customer-facing screen — press 🖥️ Customer screen and your customers watch their items ring up live, see the running total, exactly where to send the money (with your QR big enough to scan), and a clear "Thank you" with their change. Opens automatically on a second monitor if you have one; otherwise a window you can drag across. No disputes about what was charged.

What's new in 0.11.0

  • Upload your own MoMo/Airtel QR — customers scan your real telco QR in their wallet app and pay you directly. Add it per payment method in Settings → Payment methods.
  • Show the account name — each number/code can carry the account holder's name, so customers know exactly who they're paying.

What's new in 0.10.0

  • Take mobile money with the code you already have — add your MTN/Airtel/ M-Pesa merchant code or phone number in Settings → Payment methods, and the till shows customers where to pay. Confirm it arrived, and the sale is recorded automatically. No new account, no fees to us, works offline.
  • Localized to your country — you only see the networks that apply where your business is.

What's new in 0.9.0

  • Mobile money at the till — take MTN/Airtel MoMo payments right on the sale: tap Mobile money, enter the customer's phone, and they approve on their handset. The till waits for confirmation, then completes the sale and prints "Paid by MTN MoMo". Falls back to cash any time; needs internet.
  • Set it up in Settings → Mobile money — map each network to the account it settles into. (Your SBB account needs PawaPay enabled first.)
  • Nothing gets lost — if a customer approves after the till moved on, the payment shows in the web app under MoMo Payments to reconcile.

What was new in 0.8.0

  • Faster checkout — type "3*" then scan or search to set quantity in one move; quick-charge tiles for delivery/service fees; per-line kitchen notes on receipts; a paid screen with change due, reprint, and WhatsApp receipt.

What was new in 0.7.0

  • Session expiry handled properly — if your sign-in expires, the till warns you with one-tap re-login; offline sales stay safely queued and sync after.
  • Cart fixed for big orders — line items scroll in their own pane and use a clean two-row layout; totals and Complete Sale always stay visible.
  • Failed sales you can resolve — stock-error sales explain themselves, and a new Discard action returns items to local stock.
  • Inventory categories now sync from the cloud catalog.
  • New brand icon and refreshed sidebar with navigation icons.

What was new in 0.6.0

  • One search-and-scan box — type to filter the catalogue live, or scan a barcode; Enter adds the match. No more separate boxes.
  • Change calculator — enter what the customer paid and see the change due instantly; it prints on the receipt.
  • Category chips & low-stock filter — jump to Drinks, Food, etc. in one tap, and spot items running low before they sell out.
  • Top sellers — your best-selling items pinned for one-tap re-ordering.
  • Fix stuck sales in-app — see any sale that failed to sync and retry it right from the till, no need to open the web app.
  • Keyboard shortcuts (press ?) and a first-run setup checklist.

Mobile app (Android)

The SBB mobile companion is in preparation — meanwhile the web app is fully mobile-friendly and installable: open smartbusinessbook.io on your phone and choose Add to home screen for an app-like experience, including offline capture.

Web app

Nothing to install: smartbusinessbook.io works on any modern browser, on any device.

Smart Business Book — the AI-powered business operating system.