User manual

Every menu in BasilBook, answered

Work through the console one sidebar item at a time. Each section answers the same two questions — what can I do here, and how do I do it — for the screen in front of you.

31 sections · 174 answers · describes BasilBook 1.308.2

Contents

Start here

  • Getting around
  • Dashboard
  • Insights · Pro

Operations

  • Purchases
  • Sales
  • Waste
  • Expenses
  • Stock Count
  • Attendance · Pro

Management

  • Inventory Items
  • Sale Items
  • Categories
  • Recipes
  • Vendors
  • Customers · Pro
  • Staff

Finance

  • Reports
  • Analytics
  • Quotations · Pro
  • Invoices · Pro
  • Job Cards · Pro
  • Accounts Payable
  • Journal
  • Payroll · Pro
  • Reconciliation
  • Bank receipts · Pro
  • Chart of Accounts

Your setup

  • Settings
  • API keys · Pro
  • Team roles & permissions
  • Profile

Pro marks a feature of the paid Professional plan. Where a section only applies to certain business types, its heading says which — so parts of this manual may describe pages your console does not show.

Start here

Everywhere

Getting around

The frame around every screen: the sidebar on the left, the topbar above, and the workspace you are currently working in.

What is BasilBook, in one line?

An operations console that keeps your books. You record the things you already do — a delivery arrives, a shift is paid, a customer settles an invoice — and BasilBook posts the double-entry accounting behind each one, so the ledger is a by-product of the work rather than a second job at month end.

How do I switch between my locations?

Each location is its own workspace with its own books. Use the organization switcher in the topbar, pick the location, and the console reloads into it. Everything you then see — sales, stock, reports — belongs to that location only.

Why does my sidebar look different from someone else’s?

Five things change it:

  • Your business type. A restaurant sees Recipes and Sales; a service business sees Invoices instead; a garage sees Job Cards, and both parts and invoicing.
  • Your costing method. Under Direct costing, Waste is hidden because purchases are expensed straight away. Stock Count stays, but a count there only corrects stock levels and posts no journal entry.
  • Your plan. Paid features carry a Pro badge, short for the Professional plan; clicking one shows what it unlocks.
  • Early access. A page marked Beta or Alpha is still being tested: it works on your real books, but its screens may change before it is final. You see one only when your workspace takes part in testing, or when the page is open to every workspace.
  • Your own order. On Professional, Customize menu at the bottom of the sidebar lets you reorder and hide pages for yourself, in this workspace. A hidden page still opens from links and by its address, and Reset to default brings the standard menu back. Drag a page by its grip to move it, into another group too; the arrows do the same from the keyboard.

How do I change the language, theme, or sidebar width?

All three are one click away:

  1. Language — use the language switcher in the topbar. English, French and Khmer are available.
  2. Theme — Settings → Design. The free plan includes the default look; Professional unlocks the full theme set and your own logo.
  3. Sidebar — the collapse toggle sits in the topbar, next to the menu icon. Collapsed, the sidebar shows icons only.

Someone invited me to their workspace. Where does that appear?

Pending invitations show in the topbar. Accept one and the workspace joins your organization switcher; decline and it disappears. To invite someone yourself, go to Settings → Team.

Sidebar → Dashboard

Dashboard

The morning screen: how the business did over a period you choose, and the shortcuts to record today’s work.

What can I do here?

Four things:

  • Read four headline figures for the selected period — Total Sales, Total Purchases, Inventory Value (or Gross Profit for a service business) and Net Profit — each with its change against the period before.
  • Read the money widgets below them: a sales trend against the previous period, sales by category, profitability (net revenue, COGS, gross margin, margin %), the payment-method split and your top-selling items — each card names the period it covers.
  • Jump straight into work from Quick Actions.
  • Finish setting up, using the Setup Checklist.

How do I change the period the numbers cover?

The period control sits above the headline figures.

  1. Pick Today, Yesterday, This Week, Last Week or This Month.
  2. For anything else, choose Custom, set From and To, then press Apply.

Every card, chart and counter on the screen follows that period.

How do I record something without hunting for the page?

Use Quick Actions: Record Purchase for a supplier invoice, Record Sale for a manual sale, Count Stock, or Record Waste. Each opens the same form you would get from its own page.

What does “days not reconciled” mean, and what should I do about it?

Below the money widgets, the count of days not reconciled adds up two kinds of day. Not started are days in the last 60 that had sales or bank receipts but no reconciliation session at all; Reconciliation lists them under Missing reconciliations. Open are sessions that were started but never closed. Opening a day on Reconciliation starts its session, so a day you only looked at counts too; find those under Not closed in Session History, then open each one and close it. Press the count to go to Reconciliation. Today is never counted, since it is still in progress. When every day is reconciled, the count does not appear.

What exactly is each headline number counting?

Each figure measures one thing, and the percentage beside it compares it with the same number of days just before — This Month on the 10th is compared with the ten days before the 1st, not with all of last month:

  • Total Sales — net sales after discounts, counted on the day each sale was paid.
  • Total Purchases — purchases recorded in the period, voided ones excluded.
  • Inventory Value — the value of stock on hand at the end of the period, the same figure as Reports → Inventory.
  • Net Profit — revenue minus cost of sales and operating expenses, from the posted ledger; the same figure as Reports → Income Statement.
  • Net Revenue — sales after discounts and refunds, before any cost.
  • COGS — the ingredient or inventory cost of what you sold.
  • Gross Margin — net revenue minus COGS, your profit before rent, payroll and the rest.

Can I choose which widgets I see?

Yes, on the Professional plan. Press Customize at the top of the Dashboard:

  1. Drag a card by its name to move it, and drag its right edge to make it wider or narrower. The arrows on the card do the same from the keyboard.
  2. Press the eye icon on a card to hide it. Hidden widgets wait above the grid — press one to bring it back.
  3. Press Add widget to add a chart that is not on your dashboard yet: Expense breakdown, Payables by vendor, Receivables aging (for businesses that invoice) or one of the Analytics charts. It joins at the bottom of the grid; drag it where you want.
  4. Under Open the dashboard on, pick the period the Dashboard opens with.
  5. Press Save.

The layout is yours alone — each colleague keeps their own. Reset to standard puts every widget back in its original place and size. On a narrow screen you can show and hide widgets, but moving and resizing needs a wider window. On the Free plan the button is shown but cannot be used. In the mobile app, Edit dashboard shows, hides, reorders and adds the same widgets.

Sidebar → Insights

Insights · Pro

Insights watches your books for you. It compares your purchases, sales, costs and stock with your own history and lists what looks unusual, each time saying why. It works by fixed rules, not AI: the same books always give the same alerts. Insights is part of Professional.

What does it look for?

Alerts come in families, shown on each card:

  • Buying — an item bought more often than usual, stock building up, or what looks like the same purchase recorded twice.
  • Costs — a supplier’s price jumping, spending with a supplier changing sharply, an expense spike, or food cost moving away from its usual share of sales.
  • Income — a day much quieter or busier than the same weekday usually is, days with no sales recorded, or a shift in how customers pay.
  • Leakage — unusual discounts or voids, rising waste, stock counts coming up short, dishes selling below cost or losing margin, delivery deductions, and QR money not yet settled.
  • Books — days left unreconciled.

Each card also shows how serious it is: Info, Worth a look, Important or Urgent.

When does it check?

On a schedule, in your workspace’s own time zone: new purchases soon after they are recorded, most checks each morning, and a few weekly or monthly. A check that needs more history than your workspace has stays quiet rather than guessing.

Why was an alert raised?

Every alert carries a Why this was flagged line: what was measured, what it was compared with, and the threshold it crossed. Under it, a button opens the records the alert is about, such as the purchases or the vendor.

An alert keeps the figures it was raised on, so it still reads correctly after the records it cites are corrected.

What do I do with an alert?

Use Open and All at the top to switch between what still needs a look and everything raised so far. On each alert:

  • Acknowledge — you have seen it and dealt with it; it leaves the open list.
  • Dismiss for 30 days — hide it and stay quiet about the same thing at the same level for a while. Something worse about it still comes through.
  • Reopen — put an acknowledged or dismissed alert back on the open list.
  • Useful? — the thumbs up or down tells BasilBook whether the alert helped. It changes nothing by itself; it is read when the checks are tuned.

Acknowledging, dismissing and reopening are for owners and managers, because they hide an alert from the whole workspace. Every member sees every alert and can mark it useful or not.

