Books

Books is Sparko's bookkeeping product. It keeps your ledger, reads your bank statements, bills and receipts, and suggests how to post each one.

Books is its own product with its own plan, and it is in beta. Open it from the product switcher at the top of the sidebar. Until Sparko turns Books on for your company, the switcher lists it as coming soon. The Books sidebar has Home and Review queue, then Invoices, Bills, Banking and Expenses under Money, then Journal, Chart of accounts, Trial balance, Reports and Tax returns under Accounting.

Get started

Each legal entity gets its own ledger. Ledgers are available for Singapore (GST) and the United Arab Emirates (VAT).

A Books Admin sets up a ledger:

  1. Open Admin & Settings under Setup in the Books sidebar, then Books settings. Once the ledger exists, its everyday settings are on Ledger setup, next to it.
  2. Company and country. Pick the legal entity, the ledger name, the country, the currency and the month your financial year starts. These are fixed once the ledger exists.
  3. Chart of accounts. Books starts you with the accounts and tax codes for your country.
  4. Opening balances. Choose Upload a trial balance to bring your balances over from the software you are leaving, or Type opening balances to enter them with a lock date. To upload, export the trial balance as CSV from Xero, QuickBooks, Zoho Books or any other software (a code or name column plus debit and credit columns, or one signed balance column; up to 10 MB and 5,000 rows; Download the CSV template shows the shape) and pick the file. Books matches rows to your chart by account code, then by an identical name, and shows whether the file is Balanced with its debit and credit totals. Only the rows that still need an account are listed; the matched rows sit in a fold such as "12 rows matched to your chart" that you can open to check them. For each listed row, choose an existing account or, if you can manage the chart of accounts, Create as new account; a line under the row then asks for the account type (Books suggests one from the code) and a code when the file has none. The totals must balance and every row needs an account before Import and finish books them as opening balances dated the lock date.
  5. Click Finish setup.

If your company has more than one entity, the ledger picker at the top of each Books page switches between them.

Home

Home is where you start. At the top, Find in your books searches entries by memo, entry number or account. Under it, Upload documents, Reconcile and New journal entry go straight to those jobs.

Needs you is the list of what is left to finish the month. A bar shows Close % done, and each row has one action:

  • Review. AI suggestions waiting in the review queue, and items Books is unsure about.
  • Reconcile. Bank lines waiting to be matched.
  • Open. A supplier payment on hold for changed bank details.
  • Post or Retry. A payroll run from People that Books has not posted yet. A skipped run opens Fix and post instead.
  • Open drafts and Lock. Draft entries to post or delete, then locking the month.

Rows that are finished show Done. Once no drafts are left, the drafts row says how many entries were posted in the month. An entry you reversed and the reversal that cancels it are not counted there, so a month with many corrections does not look further along than it is. Your balances still include both. Books also tells you here when it posted bank lines overnight, with See them to open what it posted.

Below it are Money in and out, Cash today, Biggest costs and Latest entries. Customize layout lets you drag them into the order you like. A Books Admin sees Create a ledger for an entity on a payroll row when the entity has no ledger yet.

Invoices

Invoices lists the sales invoices you send to customers, with the number, customer, due date, total, what is left to pay and the status. The tabs are All, Draft, Open, Overdue, Paid and Void, each with a count. An open invoice moves from Open to Overdue the day after its due date, so the two tabs never count the same invoice. Under each due date the list says how many days are left or how many days late it is. Search by invoice number, customer or memo, click Filter to show one customer, only invoices or only credit notes, or what was sent or not sent yet, and click a column heading to sort. The period menu at the right end of the row narrows the list to invoices issued this month, this quarter, last quarter or this year. Under each number the list says how the invoice went out: Email, Not sent or Email failed. Credit notes appear in the same list with a negative total and the invoice they credit under the number.

AGED RECEIVABLES · 20 OCT 2026 NOT YET DUES$4,360.00 1–30 DAYSS$218.00 31–60 DAYSS$0.00 61–90 DAYSS$0.00 OVER 90 DAYSS$0.00 INV-000002 Globex Corp 8 Oct 2026 · 12 days late S$218.00 left Overdue

To create an invoice:

  1. Click New invoice.
  2. Pick the customer, or type a new name and click Add ... as a new customer.
  3. Set the Issue date and the Due date. The due date starts 30 days after the issue date.
  4. Add a line for each item: the income account, a description, the quantity, the price and the tax code. Choosing an account fills in its default tax code. The total updates as you type.
  5. Click Save draft to finish it later, or Save and approve.

