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.
27 sections · 139 answers · describes BasilBook 1.219.0
Contents
Start here
- Getting around
- Dashboard
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
- Chart of Accounts
Your setup
- Settings
- Profile
Pro marks a paid-plan feature. 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?
Three 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 and Stock Count are hidden because purchases are expensed straight away.
- Your plan. Paid features carry a Pro badge; clicking one shows what it unlocks.
How do I change the language, theme, or sidebar width?
All three are one click away:
- Language — use the language switcher in the topbar. English, French and Khmer are available.
- Theme — Settings → Design. The free plan includes the default look; Pro unlocks the full theme set and your own logo.
- 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 counters — Sales, Active Items, Open Sessions and Purchases — for the selected period.
- Open the Financial Overview: net revenue, COGS, gross margin and margin %, plus a daily sales chart, payment-method split, and your top-selling items and categories.
- 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 in the Financial Overview panel.
- Pick Today, Yesterday, This Week, Last Week or This Month.
- 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 “Open Sessions” mean, and what should I do about it?
It counts days whose sales and payments have not been reconciled and closed yet. If the number is above zero, press Start Reconciliation — it takes you to the day that needs attention. “All reconciled” means nothing is outstanding.
What exactly is each headline number counting?
Each card measures one thing:
- Sales — distinct sale invoices recorded in the period.
- Active Items — inventory items currently marked active and tracked for stock and costing.
- Open Sessions — daily reconciliation sessions still open.
- Purchases — purchase records logged in the period.
- 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.
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:
- Press New Purchase.
- 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.
- 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.
- Add a line per item: item, quantity, unit and price. 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.
- 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:
- Press Import and upload the BasilBook XLSX or CSV template.
- Rows are grouped into purchases by their reference number — one reference, one supplier document.
- Column headers are matched loosely, so “Selling Price”, “selling_price” and “price” all land in the same field.
Purchase import is part of the Pro 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, which removes the purchase along with its journal entry. Use View Journal first if you want to see exactly what was posted before you change anything.
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:
- Sync HangPopok pulls sales straight from the POS. The time of the last sync is shown beside the button.
- From POS export imports a report file you exported from the POS yourself.
- 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 Pro plan. Recording a sale by hand is free.
How do I record a sale by hand?
Press Record Sale and fill in the form:
- Enter the invoice number and the sale date and time.
- Pick the sale item, the staff member and the quantity.
- Enter gross and any discount — net follows automatically.
- 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.
- Pick a pending receipt from the list. Only receipts in the sale’s own currency that still have money on them are offered.
- 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.
- Press Apply.
Once a receipt is fully allocated, the deposit entry is posted for you, moving that money out of cash on hand and into the bank. One sale can be settled by as many receipts as it takes.
Bank reconciliation is on the Pro 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 Reconciliation → 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:
- Set the date, and pick the item.
- Enter the quantity and unit.
- Choose a reason: spoiled, expired, overcooked, prep waste or unknown loss.
- 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. The row’s delete action removes the record and its journal entry, and asks you to confirm first because it cannot be undone.
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:
- Set the date and a category — for example Rent or Utilities.
- Write a description of what it was for and enter the amount.
- Choose the expense account it belongs to and the payment account it was paid from; this defaults to Cash on Hand.
- 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?
Four steps, start to finish:
- Check the As of date at the top — it decides which movements are included.
- Walk the shelves and type the counted quantity beside each item. The variance column fills in live.
- Press Review & Submit and check the variances listed.
- 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.
- Pick the item and a direction: increase or decrease.
- Enter the quantity and unit, and the effective date.
- Choose a reason: count correction, damage or breakage, theft or loss, transfer to another location, data entry error, or other.
- Read the journal entry preview and the on-hand-after figure, then press Post adjustment and confirm.
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:
- Connect DailyBrew in Settings → Integrations — the page links you there if it is not configured.
- Set the date range at the top of the page.
- 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:
- Give it a name, a unit of measure (kg, L, pcs) and a category.
- Choose how it behaves — tracked inventory items appear on stock counts and carry a stock balance.
- 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.
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.
- Enter a name, category, unit and selling price.
- Set the revenue account it should post to, if it differs from the default.
- 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:
- Name it.
- Choose its usage — sales, purchase or expense.
- 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:
- Choose the sale item it belongs to — or add a new one inline with a name and selling price.
- Set Effective From: the date this version starts applying.
- 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.
- Add notes if useful, and save.
Can I see what a dish costs?
Expand any recipe row to see its ingredients. On Pro, 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 Pro. 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:
- Enter the vendor or company name — this is the only required field.
- 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.
- Fill in contact person, phone, email and street address as far as you know them.
- 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.
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:
- Choose the customer, the amount, the date and the account the money landed in.
- Apply it across their open invoices — in full, or partly across several.
- 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:
- Enter the person’s name.
- Select their role.
- Set their monthly salary if you will run payroll for them.
- 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?
Eight 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.
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.
- Pick a preset, or press Custom and set From and To yourself.
- The report regenerates as soon as the period changes — there is nothing to apply.
- 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?
Use the export action on the report. It produces a spreadsheet with the same figures and hierarchy you see on screen. A drill-down has its own Export to Excel button, 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.
Report export is part of the Pro 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.
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.
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:
- Choose the customer, the invoice date and the due date.
- Add a line per item or service: description, quantity, price, and its VAT rate if you use several.
- Save it as a draft while you check it — a draft has no effect on your books.
- 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:
- Pick the customer.
- Record the vehicle, the complaint as the customer described it, and the technician.
- Add lines as you work — labour, parts from your catalogue, or a custom line with its own description and VAT.
- Move the job along as its state changes: booked, in progress, completed.
- 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 Pro 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:
- Set the entry date, an optional internal reference such as JV-0001, and a description.
- Add lines: account, optional description, and an amount in either debit or credit.
- Watch the balance indicator. It reads Balanced when debits equal credits — an unbalanced entry cannot be saved.
- Create the entry, then post it when you are ready.
Manual journal entries are on the Pro 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:
- Set the period start and period end.
- 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.
- Press Add All Staff to pre-fill every active staff member with a salary, or add people one at a time.
- Enter days worked, deductions and bonuses per person — or press From DailyBrew to fill days from attendance.
- 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 — day by day, and receipt by receipt.
What can I do here?
Two tabs, two jobs. Daily Sessions closes off a trading day: POS total against actual cash, bank receipts and delivery. Bank Receipts handles individual transfers as they arrive, matching each one to the sale or invoice it paid.
How do I close a day?
On the Daily Sessions tab, open the day’s session and work through it:
- Read the POS total and expected cash.
- Enter actual cash — add a line per till or shift, labelled (“Morning”, “Cashier A”), and the total is summed for you.
- Review the bank and QR receipts, and the delivery receivables, for the day.
- 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.
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.
How do I match a bank transfer to a sale?
On the Bank Receipts tab, work through the pending list:
- Press Run auto-match. Pending receipts are listed with the sales they might belong to.
- 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.
- 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.
- If the suggestion is wrong, or the receipt paid a cash or card sale, press Settle and choose the sale yourself.
- 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.
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; Pro 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:
- Give it a code and a name — codes decide the ordering, so leave gaps for later.
- Choose its type, and a parent account if it belongs under one.
- 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?
Ten 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) and Audit (Activity Log):
- Organization — restaurant name, country, timezone, primary and accepted currencies, date and number format, document language, costing method, and deleting the workspace.
- Team — members and their roles, invitations, removing someone, transferring ownership, leaving.
- Design — theme, your own branding on Pro, 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.
- 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.
- 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.
How do I invite someone to my workspace?
Open the Team tab:
- Search by name, email or public ID.
- Send the invitation with a role: owner, manager or member.
- 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:
- HangPopok or Loyverse — paste the API token from your POS account.
- DailyBrew — paste the key from DailyBrew → Settings → API.
- 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:
- Follow the Telegram setup guide to get your chat ID.
- Copy the ID into the Chat ID field, or press Detect.
- Press Test Connection — a successful test sends a message to the chat.
- 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 Pro feature.
How do I set up VAT properly?
On the Tax & e-invoicing tab:
- Fill in your legal identity: registered legal name, legal form, address, billing email and phone, and tax regime.
- 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 Pro 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.
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.
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.219.0 · basilbook.com/manual