Can I change what it watches?

Press Settings at the top of Insights. Each check can be switched on or off, and its thresholds changed — how big a change must be, and how much history it needs — within safe bounds. Save keeps your changes; Reset to defaults goes back to BasilBook’s.

The checks marked Always on protect the books themselves and cannot be switched off or tuned. Owners and managers change settings; members see them read-only.

What is the vendor scorecard?

Open a vendor from Vendors and choose the Scorecard tab. It shows your Share of spend with that vendor, Monthly spend over the last twelve months, the number of Documents and the Average document, each item’s Prices against its usual range, and the Alerts about this vendor.

What is item profitability?

Press Item profitability at the top of Insights. Every dish with a recipe is ranked by Contribution — its margin times what it sold — and you can sort by Margin, Since last month, Sold this month or the dish’s name. Each dish lists the ingredients driving its cost and what its margin would be if the costliest one returned to its usual price.

It is costed at today’s ingredient prices, from the same figures as a recipe’s cost panel, so the two always agree.

Can alerts come to Telegram?

Yes. With Telegram set up in Settings → Notifications, the Insights alerts switch sends one message per run listing what was raised or got worse, most serious first, up to a daily cap. Info alerts stay in the console only. Switch it off to keep alerts in the console alone; the Insights page always has the complete list.

I do not see Insights in my sidebar.

Insights is part of Professional: on Free, the page shows what it is but no alerts, and no checks run for the workspace. It is also being introduced gradually, so it may not have reached your workspace yet.

If a workspace leaves Professional, its alerts and settings are kept as they were and come back when it returns.

Operations

Operations → Purchases

Purchases

Everything you buy from a supplier — stock and one-off costs alike — with the journal entry and the stock movement written for you.

What can I do here?

Record and review supplier purchases. Filter by date range and by vendor, read the summary strip (total purchases, transactions, unique items — with the total broken out per currency when the period holds more than one), open View Journal or Edit straight from a row, and expand the row to see its line items and reach Duplicate or Delete.

How do I record a purchase?

It takes about a minute:

  1. Press New Purchase.
  2. Choose the vendor. Not on the list? Type the name into the vendor picker and press Create — it is added on the spot, and you can fill in phone and address later on the Vendors page.
  3. Set the purchase date, your own Reference for the document, the supplier’s Invoice Number if it has one, the currency, and the payment account the money came from. The vendor, currency and payment account carry over from the last purchase you recorded, and so does the date — so a stack of back-dated invoices only needs the date set once. The date starts on today again next time you sign in.
  4. Add a line per item: item, quantity and price. The unit is the item’s own and cannot be changed on a purchase, because stock is kept in it — enter the quantity in that unit (half a kilogram of an item kept in kg is 0.5, not 500 g). To use a different unit, change it on the item. A fresh line appears as soon as you fill the last one, so a long invoice is one continuous pass — the spare line left at the end is ignored when you save.
  5. Add notes if you need them, then press Save Purchase.

The purchase posts its own journal entry and, for tracked items, raises stock at the same time. Buying much the same basket again? Expand the earlier purchase and press Duplicate — a new purchase opens with its vendor, currency and lines already filled, dated today and with both reference numbers left blank for you to give it its own.

I only want to record a cost — no stock items. Can I?

Yes. A purchase can carry expense lines instead of stock lines, so a delivery charge or a service fee on the supplier’s invoice stays on the same document as the goods. If the whole document is a cost with no goods at all, the Expenses page is usually faster.

How do I bring in a month of purchases at once?

Use the importer rather than typing them:

  1. Press Import and upload the BasilBook XLSX or CSV template.
  2. Rows are grouped into purchases by their reference number — one reference, one supplier document.
  3. Column headers are matched loosely, so “Selling Price”, “selling_price” and “price” all land in the same field.

Purchase import is part of the Professional plan. Recording purchases by hand is available on every plan.

I made a mistake on a purchase. How do I fix it?

Press Edit on the row to correct it — the same button sits inside the expanded row, next to Delete. Neither one erases anything: the original purchase's journal entry is reversed and its stock is given back, so the ledger and the item's stock history still show what was first recorded and what replaced it. Use View Journal first if you want to see exactly what was posted before you change anything. A purchase already settled by a vendor payment cannot be changed until that allocation is removed in Accounts Payable.

Operations → Sales

Sales · Restaurant & retail

Every sale that settled at the counter — synced from your POS, imported from a file, or keyed by hand.

What can I do here?

View and record daily sales. Filter by date range, payment method and source (manual or imported); read total gross, total discount and total net; expand a sale to see its lines; and open the journal entry behind any sale.

How do I get my POS sales in?

Three routes, depending on how your POS is set up:

  1. Sync HangPopok pulls sales straight from the POS. The time of the last sync is shown beside the button.
  2. From POS export imports a report file you exported from the POS yourself.
  3. From BasilBook template imports our own spreadsheet format.

Any import creates missing items, staff, categories and delivery platforms as it goes, and posts the journal entries. Importing the same sale twice does not duplicate it.

Sales sync and sales import are on the Professional plan. Recording a sale by hand is free.

How do I record a sale by hand?

Press Record Sale and fill in the form:

  1. Enter the invoice number and the sale date and time. Auto fills in the number after your latest sale’s — B0010584 becomes B0010585 — skipping any already used; you can still change it.
  2. Pick the sale item, the staff member and the quantity.
  3. Enter gross and any discount — net follows automatically.
  4. Set payment method, channel and currency, add notes, then press Save Sale.

How do I correct a sale that is already recorded?

Open the sale and choose Edit sale. Saving reverses the original journal entry and posts a fresh one from your corrected lines. The reversed entry stays in the ledger for the audit trail and drops out of your reports, so the numbers you read are the corrected ones.

  • Sales that came from the POS can be edited too. A normal sync will not overwrite your correction — only a forced re-import of that date range will, and it warns you first.
  • The invoice number is the sale’s identity and cannot be changed.
  • If the sale shows Settled, a bank receipt is matched to it. Unmatch it in Reconciliation first, then edit.

A tab was opened late at night and paid after midnight. Which day does it count on?

The day it was paid, in your location’s timezone. Sales reporting — the dashboard, today’s sales, sales by day, analytics — all follow the checkout time, which is what your POS calls the sale day. Journal entry dates are unaffected: they keep the date the entry was made.

A bank transfer only covered part of a sale. How do I match the rest?

From the sale itself. A sale a bank receipt has been applied to is badged with what is still unmatched — a $5.50 sale settled by a $5.00 transfer reads “$0.50 unmatched”. Expand it and press Match a bank receipt (Match the rest once something is already applied), or use the same button on the sale’s journal entry.

  1. Pick a pending receipt from the list. Receipts that still have money on them are offered in any currency your exchange rates cover — a riel receipt shows what it is worth against the sale (“KHR 52,000, worth $13.00”) — with the receipt that is exactly what the sale owes, on the sale’s own day, first.
  2. The amount is filled in for you — whichever runs out first, the sale’s balance or what is left on that receipt. Change it if you want to apply less.
  3. Press Apply.

Applying a receipt posts the deposit entry for you, moving that money out of cash on hand and into the bank — the sale’s own entry stays on cash on hand, and the deposit appears under “Settled by” on it. Anything left on the receipt stays pending; Post on the receipt posts only that remainder. One sale can be settled by as many receipts as it takes.

Bank reconciliation is on the Professional plan. Delivery sales are not settled this way — they clear through the platform’s payout. If the bank sent a payment your feed never picked up, add it by hand from Bank receipts first.

Can I delete a sale instead of editing it?

You can, from the row’s delete action, but editing is almost always the better answer: it keeps the invoice number and leaves a reversed entry behind as the record of what changed. Delete is for a sale that should never have existed at all.

Operations → Waste

Waste · Holds stock

What was thrown away, why, and what it cost you.

What can I do here?

Log spoilage and losses, review them over time, import them in bulk, and see the cost of each. Every waste record takes the stock off hand and posts its own journal entry.

How do I record waste?

Press Record Waste and fill in four fields:

  1. Set the date, and pick the item.
  2. Enter the quantity and unit.
  3. Choose a reason: spoiled, expired, overcooked, prep waste or unknown loss.
  4. Add optional details, then press Record.

Why can’t I see Waste in my sidebar?

Two reasons. Either your business does not hold stock — a pure service business has nothing to waste — or your costing method is set to Direct, where purchases are expensed immediately and there is no stock balance to write down. Change it in Settings → Organization.

