Templates › Business and freelance
Small Business Bookkeeping
Made for sole traders keeping their own books for a tax return.
A simple set of books for a one-person business: record every payment received and every business cost, tag each one with a category, and see totals by category, totals by month and profit so far this year ready for the tax return. The summary carries a chart that redraws itself as you type.
- Tabs
- 5
- Columns
- 29
- Fill themselves in
- 26
£7one payment, yours to keep
- Opens in Excel, Google Sheets and Numbers
- Delivered straight away
- No macros, nothing to install
- Change it free before you buy
Payment is handled by Stripe. Your card details go to them and never to us. Sales are final, which is why every tab, column and calculation is shown on this page first.
Everything inside, before you pay
This is the whole design: every tab, every column and how each calculated one is worked out. White cells are yours to fill in; the shaded ones work themselves out and are locked so a formula cannot be overwritten by accident. There is room for 1,242 rows.
Money In
| Column | Type | Worked out as |
|---|---|---|
| Date Received | date | |
| Invoice / Ref | text | |
| Customer | text | |
| Category | choice (list) | |
| Amount In | currency | |
| Paid By | choice (list) | |
| Notes | text | |
| Month No | number | IF(ISBLANK([date]), "", MONTH([date])) |
| Year | number | IF(ISBLANK([date]), "", YEAR([date])) |
Money Out
| Column | Type | Worked out as |
|---|---|---|
| Date Paid | date | |
| Supplier | text | |
| Category | choice (list) | |
| Amount Out | currency | |
| Paid By | choice (list) | |
| Receipt Kept | bool | |
| Notes | text | |
| Month No | number | IF(ISBLANK([date]), "", MONTH([date])) |
| Year | number | IF(ISBLANK([date]), "", YEAR([date])) |
Monthly Summary
| Column | Type | Worked out as |
|---|---|---|
| Month No | number | |
| Month | text | |
| Money In | currency | IF(ISBLANK([month_no]), "", SUMIFS([Money In!amount], [Money In!month_no], [month_no], [Money In!year], YEAR(TODAY()))) |
| Money Out | currency | IF(ISBLANK([month_no]), "", SUMIFS([Money Out!amount], [Money Out!month_no], [month_no], [Money Out!year], YEAR(TODAY()))) |
| Profit | currency | IF(ISBLANK([month_no]), "", SUMIFS([Money In!amount], [Money In!month_no], [month_no], [Money In!year], YEAR(TODAY())) - SUMIFS([Money Out!amount], [Money Out!month_no], [month_no], [Money Out!year], YEAR(TODAY()))) |
| Costs as % of Income | percent | IF(ISBLANK([month_no]), "", IFERROR(SUMIFS([Money Out!amount], [Money Out!month_no], [month_no], [Money Out!year], YEAR(TODAY())) / SUMIFS([Money In!amount], [Money In!month_no], [month_no], [Money In!year], YEAR(TODAY())), 0)) |
Category Totals
| Column | Type | Worked out as |
|---|---|---|
| Category | choice (list) | |
| Money In This Year | currency | IF(ISBLANK([category]), "", SUMIFS([Money In!amount], [Money In!category], [category], [Money In!year], YEAR(TODAY()))) |
| Money Out This Year | currency | IF(ISBLANK([category]), "", SUMIFS([Money Out!amount], [Money Out!category], [category], [Money Out!year], YEAR(TODAY()))) |
| Share of Total Costs | percent | IF(ISBLANK([category]), "", IFERROR(SUMIFS([Money Out!amount], [Money Out!category], [category], [Money Out!year], YEAR(TODAY())) / SUMIFS([Money Out!amount], [Money Out!year], YEAR(TODAY())), 0)) |
| Entries | number | IF(ISBLANK([category]), "", COUNTIFS([Money In!category], [category], [Money In!year], YEAR(TODAY())) + COUNTIFS([Money Out!category], [category], [Money Out!year], YEAR(TODAY()))) |
Year Summary
| Measure | Worked out as |
|---|---|
| Total money in this year | SUMIFS([Money In!amount], [Money In!year], YEAR(TODAY())) |
| Total money out this year | SUMIFS([Money Out!amount], [Money Out!year], YEAR(TODAY())) |
| Profit so far this year | SUMIFS([Money In!amount], [Money In!year], YEAR(TODAY())) - SUMIFS([Money Out!amount], [Money Out!year], YEAR(TODAY())) |
| Money in this month | SUMIFS([Money In!amount], [Money In!month_no], MONTH(TODAY()), [Money In!year], YEAR(TODAY())) |
| Money out this month | SUMIFS([Money Out!amount], [Money Out!month_no], MONTH(TODAY()), [Money Out!year], YEAR(TODAY())) |
| Profit this month | SUMIFS([Money In!amount], [Money In!month_no], MONTH(TODAY()), [Money In!year], YEAR(TODAY())) - SUMIFS([Money Out!amount], [Money Out!month_no], MONTH(TODAY()), [Money Out!year], YEAR(TODAY())) |
| Average profit per month so far | IFERROR((SUMIFS([Money In!amount], [Money In!year], YEAR(TODAY())) - SUMIFS([Money Out!amount], [Money Out!year], YEAR(TODAY()))) / MONTH(TODAY()), 0) |
| Costs as a share of income | IFERROR(SUMIFS([Money Out!amount], [Money Out!year], YEAR(TODAY())) / SUMIFS([Money In!amount], [Money In!year], YEAR(TODAY())), 0) |
| Biggest cost category | IFERROR(INDEX([Category Totals!category], MATCH(MAX([Category Totals!money_out]), [Category Totals!money_out], 0)), "") |
| Spend in that category | IFERROR(MAX([Category Totals!money_out]), 0) |
| Suggested tax set-aside (20% of profit) | ROUND(MAX(SUMIFS([Money In!amount], [Money In!year], YEAR(TODAY())) - SUMIFS([Money Out!amount], [Money Out!year], YEAR(TODAY())), 0) * 0.2, 2) |
| Payments in recorded this year | COUNTIFS([Money In!year], YEAR(TODAY())) |
| Payments out recorded this year | COUNTIFS([Money Out!year], YEAR(TODAY())) |
| Costs still missing a receipt | COUNTIFS([Money Out!amount], ">0", [Money Out!receipt_held], FALSE) |