Approving gives the invoice its number, like INV-000001, and posts it to the ledger: accounts receivable for the total, the income account for each line, and GST or VAT for the tax. A draft has no number and changes nothing in the ledger. An invoice dated on or before the lock date cannot be approved.

Click a row to open the invoice. It shows the issue date, the lines and totals, what has been paid and what is left, and the journal entry it posted, which opens in the Journal. From here:

  • Edit, Delete or Approve. On a draft.
  • Record payment. For money that came in another way, or before the statement is uploaded. Enter the amount, the date and the bank or cash account it was paid into. Books posts the payment and marks the invoice Paid once nothing is left. A bank line for the same money matches that payment later in Banking.
    • Add the payment proof. Drop a screenshot or PDF of the transfer (a remittance advice works too) and Books fills in the amount, date, account and reference. Check them and click Record payment. The file stays with the payment. Each filled field says where it came from: Read from the document, Suggested by AI, or Needs a look when Books had to guess, for example a proof that says "Today" or an account ending in digits none of your bank accounts has. Editing a field clears its label. A proof in another currency leaves the amount for you to fill in.
    • Reference. The bank's transaction id, PayNow or FAST reference, or cheque number. If another payment in this ledger already has the same reference, Books warns that the payment may already be recorded and links to it. Click Record anyway if it is a different payment.
    • Books reads a screenshot, a PDF and a scanned PDF of up to 2 pages. If it cannot read a scan, it says why: the scan has too many pages, it took too long, it could not be read, or reading scans is down on our side (add the file again later). Upload a screenshot instead, or fill in the fields yourself and still keep the file.
Record a payment on BILL-000011 Westbay Logistics · S$1,613.85 left to pay transfer-westbay-3nov.png Read in 6 s · WESTBAY LOGISTICS PTE LTD, SGD 1,613.85, 3 Nov 2026 Amount (SGD)Read from the document 1613.85 ReferenceRead from the document 7Q4K2M

In the invoice, each payment shows a small proof thumbnail (or an empty slot), its reference and View proof. Opening the proof is recorded in the audit log. A payment recorded without a proof shows Add proof, which adds the file or the reference later, even in a locked month, since no amount changes.

  • Send. Emails the invoice as a PDF. See Send an invoice.
  • Create credit note. Corrects an invoice after it was approved. See Credit notes.
  • PDF. Downloads the invoice as a PDF: the copy the customer received once it was sent, a preview before that. Every download is recorded in the audit log.
  • View statement. Next to the customer's name; opens their statement. See Customer statements.
  • Void. Reverses the invoice's journal entry on the date you pick. The number stays used and the invoice stays on the list as Void. An invoice with a payment recorded against it cannot be voided: reverse the payment in the Journal, or unmatch its bank line in Banking, first. An invoice a credit note names cannot be voided either: void or delete the credit note first. Reversing the invoice's own entry in the Journal is the same as voiding it, with the same rule.

Books keeps what is paid in step with the ledger. A bank line matched to the invoice, a payment recorded on it, and a reversal in the Journal all change Paid and the status straight away.

An invoice in another currency stays at the exchange rate it was approved at. A payment, recorded by hand or matched from a bank line, uses the rate for the day it was paid, and Books posts the difference to Foreign exchange gain or loss (4900), so the invoice is paid in full when the whole amount in its own currency is in. If there is no rate for the payment day, Books asks you to add one first. Bills work the same way.

Send an invoice

An approved invoice nobody has sent shows Not sent at the top of the invoice and leads with Send.

  1. Open the invoice and click Send.
  2. Send by shows Email with the PDF. InvoiceNow is listed as Not connected: sending over Peppol needs an InvoiceNow access point, which Books does not have yet.
  3. To starts with the customer's billing email. Change it if needed, and add up to three addresses under Also email a copy to. When you type a new address, tick Save ... as ...'s billing email to keep it for next time.
  4. Add a message, or leave it blank and Books writes a short note with the amount and the due date.
  5. Click Preview PDF to see exactly what goes out, then Send.

The email comes from your company "via Sparko" at Sparko's address; replies go to the reply-to address in your invoice settings. The PDF shows your legal name, address, UEN and GST registration number (titled Tax invoice for an SG ledger registered for GST), the customer's billing address, the lines with the tax per code, the totals and how to pay.

The Delivery section lists every email of the invoice with who sent it and when, and a status: Queued, Sent or Failed. If the email service is busy, Books tries again a few times on its own. When it gives up, or the address is refused, the delivery shows Failed with the reason, you get a notice, and Retry sends it again to the same addresses. Sending the same invoice twice is refused; use Send again to send a copy, which attaches the same PDF.