Can I delete a waste record?

Yes. Deleting a record takes it off the list, reverses its journal entry and puts the quantity back into stock. The reversal stays in the ledger and in the item's stock history, so nothing is erased.

Operations → Expenses

Expenses

Rent, utilities, repairs, fees — the outflows that are not stock.

What can I do here?

Record operating expenses, review them by date, vendor, category and account, and import them from a spreadsheet. Each expense generates its journal entry automatically.

How do I record an expense?

Press Record Expense and work down the form:

  1. Set the date and a category — for example Rent or Utilities.
  2. Write a description of what it was for and enter the amount.
  3. Choose the expense account it belongs to and the payment account it was paid from; this defaults to Cash on Hand.
  4. Attach a vendor if there is one, add notes, then press Save Expense.

Why does the vendor matter?

Because an expense you have not paid yet becomes part of what you owe that vendor. Expenses with a vendor roll up into Accounts Payable; ones without a vendor are grouped under “(Unassigned)” so the total still ties to the ledger.

Operations → Stock Count

Stock Count · Holds stock

What the system thinks you have, against what is actually on the shelf.

What can I do here?

Enter counted quantities against the theoretical figure for every tracked item, see the variance as you type, and submit. Only items with a variance are adjusted. You can also correct a single item without counting the whole sheet, and review every past adjustment.

How do I run a count?

Five steps, start to finish:

  1. Check the As of date at the top — it decides which movements are included.
  2. Walk the shelves and type the counted quantity beside each item. The variance column fills in live.
  3. Press Save count. Anyone on the team can save — the sheet is kept for that day, so you can stop and come back, or hand it to someone else.
  4. An owner or manager presses Review & Post and checks the variances listed. It stays disabled while the sheet has unsaved changes, so what is posted is exactly what was saved.
  5. Confirm. You get a stock count receipt naming every adjustment created — or telling you everything matched.

Can I count for a day that has already passed?

Yes. Set the As of date to the day you actually counted. Balances then exclude anything that moved after that day, so a count you write up on Monday for Saturday night is still truthful. A future date is refused.

One item is wrong. Do I have to count everything?

No — use Adjust stock.

  1. Pick the item and a direction: increase or decrease.
  2. Enter the quantity and unit, and the effective date.
  3. Choose a reason: count correction, damage or breakage, theft or loss, transfer to another location, data entry error, or other.
  4. Read the journal entry preview and the on-hand-after figure, then press Post adjustment and confirm.

I posted a count with a mistake. How do I correct it?

Open History and press Correct beside the count, or press Correct this count on its entry in the Journal. A posted count is never edited in place: correcting it reverses its journal entry and undoes its stock adjustments on the count’s day, then reopens its quantities as that day’s draft.

  1. Read the confirmation and press Correct count.
  2. The sheet opens on the count’s day with its quantities filled in. Fix the ones that were wrong.
  3. Press Save, then post the count again. The journal keeps both: the original as reversed, the corrected count as posted.

Only the latest count of an item can be corrected directly. When a later count covers the same items, BasilBook names it and offers Correct both counts: both reopen as drafts, and you post them in date order, earliest first. A count can’t be corrected while its day already has a saved draft.

How do I count on paper or in Excel?

Press Export for an .xlsx or .csv count sheet, fill in the counted column, then use Import Counts to bring it back. History shows every count and manual adjustment made so far, with dates, items and notes.

Operations → Attendance

Attendance · Pro

Who worked, who was late, and how many days each person is owed for.

What can I do here?

Pull attendance from DailyBrew for a date range and read it two ways: a per-day grid marked present, late, early leave or absent, and an employee summary with present days, absences, hours and average hours per day. Headline counters cover employees, present days, late arrivals and absent days.

How do I get the data in?

Connect once, then sync whenever you need it:

  1. Connect DailyBrew in Settings → Integrations — the page links you there if it is not configured.
  2. Set the date range at the top of the page.
  3. Press Sync. Use Sync History to see previous runs.

It says some usernames are unmatched. What do I do?

Those people exist in DailyBrew but BasilBook cannot tell which staff record they are. Link them from the warning itself: each unmatched employee gets its own row with a staff picker, plus a Create as button that makes a new staff record from them. The link is stored against the employee's DailyBrew ID, so it survives a rename, and attendance already imported for that person is repointed straight away — no re-sync needed.

How does this connect to payroll?

When you build a payroll period, the From DailyBrew button fills each person’s days worked from these records instead of you typing them.

Management

Management → Inventory Items

Inventory Items · Holds stock

The things you buy and consume: ingredients, packaging, consumables, parts.

What can I do here?

Create and maintain the items that purchases, waste, counts and recipes all point at. Each carries a code, name, category, unit, type and status. Search by name, filter by category, sort by any column, import a whole list at once, and deactivate what you no longer use.

Can I sort the list the way I want?

Yes — click any column heading. Code, Name, Category, Unit, Type and Status each reorder the list; click the same heading again to reverse it, and the arrow shows which column is in charge. Codes sort the way you numbered them, so ITS-9 comes before ITS-10 rather than after it, and items with no code stay at the bottom whichever way you sort. Sorting applies to what your search and category filter have left on screen.

How do I add an item?

Press Add Inventory Item and fill in the essentials:

  1. Give it a name, a unit of measure (kg, L, pcs) and a category.
  2. Choose how it behaves — tracked inventory items appear on stock counts and carry a stock balance.
  3. Save. To add many at once, use Import with a spreadsheet.

Why am I told to set up my chart of accounts first?

Because every item movement has to post somewhere. Until accounts exist, BasilBook has nothing to write the entry against. Follow the Set up CoA link on the warning — it takes a minute, and it only happens once.

What is the difference between an inventory item and a sale item?

An inventory item is something you buy and consume. A sale item is something you sell. A burger is a sale item; the bun, patty and box are inventory items. Recipes (restaurants) or a direct item link (retail and garages) connect the two, so selling depletes stock.

I sell this item exactly as I buy it. Do I add it twice?

No — not on a retail workspace. When you add an inventory item, Also sell this item is on by default: give it a selling price and the matching product is created with it, so it appears the moment you record a sale. One sold is one off the shelf.

For items you added before this existed, the list shows Sellable where a product already exists and a Sell this action where it does not. An item that is already linked is refused rather than given a second product — two products drawing on one item is a difference you would only notice at the next stock count.

Can two items share the same product code?

No. A code has to be unique within your workspace, so saving one that another item already holds is refused, and the message names the item that has it — including a deactivated one, which keeps its code. Leaving the code blank is always fine: any number of items can have none. Codes are compared ignoring capitals and spaces around them, so ITS-0018 and its-0018 are the same code.

The code is not frozen — change it whenever you like, as long as the new one is free. That is how you separate a pair that was created before this rule existed: search the code on this page to find both, then edit one. When you add an item, the line under Product Code shows the last code used in the category you chose, and Auto fills in the next free number in that series.

Where can I see the transactions for one item?

Press History on the item’s row. The dialog shows its stock movements, newest first: purchases, recipe or invoice consumption, usage, waste, counts, adjustments and transfers when recorded. Each row shows the movement date, when it was recorded, the signed quantity in the item’s unit, reference and notes. Use Older and Newer to browse the full history, 50 movements per page. Corrections remain separate movements. History is read-only and available to members too; it shows recorded stock movements, not a general activity or financial audit log.

Management → Sale Items · Products · Services

Sale Items

Your menu, catalogue or service list — whatever a customer actually buys. The page is named for your business type.

What can I do here?

Maintain what you sell, with code, name, category, unit, cost, selling price, revenue account and status. Search and filter by category, sync the catalogue from your POS, or import it from a spreadsheet.

How do I add something to sell?

Press Add Sale Item — or Add Product, or Add Service, depending on your business type.

  1. Enter a name, category, unit and selling price.
  2. Set the revenue account it should post to, if it differs from the default.
  3. Save.

Maintaining and importing your product list is free on every plan, including a HangPopok Product List export.

My business sells both labour and parts. How do I keep them apart?

Mark each one as a service or a product. “Labour — diagnostic” sits next to “Oil filter” in the same list, but only the product moves stock. A service never depletes inventory, and a product can be linked to the inventory item it consumes, with the quantity used per unit sold — a wheel-change line can consume four.

What happens when I delete one?

