ByteMind Ltd
ByteBook Training Handbook
Learn bookkeeping, GST and audit evidence on a simulated New Zealand business
First edition · 1.0.0 · reference set built 2026-09-22
ByteMind Ltd
Learn bookkeeping, GST and audit evidence on a simulated New Zealand business
First edition · 1.0.0 · reference set built 2026-09-22
Start here
A bookkeeping program that keeps your books on your own computer, and a way to learn on a business that cannot be hurt.
ByteBook is a bookkeeping program for New Zealand businesses. It keeps the whole set of books in one file on the computer it runs on. It sends invoices, records bills and expenses, imports a bank statement and codes every line, works out the GST return, and produces the reports an accountant or an auditor asks for.
It also does something most bookkeeping programs do not. Every entry is sealed with a fingerprint when it is written, and the record can never be quietly changed: a mistake is voided, which posts the mirror image of the entry and leaves both in the books. Anyone can then re-run the checks and see for themselves that the books still add up. That is what makes ByteBook useful for training auditors as well as bookkeepers.
Most bookkeeping training happens on a live client's file, or on a spreadsheet invented for the lesson. Neither is ideal. A live file punishes a wrong click with a real consequence; a spreadsheet does not behave like a set of books. It has no GST return, no bank reconciliation and no audit trail, so the parts that are actually hard to learn are missing.
ByteBook ships with twelve simulated New Zealand businesses. Each one sets itself up, trades for months, banks its money, files its GST and then has its books taken apart again from the raw rows. A hairdresser who is not registered for GST. A builder taking stage payments. A café. An online store issuing refunds. A landlord with exempt rent. A horticulture contractor on a six-monthly GST cycle. A pre-revenue software company. A dental practice with security switched on. You can run any of them, as many times as you like, on books that are thrown away afterwards. Nothing you do in training can damage a client's records, because there is no client.
This handbook is the course that goes with it. It covers the daily work — sending an invoice, coding a bank line, filing GST — and then the audit side, where the same books are checked the way an auditor would check them. Each chapter names the accounting or auditing standard behind the step, and each reference can be followed to the publisher's own document.
Being clear about this saves trouble later.
Start here
Install ByteBook, answer four questions, and give yourself a role you can hand over.
On a Mac, open the ByteBook disk image and drag ByteBook into Applications. That is the whole install. The program carries everything it needs, so it works on a computer with nothing else on it and with the internet switched off.
The first time you open it on a Mac that has not seen it before, macOS may say the developer cannot be verified. Right-click the application, choose Open, and confirm once. It will start normally from then on.
If you would rather run ByteBook from its source, the project's own readme explains that route. Everything in this handbook works the same way in either.
ByteBook asks for four things the first time it opens, and then leaves you alone:
Nothing here is permanent. Every answer can be changed later under Settings. Learning to find and correct a setting is part of the exercise.
By default ByteBook opens without a password, which is right for a computer only one person uses. For training it is better to switch security on, because the roles are part of what you are here to learn:
| Role | May do |
|---|---|
| Owner | Everything, including settings, backups and who can sign in |
| General manager | Run the books: invoices, bills, bank, GST, reports |
| Accountant | Read everything and prepare the tax numbers, change nothing |
| Auditor | Read the books and the assurance work, change nothing |
Turn on Settings → Security, set your own password first, then add the other roles. ByteBook requires your password before anyone else's access can be switched on, so a login cannot be handed out that locks the owner out.
The distinction between reading and changing is the point. An auditor who cannot change the books is not a technical detail; it is the arrangement that makes the audit worth anything.
The whole bookkeeping record is one file. On the desktop application it lives in ~/Library/Application Support/ByteBook/, next to a backups folder that keeps the last thirty copies. On a source checkout it is data/bytebook.db.
That single file is worth understanding before you start. Backing up a set of books is copying one file. Moving them to another computer is copying one file. Reading them without ByteBook is opening one file. It also means the fingerprint chain described in chapter 12 has something to protect: the record is a file on a disk, and the chain is what tells you whether anyone has edited it.
Before you change anything, look at the six screens you will work in. In ByteBook's sidebar they are grouped by what they are for:
Everyday — Overview, Invoices, Bills to pay, Bank & coding, Transactions, Timesheets. This is where the business happens.
Understand — Reports, GST, Assistant, Audit trail, Assurance, The chain. This is where you read what the business did.
Set up — Customers & suppliers, Chart of accounts, Recurring, Settings, Help. This is where you configure it.
Start here
Each simulation sets up a different New Zealand business, trades it, banks it and files it — then checks the books from the raw rows.
The exercises in this handbook run on simulated businesses. Each one is a real shape of New Zealand business, with the tax settings and the awkward transactions that go with it.
| Simulation | Business | What makes it worth practising |
|---|---|---|
hairdresser | Bright Cuts | Not registered for GST, so no GST appears anywhere on the documents |
consultant | Kōwhai Advisory | Payments-basis GST, monthly filing, one invoice paid late |
builder | Tasman Builders Ltd | Stage payments against a single contract, so one job produces several invoices |
cafe | Harbour Cafe & Co | High volume of small sales and a large daily banking pattern |
onlinestore | Loom & Light | Refunds and returns, which reverse revenue after the fact |
landlord | Marine Parade Rentals | Exempt rent beside taxable supplies, so the GST return needs care |
horticulture | Whirinaki Contracting | Six-monthly GST, so a period spans a lot of trading |
startup | Foundry Labs | No GST registration and no revenue, so the books are mostly costs |
dental | Marine Parade Dental | Security switched on, so you work with roles and passwords |
plumber | Ngata Plumbing Ltd | A busy bank statement with many lines to code |
wholesaler | Pacific Trading Ltd | Inventory bought and sold, with a six-monthly return |
rounding | Precision Engineering Ltd | Amounts chosen to break the arithmetic that rounds the wrong way |
Ask for the list at any time:
python scripts/simulate.py --list
Running one is not a script that types transactions into the screen. It drives the real application. It sets the business up, sends its invoices, records its bills, imports a bank statement, codes the lines, files a GST period and takes a backup — through the same pages you will use.
Then it goes back over what it did, reading the database directly, and checks:
Every round draws different prices, dates, GST bases and filing frequencies from that round's seed, so two runs are never quite the same. Run one business in detail:
python scripts/simulate.py consultant
Or run all twelve, ten times over:
python scripts/simulate.py --rounds 10
A rule that is easy to state is often hard to apply. Inventory is measured at the lower of cost and net realisable value NZ IAS 2.9 is one sentence. Knowing when a selling price has fallen far enough that the book value has to come down is a judgement, and judgement needs practice on something that behaves like a real business.
The simulations give you a business where the awkward cases are present on purpose:
If you are new to bookkeeping, start with the consultant. It is a small business with ordinary transactions and one late payment.
If you are here for the audit side, start with the plumber. A busy bank statement produces more coding decisions, more opportunities to make a mistake, and a more interesting reconciliation.
If you are teaching, use the rounding business last. It is built from the amounts that break naive rounding, and it is the one that shows why money has to be handled as decimal cents rather than as a floating-point number.
Doing the books
Raise an invoice, decide when it reaches the ledger, and see why a draft is not yet revenue.
An invoice does two separate things, and keeping them separate prevents most of the confusion in this chapter.
You can create an invoice as a draft, which does the first job and not the second. A draft is a document you can still change. Nothing in your reports moves until you post it. That distinction is the single most useful thing to understand about the Invoices screen.
This is where the accounting standard earns its place, and it is worth reading slowly.
Revenue is recognised when the business satisfies a performance obligation by transferring a promised good or service to the customer NZ IFRS 15.31. Not when the invoice is raised, not when the money arrives: when the promise is kept.
For most small businesses, those three dates are close enough together that the distinction does not bite. It bites in these cases:
ByteBook will not stop you from posting an invoice on the wrong date. It records the date you enter, and the reports follow it. Choosing the right date is the job.
Posting an invoice creates one balanced entry. Three things happen at once:
| Side | What it means |
|---|---|
| Money owed to you goes up | An asset. The customer owes the business |
| Revenue goes up | Income, recorded excluding GST |
| GST collected goes up | A liability you owe Inland Revenue, not income |
The last line is the one people get wrong by hand. GST collected on a sale is never income. It is money held on behalf of Inland Revenue until the return is filed, which is why ByteBook keeps it in its own account and reports it in box 9 of the return.
Every posted invoice appears under Transactions with its own entry, and the entry shows both sides. Open one and read it. Learning to read the entry behind the document is the skill this screen exists to teach, and an auditor who cannot read the entry behind a document is stuck at the first question.
Doing the books
Record the money as it arrives, keep the aged debtors list honest, and know what a credit balance means.
When money arrives, open the invoice and use the payment box. ByteBook applies the amount against the invoice, marks it paid or part-paid, and posts an entry that moves money from owed to you into the bank.
Part payments work the same way. Record what actually arrived. If a customer short-pays because of a dispute, the balance stays on the invoice, and the debtors report keeps showing it, which is how the question gets asked.
Reports → Outstanding lists what customers owe, grouped by how long it has been owed. It is not a statement about whether the money will arrive. It is a statement about what has been invoiced and not yet paid, and it is the starting point for two different jobs:
This is where a bookkeeping exercise turns into an accounting judgement. Trade receivables are measured at an amount that reflects the cash the business expects to collect, and for trade receivables the loss allowance is measured at lifetime expected credit losses NZ IFRS 9.5.5.15. In plain words: for money owed by customers, you start from the assumption that some of it will not be paid, and you estimate how much.
The usual approach in a small business is a provision matrix. Group the debtors by age, apply a percentage to each group based on experience, and add the results:
| Age | Typical treatment |
|---|---|
| Current | No allowance, or a very small one |
| 1–30 days past due | A small percentage |
| 31–90 days past due | A larger percentage |
| Over 90 days | A large percentage, or the whole amount |
| Identified as bad | The whole amount |
Two things make this a professional judgement rather than arithmetic. The percentages have to come from somewhere — the business's own history, or industry experience — and a specific debt known to be bad is written off in full whatever the age table says.
An auditor does not take the debtors list at face value. The main procedure is external confirmation: asking the customer, directly, whether they agree that they owe the amount ISA (NZ) 505.10. Where the answer raises doubt about its reliability, the auditor has to obtain further evidence to resolve it.
In the simulation, the debtors procedure reports:
The procedure reports what it found. Whether a 90-day debt will be paid is a question for a person, and ByteBook does not pretend otherwise.
Doing the books
Record what the business owes and spends, and keep the piece of paper that proves it was a business cost.
Money leaving a business arrives in two shapes, and ByteBook keeps them apart:
Both end up in the same place: an expense in the profit and loss report, and a GST credit if the purchase carried GST.
For a bookkeeping record to be worth anything, each figure has to be traceable to the document behind it. Inland Revenue's rule is practical: a tax invoice for more than $50 has to show the supplier's GST number, among other things. ByteBook's documents procedure checks for that and reports the documents that have something missing.
An auditor's version of the same question is in the auditing standard on audit evidence: the auditor designs and performs procedures that are appropriate in the circumstances for obtaining sufficient appropriate audit evidence ISA (NZ) 500.6, and considers the relevance and reliability of the information used as evidence ISA (NZ) 500.7. A supplier's own tax invoice is stronger evidence than a note in a diary.
An expense belongs in the period the business consumed whatever it paid for, not the period the money left the bank. Two common cases:
If a figure is found to be wrong after the financial statements were issued, material prior period errors are corrected retrospectively NZ IAS 8.42. If the business changed an estimate — how long a machine will last, for instance — the effect is recognised prospectively, in this period and later ones NZ IAS 8.36. An error and a change in estimate are different things, and they are accounted for differently, which is why the distinction is worth learning early.
The expenses procedure in ByteBook is deliberately blunt. It reports the three patterns where an expense account is most often wrong:
A small company's transactions with its owners and their other businesses are related party transactions, and they get special attention because they are where the interests of the business and the interests of an individual can diverge. An auditor is required to inquire of management about the identity of the entity's related parties, including changes from the prior period, and about the nature of the relationships and transactions ISA (NZ) 550.13.
In practice: if the business paid money to a person or a company connected with the owner, say so, and keep the paperwork.
Doing the books
Import a CSV, code each line, reconcile against the statement, and understand why this screen catches the most mistakes.
The bank statement is where the books meet the outside world. It is also where most small-business bookkeeping errors live, because coding a bank line is a judgement made quickly, hundreds of times.
Get this screen right and the rest follows: the GST return falls out of the coded transactions, the reports are sums of real rows, and the reconciliation tells you whether you are finished. Get it wrong and every later figure is wrong in a way that is hard to see.
Download a CSV from your internet banking, then drag it onto Bank & coding and say which account it came from. ByteBook reads the columns, works out which is the date, the description and the amount, and skips anything that has already been imported, so importing the same file twice does not double the books.
If your bank's export looks unusual, the page offers a CSV template showing the shape ByteBook expects.
Every imported line is a question: what was this for? You answer by choosing an account. ByteBook guesses from the description, and you confirm or correct it.
Three answers are possible:
The screen tells you how many lines are waiting. Until that number is zero, the books are incomplete, and a report run now is a report on part of the period.
There is a second half to the screen, and it is the one that turns coding into assurance. Enter the closing balance and the date from your bank statement, and ByteBook compares its own bank balance with the bank's figure.
Two agreements matter.
The bank agrees. The balance ByteBook holds for the bank account equals the balance on the statement at the statement's date. If it does not, either something has not been recorded, or something has been recorded twice, or the date is wrong. This is bank reconciliation, and it is procedure A03 in chapter 13.
Every line has been dealt with. The number waiting to be coded is zero, and nothing has been left in a half-finished state. A reconciliation that matches on the balance but has twenty unceded lines is not a reconciliation.
An auditor treats a bank confirmation as strong evidence, because the answer comes from outside the business. The auditing standard on external confirmations deals with the auditor's use of a confirmation request, and requires further evidence where the reliability of a response is in doubt ISA (NZ) 505.10. The statement you import is the same kind of evidence: it was produced by the bank, not by the business.
That is why the reconciliation is worth doing even when the balance already looks right. It is not arithmetic housekeeping. It is the test that ties the books to something outside them.
Doing the books
Work out a GST return from the ledger, check the boxes against your transactions, and save a snapshot before you file.
Open GST and ByteBook shows the return for the period you choose, built from the transactions in your books. Nothing is typed in twice and nothing is estimated: every box is a sum of coded entries, and every figure can be traced back to the transactions that produced it.
The boxes you will meet:
| Box | What it is |
|---|---|
| 5 | Total sales and income, including GST |
| 6 | Zero-rated supplies |
| 9 | GST collected on sales |
| 11 | Total purchases and expenses, including GST |
| 13 | GST credit on purchases |
| 20 | GST to pay |
Box 5 includes income that carries no GST, such as interest, because the return asks for total sales and income. Box 9 is the GST itself. Keeping those two apart is the point of the box structure, and mixing them up is the most common GST error in small-business records.
The basis you chose when you set the business up decides which transactions fall inside a period:
Most small businesses can use the payments basis; larger ones cannot. The choice changes the figures in every period, and it is the reason two businesses with identical invoices can have different returns.
ByteBook's footer on the GST page states which basis the return was worked out on. Read it before you read the numbers; a figure without its basis is a figure you cannot check.
Not every sale is taxable. The landlord simulation earns exempt rent beside taxable supplies. Exempt income appears in box 5 as income, contributes nothing to box 9, and does not entitle the business to claim GST on costs that relate to it.
This is where a bookkeeping exercise becomes a tax question, and it is worth being plain about the limit: ByteBook adds up what you coded. Whether rent, a particular financial service or a going concern is taxable, zero-rated or exempt is a question about the specific supply, and Inland Revenue's own guidance is the authority for it. Getting the treatment wrong is easy to do and expensive to fix.
GST is not income tax, and the two should never be mixed in your thinking. GST is a tax on the supply of goods and services, collected by the business on Inland Revenue's behalf. Income tax is a tax on profit. A GST return says nothing about whether the business made money.
For income tax, ByteBook prepares the working papers: Tax forms builds the IR3, IR10 and IR4 figures from the same ledger. Current tax is measured at the amount expected to be paid to the taxation authorities, using the tax rates and laws that have been enacted or substantively enacted by the reporting date NZ IAS 12.46.
Doing the books
Six reports, one question each — and how to check that a report is telling you the truth.
ByteBook's reports are deliberately narrow. Each one answers a single question, and knowing which question saves a lot of time.
| Report | The question it answers |
|---|---|
| Profit and loss | Did the business make money in this period? |
| Balance sheet | What does it own and owe, as at this date? |
| Trial balance | Do the accounts add up, and does the ledger balance? |
| General ledger | What happened in this account, entry by entry? |
| Cash flow | Where did the money come from and go? |
| Outstanding | Who owes us, and who do we owe? |
Income less expenses for a period. Income is recorded excluding GST, because GST collected was never the business's money.
One choice matters more than it looks. Expenses can be analysed by nature — what was bought, such as wages, rent, power — or by function — what the cost was for, such as cost of sales and administration. The standard requires one or the other, whichever provides information that is reliable and more relevant NZ IAS 1.99. ByteBook's chart of accounts is arranged by nature, which suits a small business and is easy to check.
Assets, liabilities and equity at a date, and the arithmetic that has to hold:
assets − liabilities = equity
ByteBook computes that difference and states it on the page. If it is not zero, the page says so rather than hiding it. A balance sheet that does not balance is not a presentation problem; something is wrong in the ledger, and the figures are not usable until it is found.
The statement of financial position has to include certain line items where they are relevant, such as property, plant and equipment, inventories, trade and other receivables, cash, and trade and other payables NZ IAS 1.54. ByteBook groups its accounts to present them, and the general ledger is where you go when you want to see what is inside a line.
The trial balance is every account with its balance, and the check that total debits equal total credits. It is the fastest way to find that something is wrong.
The general ledger is the detail. Pick an account and see every entry that touched it, in order. When a report figure looks wrong, this is where the answer is: not in the report, which is a sum, but in the rows that were summed.
Profit and cash are different things, and the statement of cash flows is where the difference shows. It reports cash flows for the period classified as operating, investing and financing activities NZ IAS 7.10, and it is normally prepared using either the direct method, showing gross cash receipts and payments, or the indirect method, which starts from profit and adjusts for the movements that were not cash NZ IAS 7.18.
Transactions that do not involve cash at all are excluded from the statement and disclosed separately NZ IAS 7.43. Buying a vehicle with a loan is a real transaction and no cash changes hands, which is why the statement has to say so rather than show nothing.
Every report in ByteBook is a sum of the entries in the ledger. The final assurance procedure, A14, goes further: it recalculates the reports from the raw rows and compares the answer with what the page says.
This check exists because there are two different ways for a number to be wrong. The books can be wrong — a transaction coded to the wrong account — and the report can be wrong, through a defect in the program that builds it. The first is a bookkeeping problem; the second is a reporting problem, and no amount of careful coding will fix it.
A figure you cannot reproduce from the rows underneath it is not yet evidence.
Doing the books
The routine that turns a month of coding into a set of books somebody else can rely on.
Closing a period is not an accounting event managers attend to. It is a short list of checks, done in order, that ends with a set of books you would be willing to hand to someone else.
Inventories are measured at the lower of cost and net realisable value NZ IAS 2.9. Cost includes the costs of purchase, the costs of conversion and the other costs incurred in bringing the inventories to their present location and condition NZ IAS 2.10, and it is assigned using first-in, first-out or a weighted average NZ IAS 2.25.
Net realisable value is the estimated selling price less the estimated costs of completion and sale. Where cost is not recoverable — damaged stock, or stock whose selling price has fallen — the write-down is recognised as an expense in the period it happens NZ IAS 2.28.
The wholesaler simulation trades inventory, so this is where to practise it.
A contract is, or contains, a lease if it conveys the right to control the use of an identified asset for a period of time in exchange for consideration NZ IFRS 16.9. At the commencement date the lessee recognises a right-of-use asset and a lease liability NZ IFRS 16.22.
In plain words: a long lease is recognised in the balance sheet, not simply expensed as rent. Short-term and low-value leases have practical exemptions, which is why the rent line in a small business is a mix of both treatments.
Work does not stop on balance date. The standard divides the time afterwards into two kinds of event, and the treatment differs:
An auditor performs procedures designed to obtain sufficient appropriate audit evidence about events between the date of the financial statements and the date of the auditor's report ISA (NZ) 560.6. After the report is signed, the auditor has no obligation to keep looking — but if a fact comes to light before the statements are issued, the standard says what to do about it ISA (NZ) 560.10.
One question sits underneath all of this. Are these financial statements prepared on the basis that the business will keep trading?
The objective of the auditor is to obtain sufficient appropriate audit evidence about, and conclude on, the appropriateness of management's use of the going concern basis of accounting ISA (NZ) 570.9. Where management has not yet made an assessment, the auditor asks them to make one ISA (NZ) 570.16.
For the person doing the books, the practical version is this: if the business cannot pay its debts as they fall due, the accounts look different, and the time to raise it is during the closing routine rather than after the statements are issued.
The audit and assurance side
Why the correction is more valuable than the tidy-up, and how a void keeps both the mistake and the fix in the record.
You post an invoice to the wrong customer. Or an amount is typed as $1,290 instead of $1,209. The tidy thing is to fix it: change the number, and the books look as though the mistake never happened.
That is exactly the habit this chapter is here to break.
Nothing in ByteBook is deleted and nothing is edited in place. A mistake is voided. Voiding marks the original entry as void and posts the mirror image of it: the same accounts, the same amounts, the opposite direction. Both stay in the books, and every report sums only the entries that are not drafts, so the pair cancels out. The figures end up where they should have been, and the record shows both what happened and what was done about it.
Three consequences follow, and each is worth knowing:
An auditor's working papers have to do a specific job: they must allow another auditor, who has never seen the engagement, to understand what was done. The auditing standard puts it plainly. The auditor shall prepare audit documentation that is sufficient to enable an experienced auditor, having no previous connection with the audit, to understand the nature, timing and extent of the procedures performed, the results, and the significant matters and judgements ISA (NZ) 230.8.
Now read that against the two habits:
| Habit | What the next auditor can see |
|---|---|
| Edit the entry | A number that has changed, and no record of what it was |
| Void and re-post | The original, the correction, the dates, and the reason |
The second one is a working paper. The first one is a gap, and an unexplained gap in a set of books is worse than a visible mistake.
The same discipline applies to the person doing the books. Documentation has to be prepared on a timely basis ISA (NZ) 230.7 — which in practice means correcting an entry when you notice it, not at the end of the year when you have forgotten why.
Open the document or the transaction, choose Void, and give the reason. Both are required, and the reason is the part that matters six months later.
The entry and its mirror image remain, the reports stop counting either of them in the totals, and the audit trail records what happened.
Before you correct anything, ask what a new person would need to see in order to agree with your corrected figure. If the answer involves knowing something that is not written down, write it down. That is the whole of it.
The audit and assurance side
Every entry carries a fingerprint that includes the one before it. Change an old number and the chain says so.
A bookkeeping record is a claim about the past, and the claim is only useful if you can tell whether it has been altered since it was written.
ByteBook seals every entry with a SHA-256 fingerprint: a short string of characters computed from the entry's own contents — its date, its accounts, its amounts, its description. Change any of that and the fingerprint changes. There is no way to adjust an entry and keep the same fingerprint.
Then it does the second, more useful thing. Each entry's fingerprint is computed including the fingerprint of the entry before it. This is a chain, and it has a property that a list of separate fingerprints does not: altering an entry anywhere in the middle breaks every fingerprint after it. To alter an old entry and leave no trace, you would have to recompute every entry that follows, in order, in secret. The books are a file on a disk, so that is not impossible — but it is no longer a quiet edit.
Open Audit trail. ByteBook recomputes the whole chain from the database, including the voided entries whose fingerprints do not change when they are voided, and reports:
If a link is broken, the page says so, and the meaning is specific: something wrote to the database outside ByteBook. That is not a bookkeeping error. It is a statement about the record itself, and it is worth more than a page of clean ticks.
The chain page draws the same thing. Every entry is a block; every fingerprint is a line between two. You can drag to move, scroll to zoom, click a block to read the entry behind it, and click a link to see the two hashes it joins. There is a filter and a search box, and a button that verifies the whole chain link by link.
Two details are worth noticing, because they are the difference between a picture and evidence:
The chain is not a replacement for an auditor's procedures, and ByteBook does not claim it is. It answers one narrow question extremely well: has the record changed since it was written?
That question sits underneath several others. When an auditor relies on the books, they are relying on the information in them being relevant and reliable ISA (NZ) 500.7. A chain of fingerprints is evidence about reliability that is produced by the system itself, on every entry, rather than sampled.
Procedure A01 in chapter 13 reports it as part of the routine: entries verified, broken links, and the fingerprint of the whole ledger. Procedure A12 then asks the next question: does a period that was sealed still match the ledger as it stands now?
The audit and assurance side
An audit programme you can run on the real rows — what each procedure asks, and what its exceptions mean.
Open Assurance. Fourteen procedures run on every visit, against the actual entries in the books. Each one has a reference, a title, an objective, and a result. Each one offers a working paper you can download as a CSV.
The page says something important about itself. These procedures report what they found and leave the conclusion to you. It does not say "the records are wrong". It says "three documents are missing a GST number". The difference between those two statements is the difference between a procedure and a conclusion, and it is the thing this chapter is really about.
| Ref | Procedure | The objective, in the program's own words |
|---|---|---|
| A01 | Ledger integrity | Every entry still carries the fingerprint it was sealed with, and each one includes the fingerprint of the entry before it |
| A02 | Double entry | Every transaction moves money from somewhere to somewhere else: the two sides of each entry must be equal |
| A03 | Bank reconciliation | The bank balance in the ledger agrees with the balance on the statement, and every imported line has been dealt with |
| A04 | Debtors | Money owed to the business is real, correctly aged, and not overpaid |
| A05 | Creditors | Money the business owes is recorded, and no bill is paid twice |
| A06 | GST reconciliation | The GST in the return is the GST in the ledger, and the control accounts agree with what has been filed |
| A07 | Journal entries | Entries that did not come from an invoice, a bill or the bank are where adjustments hide |
| A08 | Duplicate payments | The same amount to the same supplier twice within a week is usually a mistake, and sometimes a fraud |
| A09 | Cut-off | Entries dated in the future, or inside a period that has already been packed and closed, are the two ways a figure moves after the fact |
| A10 | Documents and compliance | A tax invoice over $50 has to show the supplier's GST number, and every document should say what it is for |
| A11 | Expenses | Round numbers, large one-off costs and costs that look personal are the usual places an expense account is wrong |
| A12 | Sealed packages | Every pack that has been sealed still matches the ledger as it stands now |
| A13 | Access and housekeeping | Who can sign in, when the books were last backed up, and whether anything failed quietly |
| A14 | Reproduce the numbers | The reports are recalculated from the raw rows and compared with what the report says |
Each procedure ends in one of three states, and the distinction is deliberate.
The page sorts exceptions to the top, then information, then clean results, so the first thing you read is the thing that needs a decision.
A07, journal entries. A journal is an entry that came from nowhere: not an invoice, not a bill, not the bank. Most journals are perfectly ordinary — depreciation, an accrual, a correction. But because they are not tied to a document, they are also the natural place to put a figure that has no support. An auditor's response is not suspicion, it is a question: what is the paperwork behind this one, and who posted it? The procedure lists every manual entry with who posted it and when, so the question can be asked precisely.
A08, duplicate payments. The same amount to the same supplier twice inside a week is usually a mistake and occasionally a fraud. Either way it is worth the two minutes it takes to check against the supplier's statement.
A09, cut-off. Two patterns, and both matter. An entry dated in the future has been posted into a period that has not happened. An entry dated inside a period that was already sealed and closed has changed a figure after the fact. Neither is automatically wrong; both need an explanation before anyone relies on the period.
A14, reproduce the numbers. This is the check that catches a reporting bug rather than a bookkeeping error. The reports are recalculated from the raw rows and compared with what the page says. If they disagree, the report is wrong even though the ledger is right, and the two possibilities lead to completely different work.
Two of the fourteen procedures are aimed at fraud rather than error, and the reason is in the auditing standards. When the auditor identifies and assesses the risks of material misstatement due to fraud, there is a presumption that there are risks of fraud in revenue recognition, and the auditor has to evaluate which types of revenue, revenue transactions or assertions give rise to those risks ISA (NZ) 240.27.
The second is about who is best placed to do it. Management is in a unique position to perpetrate fraud, because of the ability to manipulate accounting records and override controls that otherwise appear to be working ISA (NZ) 240.32. That is why journal entries and unusual transactions get attention even when everything else looks well controlled.
The quality of every procedure on this page depends on one habit, and it has a name. When applying the conceptual framework in the ethics standard, an assurance practitioner is required to have an enquiring mind, exercise professional judgement, and apply the reasonable and informed third party test PES 1 R120.5.
An enquiring mind is not suspicion. It is the willingness to ask what the evidence actually supports, rather than what you expect it to show. The exception list on this page is where that habit starts: something is different from what you expected, and the next step is to find out why.
The audit and assurance side
Close a period so it cannot change quietly, hand over a file an auditor can follow, and know what stays outside the program.
Fingerprints protect entries one at a time. A sealed pack protects a whole period at once.
When you seal a period, ByteBook takes its entries, its figures, the fingerprint of the whole ledger, and the fingerprint of the pack before it, and hashes them together into one value. That value is the pack's fingerprint. Verifying a pack recomputes it from the ledger as it stands now.
The consequence is sharp and easy to demonstrate:
Linking each pack to the one before it means the periods form a chain of their own, one level up from the entries.
Every procedure offers a working paper as a CSV. That is the format an auditor actually wants: a table you can open, check, and attach to a file, with the columns named and the figures traceable.
Two things make a working paper useful, and both are about the reader rather than the writer:
This is ISA 230.8 applied to a small business: documentation sufficient for an experienced auditor with no previous connection to the engagement to understand what was done, what the results were, and what was concluded.
There is a finishing step, and it has a deadline. The auditor assembles the documentation into an audit file and completes the administrative process of assembling the final audit file on a timely basis after the date of the auditor's report ISA (NZ) 230.14. Where there is a legal or regulatory deadline to complete the assembly, the standard's own period applies.
In ByteBook the equivalent is short: run the procedures, download the working papers, seal the period, take a backup, and put the pack's fingerprint in the file. The fingerprint is one line, and it is what lets a reader verify the period years later without re-reading everything.
ByteBook can prove that a period has not changed, that the two sides of every entry are equal, that the bank agrees, and that the figures on the reports can be reproduced from the rows. Those are arithmetic and record-integrity claims, and a computer is good at them.
It cannot judge whether a debt will be collected, whether a provision is adequate, whether a related party transaction was on arm's length terms, or whether a business is a going concern. Those are judgements, and they come with a person's name attached.
Knowing which side of that line you are standing on is most of what makes an auditor useful.
The audit and assurance side
Four roles, one rule about who can hand out access, and why the read-only login is the point of the feature.
| Role | May do |
|---|---|
| Owner | Everything, including settings, backups and who can sign in |
| General manager | Run the books: invoices, bills, bank, GST, reports |
| Accountant | Read everything and prepare the tax numbers; change nothing |
| Auditor | Read the books and the assurance work; no settings, change nothing |
Two of those roles cannot change a number, and that is the feature.
Turning on another person's access requires the owner's own password first. That single rule prevents the obvious failure: nobody can hand out a login that locks the owner out of their own books.
It also means every role that exists was created deliberately, by someone who holds the highest level of access. If a question arises later about who let whom in, there is a record and a person.
The ethics standard states the requirement plainly. An assurance practitioner shall comply with the principle of objectivity, which requires exercising judgement without being compromised by bias, a conflict of interest, or undue influence PES 1 R112.1. An assurance practitioner shall also comply with the principle of integrity, which requires being straightforward and honest in all professional and business relationships PES 1 R111.1, and with professional competence and due care PES 1 R113.1.
An auditor who holds the ability to change the records they are auditing is in a position where objectivity cannot be demonstrated, however honest they are. The read-only role removes the question rather than asking anyone to be trusted about it.
The same logic runs through the whole quality management system in a firm. The objective of that system is to provide the firm with reasonable assurance that the firm and its personnel fulfil their responsibilities and perform engagements in accordance with professional standards PES 3.14. Access control is a small, concrete piece of the same idea.
ByteBook's A13 procedure reports who can sign in, when the books were last backed up, and whether anything failed quietly while people were working. It is the least glamorous procedure of the fourteen and one of the most useful, because the questions it asks are exactly the ones an engagement team asks about any system they are relying on: who has access, is the record protected, and would anybody have noticed if something went wrong.
When you work through a simulation that is meant to be audited:
Step five is the exercise that makes the rest of the design make sense.
The standards behind the work
What the letters and numbers mean, where each document comes from, and how to follow one to its source.
Everything this handbook refers to comes from one of two families.
Accounting standards say how a transaction is recognised, measured and disclosed, and what the financial statements must show. In New Zealand they are the NZ IFRS standards, issued by the External Reporting Board. Each one carries an international standard from the International Accounting Standards Board with New Zealand additions, which is why they are called NZ IAS 1, NZ IFRS 15, and so on.
Auditing and assurance standards say how the work of checking those financial statements is planned, performed, documented and reported. In New Zealand they are the ISAs (NZ), issued within the External Reporting Board, alongside the PES standards for ethics, quality management and engagement quality reviews. Each ISA (NZ) carries an international standard from the IAASB with New Zealand additions.
The identifier is the shorthand a working paper uses. Take NZ IAS 1.15:
| Part | Means |
|---|---|
NZ IAS 1 | The New Zealand standard: NZ IAS 1, Presentation of Financial Statements |
.15 | Paragraph 15 of that standard |
And ISA (NZ) 230.8:
| Part | Means |
|---|---|
ISA (NZ) 230 | The New Zealand auditing standard: ISA (NZ) 230, Audit Documentation |
.8 | Paragraph 8 |
The naming carries history you will meet constantly:
(Revised) in an auditing standard's name means it has been rewritten. ISA (NZ) 315 changed substantially in 2019, and ISA (NZ) 570 was revised in 2024. Citing the superseded version is a real and common error.A reference to "the standard on going concern" is not checkable. A reference to paragraph 16 of ISA (NZ) 570 is: it says one specific thing, and a reader can find it in a minute.
For the audit side this matters even more than for accounting. An auditor's working paper cites paragraphs, because the whole point of the paper is that somebody else can re-perform the reasoning.
Every standard here has a date from which it applies, usually expressed as periods beginning on or after a certain date. Two standards on the same subject can both exist while the older one still applies to an earlier period.
The library records, for each standard, the effective date as the publisher states it, plus the date the document was issued and the date it was compiled to. When you quote a standard, check all three. A version compiled in one year may carry the same number as a version compiled a decade later and say something different.
Every citation in this handbook can be followed. Each one gives you:
The last item is what makes the reference checkable rather than merely pointed at. If the publisher later issues a new version, the fingerprint in this handbook will no longer match the document at that address — which is exactly the signal that says go and read the new one.
Quoting a paragraph is not applying it. A paragraph tells you what the standard requires; it does not tell you whether your contract is a lease, whether your revenue is recognised over time or at a point in time, or whether a debt will be collected. Those are judgements made on facts, and the standard is the frame you make them in.
This handbook tries to keep the two apart on every page: the fact, then the judgement, then the reference that constrains the judgement.
The standards behind the work
The standards behind the numbers, the question each one answers, and the screen in ByteBook where it shows up.
This chapter is a map, not a substitute. Each entry gives the question the standard answers, the requirements you will meet in these exercises, and where to see it happen.
The question: what must a set of financial statements contain, and what does it mean to present them fairly?
In ByteBook: Reports → Balance sheet and Profit and loss. The balance sheet states the difference between assets and liabilities plus equity rather than hiding it.
The question: where did the money come from, and where did it go?
In ByteBook: Reports → Cash flow.
The question: what happens when a number you reported last year turns out to have been wrong?
In ByteBook: the void and correct routine in chapter 11. A correction that reverses a wrong figure is visible in the audit trail, which is what makes the treatment checkable.
The question: the balance date has passed and something has happened. Does it change the accounts?
In ByteBook: the closing routine in chapter 10, and the cut-off procedure A09.
The question: how much of the money customers owe will actually be paid?
In ByteBook: Reports → Outstanding, and the debtors procedure A04.
The question: when has a business earned its revenue?
In ByteBook: Invoices, and the builder's stage payments.
The question: is this rental an expense, or an asset and a liability?
In ByteBook: the recurring rent entries, and the balance sheet that follows from them.
The question: when is a purchase an expense, and when is it something the business owns?
In ByteBook: the expenses procedure A11, which reports the large one-off costs where this question has to be asked.
The question: what is the stock worth on the balance sheet?
In ByteBook: the wholesaler simulation.
The question: when do you put a cost in the accounts for something that has not happened yet?
In ByteBook: the closing routine in chapter 10.
Two more you will meet as soon as a business trades across a border or has a tax bill.
In ByteBook: the tax forms, which build the IR3, IR10 and IR4 working papers from the same ledger.
The framework for smaller entities. New Zealand has reporting tiers, set by XRB A1 and XRB A2. A business reporting under a reduced disclosure regime applies the same recognition and measurement rules with fewer disclosures, so the standard you reach for is the same and the disclosure requirements are not.
Estimates that need a specialist. NZ IAS 36 impairment, NZ IAS 19 employee benefits and NZ IFRS 17 insurance contracts are all in the library and all outside the scope of a small-business simulation. They are named here so that you know what you have not read.
The standards behind the work
From objectives and evidence to the opinion — the ISAs (NZ) behind the fourteen procedures.
The overall objectives of the auditor are to obtain reasonable assurance about whether the financial statements as a whole are free from material misstatement, whether due to fraud or error, and then to report in accordance with the auditor's findings ISA (NZ) 200.11.
Everything below is machinery in service of that sentence. Notice what it promises and what it does not: reasonable assurance, not certainty, and about matters that are material, not about everything.
ISA (NZ) 300 — Planning. In establishing the overall audit strategy, the auditor considers the characteristics of the engagement that define its scope and the reporting objectives, among other things ISA (NZ) 300.8.
ISA (NZ) 315 — Risk assessment. The auditor has to understand the entity's information system relevant to the preparation of the financial statements ISA (NZ) 315.25, and then identify the risks of material misstatement and determine whether they exist at the financial statement level or at the assertion level for classes of transactions, account balances and disclosures ISA (NZ) 315.28.
That last distinction is the one to carry away. "The receivables balance may be overstated" is an assertion-level risk. "The finance team is new and the systems changed" is a risk at the financial statement level.
ISA (NZ) 320 — Materiality. The auditor determines materiality for the financial statements as a whole ISA (NZ) 320.10, and performance materiality — a lower figure, set to reduce to an acceptably low level the probability that uncorrected and undetected misstatements exceed materiality ISA (NZ) 320.11.
ISA (NZ) 540 — Estimates and ISA (NZ) 550 — Related parties each need their own thinking. For related parties, the auditor inquires of management about the identity of the entity's related parties, including changes from the prior period, and about the nature of the relationships and transactions ISA (NZ) 550.13.
ISA (NZ) 500 — Audit evidence. The auditor designs and performs audit procedures that are appropriate in the circumstances for the purpose of obtaining sufficient appropriate audit evidence ISA (NZ) 500.6, and considers the relevance and reliability of the information to be used as evidence ISA (NZ) 500.7. Sufficient is about quantity; appropriate is about relevance and reliability.
ISA (NZ) 505 — External confirmations. Where the auditor identifies factors giving rise to doubts about the reliability of a response to a confirmation request, the auditor obtains further audit evidence to resolve those doubts ISA (NZ) 505.10.
ISA (NZ) 520 — Analytical procedures. Where substantive analytical procedures are used, the standard sets out what that involves, including determining the suitability of the data and evaluating whether the expectation is precise enough ISA (NZ) 520.5.
ISA (NZ) 330 — Responding to assessed risks. Further audit procedures are designed and performed so that their nature, timing and extent are responsive to the assessed risks at the assertion level ISA (NZ) 330.6, and irrespective of those risks, substantive procedures are performed for each material class of transactions, account balance and disclosure ISA (NZ) 330.18.
ISA (NZ) 450 — Misstatements. The auditor communicates, on a timely basis, all misstatements accumulated during the audit to the appropriate level of management, and requests that they be corrected ISA (NZ) 450.8.
ISA (NZ) 230 — Audit documentation. Documentation is prepared on a timely basis ISA (NZ) 230.7 and must be sufficient to enable an experienced auditor with no previous connection to the audit to understand the procedures performed and their results, the evidence obtained, and the significant matters, conclusions and judgements ISA (NZ) 230.8. The final audit file is assembled on a timely basis after the date of the auditor's report ISA (NZ) 230.14.
This is the standard behind ByteBook's working papers and sealed packs. If you remember one auditing standard from this handbook, remember this one: it is the standard that makes every other procedure checkable.
ISA (NZ) 260 — Those charged with governance. The auditor communicates with the people responsible for overseeing the entity, which in a small company usually means the board or the owners.
ISA (NZ) 265 — Deficiencies in internal control. Where deficiencies have been identified, the auditor determines whether, individually or in combination, they constitute significant deficiencies ISA (NZ) 265.8. Notice the framing: the deficiency is reported, and the determination of significance is a judgement to be made and recorded.
ISA (NZ) 240 — Fraud. There is a presumption that there are risks of fraud in revenue recognition, and the auditor evaluates which types of revenue, revenue transactions or assertions give rise to those risks ISA (NZ) 240.27. Management is in a unique position to perpetrate fraud because of the ability to manipulate accounting records and override controls that otherwise appear to be operating effectively ISA (NZ) 240.32.
ISA (NZ) 560 — Subsequent events. The auditor performs procedures designed to obtain sufficient appropriate audit evidence that all events occurring between the date of the financial statements and the date of the auditor's report that require adjustment or disclosure have been identified ISA (NZ) 560.6.
ISA (NZ) 570 — Going concern. The objectives include obtaining sufficient appropriate audit evidence about, and concluding on, the appropriateness of management's use of the going concern basis of accounting ISA (NZ) 570.9. Where management has not yet performed an assessment, the auditor requests that they make one ISA (NZ) 570.16.
ISA (NZ) 580 — Written representations. The auditor requests a written representation that management has fulfilled its responsibility for the preparation of the financial statements in accordance with the applicable financial reporting framework ISA (NZ) 580.10. A representation letter does not replace procedures; it is a formal record of who is responsible for what.
ISA (NZ) 700 — The opinion. The auditor expresses an unmodified opinion when concluding that the financial statements are prepared, in all material respects, in accordance with the applicable financial reporting framework ISA (NZ) 700 (Revised).16. Under a fair presentation framework, the opinion uses one of the phrases the standard specifies ISA (NZ) 700 (Revised).25.
ISA (NZ) 701 — Key audit matters. Where key audit matters are communicated, the description of each one includes a reference to the related disclosures and addresses why the matter required significant auditor attention ISA (NZ) 701.13.
ISA (NZ) 705 — Modifications. The shape of the report follows the nature of the problem:
| Situation | Opinion |
|---|---|
| Misstatements are material but not pervasive | Qualified ISA (NZ) 705.7 |
| Misstatements are material and pervasive | Adverse ISA (NZ) 705.8 |
| Unable to obtain sufficient appropriate evidence, and the possible effects are material and pervasive | Disclaimer ISA (NZ) 705.9 |
Read those three together and the logic becomes clear. A qualified opinion says the statements are broadly right with a specific exception. An adverse opinion says they are not right. A disclaimer says the auditor could not find out. They are different statements about different problems, and choosing the wrong one is a serious error.
PES 1 — International Code of Ethics for Assurance Practitioners (including International Independence Standards) (New Zealand). The five fundamental principles, and the framework for applying them:
| Principle | Requirement |
|---|---|
| Integrity | Be straightforward and honest in all professional and business relationships PES 1 R111.1 |
| Objectivity | Exercise professional or business judgement without being compromised by bias, conflict of interest or undue influence PES 1 R112.1 |
| Professional competence and due care | Attain and maintain professional knowledge and skill at the level required for a competent service PES 1 R113.1 |
| Confidentiality | Respect the confidentiality of information acquired in professional and business relationships PES 1 R114.1 |
| Professional behaviour | Comply with relevant laws and regulations, and behave consistently with the profession's responsibility to act in the public interest PES 1 R115.1 |
The conceptual framework requires an enquiring mind, professional judgement, and the reasonable and informed third party test PES 1 R120.5.
PES 3 — Quality management. New Zealand's quality management standard carries the IAASB's ISQM 1 with New Zealand additions, and it is the one a New Zealand firm applies. The objective of the firm's system of quality management is to provide reasonable assurance that the firm and its personnel fulfil their responsibilities in accordance with professional standards and applicable legal and regulatory requirements, and conduct engagements accordingly PES 3.14.
Do not memorise it. Use it the way a working paper uses it: when a procedure raises a question, find the standard that answers the question, read the paragraph, and write down what you concluded and why.
The standards behind the work
One table that takes you from the thing you are looking at to the document that governs it.
| ByteBook screen | What you are doing | Accounting standard | Auditing standard |
|---|---|---|---|
| Invoices | Recognising revenue, raising a tax invoice | NZ IFRS 15.31 | — |
| Bills to pay | Recording a liability and an expense | NZ IAS 1.54 | ISA (NZ) 500.6 |
| Bank & coding | Coding transactions and reconciling | — | ISA (NZ) 505.10 |
| Reports → Profit and loss | Reporting performance | NZ IAS 1.99 | — |
| Reports → Balance sheet | Reporting position | NZ IAS 1.15, NZ IAS 1.54 | — |
| Reports → Cash flow | Classifying cash movements | NZ IAS 7.10, NZ IAS 7.18 | — |
| Reports → Outstanding | Aged debtors and creditors | NZ IFRS 9.5.5.15 | ISA (NZ) 505.10 |
| GST | Building the return from the ledger | — | ISA (NZ) 520.5 |
| Tax forms | Current tax working papers | NZ IAS 12.46 | — |
| Transactions | Reading the entry behind a document | NZ IAS 8.42 | ISA (NZ) 230.8 |
| Audit trail | Proving the record has not changed | — | ISA (NZ) 500.7 |
| Assurance → A07 | Manual entries | — | ISA (NZ) 240.32 |
| Assurance → A09 | Cut-off | NZ IAS 10.8 | ISA (NZ) 560.6 |
| Assurance → A11 | Large and round expenses | NZ IAS 16.15 | ISA (NZ) 500.7 |
| Assurance → A14 | Reproducing the reports | — | ISA (NZ) 500.6 |
| Sealed packs | Closing and protecting a period | — | ISA (NZ) 230.14 |
| Setting up roles | Who may change the books | — | PES 1 R112.1 |
Three ways, depending on what you are doing.
When you are learning a screen. Read the row before you start. Knowing that the bank reconciliation is tied to the standard on external confirmations changes how you read the page: you stop looking for a balance that agrees and start looking for evidence that comes from outside the business.
When something looks wrong. Find the row, open the standard, and read the paragraph. The standard usually tells you what the correct treatment is and, just as often, what it is not.
When you are writing a working paper. Cite the paragraph. Not the standard's name, not the general topic: the paragraph. A reference that cannot be checked is not a reference.
Suppose the bank statement shows $1,150 paid to a supplier, and you code it to expenses when it should have been a payment against a bill.
That five-step shape — what is wrong, which accounting question, which procedure, which auditing standard, how to fix it — is the shape of a working paper. It works for a mis-coded bank line and for a misstated provision alike.
The standards behind the work
Where every reference came from, how it is checked, and what to do when a standard changes.
Any document that quotes standards is out of date the moment a standard changes, and it is most dangerous when it is confidently out of date. A handbook that teaches last year's rule with this year's certainty is worse than no handbook.
So accuracy here is not a promise. It is a build step.
Every reference in this handbook points to a document that was downloaded from its publisher, stored, and fingerprinted:
| Publisher | What they publish | What we hold |
|---|---|---|
| External Reporting Board (XRB) | New Zealand accounting standards (NZ IFRS, which carry the IASB's text) and auditing standards (ISAs (NZ), PES and the framework) | The current version of each standard, with its effective date and the address of the publisher's page |
| IAASB, published by IFAC | The Handbook of International Quality Management, Auditing, Review, Other Assurance, and Related Services Pronouncements, 2025 edition | Volumes 1, 4 and 5, which carry the ISAs, the ISQMs, the assurance and review standards, and the framework |
Both publishers make these documents available free of charge. Neither permits their standards to be republished in full, which is why this handbook quotes short passages with attribution and links to the source rather than reproducing the text.
Three checks run over the handbook before it is published.
Every reference must exist. A citation naming a standard that is not in the library stops the build. There is no path where a typo becomes a published reference to a standard that does not exist.
Every quoted paragraph must be found in the publisher's own text. The build reads the extracted text of the document, finds the paragraph by its number, and compares it with the words quoted here. Where the text cannot be matched, the build fails and the reference is corrected or removed rather than published.
Every document must still have the fingerprint we recorded. Running the library's verification fetches each document again and compares its SHA-256 with the one in the manifest. A difference means the publisher has issued a new version, and the handbook is re-checked against it before anything is republished.
That third check is the one that keeps this honest over time. It cannot be argued with: either the bytes match or they do not.
Every citation in this handbook shows the identifier, the publisher, the address of the source document, and the fingerprint of the copy that was read. Follow the link, find the paragraph, and read it. If this handbook has misread a standard, that is how it will be found, and finding it is the point of the design.
Standards change in three ways, and each is handled differently.
This edition states the effective date of each standard as the publisher gave it at the time of writing. Effective dates are the thing most likely to have moved. Before you rely on a reference for a live engagement, open the publisher's page from the citation and read the current version. That takes a minute and it is the only way to be certain.
Practise
One session per business, each with a task, the skills it builds, and a marking note.
Each session takes about an hour. The shape is the same every time:
Marking is where the learning happens, so do not skip step four.
Run: python scripts/simulate.py hairdresser
Task: Send three invoices, record two payments, and produce the profit and loss report for the quarter.
Marking note: The business is not registered for GST, so no GST appears on any document, no GST return is expected, and the invoice totals equal the revenue. A candidate who records a GST figure has applied last week's habit instead of reading the settings. Look for evidence that they checked the registration status before invoicing.
Run: python scripts/simulate.py consultant
Task: Work out the GST return for the quarter, then explain why the figure changes if you switch the period to include the following month.
Marking note: The business files on the payments basis, so a March invoice paid in May belongs in the later period. The correct answer explains that the basis moves the transaction, not the invoice date. The most common wrong answer treats the invoice date as decisive.
Run: python scripts/simulate.py builder
Task: Explain, for one contract, why more than one invoice is raised, and what each invoice recognises.
Marking note: Revenue is recognised as each performance obligation is satisfied NZ IFRS 15.31. Each stage invoice recognises the work transferred in that stage, not the whole contract at the first invoice and not on receipt of money. Look for the phrase as the work is done, and for a candidate who can say what would change if the whole contract were invoiced up front.
Run: python scripts/simulate.py cafe
Task: Code a month of bank lines, then confirm the bank balance agrees with the statement.
Marking note: The test is whether the candidate finishes. A busy statement loses accuracy, and the reconciliation exposes it: a balance that agrees while five lines are still uncoded is not a finished reconciliation. Mark down any candidate who clears the waiting list by marking business lines as not business without a reason.
Run: python scripts/simulate.py onlinestore
Task: Record a refund against an earlier sale and explain what it does to the period's revenue and GST.
Marking note: The refund reverses the sale it corrects. Revenue and GST both come back down, and the period it lands in is the period it happens. A candidate who treats a refund as a new negative sale in a later period has the arithmetic right and the period wrong — and the GST reconciliation procedure will show it.
Run: python scripts/simulate.py landlord
Task: Complete the GST return and explain why box 5 is larger than the taxable supplies suggest.
Marking note: Exempt rent is income and is not taxable. Box 5 includes it; box 9 does not. The strongest answers note that GST on costs relating to exempt supplies is not claimable in the same way, which is the trap in this exercise and the reason the business is in the set.
Run: python scripts/simulate.py horticulture
Task: File a six-monthly return and reconcile it to the ledger.
Marking note: A longer period contains more transactions and more chances for a misfiled one. The mark is for the reconciliation, not the total: the candidate should be able to show that the GST in the return is the GST in the ledger, transaction by transaction, rather than asserting that the totals match.
Run: python scripts/simulate.py startup
Task: Produce a balance sheet and a profit and loss report for a business with no income, and explain what each one says.
Marking note: This is the session that separates people who can read reports from people who can produce them. With no revenue, the profit and loss report is all costs, and the balance sheet is where the money went. A strong answer explains that a growing loss with a falling bank balance and rising creditors describes a business being funded by someone, and names who.
Run: python scripts/simulate.py dental
Task: Set up three roles, do a piece of bookkeeping as the general manager, and run the assurance procedures as the auditor.
Marking note: The two things to look for are that the owner's password was required before any other access was granted, and that the candidate noticed they could not change anything as the auditor. That second observation is the learning objective of the session.
Run: python scripts/simulate.py plumber
Task: Reconcile the bank, then run the assurance procedures and report every exception with an explanation of its cause.
Marking note: Mark the explanations, not the exceptions. "Four bank lines are not coded" is an observation. "Four lines are not coded because the description is too short to choose an account, and here is what I checked" is a finding. The distinction between those two is the whole of working-paper quality.
Run: python scripts/simulate.py wholesaler
Task: Record a stock purchase and a sale, and explain how the stock is valued at the end of the period.
Marking note: Inventories are measured at the lower of cost and net realisable value NZ IAS 2.9, and cost is assigned using first-in, first-out or a weighted average NZ IAS 2.25. The strongest answers say what they would do if the selling price fell: the write-down is recognised in the period it happens NZ IAS 2.28.
Run: python scripts/simulate.py rounding
Task: Take a set of amounts built to break naive rounding, post them, and prove that nothing is stored off the cent.
Marking note: This is the session that rewards patience. Money is handled as decimal cents, rounded half up, so a figure on a screen is the figure in the file. A candidate who finds a discrepancy should be able to say whether it came from a rounding rule, a GST split, or a miscoding — and should be able to show which entry caused it by reading the general ledger rather than the report.
| Check | What a pass looks like |
|---|---|
| The numbers | The reports are reproduced from the rows by procedure A14 |
| The record | No broken links in the chain; sealed periods verify |
| The reasoning | Every conclusion names the evidence behind it |
| The references | Every standard cited by paragraph, not by name |
| The honesty | Exceptions are reported with their cause, not hidden |
Practise
Short answers, chapter by chapter, so a learner can mark their own work.
~/Library/Application Support/ByteBook/ on the desktop application, beside a backups folder holding the last thirty copies.hairdresser has no GST. landlord has exempt rent beside taxable supplies.Practise
The words this handbook uses, in plain language.
Accrual basis. Recording income and expenses when they are earned or incurred, not when the money moves. A business using the accrual basis can be profitable and short of cash at the same time.
Adjusting event. Something that happens after balance date that provides evidence of a condition existing at balance date. The amounts in the accounts are adjusted for it.
Aged debtors. Money owed by customers, grouped by how long it has been owed.
Assurance. The work an auditor or reviewer does to reach a conclusion about information somebody else prepared.
Audit trail. The record of what was entered, when, by whom, and what was done about it. In ByteBook it is a chain of fingerprints.
Balance sheet. A statement of what a business owns and owes at a date. Also called the statement of financial position.
Bill. A supplier's invoice that you will pay later. Until it is paid it sits in creditors.
Chain (the). ByteBook's page showing every entry as a block and every fingerprint as a link between two blocks.
Closing balance. The balance on a bank statement at its date.
Creditors. People and businesses the business owes money to.
Cut-off. The question of whether a transaction has been recorded in the right period. One of the fourteen procedures.
Debtors. People and businesses that owe the business money.
Depreciation. Spreading the cost of an asset over the periods it is used in.
Drawings. Money or goods an owner takes out of a business for personal use.
Effective date. The date from which a standard applies, usually expressed as periods beginning on or after a particular day.
Exempt supply. A supply that carries no GST and for which the business cannot claim GST on related costs. Rent on a residential dwelling is the common example.
Expected credit loss. The amount a business expects not to collect from money it is owed.
Fingerprint (SHA-256). A short string computed from the contents of an entry. Change the contents and the fingerprint changes.
General ledger. Every entry that touched an account, in order.
GST return. The statement of GST collected and GST credits claimed for a period, filed with Inland Revenue.
IASB. The International Accounting Standards Board, which issues IFRS accounting standards.
IAASB. The International Auditing and Assurance Standards Board, part of IFAC, which issues the international auditing standards.
IFAC. The International Federation of Accountants, which publishes the IAASB Handbook.
ISA (NZ). An international standard on auditing with New Zealand additions, issued by the XRB.
ISQM 1. The international standard on quality management for firms. In New Zealand its requirements appear in PES 3.
Ledger. The accounting record of a business's transactions. In ByteBook the general ledger is the detail and the trial balance is the summary.
Material. Large enough to matter to the person reading the financial statements. There is no fixed number; the standard defines it by whether omitting or misstating an item could influence decisions.
Merkle root. A single fingerprint computed from all the fingerprints in a record, so the whole record can be checked with one value.
NZ IFRS. New Zealand equivalents to international financial reporting standards: the IASB's text with New Zealand additions.
PES. Professional and ethical standards issued by the XRB, including the code of ethics (PES 1), quality management for firms (PES 3) and engagement quality reviews (PES 4).
Performance materiality. A lower figure than materiality, used in planning so that the chance of undetected misstatements exceeding materiality is kept low.
Performance obligation. A promise in a contract with a customer to transfer a good or service. Revenue is recognised when it is satisfied.
Posting. Recording an entry in the ledger. Until an invoice is posted it is only a document.
Provision. A liability of uncertain timing or amount, recognised where there is a present obligation from a past event, a probable outflow, and a reliable estimate.
Reconciliation. Comparing two records that should agree — the ledger and the bank — and explaining the difference.
Sealed pack. A period's entries, figures and fingerprints hashed together into a single value, so it can be verified later.
Trial balance. Every account with its balance, used to check that total debits equal total credits.
Turnover. Total sales, usually excluding GST.
Unmodified opinion. An auditor's conclusion that the financial statements are prepared, in all material respects, in accordance with the applicable framework. The everyday term is a clean opinion.
Void. To cancel an entry by posting its mirror image, leaving both in the record.
XRB. The External Reporting Board, which issues New Zealand's accounting and auditing standards.
Zero-rated supply. A supply taxed at 0%: it carries no GST but is not exempt, so GST on related costs can usually still be claimed.