DELIVERY Emailed to [email protected]
3 Nov 2026, 10:42 · by Connie Hennelly
Sent

Send reminder appears on an overdue invoice that was already sent. It emails the same PDF with a payment reminder, and is refused within a day of the last email. Books Viewers see the delivery history with the addresses partly hidden.

Only Books Admins, Accountants and Super Admins can send. Sending makes no AI call.

Credit notes

A credit note corrects an approved or paid invoice without voiding it: a price that was too high, seats a customer never used, goods sent back.

  1. Open the invoice and click Create credit note.
  2. Every line of the invoice is listed at nothing credited. Enter the quantity to credit, or lower the price. Neither can go above the invoice, and credits on one invoice never add up to more than its total.
  3. Pick a Reason: Price adjustment, Returned or cancelled, Billing error, Discount after invoice, or Other with your own words. The reason is printed on the credit note.
  4. Leave Apply to INV-... now ticked to reduce what the customer owes on that invoice. The modal shows what the invoice will have left.
  5. Click Approve credit note, or Save draft to approve it later.

Approving numbers the credit note, like CN-000001, and posts the mirror of the invoice: it takes the income and the GST back and reduces accounts receivable. The GST F5 counts it in the period of the credit note's own date, even when the invoice sits in a locked month. The credit note's date must be after the lock date.

A credit note's status is Open credit while part of it is unused and Used once it is all applied or refunded. From the credit note:

  • Apply credit applies what is left to another open invoice of the same customer, in the same currency.
  • Undo next to an application takes it back. Undo is refused once the application sits in a locked month.
  • Record refund pays an unused credit back to the customer from a bank or cash account.
  • Void works like an invoice's, and is refused once any of the credit is applied or refunded.
  • Send emails the credit note as a PDF, with the invoice it credits and the reason.

Customer statements

A statement shows what a customer owed at the start of a period, every invoice, credit note, payment, refund and void in it with a running balance, and what they owe at the end. Open it from View statement in an invoice, or from Statement next to a customer in Aged receivables › By customer.

Pick the period at the top: this month, last month, this quarter, last quarter or this year. Under the table, the statement shows what is owed by age on the last day and any credit not yet used. Click a document number to open it. Export downloads the statement as a PDF or CSV, and Email statement sends the PDF to the customer's billing email. Amounts are in the customer's currency; a customer billed in more than one currency gets the statement in your ledger's currency.

Aged receivables

Click the stats button (the bar chart icon next to New invoice) to show what customers still owe on today's date, in five buckets by days past the due date: Not yet due, 1–30 days, 31–60 days, 61–90 days and Over 90 days. Amounts are in the ledger's currency. Click the stats button again to hide them. Click By customer for the same buckets per customer; click a customer to list everything they still owe, overdue invoices included; no status tab is selected while that list shows. Export downloads the list or the ageing as a CSV file.

Bills

Bills lists what you owe suppliers, with the same columns, tabs, search, Filter and sorting as Invoices. Its stats button shows Aged payables, and By supplier breaks it down per supplier.

Bills come from two places:

  • New bill. Enter a bill by hand, the same way as an invoice: the supplier, the dates, and a line per item with an expense or asset account and a purchase tax code. Approving numbers it, like BILL-000001, and posts it to accounts payable.
  • The review queue. When you approve a bill you uploaded under Bills and receipts, Books creates the bill record for you, already approved and numbered, with the due date it read from the document. It is on the Bills page with Download the file to see the original. If you send that item back to review, the bill becomes void.

Record payment on a bill asks which bank or cash account paid it, and takes a payment proof and a reference the same way as on an invoice. Void works as it does on an invoice.

Contractors hired through Sparko AI. When a contractor's hire runs, Books adds them as a supplier in the contracting entity's ledger, category Professional services, named after their business or, without one, after them. Each contractor gets their own supplier, even when two share a trading name. Enter their invoices as bills against that supplier. If the entity has no Books ledger, or the workspace has no Books, the hire says to pay invoices outside Sparko.

Banking

Banking matches what your bank says to what your books say. Bank lines come from statements you upload. Books does not connect to your bank directly.

Add a bank account

A Books Admin adds each account once.

  1. Open Banking and click Add account.
  2. Pick the bank: DBS, OCBC, UOB, Wise, Airwallex, Emirates NBD or Another bank.
  3. Give it a name, a currency and, if you like, the last 4 digits of the account number.
  4. Under Link to, choose the ledger account that holds this bank balance, or Create a new account.
  5. Click Add account.