It is deactivated, not erased. Historical sales that reference it keep working and your past reports do not change.

My delivery prices are higher than my menu prices. Which one is stored?

The dine-in price is the item’s menu price. Delivery prices carry the platform’s markup and are stored per channel, so importing delivery sales never overwrites what you charge in store.

Management → Categories

Categories

The groupings that make your reports readable — and that decide which accounts things post to.

What can I do here?

Create and maintain categories for sales, purchases and expenses, see where each one is used, map it to a journal account, sync categories from your POS, and import a list.

How do I add a category?

Press Add Category and answer three questions:

  1. Name it.
  2. Choose its usage — sales, purchase or expense.
  3. Pick the journal account it should post to, then save. It appears immediately in the pickers on the relevant forms.

What happens when I rename a category?

Everything already filed under the old name is renamed with it — inventory items, sale items and expenses all move in the same step, so your filters and reports keep finding them. Renaming onto a name another category already uses is refused: categories are not merged by renaming one onto the other.

What happens to items in a category I delete?

A category nothing uses is removed straight away. One that is still in use is not: the confirmation says how many inventory items, sale items and expenses are filed under it, and asks which category to Move them to. They move across and the old category goes in the same step, so no record is left carrying a label that no picker offers any more. If there is nowhere sensible to move them, create the category you want first, then delete this one.

Management → Recipes

Recipes · Restaurants

What each dish is made of — the bridge between selling a plate and consuming the ingredients.

What can I do here?

Define the ingredient composition of each menu item, with quantities and units, so BasilBook can cost a dish and take the ingredients off stock when it sells. Recipes are versioned by an effective date, so you can see what a dish cost last quarter as well as today.

How do I build a recipe?

Press Add Recipe and work down the form:

  1. Choose the sale item it belongs to — or add a new one inline with a name and selling price.
  2. Set Effective From: the date this version starts applying.
  3. Add an ingredient line per item: item, quantity, unit. Pressing Enter on any field starts a new line, and a missing item can be added inline with a name and unit.
  4. Add notes if useful, and save.

Can I see what a dish costs?

Expand any recipe row to see its ingredients. On Professional, the same panel costs it: cost per serving, food cost percentage against the sale item's selling price, margin per serving, and each ingredient's share of the plate cost. It costs the version you expanded — that version's own ingredient list, not whichever version is in force today — priced at each ingredient's latest purchase price.

Building, editing and versioning recipes is free. Only the costing figures need Professional. Prices are always current ones, so this answers "what would this version cost to make today", not "what did it cost in March". If a sale item has no selling price, the percentage and the margin read "No selling price" rather than zero.

My supplier changed a price. Do I edit the recipe?

No — cost follows your purchase prices automatically. Edit a recipe when the composition changes: a new portion size or a different ingredient. Give the change a new Effective From date, and the earlier version stays intact so historical costs remain accurate.

Why does this matter to my books?

If your costing method is Recipe, each sale posts its cost of goods sold from the recipe and takes the ingredients off stock as it does. Without recipes, sales book revenue and no cost, and your margin looks better than it is.

Management → Vendors

Vendors

Your suppliers, and what you owe each of them.

What can I do here?

Keep a list of suppliers with what they supply, a contact person, phone, email and address. Search it — the search reads Products or Services too, so typing “ice” finds the stall you buy ice from — import it from a spreadsheet, and remove entries you no longer use.

How do I add a vendor?

Press the add button and fill in what you have:

  1. Enter the vendor or company name — this is the only required field.
  2. Use Products or Services to note what you buy from them — “vegetables, herbs, ice”. It is free text, it is optional, and the vendor search matches on it.
  3. Fill in contact person, phone, email and street address as far as you know them.
  4. Save. You can also create a vendor from the purchase form: type the name into the vendor picker and press Create.

Where do I see what I owe a supplier?

Open Accounts Payable under Finance, or click the supplier's name here to see their purchases, expenses and payments together. The balance is built from purchases bought on credit and expenses marked pay-later, minus the payments you have recorded.

Management → Customers

Customers · Pro

Who owes you, how long they have owed it, and what they have paid.

What can I do here?

Four tabs cover the receivables cycle:

  • Customers — the customer list and each one’s balance.
  • Aging Report — how overdue each balance is, by bucket.
  • Payments — money received, and which invoices it was applied to.
  • Statements — a per-customer statement of activity to send out. Print it, or Export it as a spreadsheet to download, share or send to your Telegram chat.

Four counters sit above them: total receivable, overdue, due this week, and unapplied payments.

How do I record a payment from a customer?

Press Receive Payment and allocate it:

  1. Choose the customer, the amount, the date and the account the money landed in.
  2. Apply it across their open invoices — in full, or partly across several.
  3. Save. Anything you do not apply stays as a credit and shows in Unapplied Payments.

A customer has credit sitting unapplied. How do I use it?

Open the customer and apply the credit to an open invoice. The receivable comes down and the credit is consumed — no second payment is recorded, so the money is never counted twice.

What does a large “Unapplied Payments” figure tell me?

That money arrived but has not been matched to invoices yet. Your bank balance is right, but the aging report overstates what is owed. Applying the credits clears both.

Management → Staff

Staff

Your people, their roles and their salaries — the source for payroll and for attributing sales.

What can I do here?

Add and maintain staff records, search them, import a list, deactivate leavers, and merge duplicates created by different sources.

How do I add a staff member?

Press the add button and fill in the record:

  1. Enter the person’s name.
  2. Select their role.
  3. Set their monthly salary if you will run payroll for them.
  4. Set POS Username to the name they use on the POS, so imported sales attach to this record. DailyBrew attendance links separately, by employee ID, from the warning on the Attendance page.

The same person appears twice. How do I fix it?

Use the merge action to fold the duplicate into the record you want to keep. History from both sides follows the surviving record, so sales attribution and attendance stay complete.

What happens when someone leaves?

Deactivate them rather than deleting. They drop out of pickers and payroll, and every past sale, shift and payslip that references them stays intact.

Finance

Finance → Reports

Reports

The statutory view: what an accountant, a bank or the tax office would ask to see.

What can I do here?

Ten tabs, each answering one question:

  • Overview — sales and purchases at a glance for the period.
  • Trial Balance — every account’s debit and credit balance, and whether the books balance.
  • General Ledger — every posting in an account, in order, with a running balance.
  • Income Statement — revenue, cost of sales and expenses: profit for the period.
  • Balance Sheet — what you own, what you owe and what is left, at a point in time.
  • Cash Flow — where the cash actually went.
  • Receivables — what customers and delivery platforms owe you.
  • Payables — what you owe each supplier.
  • Inventory — what the stock on hand is worth on a day under your valuation method, beside what your Inventory accounts say. The two are built from the same postings, so a difference is shown rather than hidden.
  • Stock Movement — one month of each stock item: what it opened at, what was received, used, wasted and adjusted, and what it closed at. Use the arrows to move between months; the closing figures match Inventory on the month’s last day.

How do I set the period a report covers?

Every report is set with the same control: preset chips — This Month, Last Month, This Quarter, This Year — or Custom, which leaves the dates to you. Whichever you pick, the From and To dates are always shown, so what the report covers is never a guess.

  1. Pick a preset, or press Custom and set From and To yourself.
  2. The report regenerates as soon as the period changes — there is nothing to apply.
  3. Click any figure to see the postings behind it. The listing covers the period you set, so widening the period widens the drill-down.

Trial Balance and Balance Sheet still state balances *as of* the To date — they are cumulative to a point in time — but the period still decides what a drill-down lists.

How do I see a month-by-month view?

The income statement and balance sheet both offer a monthly layout: a column per month for a year you pick, with totals, gross profit, net income and a balanced check at the foot. Use the year arrows to move between years.

How do I get a report out of BasilBook?

Press Export on the report. It produces a spreadsheet with the same figures and hierarchy you see on screen, and offers three ways to take it:

  • Download .xlsx saves the file to your computer.
  • Share… hands the file to your device’s share menu — Mail, Messages, AirDrop, Telegram. It appears only in browsers that can share files, such as Safari on Mac, iPhone and iPad, and Chrome on Android.
  • Send to Telegram posts the file to your workspace’s Telegram chat, so your accountant or partner gets it there. Connect Telegram in Settings → Notifications first. On the General Ledger it is not offered while a reference filter is on, because the file sent would not match what you are looking at.

