Fewer tax forms will reach freelancers in early 2027, and the income behind them is still taxable. A client who pays you $1,500 during 2026 no longer has to send a Form 1099-NEC, so nobody hands you a total. The number has to come from your own bank deposits, and the spreadsheet work to get it takes about an hour if you start with clean data.
What changed for 2026
Two reporting thresholds moved, and both mean fewer forms in your mailbox. Under the One Big Beautiful Bill Act, the threshold for Forms 1099-NEC and 1099-MISC rises from $600 to $2,000 for payments made in 2026, with inflation adjustments starting in 2027 (IRS, General Instructions for Certain Information Returns). The same law put the Form 1099-K threshold for payment apps and marketplaces back to more than $20,000 and more than 200 transactions (IRS, Understanding your Form 1099-K).
Neither change touches what you owe. Income counts whether or not a form shows up, and self-employment tax applies once your net earnings from self-employment reach $400 (IRS, Self-employment tax). A freelancer with six clients paying $1,200 each could receive no forms at all for 2026 and still have $7,200 of gross receipts to report.
Why the bank statement is the record that matters
Your deposits are the record the IRS itself would reach for. When a return is examined and the books are thin, examiners can rebuild income with the bank deposits method: add up what went into the accounts, then subtract the deposits the taxpayer can show were not income, such as transfers, loans and gifts (Internal Revenue Manual 4.10.4). The burden in that exercise sits with you. An unlabeled deposit looks like income until you show otherwise.
Doing the same sort yourself, before anyone asks, puts you on the right side of that method. IRS Publication 583 lists "deposit information (cash and credit sales)" among the supporting documents for gross receipts, next to invoices and receipt books (IRS Publication 583). A labeled deposit ledger is that document.
Step 1: Get twelve months of statements into one sheet
PDF statements are the dependable source for a full year. Bank of America, for example, keeps up to seven years of statements online (Bank of America tax preparation FAQs), while the CSV "download activity" option at many banks reaches back a shorter window. Our guide to exporting bank statements for taxes covers where each major bank keeps them.
Convert the PDFs without uploading them anywhere. A statement shows your account number, your balances and everyone who paid you, and the ExtractMyStatement converter reads the file inside your browser, so nothing is sent to a server (the privacy page explains how). It takes one statement at a time and saves a file named after the PDF, ending in -extracted.csv. Convert each month, then paste the twelve files one under another in a single sheet. If you would rather work in a workbook from the start, the bank statement to Excel page covers that export.
Four things about the converter's output shape the next steps:
- Column headings come from your statement. One bank prints a single Amount column, another prints separate Deposits and Withdrawals columns. When no heading row is found, the columns are named Date, Description, Amount and Balance.
- Amounts are kept exactly as printed. A cell holds the text "$1,250.00", not the number 1250, so it needs a number column before any formula will add it up.
- Dates are kept as printed too. Many statements print only month and day. Add a Year or Month column while you still know which file each block came from.
- Summary lines are skipped. Rows containing words such as "total", "beginning balance" or "page" are dropped as statement furniture. A real transaction whose description contains one of those words is dropped with them, which is why Step 4 exists.
Step 2: Add two columns
Two extra columns turn a raw export into a ledger. Assume Date is in column A, Description in B and the deposit amount in C. In D, make a real number:
=IF(C2="",0,VALUE(C2))
The formula works in Excel and Google Sheets. A cell that returns an error is one the PDF printed in an unusual way, so retype that amount by hand. Head column E "Type" and leave it empty for now.
If your statement has one signed Amount column, filter column D to values greater than zero so only money coming in is showing. If it has a separate Deposits column, use that as column C and ignore the withdrawals.
Step 3: Label every deposit
Every deposit gets one label, and only one label counts as income. Filter the Description column for a payer you recognize, such as a client name or a payout processor, type "income" in the first Type cell and fill down. Repeat for each payer. What remains is the short list that needs thought.
| Deposit | Label | Gross receipts? | Keep with it |
|---|---|---|---|
| Client payment by ACH, check or Zelle | income | Yes | The invoice |
| Payout from a processor or marketplace | income | Yes, but see the note below | The platform's sales report |
| Transfer from your own savings or another account | transfer | No | The matching withdrawal on the other statement |
| Refund for something you returned | refund | No | The original purchase line |
| A friend or roommate paying back a shared bill | personal | No | A one-line note of what it was for |
| Gift or loan proceeds | personal | No | The loan paperwork, or a note naming the giver |
| Bank interest | interest | No, but it is taxable interest reported elsewhere on the return | The statement line |
| A client repaying costs you fronted | ask | Depends on the arrangement, so ask your preparer | The receipts you billed |
Payouts are usually net of fees. A processor deposit is what was left after the platform took its cut, so the deposit understates your gross sales. Take the gross figure from the platform's own report and claim the fees as an expense, or your ledger and any 1099-K that does arrive will not agree.
Zelle deserves its own mention because it never produces a form. Zelle says it does not report payments to the IRS and does not issue Form 1099-K (Zelle FAQ). A client's Zelle payment and a roommate's Zelle repayment look identical on a statement, and only your label tells them apart.
Step 4: Total it, then check the sheet against the statement
One formula gives the figure you came for:
=SUMIFS(D:D,E:E,"income")
To see a single payer, add a condition on the description, for example =SUMIFS(D:D,E:E,"income",B:B,"*STRIPE*").
The check that makes the total trustworthy is a comparison with the bank's own arithmetic. Each statement prints a deposits total for the period. Sum every deposit in your sheet for that month, whatever its label, and compare. If the sheet is short, a row was skipped or an amount failed to convert, and the editable preview in the converter is the place to add it back before exporting again. Twelve matching months mean every deposit is in the sheet and every one has a label.
Do it in October, not March
Labeling is a memory task, and memory is the part that expires. In October you still know that the $840 in May was a client deposit and the $300 in June was your sister paying you back. By March both are just deposits. Sorting nine months now and adding the last three in January also gives you a running total for your fourth estimated payment.
Keep the finished sheet and the original PDFs together. The IRS's general rule is to keep records for three years from the date you file, and six years if you leave out income worth more than 25% of the gross income on your return (IRS, How long should I keep records?).
This guide explains a recordkeeping method. It is not tax advice, and a preparer should settle any deposit you cannot classify with confidence.
Start with the month you remember best: download that statement, convert it in your browser, and label the deposits while the names still mean something to you.