Upload a statement

  1. Click Upload statement.
  2. Choose the account and the file. Books reads CSV, OFX, camt.053 and PDF statements, up to 10 MB.
  3. Click Upload.

Books reads the file and adds only the lines it does not have yet. The message after the upload says how many lines are new and how many were already there, and whether some lines got no suggestion. Uploading the same statement twice is refused, unless the first upload failed: then it is read again.

A PDF statement is read from its text first. When every line's balance follows from the one before, Books needs no AI for it. A scanned PDF statement is read only if it has up to 2 pages; otherwise Books says why it could not read it, and you upload the PDF, CSV or OFX file from your bank instead.

A row at the end of a CSV with an amount but no date is kept as a line marked No date. It may be a statement total, so Books never posts it on its own; when a later statement brings a dated line with the same amount and description, Books excludes the undated one.

Books checks the statement's opening and closing balances against its lines. A line from a PDF or an unfamiliar CSV that does not balance yet shows Read from a statement that does not balance yet, and Books never posts it on its own.

Match bank lines

Banking has three tabs: To match, Matched and Excluded. Pick the bank account from the list next to the search box.

Each line shows what the bank says on the left and what Books suggests on the right, with a confidence meter.

BANK SAYSBOOKS SUGGESTS 3 Oct · S$482.30 out GIRO SINGTEL BILL-1182 Exact amount and reference Bill Settles bill BILL-1182 from 1 Oct. 99% Exclude Match

What Books can suggest:

  • Invoice or Bill. The line pays an open invoice or bill of the same amount.
  • Transfer. Money moved between two of your own bank accounts.
  • People. Net pay or a statutory payment for a payroll run posted from People.
  • Rule. A posting rule you saved matches the line.
  • History. You posted this payee the same way before.
  • New. Books suggests a new entry, often from AI.
  • Existing entry. A journal entry already records this payment. An entry with the same reference is matched first: a payment recorded with the reference the bank line shows and the same amount, up to 30 days apart.

What you can do with a line:

  • Match, Transfer or Create. Accept the suggestion. A toast offers Undo.
  • Accept N matches. Accepts every suggestion at 90% confidence or above on this account at once.
  • Decide. When Books is unsure, it asks What is this? Pick one of its alternatives, or choose Something else and tell Books in plain words. Books then suggests an entry and asks you to Match it.
  • It pays a bill or It pays an invoice. Also under Decide, for a payment Books did not link to its bill or invoice. Choose it and click Next. The second step lists every bill still to pay for money out, or every invoice still to be paid for money in, overdue ones included and marked Overdue, soonest due first, with a search by number, supplier or customer, or memo. One in another currency, or with less left to pay than the line, cannot be picked, and the row says why in plain text (for example "Only SGD 735.21 left, the line is SGD 2,318.70"). Pick one and Books shows what the line settles and what stays open; click Match and the bill or invoice shows the payment. Back returns to the first step. One line settles one bill or invoice; a payment covering several goes through Something else.
  • Exclude. Leaves the line out, for example a personal charge. Restore brings it back to To match.
  • Unmatch. On the Matched tab. The line goes back to To match. If Books created the entry, it is reversed and the item goes back to the review queue.

The line under Banking at the top of the page is the reconciliation: the account, the Books balance, how much of this month is matched, and, when a statement is loaded and does not agree, how far off the statement Books is. Statement file on a line downloads the statement it came from.

On the Matched and Excluded tabs each line is one row: date, amount, payee, then the entry number (click it to open the entry) or the reason you excluded it. Unmatch and Restore sit at the end of the row.

To reverse an entry that is matched to a bank line, unmatch the line in Banking first.

Payments on hold

When a statement shows which account a payment went to, Books remembers each supplier's usual bank account. If a supplier you have paid at least 3 times is paid into a new account, Books holds the payment. The line reads Supplier changed bank details and cannot be matched or posted until someone confirms. The line carries a Bank changed badge; click Details under it to see which account the payment went to and which account earlier payments used. People who cannot confirm see an On hold badge instead of the button.

To release the hold:

  1. Click Confirm by phone.
  2. Call a contact you already know. Do not use a number from the bill.
  3. Under Who did you speak to?, enter their name and number from your records.
  4. Tick that they confirmed the new account.
  5. Click Confirm and match.

If they did not confirm it, click Not confirmed, report it. The payment stays on hold, and every Books Admin gets a notification.

Books stores only a masked account number, like ···8830. The full number is never kept.

Review queue

The review queue holds everything Books wants a person to check: bank lines it is not sure about, and bills and receipts it has read.