A drill-down has its own Export to Excel menu, so the postings behind a single figure can be taken out on their own — opening balance, every posting and the closing balance, exactly as listed on screen. The lists that have an Export button — inventory items, sale items, categories, chart of accounts — offer the same three choices.

Report export is part of the Professional plan. Reading every report on screen is free.

Why do some accounts appear indented under others?

Because your chart of accounts has parents and children — for example a receivable account per delivery platform under a shared parent. Reports render that hierarchy, and the parent’s figure includes its children.

Finance → Analytics

Analytics

The same data as Reports, drawn rather than tabulated — for spotting a shape, not filing a return.

What can I do here?

Read the business as charts:

  • Daily Sales — the trend across the period.
  • Revenue vs Cost — the two lines together, so margin pressure is visible.
  • Sales by Category and Top Selling Items — what actually sells.
  • Sales by Channel and Sales by payment method — dine-in against delivery, cash against QR and card.
  • Deposits by bank — which bank the money landed in.

How do I change what the charts cover?

Set the period at the top of the page; every chart follows it. If a chart says there were no sales or no bank receipts in the period, widen the range.

Can I arrange the charts my way?

On the Professional plan, choose Customize. Drag a chart by its name, drag its right edge to resize it, or hide it; hidden charts wait in a tray above the grid. Pick the period the page opens on in Opens on, then Save as my default. Only you see your layout — colleagues keep their own. Reset to standard brings back the standard layout. Add chart adds a chart that is not on the page yet: Expense breakdown, Payables by vendor or Receivables aging (for businesses that invoice). In the mobile app, the sliders button at the top of Analytics opens Customize analytics: show, hide and reorder the charts and pick the period it opens on.

How do I save a view I use often?

Set the period and arrange the charts, then in Customize choose Save as new view and give it a name, such as "Last 30 days — delivery". Open it any time from the picker beside Customize. A view saved on a preset such as Last 30 days moves with the calendar; a view saved on dates you picked keeps those dates. Save to view updates the open view, and Manage saved views renames or deletes one. You can keep up to 20. The mobile app opens your saved views too; creating, renaming and deleting them is on the web.

Can I put a chart on my dashboard?

Yes, on the Professional plan. Choose the pin on a chart's card, for example Sales by Channel, and it appears at the bottom of your dashboard. There it follows the dashboard's period, not the analytics view's. Choose the pin again to take it off. Daily Sales and Top Selling Items can't be pinned, because the dashboard already has its own.

Reports and Analytics disagree slightly. Why?

They answer different questions. Analytics attributes sales to the day they were paid, which is how a manager thinks about a trading day. The statutory reports follow the ledger dates. Neither is wrong — use Reports for anything you file.

Which charts need Professional?

Daily Sales and Top Selling Items are on every plan. Revenue vs Cost, Sales by Category, Sales by Channel, Sales by payment method and Deposits by bank need Professional — on Free each shows a locked card in its place. Reports → Overview locks its Revenue vs Cost and Sales by Category charts and its Payment Method Breakdown table the same way (the gross, discount and net totals stay), and the Dashboard locks its payment-method split and its Sales by Category donut while every other figure on it stays; the financial statements themselves stay readable on Free.

Finance → Quotations

Quotations · Pro · Service & garage

What you have offered a customer, before it becomes something they owe.

What can I do here?

Write a quotation and turn it into an invoice when the customer agrees. A quotation is an offer: nothing is posted to your books until you convert it.

How do I write one?

Press New quotation. It opens as its own page — pick the customer, set the dates, and add a line for each thing you are quoting. The total updates beside you as you type.

Valid until is optional: leave it blank and the offer does not expire. Saving posts nothing — the quotation reaches your books only on the day you convert it.

How is it different from an invoice?

It has no due date and no effect on what anyone owes you. It never appears in your receivables, your aging report or your ledger — a quotation you never convert simply sits there costing nothing.

That is also why it has its own numbering series, QU-0001, kept apart from your invoices.

How do I turn one into an invoice?

Press Convert. The lines, prices and customer carry across into a new draft invoice, and the quotation is marked as invoiced so you cannot convert it twice.

Deliberately a draft, not an issued invoice. Converting should not post to your ledger behind your back — you issue it yourself, when you mean to.

Does the price stay the same?

The prices you quoted carry across exactly. The VAT rate is taken from your current tax settings at the moment you convert, so if you have changed a rate in between, the new rate applies — what the customer agreed to is the price, not the government's percentage.

Can I delete one?

Yes, while it is still just an offer — nothing was posted, so there is nothing to preserve. Once converted it cannot be deleted, because the invoice it produced refers back to it.

Can the customer accept it in BasilBook?

Not yet — acceptance happens off the system. But you can hand them the document: press PDF on the row to download the quotation as a proper PDF, or Print to open it in your browser first.

The printed quotation is the same document as your invoices — your logo, your layout, your colour. It carries no payment terms or bank details, because nothing is owed until you convert it.

Finance → Invoices

Invoices · Pro · Service & garage

Bill now, collect later — with the receivable, the VAT and the paperwork handled.

What can I do here?

Create and issue invoices, record payments against them, print or export them, credit them when something is returned, and set up invoices that repeat. The accounts-receivable aging strip at the top shows what is outstanding by bucket.

How do I raise an invoice?

Press New invoice and build it line by line:

  1. Choose the customer, the invoice date and the due date.
  2. Add a line per item or service: description, quantity, price, and its VAT rate if you use several.
  3. Save it as a draft while you check it — a draft has no effect on your books.
  4. When it is right, issue it. That posts the receivable, the revenue and the VAT, and consumes any parts on the invoice from stock.

How do I record that it was paid?

Open the invoice and record a payment for the amount received; the status moves to Partial or Paid. If the money arrived by bank transfer and appears in your bank feed, use “Settle from a bank receipt” instead, which matches the invoice to the actual deposit.

I got an invoice wrong. Do I delete it?

It depends how far it has gone:

  • Still a draft — Void it and raise it again. A draft cannot be edited once saved, and nothing has posted, so voiding costs you nothing.
  • Issued — raise a credit note. It posts the mirror entry and can be partial, so a garage can credit a returned part and keep the labour. Returned stock goes back on the shelf, capped at what actually left it.

Once a document has been transmitted to a tax platform, a credit note is the only correct route — voiding it would leave your books disagreeing with what the recipient holds.

How do I send the same invoice every month?

Press Recurring, then set up the template, the customer and the schedule. BasilBook raises each one when it is due, and reminders can chase the ones that go unpaid.

What are the Factur-X and UBL buttons?

They export the invoice as a structured electronic document — the machine-readable format tax platforms in France, and next Cambodia’s CamInvoice, require. BasilBook checks the document against the European e-invoicing rules before it will produce one: if something mandatory is missing, a banner names the failing rules and these two buttons stay disabled until you fix it. That is deliberate — an invalid e-invoice is worse than none, because it transmits, gets rejected, and then has to be chased. Only the structured exports are held back: Print, the plain PDF and Telegram keep working, so you can always give your customer a readable copy of their invoice. On a draft the export buttons are not shown at all — there is no legal document until the invoice is issued. The readiness banner still appears, so a missing legal identity surfaces while you can still fix it.

Where do I get a paper copy?

Press Print / Save as PDF on the invoice detail. The printed document carries the same content as the electronic one: the correct title for an invoice or a credit note, your legal identity, and VAT broken out per rate.

Can I send an invoice to my customer?

Not directly yet. Telegram on an issued invoice sends a copy to your own workspace chat so you can forward it, and Print or the PDF buttons give you a file to attach yourself. BasilBook has no way to email your customer, and it does not hold a chat address for them.

Finance → Job Cards

Job Cards · Pro · Garage & workshop

The work order: a vehicle, a complaint, a technician, and the labour and parts that go on it.

What can I do here?

Open a job the moment a vehicle arrives — before there is anything to bill — and add labour and parts as the work proceeds. The job carries what an invoice cannot: the vehicle, the customer’s own description of the fault, and who is working on it. When the job is done, turn it into an invoice in one step.

How do I open and run a job?

Press New job, then keep it up to date as the work moves:

  1. Pick the customer.
  2. Record the vehicle, the complaint as the customer described it, and the technician.
  3. Add lines as you work — labour, parts from your catalogue, or a custom line with its own description and VAT.
  4. Move the job along as its state changes: booked, in progress, completed.
  5. From completed, invoice it. A job that turns out not to be needed can be cancelled at any point before that.

