Income Expense Spreadsheet: Templates and Setup

An income expense spreadsheet keeps received money and paid costs in separate registers, then shows the difference for a chosen company and reporting period.
Income: public sample
Fields from the original workbook. Filled rows are fictional examples; blank fields are for your records.
Reporting amounts use USD in this worked example. Dates use YYYY-MM-DD.
| Date | Reference | Company | Payer | Entry type | Amount | Account | Source | Signed income |
|---|---|---|---|---|---|---|---|---|
| 2026-01-05 | IN001 | A | Fictional client | Income | 500 | Checking | INV001 | Calculated in workbook |
On this page11
- Choose the income expense spreadsheet version
- Preview the two transaction registers
- Set the reporting period and opening balance
- Enter income and expenses without double counting
- Read monthly totals and the net movement
- Reconcile the income expense spreadsheet records
- Check a cash account before using closing cash
- Keep a clean handoff to the next period
- FAQ: income and expense records
- Sources and checks
- Verdict on income and expense records
Use the income register for money received from customers and the expense register for paid business costs. Keep refunds and transfers distinct. Select one company, currency and month before reading the totals. Net movement shows the difference between the entered income and costs. It is not tax profit, and it becomes a cash check only after you match the records to the relevant accounts.
Choose the income expense spreadsheet version
The pack has a blank file and a worked copy. The worked copy uses made-up entries that let you check the totals first. Open Income, Transactions and Cash Movement. Income holds customer receipts. Transactions holds costs and refunds.
Cash Movement brings those totals together for one period.
Use this version when your question is how much money came in and went out. A request to repay an employee belongs in an expense report instead. A journal that records both sides of each entry is a different record again. Choose the task before choosing a file format; otherwise, a neat summary can hide the wrong kind of record.
The workbook has no bank connection. You enter the records or prepare a checked import yourself. This makes the source reference and payment account useful fields rather than optional decoration. They let you trace a number in a total back to the evidence behind it.
Preview the two transaction registers
| Register | Essential fields | What the row means |
|---|---|---|
| Income | Date, payer, reference, company, amount, account | Money received for the entered purpose |
| Transactions | Date, payee, purpose, company, category, type, amount, currency | A paid cost or a refund reducing that cost |
| Receipt Index | Source ID, private reference, entry ID, status | The route from an entry to its evidence |
| Cash Movement | Start, exclusive end, company, income, cost, opening cash | A period summary with a stated boundary |
Scroll for more →
A customer invoice and the cash received against it are not two receipts of money. If this file tracks received cash, enter the receipt once. Keep the invoice number as a reference. You can use that reference to check unpaid invoices elsewhere, but this register does not manage an accounts-receivable ledger.
The same care applies to costs. A card purchase and the later payment of the card balance are different movements. Counting both as the same operating cost doubles the expense. Record the original purchase once, then treat movement between your own accounts separately when reconciling those accounts.
Set the reporting period and opening balance
Start with one reporting currency in Settings. The core expense sheet checks each row against it. A foreign-currency amount needs a recorded conversion before it can enter a single-currency total. Keep its original amount, rate direction, source and date in the Travel tab if that is the relevant task.
Use real spreadsheet dates. A date that looks right but is stored as text may not meet the summary criteria. The January example includes dates on or after 1 January and before 1 February. The exclusive end date makes the boundary clear and avoids guessing a final time on the last day of the month.
Opening cash is a separate input. Leave it blank when it is unknown. The closing-cash formula returns an error until you enter an opening amount. Enter zero only if you have checked that the opening amount really is zero. An income-minus-cost total can still be useful without an opening balance, but it cannot tell you the final bank balance on its own.
The sample year is there to make the worked file reproducible. Change the period dates for your own records. Check all twelve months rather than altering just the first cell. Keep a copy of the untouched example if you want to compare results later.
Enter income and expenses without double counting
Give each record an ID that stays with it. A useful ID is short, unique within the file and unrelated to a row's current position. Sorting should not change it. Put the company's ID in its own column rather than hiding it in a description.
Enter cost amounts as nonnegative numbers. Choose Expense for a cost or Refund for a returned amount. The signed column makes expenses positive and refunds negative. An unknown type produces an error. It must not quietly turn into a zero amount that makes a report appear complete.
Record the purpose in plain words. “Office” is a category; “paper for client design work” tells a later reviewer why the purchase belongs in the business records. Keep a private receipt reference beside it. The reference can name a file in your own storage without exposing a receipt to anyone who reads a public preview.
For income, use Income for a receipt and Refund for money returned to a customer. Keep the original reference close to the refund reference. A refunded customer payment reduces received income; a supplier refund reduces expense. Using the right register preserves the distinction.
Read monthly totals and the net movement
The fictional company A receives 500 and records two costs of 120 and 80. It also receives a supplier refund of 20. Recorded cost is 120 + 80 - 20 = 180. Net movement is 500 - 180 = 320. A separate company B cost of 70 belongs to B, not A.
The 999 cost dated 1 February does not belong in January. Check that boundary before assuming the larger figure is a formula fault. The company A January Office total is 100 because the 120 purchase and 20 refund share that category. Travel is 80. Together they equal the 180 total.
The summary uses SUMIFS, which adds amounts only when their paired criteria match. Each date, company and amount range covers the same rows. If you extend one range but leave another at its old size, the formula no longer describes the same set of records. Treat the row limit as part of the calculation.
Net movement is a label for this file's entered cash records. It leaves out unpaid bills, unpaid invoices and other adjustments unless you record them in an appropriate system. Do not rename it “taxable profit” or assume it is a complete financial statement. That claim needs work this register does not perform.
Reconcile the income expense spreadsheet records
Check each payment account on its own. Match an entry to its bank or card record and supporting evidence. Mark unresolved rows for review. A zero difference between two grand totals does not prove each row is right; two errors can cancel each other out.
The Review Checklist gives you a place to assign the unresolved work. Record the owner, due date, evidence and completion date. Save the period copy after those checks. If you correct a closed month later, keep a short explanation of what changed and why, with a reference to the source.
CSV exports contain input rows only. They do not retain formulas, multiple tabs, protection or the full summary. Keep the XLSX or private Sheets file as well. Open a CSV in a plain-text viewer if dates or long reference numbers look different after export; spreadsheet apps can reinterpret those fields on import.
Check a cash account before using closing cash
Choose one cash account for this check. Write its opening amount from the reviewed source. List only the money in and out that belongs to that account. Do not use the whole business's costs to explain one bank balance if some costs were paid from a card or another account.
For a simple fictional account, opening cash of 100 plus income of 500 less paid cost of 180 gives closing cash of 420. That result is valid only under the stated scope. A transfer, fee or other movement outside those rows would need its own matching record before the total could explain the account.
Keep the opening amount's source and date. A zero is fine when checked; a blank is an unanswered input. The file leaves closing cash unresolved when the opening amount is not numeric. That avoids turning a missing input into a false claim that the account began empty.
Keep a clean handoff to the next period
Close the month with a short list of what you checked. Include company, currency, dates and accounts. State any rows still waiting for a source or a decision. Save this note with the reviewed file so the next period starts from a clear boundary.
Carry forward only the amount or task that your process needs. Do not copy all old rows into a new register and then add both files together. Keep the old source trail available, and use stable IDs for any correction that refers back to it.
If a customer pays one invoice in parts, keep each received payment clear and link it to the invoice reference. The total cash received may differ from the invoice face amount at a point in time. That is a reason to check the payment record, not to enter the unpaid amount as received money.
FAQ: income and expense records
Is this a profit and loss statement?
It is a record of the money you entered for a stated period. The net figure can help you review cash movement. It does not make the adjustments needed for every accounting method. Keep the label precise, and use the underlying records when preparing a separate financial statement.
Can I keep several companies in one file?
The core register has a company ID field and company-based totals. Use a distinct ID on every row and check the selected company before export. Keep one reporting currency. Shared storage does not merge separate businesses or create consolidated accounts. Some situations call for separate files and access permissions.
What should I do with a transfer?
Keep movement between your own accounts separate from operating income and costs. Match both sides during account review. A transfer does not become revenue because it appears as a bank deposit. If you cannot identify the source, flag it for review rather than choosing a category merely to clear the row.
Does the file store receipts?
The receipt index stores references and review status. Keep the actual documents in your own private storage. Make the entry ID part of the link between the two. Test that a person who needs the evidence can open it, while someone outside the review process cannot access those files.
Sources and checks
Checked 15 October 2026. The examples are fictional and the arithmetic is original.
- IRS records: Business recordkeeping and supporting documents.
- Excel SUMIFS: Official multiple-criteria sum syntax.
- Sheets SUMIFS: Official Sheets multiple-criteria sum syntax.
- IRS books: Publication 583, December 2024 edition, Recordkeeping System section.
Related records and guides
- expense report template
- bookkeeping journal template
- bookkeeping template
- bookkeeping workflow template
- excel bookkeeping template
- google sheets bookkeeping template
- printable bookkeeping template
- business expense spreadsheet
- business expense tracker
Verdict on income and expense records
Use the income expense spreadsheet when separate received-income and paid-cost registers answer your question. Check the worked month, set the dates and company, and match records to evidence before relying on the net figure. Move to a different recordkeeping tool when you need functions beyond those entered records.
Keep the worked file beside your records
Compare the fictional example with the blank fields before starting.