The queue has three tabs: To review, Posted and Rejected. Posted holds both what a person approved and what Books posted on its own. Items on hold come first, then the lowest confidence first. Search by supplier or amount, or click Filter to filter by source, confidence or tax code. The line under Review queue says which items wait here, for example "Items under 95% wait here".

Select an item to see a one-line reason under its name and the proposed journal. An item on hold shows an On hold badge and a Why it is on hold fold.

Figma · S$96.00 82% A design tool subscription, paid monthly. Proposed journal: 6120 Software subscriptions, 1000 Cash at bank Always post Figma to Software subscriptions Reject Edit Approve and next
  • Approve. Posts the item to the ledger. With more than one item it reads Approve and next.
  • Edit. Change the account on each line, then click Done editing and approve. The bank line itself cannot be changed.
  • Alternatives. Under One-click rules, pick another account Books offered. Approving then posts there instead.
  • Rules. Click a rule chip to save it. Books posts that payee the same way from now on.
  • Reject. Say why. Books learns from it. On the Rejected tab, Restore to review brings it back.
  • Send back to review. On the Posted tab. Books undoes the posting and queues the item again.
  • Approve N above 90%. Approves every item at 90% confidence or above at once.

When Books posts on its own

The line under Review queue shows your confidence threshold, or "Auto-post is off". For a Books Admin it is a link to Ledger setup, Auto-post, where the threshold changes:

  • Post on its own on or off, and the threshold, from 50% to 100%.
  • Review limit. Items above this amount always wait for a person. Leave it blank for no limit.

A new ledger starts at 95%. Even at or above the threshold, Books only posts on its own when the suggestion is backed by evidence: a rule you saved, your own history, an exact match, a transfer between your accounts or a payroll payment. A suggestion from AI alone always waits for you, and its confidence is never shown above 90%. Changed bank details, a locked month, and a statement that does not balance always wait for a person too.

Everything Books posts on its own is on the Posted tab, and every one can be sent back.

Bills and receipts

Upload a bill or a receipt and Books reads it and suggests the entry.

  1. In the Review queue, click Upload bill or receipt.
  2. Choose Bill (a supplier asks you to pay) or Receipt (already paid, by card or cash).
  3. Choose a PDF or a photo, up to 10 MB, and click Upload.

Books reads the file itself first: the supplier, the number, the dates, the payment terms, the lines, the tax, the total and the currency. It asks AI only for a field it could not read with confidence, and only that field. The item lists what Books read, and each field says where it came from: Read from the document, Suggested by AI, or Needs a look when you should check it.

The suggested account and tax code come from the supplier's last approved bills first: a second bill from the same supplier is posted the way you posted the last ones, with no AI. If you change the account when you approve, the next bill from that supplier follows your change. A new supplier is matched to an expense account you have posted to before whose name fits the bill, and Books asks AI only when that is not a clear match. The item says where the suggestion came from: From supplier history, Matched to your accounts, Suggested by AI, or Needs a look when the history is mixed or Books is not sure.

When Books has read it, the item is in the review queue. Approving a bill also adds it to the Bills page, see Bills. If Books read the file but could not suggest a posting, the item says why and offers Try again. Each try counts once against your allowance. If the file cannot be read, upload a clearer PDF or photo. A scanned PDF of up to 2 pages is read; for a longer scan, Books says why it stopped, and a photo of the page with the total works instead. Nothing posts until it is approved or meets your threshold. If this month's Books AI allowance is used up, Books keeps what it read itself and leaves the rest for you.

Journal

Journal lists every entry, with the tabs All, Draft, Posted and Reversed. Search by memo, entry number, reference or account, or click Filter to filter by source, poster, department, account or amount.

Posted by lists the people who posted entries in this ledger, then:

  • Books (AI), once Books has posted something on its own.
  • One option for each process that posted entries with no person behind them, named after it, for example Payroll (system) or Import (system). An entry with no process to name shows as System or import.
  • Not posted, for drafts.

The entry drawer names the poster the same way.

Chart of accounts

Chart of accounts lists every account in a table: Code, Name, Type, Default tax and balance. The tabs are All, Active and Archived. Click Filter to filter by type, default tax code, kind or balance, or search by code or name. Accounts Books posts to on its own carry a System tag.

Click a row to open the account in a drawer. It shows whether the account is active or archived, its type, currency and default tax, the Debits, Credits and Balance totals, and its Recent entries. Click Open in journal to see all of its entries. Books Admins and Accountants click Edit in the drawer to change the account, and Add account at the top to create one.

Trial balance

Trial balance lists every account with its debit and credit, grouped by type. Pick the As of date and what to Compare with: the previous month end or the previous quarter end. The columns are Debit, Credit, the balance at the comparison date and Movement since then. The Total row shows Balanced or Out of balance.