What happens when I invoice a job?

BasilBook creates and issues an ordinary invoice from the job’s lines, so VAT, revenue accounts and parts consumption behave exactly as they do for an invoice you typed yourself. The job then reads Invoiced and stops there.

Can I reopen an invoiced job?

No, and that is on purpose: once the invoice exists it is the financial record, and corrections belong to it — and since invoicing a job issues it in one step, that means a credit note. Reopening would leave one job with two documents that could disagree. A job that is merely completed can be reopened.

Finance → Accounts Payable

Accounts Payable

What you still owe each supplier, and the payments you have made against it.

What can I do here?

See every vendor you owe money to and the total, record a payment against a vendor, and reverse one you entered by mistake. Reading the balance is free; recording payments is a Professional feature.

Where does the balance come from?

Purchases you bought on credit plus expenses marked pay later, less the payments you have recorded. A purchase you paid at the till never became a payable, so it is not in the balance — it still shows on the vendor's history. Documents with no vendor roll into (Unassigned) so the total ties to your Accounts Payable account.

Can I pay one specific bill?

Yes. When you record a payment, the bills still open for that vendor are listed and you can type an amount against each — or press Apply to oldest to fill them in order and adjust from there. Paying a later bill while you query an earlier one is normal, so nothing is assumed.

Leave every line blank and the payment simply reduces the vendor's balance without naming a bill. That is exactly how payments worked before, and it is still the right answer if you settle in round sums against an account.

What if I pay more than I owe?

Allowed — the extra shows as money left on account. What is refused is applying more to one bill than that bill is worth: the payment would then disagree with the supplier's own statement, and you would not find out for weeks.

What does recording a payment post?

Dr Accounts Payable / Cr Cash or Bank, depending on where you paid from. Reversing a payment removes it and its journal entry.

I want to see everything for one supplier.

Open Vendors and click the supplier's name. That lists their purchases, expenses and payments together with the running balance, and each row links through to the document itself.

Finance → Journal

Journal

Every accounting entry in the business — nearly all of them written by BasilBook, a few by you.

What can I do here?

Read the double-entry record. Filter by date range, search descriptions and references, and use the three counters — posted, draft, reversed — as filters. Expand an entry to see its lines, or jump from an entry to the sale, purchase or invoice that produced it.

How do I write an entry by hand?

Press New Entry and build it line by line:

  1. Set the entry date, an optional internal reference such as JV-0001, and a description.
  2. Add lines: account, optional description, and an amount in either debit or credit.
  3. Watch the balance indicator. It reads Balanced when debits equal credits — an unbalanced entry cannot be saved.
  4. Create the entry, then post it when you are ready.

Manual journal entries are on the Professional plan. Reading the auto-generated journal is free on every plan.

How do I correct an entry that is already posted?

Use Correct entry. BasilBook reverses the original and posts a corrected replacement in one step, keeping the same voucher number and linking the two. To you it feels like an edit; in the ledger both rows survive, and your reports show only the correction.

This applies to entries you keyed yourself. An entry generated by a sale, purchase or invoice is corrected at its source document instead — fix the sale, and its entry is re-posted for you.

What does the Ref column show?

A readable label for whatever produced the entry — “Sale invoice 1042”, “Purchase — Sok Meas”, “Waste — prep” — rather than an internal id. Clicking through opens that source document.

Why did selecting “Draft” not change the other counters?

The three counters are always computed before filtering, so you can always see how many posted and reversed entries exist while you are looking at drafts. Press the same counter again, or Show all entries, to clear the filter.

Finance → Payroll

Payroll · Pro

Pay periods built from your staff records, posted to the ledger either as a payment or as an accrual.

What can I do here?

Create a payroll period, list the staff it covers with their days, bonuses and deductions, and post it. Each period shows its status — paid or accrued — its staff count and its total, and links to the journal entry it produced.

How do I run payroll?

Press New Payroll and work down the form:

  1. Set the period start and period end.
  2. Choose whether you are paying now or accruing. Pay immediately asks for the payment account; leaving it off records the cost against payroll payable instead.
  3. Press Add All Staff to pre-fill every active staff member with a salary, or add people one at a time.
  4. Enter days worked, deductions and bonuses per person — or press From DailyBrew to fill days from attendance.
  5. Check the total, then create the period.

How is each person’s amount calculated?

Daily wage is the monthly salary divided by 30. The amount is (daily wage × days worked) + bonus − deductions. You can override any figure before saving.

It says no eligible staff. What is missing?

Payroll only offers active staff who have a monthly salary set. Add the salary on their record in Staff and they will appear.

Finance → Reconciliation

Reconciliation

Proving that the money you took is the money you have, one trading day at a time.

What can I do here?

Daily Sessions closes off a trading day: POS total against actual cash, bank receipts and delivery. Matching individual bank transfers to the sales they paid has its own page, Bank receipts.

How do I close a day?

On the Daily Sessions tab, open the day’s session and work through it:

  1. Read the POS total and expected cash.
  2. Enter actual cash — add a line per till or shift, labelled (“Morning”, “Cashier A”), and the total is summed for you.
  3. Review the bank and QR receipts, and the delivery receivables, for the day.
  4. Add notes, then press Close Session and confirm.

Any difference between expected and actual cash is posted to the ledger as a cash over/short adjustment. Once it is posted, View entry on the session opens the journal entry; it is also in the Journal, referenced to the reconciliation.

I closed a day too early. Can I reopen it?

Yes — press Reopen Session. If a variance was already posted, Reverse Variance unwinds that adjustment. A variance cannot be posted twice.

Why is a day I declared closed under Missing reconciliations?

Because money moved on it — a late QR payment, a test sale. A day you declared closed under Insights → Settings stops the missing-sales and takings alerts from judging it, but it does not excuse the money: that day still needs a session. It is marked Declared closed — activity recorded in the list, and the unreconciled-days alert says how many of its days were declared closed. Open the day, reconcile what came in, and close it as usual.

Finance → Bank receipts

Bank receipts · Pro

Every transfer the bank tells you about, matched to the sale or invoice it paid, and the QR sales still waiting for one.

What can I do here?

Two tabs, two ends of the same job. Receipts lists each transfer as it arrives, so you can match it to the sale or invoice it paid; above the list it totals the receipts for the dates and filters chosen, per currency and overall in your main currency. Unmatched sales starts from the other end: the QR sales that no receipt has been matched to yet.

How do I match a bank transfer to a sale?

On the Receipts tab, work through the pending list:

  1. Press Run auto-match. Pending receipts are listed with the sales they might belong to.
  2. Check the suggestion — amount and currency must agree; time and payer name are shown as supporting signals, and a match far apart in time is flagged and hidden behind a toggle until you ask for it.
  3. Press Confirm to accept one. If several suggestions look right, Confirm all accepts every unambiguous one at once — suggestions where several sales share the amount are left behind Review for you to pick.
  4. If the suggestion is wrong, or the receipt paid a cash or card sale, press Settle and choose the sale yourself.
  5. If the receipt is not yours at all, ignore it. Ignored and settled receipts can be reverted to pending.

Settling moves the money out of cash on hand and into the bank in your books, which is why capturing receipts matters: money that is never matched sits in the wrong account indefinitely.

How do I check what a receipt was applied to?

Press View on a matched or posted receipt. It shows the sale or invoice the receipt settled and the amount applied to each, and — where the receipt produced a ledger posting — a link to that journal entry.

A receipt only partly used shows its own line in the list — “2,000 settled · 200 left” under the amount — and pressing it opens the same breakdown. Inside Settle, the summary reads received, already settled and left to settle, and the link beneath it — “See where 2,000 went” — lists the invoices that took it, each with a Go to button. From there each line drills further: the sale opens its own detail, and the journal entry links back to the sale it settles.

The bank sent a payment my feed never picked up. What now?

Use “Record a payment your bank feed missed”. It creates an ordinary pending receipt, badged as entered by hand, and everything after that — matching, settling, posting — works exactly as it would for a captured one.

Can a customer pay one sale with two transfers?

Yes — and one transfer can pay several sales. Allocate part of each receipt against the sale; once the sale is fully covered, the deposit entry is posted for you. Partial allocations are normal and are shown on both sides: a part-used receipt names what it has already settled, so the rest of the money is never unaccounted for.

Which QR sales are still waiting for a bank receipt?