The line under the title says the ledger, the currency, the date and whether the month is open or locked. If drafts are left out, n drafts not included opens them in the journal. Click a row to see the account's entries in a drawer, with View account and Open in journal. Export gives you a CSV file or Print.

Reports

Reports has three statements, each read from posted entries only. Drafts are never counted.

  • Profit and loss. Revenue and expenses for a period, with the net profit or loss at the bottom. The period controls sit at the right of the row with the tabs: choose Month, Quarter or Year, then step with the arrows. The page opens on the last complete month, so on the 1st you see the month that just ended, not a nearly empty new one. Quarters follow your financial year; Year starts on this financial year to date. Custom opens a short window for any range up to today. Turn on Compare, just left of the period controls, to add the period of the same length just before it and a Change column; it is off when you open the page.

  • Balance sheet. Assets, liabilities and equity at a month end, compared with the month end before it, or with the previous financial year end when Compare is on. It opens on the last month end; the arrows step a month at a time, and Custom picks any date up to today. Income and expense accounts keep running until you close a financial year. A closed year's earnings sit on the Retained earnings row; whatever is not closed yet shows as two equity lines, Earnings before this financial year (zero once every earlier year is closed) and Earnings this financial year. Either way Total liabilities and equity equals Total assets and the footer says Balanced. The profit and loss leaves closing entries out, so a closed year still shows its full revenue and expenses.

  • Cash flow. The cash that came in and went out over a period, with the same period controls and comparison as the profit and loss. Cash means your bank accounts, the default Cash at bank account and any asset account whose code starts with 10, such as petty cash; the line under the table lists them. Each payment or receipt is shown against the account on the other side of the entry, in one of three groups:

    • Operating activities. Revenue, expenses, payables, salaries and tax, and receivables, prepayments and inventory.
    • Investing activities. Equipment, deposits and other assets.
    • Financing activities. Share capital and other equity, director loans and intercompany loans.

    Moving money between two of your cash accounts is left out. When one payment covers several accounts, for example equipment and a supplier, it is split between them by their amounts. The footer shows Opening cash the day before the period, the Net change in cash and Closing cash, with Reconciles when opening cash plus the change equals closing cash.

The line under the title says the ledger, the currency, the period or date, and whether that month is open or locked. Export gives you a CSV file or Print.

Year end

Ledger setup, Year end lists every financial year from your first entry, newest first, with its net profit and whether it is Open, Ready to close or Closed. Click a year to open it. The panel shows its net profit, says whether it can close and why not (for example that it has not ended or that the books are locked past its last day), explains what closing or reopening does, and holds the button:

  • Close year. Books posts one closing entry on the last day of the financial year. It brings every income and expense account to zero and moves the difference into Retained earnings, then locks the books through that day, like locking a month. An earlier year you never closed is swept into the same entry.
  • Reopen year. Only the latest closed year can reopen. Books reverses the closing entry and moves the lock date back to the day before that year starts, so it can take entries again. Close it again when you are done. A closed year's panel links to its closing entry in the Journal.

Closing and reopening need both the lock and the posting permission, which Books Admins have. Both are recorded in the audit log.

Tax returns

Tax returns fills in the boxes of your return for a filing period: the GST F5 for a Singapore ledger or the VAT 201 for a UAE ledger. Books sums every posted entry whose lines carry a tax code, so the figures are only as complete as your tax coding. Pick the Filing period at the right of the control row: the list follows your financial year and your filing frequency, and opens on the latest period that has ended.

Each row is one box of the return, with its number, description and amount in the ledger's currency; a UAE return also shows the VAT beside each box. The boxes are grouped the way the form groups them: Supplies, Purchases, Tax and Other information on the GST F5, and sales, expenses and net VAT on the VAT 201. A box the form uses as a subtotal, such as box 4 (total supplies), closes its group in bold, and the net amount to pay or claim (box 8 on the GST F5, box 14 on the VAT 201) is the total row at the bottom. A fold under the table, such as "3 notes on these figures", says which tax codes are left out of the return (out-of-scope and no-tax codes) and how much each left out, and how a reverse charge is counted; click it to open it. A missing registration number is said above the fold, with a link to add it. If no posted amount falls in a box in the period, the page says Nothing to report and shows the notes already open, so amounts left out on unmapped codes are never hidden.

Export gives you a CSV file or Print. Books computes the boxes for you to copy into your own filing; it does not file with IRAS or the FTA, and it does not connect to them.

Set the registration number and the filing frequency in Ledger setup › Tax, which holds just those two fields: the GST registration number or TRN, and Monthly or Quarterly. A Books Admin changes them; everyone with the ledger can read the return.

Payroll from People

When a payroll run is finalized in People, Books posts it to the ledger of each entity on the run. You do not need to do anything. The finalize message says "Posting to Books"; if Books could not be reached, it says so, Books retries within a few minutes, and you can retry now from Books Home.

  • Salaries, bonuses and employer contributions post as costs, split by department exactly as the run has them.
  • Net pay, employee deductions and statutory contributions, such as CPF in Singapore or pension in the UAE, post as liabilities.
  • Only totals reach the ledger. A department with one person on the run shows that person's pay as its total, so give Books roles only to people who may see payroll by department. To hide small departments, open Advanced at the bottom of Ledger setup, Payroll posting and set Smallest department shown: departments with fewer people roll into "Other departments".
  • The entry is in the Journal, dated the last day of the pay period, with a memo like "September 2026 payroll from People".

Books does not post a run when:

  • the entity has no ledger. Books Home shows how many people the run leaves out next to the run, with a link to create a ledger for that entity; once it exists, Books posts their part within a few minutes,
  • the month is already locked,
  • there is no exchange rate for the run's currency on its last day, or
  • a pay component has no account to post to,
  • a line's pay components do not add up to its gross pay, or
  • Books refused the entry (an archived account, say). Home shows why, with Retry.

When the salary payment shows up on your bank statement, Banking suggests it with the People badge.

Which accounts payroll posts to

Ledger setup, Payroll posting lists every pay component in a table with four columns: Component, Default account, Departments and this month's amount. A component with no account shows a Not mapped badge. Pick its account from the list in the row. The Departments column says One line for components that post as a single line, All use default, or how many overrides the component has.

Click a row to open its drawer. Under By department, switch Inherit off for a department to send its share to a different account. Click Save. Post skipped runs posts every run that waited for a mapping, once the components with money on them are mapped.

When a run was skipped because a component has no account, Books Home shows "{Month} payroll was not posted". Click it to open Fix and post: it lists only the components that blocked the run, suggests an account where it can, shows what will post, and Map and post saves the accounts and posts the run in one step.

Expense claims from People

When People approves an employee's expense claim, Books posts it to the ledger of the entity that pays them. If that entity has no ledger, Books uses the company ledger. You do not need to do anything. Expenses itself, where employees claim and approvers decide, is in Compensation: Expenses.

  • On approval, Books posts one entry per claim, dated the day it was approved, with a memo like "Expense claim: Client visit, Penang". Each line is debited to its category's account for the amount the approver approved, and the tax goes to input tax where the category has Tax is recoverable. The credit is Employee claims payable (2150), the money you owe the employee. A claim approved for less than was claimed posts the lower amount.
  • When payroll pays it, the run's entry debits Employee claims payable for the reimbursement, shown as Expense reimbursements in Ledger setup, Payroll posting, so 2150 comes back to zero for the claim. Reimbursements are not pay: they are not in gross pay, and the cost already posted when the claim was approved.
  • When it is paid by hand with Mark paid in People, the payment clears 2150 against the bank or cash account picked in Paid from. That field shows when you can see the ledger in Books. Without an account, the approval entry stays posted and the payment waits (see below).
  • A claim in another currency is credited to 2150 at each line date's exchange rate, and paid at the payout date's rate (by hand) or the run's last-day rate (on payroll). The payment clears 2150 for exactly what the approval credited and posts the exchange difference on payment to Foreign exchange gain or loss (4900): a credit when the claim cost less to pay than it was booked at, a debit when it cost more. A claim in the ledger's own currency adds no such line.

Receipts never post twice

When an employee attaches a receipt to a claim that Books already holds in the Review queue, approving the claim replaces the queue item: the item is marked superseded with the note "Posted from expense claim {title}". If a Books user already booked that receipt, Books does not post the claim and asks you to send that item back first.

The other way round, uploading a receipt in the Review queue that an employee already put on a claim is refused with "Already claimed by {name}". Once every claim using the file is rejected or cancelled, it can be uploaded again.

When Books does not post a claim

Books leaves a claim unposted, and records why, when:

  • the month is already locked,
  • there is no exchange rate for the claim's currency on a line's date,
  • the ledger has no Employee claims payable account, or an account or tax code a category uses is not in the ledger,
  • a manual payment has no bank or cash account to come from, or
  • Books refused the entry (an archived account, say, a foreign-currency payment on a ledger with no Foreign exchange gain or loss account, or a foreign-currency payment whose approval entry is no longer live in the ledger).