Open the Unmatched sales tab. It lists every QR sale with no bank receipt against it, oldest first, with the total still waiting. Until a receipt is matched, that money sits in Cash on Hand in your books rather than in the bank.

  1. Choose the dates. The list starts at the day your bank feed first sent a receipt, because a QR sale from before then was never going to have one.
  2. Press Match a receipt on a sale. The receipts that could have paid it are listed, closest in time first.
  3. Pick the receipt and confirm. The sale leaves the list, and the money moves from Cash on Hand to the bank in your books.

The alert “QR sales not matched to the bank” counts exactly these sales. Its See the unmatched sales button opens this tab on the alert’s days, with the sales it names highlighted.

Finance → Chart of Accounts

Chart of Accounts

The list of accounts everything else posts into. Set it up once; touch it rarely.

What can I do here?

Review every account by code and name, grouped into assets, liabilities, equity, revenue and expenses, with parent accounts and their children shown together. Search by code or name, add accounts, and edit the ones you have.

Do I have to build this myself?

No. Every new workspace is seeded with a ready-made chart suited to its business type — a restaurant, a shop and a garage each start with the accounts they actually need. On the free plan that seeded chart is what you use; Professional adds your own accounts on top.

Where can I see the full list before I sign up?

The chart of accounts page on the website lists every preset in full — restaurant, retail shop, services and garage — with what each account is for. It is generated from the same list your workspace is seeded from, so it can never describe accounts you do not have. The What are these accounts? link on this screen opens it.

How do I add an account?

Press the add action and describe the account:

  1. Give it a code and a name — codes decide the ordering, so leave gaps for later.
  2. Choose its type, and a parent account if it belongs under one.
  3. Save. It becomes selectable everywhere accounts are chosen.

A worked example: give each delivery platform its own receivable under the shared parent — 1211 GrabFood Receivables under 1210 — then map it in Settings → Delivery. Your receivables report then shows which platform owes you what, instead of one blended figure.

Can I delete an account?

Only if nothing has posted to it. An account with history is deactivated instead, and deleting one is a high-friction action that asks you to type the account name first — because reports going back years depend on it.

Your setup

Sidebar → Settings

Settings

Everything about this workspace: who is in it, how it is connected, what it looks like, and what you pay.

What is on each tab?

Eleven tabs, in a menu down the left of the page, under four headings — Workspace (Organization, Team, Design), Finance (Exchange Rates, Tax & e-invoicing, Billing), Connections (Notifications, Delivery, Integrations, API keys) and Audit (Activity Log):

  • Organization — restaurant name, country, timezone, primary and accepted currencies, date and number format, document language, costing method, inventory valuation method, and deleting the workspace.
  • Team — members and their roles, invitations, removing someone, transferring ownership, leaving.
  • Design — theme, your own branding on Professional, and how your printed invoices look: pick a layout from the thumbnails, set your accent colour and logo, with a live preview.
  • Exchange Rates — rates between the currencies you accept.
  • Tax & e-invoicing — your legal identity and your VAT rate catalogue.
  • Billing — your plan, upgrades and next billing date. Only the owner can subscribe or change the plan.
  • Notifications — Telegram connection and which alerts you want.
  • Delivery — delivery platforms and the accounts each one posts to.
  • Integrations — POS, attendance and bank feed connections.
  • API keys — keys for your own scripts and tools to use the BasilBook API, on Professional.
  • Activity Log — an audit trail of what was done in this workspace, and by whom.

What language do my invoices go out in?

Settings → Organization → Document language decides it. It is separate from the language your team reads the console in, because the invoice is read by your customer, not by you.

  • Match the number format is the default. An organization already formatting money the French way sends French documents; everyone else sends English.
  • Choose a language explicitly to override that — you can bill in French from a console you read in English, or the reverse.
  • Changing it changes what is printed from now on. A document you have already sent is unchanged.

Khmer applies to the printed page in your browser. The Factur-X PDF is set in a Latin font, so it falls back to English — the same limit the user manual PDF has.

What is the inventory valuation method?

It decides what a unit of stock is worth when you have bought it at different prices. It is separate from the Costing method above it, which decides when that cost becomes cost of goods sold. Find it in Settings → Organization:

  • Weighted average — each unit costs the average of what you paid for the stock on hand. New workspaces start here.
  • FIFO — stock is used in the order it was bought, so each use costs what the oldest stock on hand cost.
  • Latest purchase price (legacy) — every use costs whatever the item was last bought for. Workspaces created before this setting existed start here, and once you choose another method you cannot go back to it.

Press Change method to switch. Before anything is posted, BasilBook shows what your stock is worth under the new method and how far your Inventory account is from that; when you confirm, one journal entry dated today closes the gap against cost of goods sold. Nothing already posted changes. The setting does not apply under Direct to COGS, where there is no stock on the balance sheet to value.

How do I invite someone to my workspace?

Open the Team tab:

  1. Enter their full email address or their public ID — the exact one; a partial name or address finds no one, so nobody can browse other people's accounts.
  2. Send the invitation with a role: owner, manager or member.
  3. They accept it from their own topbar, and the workspace appears in their switcher.

Owners and managers record work and change settings. A member can read the whole workspace — every page and every report stays open to them — but cannot create, edit, delete or import records, and cannot reach settings, team or integrations; controls they are not allowed to use are shown disabled rather than hidden, so it stays clear what the page does and what your role permits. Only an owner can add or remove people, change roles, or transfer ownership.

How do I connect my POS, attendance or bank?

All of it lives on the Integrations tab:

  1. HangPopok or Loyverse — paste the API token from your POS account.
  2. DailyBrew — paste the key from DailyBrew → Settings → API.
  3. Bank receipt feeds — add the Telegram bot to the group your bank posts into, name the feed (“ABA — Main account”), then press Detect and Test Connection.

Tokens and API keys are stored encrypted, and are never shown back to you in full once saved.

Can my POS and attendance sync on their own?

Yes. Every connected integration has an Automatic sync setting on the Integrations tab:

  • Pick Every hour, Every 6 hours or Once a day. Manual only is the default, so nothing changes until you choose one.
  • Each run imports the last three days — so a tab opened before midnight and paid the next morning still lands on the right day.
  • Running the same days again is safe: a sale already in BasilBook is skipped, never duplicated.
  • Sync history shows whether a run was automatic or done by hand.

If an automatic sync fails five times in a row it pauses itself and says so on the card — fix the token, then run one manual sync to start it again. HangPopok product sync always stays manual.

How do I set up Telegram alerts?

On the Notifications tab:

  1. Follow the Telegram setup guide to get your chat ID.
  2. Copy the ID into the Chat ID field, or press Detect.
  3. Press Test Connection — a successful test sends a message to the chat.
  4. Switch on the alerts you want: low stock, reconciliation reminders, weekly reports, team invitations.

Can I check the day's takings from Telegram?

Yes. Send /total to either BasilBook bot in a chat that is connected to your workspace, and it replies with what reached the bank, the sales that money should match, and anything still waiting to be matched. The reply carries Today, Yesterday, This week, Last week, This month and Last month buttons, so the common periods are one tap rather than typed — and Pick a day and Custom period open a calendar for any other day or range. Asked in a bank-feed group it reports that bank only; ask in your notifications chat for the whole business.

  • /total on its own covers today.
  • /total yesterday, /total week and /total month cover those periods.
  • /total 15/09 (or /total 15 sep, or /total 2026-09-15) covers a single day.
  • /total 1/09 - 15/09 covers a range, including both ends; /total 7d covers the last 7 days.

Days follow your organisation's timezone, and a sale counts on the day it was paid — so a table that opened before midnight and paid the next morning lands on the morning. Reading totals this way needs bank receipt capture, which is a Professional feature.

How do I set up VAT properly?

On the Tax & e-invoicing tab:

  1. Fill in your legal identity: registered legal name, legal form, address, billing email and phone, and tax regime.
  2. Add a rate for each VAT rate you charge — name it the way your customers would recognise it, set the percentage and the VAT category, and pick the account it posts to.

With no rates in the catalogue, invoices keep using a single flat percentage, which is right for most Cambodian businesses. Add rates and the invoice form switches to per-line VAT, which is what you need if different lines are taxed differently.

How do I upgrade, or move to annual billing?

Open the Billing tab, press Upgrade to Professional and choose monthly or annual. The tab then shows your plan, your next billing date, and — if you cancel — the date access runs until.

Something changed and I do not know who did it. Where do I look?