Once the cause is fixed, the claim posts again on a retry. The approval entry never posts twice. A posted claim shows Posted to Books in its history in People.

The Expenses page

Expenses in the Books sidebar lists the ledger's approved, scheduled and paid claims with their posting status. The tabs are All, Needs attention, Posted and Pending, and you can search by claim. Open a claim to see its entry or why it was skipped. Books Admins and Accountants click Post on a pending claim, or Retry on a skipped or failed one. A hand-paid claim asks which bank or cash account paid it.

AI suggestions and your monthly allowance

Books uses AI to read bank statements in a format it does not know, to fill in what it could not read itself on a PDF statement, a bill or a receipt, and to suggest a posting for a bank line nothing else recognised. AI picks an account from your chart. Books works out every amount, the bank line and the tax split itself.

Each thing you ask of AI counts once against your allowance: one statement upload, one bill or receipt, or one note asking Books again, however many lines it covers and even if AI could not suggest anything. Matches Books finds without AI (invoices, bills, transfers, payroll, rules and history) never count, and nor do approving, sending back or unmatching.

Statements, bills, receipts and payment proofs are read without AI first. Reading counts as an AI action only when Books has to ask AI for a field it could not read itself, and the same file never counts twice in a month. A bill or receipt shares that one action with its posting suggestion.

Plan AI actions a month
Core 200 per entity
Growth Fair use
Business and Custom Unlimited

The allowance is pooled across your entities and resets on the 1st of each month. A Books trial has no limit.

When the allowance runs out, Banking and the review queue keep working. Books stops suggesting with AI until next month, and you match or post those lines by hand. Books still reads statements, bills and receipts by itself; only the fields it could not read wait for you, and CSV files in a layout Books does not know wait for next month. OFX, camt.053, the CSV exports of DBS, OCBC, UOB, Wise and Airwallex, and any CSV with plain date, description and amount columns are read without AI.

Invoice settings

A Books Admin sets what invoices show in Ledger setup, Invoices: the Legal name on invoices, the address replies go to (Replies go to), and How to pay (a bank account or PayNow UEN). Advanced holds the UEN, the default payment terms, the address and the default email message. Books Viewers and Accountants can see these settings.

Roles

Role What they can do
Books Admin Everything: set up ledgers and invoice settings, add bank accounts, change the confidence threshold, lock months, close and reopen financial years, post, review, send invoices and statements, and confirm or report changed bank details
Accountant Upload statements, bills and receipts, match, review and post, edit the chart of accounts, confirm or report changed bank details, and send invoices, credit notes, reminders and statements
Books Viewer See everything, including payroll totals by department and the delivery history (addresses partly hidden), and download uploaded files and invoice PDFs, but change or send nothing

Only Books Admins and Accountants (and Super Admins) can confirm or report changed supplier bank details. Admins assign Books roles like any other role, see Roles and permissions.

Uploaded files and how long Books keeps them

Bank statements, bills, receipts and payment proofs you upload are stored under your company's own folder, encrypted, and never shared by link. Payment proofs follow the same retention as bills and receipts, counted from the day they were uploaded. The PDF of an invoice, credit note or statement Books emailed is kept the same way, counted from the day it was sent. When a proof's file is deleted, the payment keeps its reference and says the file was deleted after the retention period. Anyone with Books Viewer access or more can download a file from the line or item it belongs to. Every download is recorded in the audit log with who downloaded it and when.

Books keeps each file:

  1. While its period is open. A file stays as long as the month it covers is not locked.
  2. For a set number of years after the lock. Once the lock date passes the end of the statement period (or the day a bill or receipt was uploaded), Books keeps the file for the ledger's retention period. The default is 7 years. A Books Admin changes it in Ledger setup, General, from 5 to 30 years.

After that, the nightly retention run deletes the file. The records stay: statement lines, journal entries, and what Books read from a bill or receipt are kept. Downloading a deleted file says it was deleted under the retention rule.

Keep uploaded files Years after the period is locked 7 years

Why seven years

  • Singapore. The Income Tax Act 1947 (section 67) requires a company to keep its business records, including bank statements and supporting documents, for at least 5 years.
  • United Arab Emirates. The Corporate Tax law (Federal Decree-Law No. 47 of 2022, Article 56) requires records to be kept for 7 years after the end of the tax period they relate to.

Seven years covers both. A Books Admin can change the period for a ledger to anything from 5 to 30 years under Books settings, in Keep uploaded files. Check with your accountant before shortening it.

Still need help? Reach us at [email protected].

← Back to Help Center