The Activity Log tab. It records reconciliation sessions opened and closed, receipts matched, ignored and reversed, POS syncs and imports, price and name changes — each with who did it and when. Load more to go further back.

Sidebar → Settings → API keys

API keys · Pro

An API key lets your own scripts and tools read — or record — this workspace’s data through the BasilBook REST API, without signing in as you. Keys are part of Professional.

What does a key do?

A key acts as the person who created it, in this workspace only. It can do what that person could do here and nothing more: it cannot open another workspace they belong to, change their profile or password, invite people, or manage billing.

If the person who created a key leaves the workspace, the key stops working.

How do I create one?

Owners and managers can create keys; every member can see the list.

  1. Open Settings → API keys and press New API key.
  2. Give it a name that says what uses it, such as “Weekly sales export”.
  3. Choose its access: Read only to fetch data, or Read & write for a tool that needs to record things.
  4. Press Create key, copy the key, and store it where your script runs.

The key is shown once. BasilBook keeps only a fingerprint of it, so it cannot be shown again — if it is lost, create a new one and revoke the old one.

Read only or read & write?

A Read only key can fetch anything its creator can see, and is refused if it tries to change something. A Read & write key can also record and edit, wherever its creator may. Give write access only to a tool that needs it.

How does a script use it?

Send it in the Authorization header of each request to the BasilBook REST API (the same routes under /api/v1 that the mobile app uses): Authorization: Bearer bb_pat_… — followed by the rest of your key.

Treat a key like a password: keep it on a server or in a secrets store, never in a web page, an app or a shared document.

How do I stop a key working?

Press Revoke next to it and confirm. It stops working on its very next request, and nothing it already recorded is changed. A revoked key stays in the list, greyed out, so you can see when it was last used.

Keys also stop working while the workspace is not on Professional, and start again when it returns.

Sidebar → Settings → Team

Team roles & permissions

Who can see and change what in a workspace. Every workspace has five roles — owner, manager, inventory manager, inventory controller and member — and the answers below list exactly what each one may do. The same table opens from What can each role do? on the Team tab.

What can an owner do?

Everything. There is exactly one owner per workspace — the person who created it, or whoever ownership was transferred to.

  • Open every page, read the books and run every report
  • Download, share and send exports to Telegram (where your plan includes them)
  • Save a stock count draft
  • Arrange their own dashboard (Professional)
  • Arrange their own analytics and save views (Professional)
  • Arrange their own menu: reorder, regroup and hide pages (Professional)
  • See the workspace’s API keys (never the keys themselves)
  • Post stock counts and adjustments, correct a posted count, and record waste
  • Record purchases, and add and edit inventory items, units and vendors
  • Record sales, expenses and payroll
  • Add and edit sale items, categories, recipes and staff
  • Issue invoices to customers and record payments to suppliers
  • Post, reverse and correct journal entries, and add accounts
  • Match bank receipts and close the daily cash-up
  • Change workspace settings, integrations and notifications
  • Create and revoke API keys (Professional)
  • Invite people, in any role but owner
  • Change a member’s role, or remove them
  • Transfer ownership to another member
  • Manage billing and subscribe to Professional
  • Delete the workspace

What can a manager do?

Run the business day to day: record and edit everything, post to the books, change settings and invite people. A manager cannot change anyone’s role or remove anyone.

  • Open every page, read the books and run every report
  • Download, share and send exports to Telegram (where your plan includes them)
  • Save a stock count draft
  • Arrange their own dashboard (Professional)
  • Arrange their own analytics and save views (Professional)
  • Arrange their own menu: reorder, regroup and hide pages (Professional)
  • See the workspace’s API keys (never the keys themselves)
  • Post stock counts and adjustments, correct a posted count, and record waste
  • Record purchases, and add and edit inventory items, units and vendors
  • Record sales, expenses and payroll
  • Add and edit sale items, categories, recipes and staff
  • Issue invoices to customers and record payments to suppliers
  • Post, reverse and correct journal entries, and add accounts
  • Match bank receipts and close the daily cash-up
  • Change workspace settings, integrations and notifications
  • Create and revoke API keys (Professional)
  • Invite people, in any role but owner
  • Leave the workspace

What can an inventory manager do?

Run the stock room and buy for it: record purchases, keep the inventory items, units and vendors, post stock counts and adjustments, and record waste. Everything else — sales, expenses, payroll, invoices, the ledger, settings — they can read but not change.

  • Open every page, read the books and run every report
  • Download, share and send exports to Telegram (where your plan includes them)
  • Save a stock count draft
  • Arrange their own dashboard (Professional)
  • Arrange their own analytics and save views (Professional)
  • Arrange their own menu: reorder, regroup and hide pages (Professional)
  • See the workspace’s API keys (never the keys themselves)
  • Post stock counts and adjustments, correct a posted count, and record waste
  • Record purchases, and add and edit inventory items, units and vendors
  • Leave the workspace

What can an inventory controller do?

Keep the stock honest: post stock counts and adjustments, correct a posted count, and record waste. They read everything else, including purchases, items and vendors, but cannot change them.

  • Open every page, read the books and run every report
  • Download, share and send exports to Telegram (where your plan includes them)
  • Save a stock count draft
  • Arrange their own dashboard (Professional)
  • Arrange their own analytics and save views (Professional)
  • Arrange their own menu: reorder, regroup and hide pages (Professional)
  • See the workspace’s API keys (never the keys themselves)
  • Post stock counts and adjustments, correct a posted count, and record waste
  • Leave the workspace

What can a member do?

Read everything and change nothing — with one exception, saving a stock count draft for someone else to post. A member sees every page, so a greyed-out button is a permission, not a missing feature.

  • Open every page, read the books and run every report
  • Download, share and send exports to Telegram (where your plan includes them)
  • Save a stock count draft
  • Arrange their own dashboard (Professional)
  • Arrange their own analytics and save views (Professional)
  • Arrange their own menu: reorder, regroup and hide pages (Professional)
  • See the workspace’s API keys (never the keys themselves)
  • Leave the workspace

How do I change someone’s role?

Only the owner can. On Settings → Team, pick a role next to the person — Manager, Inventory manager, Inventory controller or Member. To make someone the owner, use Transfer instead — you become a manager, and they become the owner.

An invitation can offer any role but owner. Ownership moves only by transfer, so a workspace always has exactly one owner.

Why is a button greyed out for me?

Your role does not allow that action in this workspace. The page still shows it, so you can see what exists and ask the owner or a manager. A notice at the top of the page says which role is needed.

How many people can I invite?

On the Free plan, a workspace holds two people: the owner and one more. An invitation that has not been answered yet holds that seat until it is accepted, declined or expires (after 7 days). On Professional, invite as many people as you like.

How do I leave a workspace?

Everyone but the owner presses Leave next to their own name on the Team tab. The owner cannot leave without first transferring ownership to someone else, because a workspace must always have an owner.

Topbar → Profile

Profile

Your own account, separate from any workspace: your name, how you sign in, and where you are signed in.

What can I do here?

Three tabs:

  • Account — your avatar, display name, email and public ID.
  • Security — set or change your password, and review active sessions.
  • Connections — the sign-in methods linked to your account.

Someone wants to invite me to their workspace. What do I give them?

Your public ID, on the Account tab — press the copy button beside it. They paste it into their team search and the invitation reaches you.

I signed up with Google. Can I also sign in with a password?

Yes. Open the Security tab and set a password — at least 8 characters, entered twice. Both routes then work. If you already have one, the same tab changes it, asking for the current password first.

I forgot my password. How do I get back in?

Reset it from the sign-in page:

  1. On the sign-in page, press Forgot password? (in the app, the same link under Sign In).
  2. Enter the email you sign in with and press Send reset link.
  3. Open the email and press Choose a new password. The link works once and expires after an hour.
  4. Enter the new password twice — at least 8 characters — and press Set new password, then sign in with it.

For your privacy the page always says a link is on its way, whether or not the address has an account. Nothing arrived? Check spam, wait a minute and ask again. If you signed up with Google or Apple and never set a password, you can simply sign in with them instead.

How do I link or unlink Apple, Google or GitHub?

On the Connections tab, press Connect beside a provider to link it, or Disconnect to remove it. A provider is attached to your existing account even if its email differs, and you can reconnect at any time.

Can I change my email address?

No — your email identifies your account and is fixed. Your display name is editable at any time on the Account tab.

BasilBook 1.308.2 · basilbook.com/manual