When tax season starts
For most jurisdictions, tax season runs early in the new year:
- US individuals: January through April 15 (with extensions to October)
- US C-corps: January through April 15 (with options for fiscal year)
- US S-corps and partnerships: January through March 15
- Canadian individuals: January through April 30
- UK self-assessment: January 31 deadline for the previous tax year
Whatever your deadline, the books prep happens in the weeks before. Don't wait until April.
The pre-tax checklist
Before sending anything to your tax preparer:
1. All wallets reconciled through year-end
Every wallet (Bitcoin and fiat) should be reconciled through December 31. See Reconciling a Bitcoin Wallet and Reconciling a Fiat Bank Account.
If a wallet isn't reconciled, your numbers may be wrong by whatever the unmatched difference is.
2. All Drafts reviewed and posted (or deleted)
Filter Transactions and Journal Entries to status = Draft, dates in the tax year. There should be zero leftover Drafts. Either post them (if real) or delete (if not).
3. Trial Balance is balanced
Run Reports → Trial Balance for the full year. Debits should equal credits. If off, investigate before sending data to your preparer.
4. All adjustments entered
Common year-end adjustments:
- Depreciation for owned assets
- Accrued expenses (vendor invoices for December work that arrive in January)
- Prepaid expenses amortization (annual subscriptions paid upfront, recognize the prior year's portion)
- Inventory adjustment (if you hold inventory: count, value, adjust to physical)
- FX revaluation for Bitcoin and any non-functional foreign currency
These are usually entered in Advanced Mode (Journal Entries). Talk to your preparer about which apply to you.
5. FX revaluation (if applicable)
If you hold Bitcoin or foreign currency at year-end, run an FX revaluation as of December 31 to mark to current market value. See Tracking Bitcoin Value Changes.
This generates the unrealized gain/loss entries that your preparer will need for tax calculations under your jurisdiction.
6. Payroll reconciled to your payroll provider
If you use a separate payroll system (Gusto, etc.), make sure your BitBooks payroll entries match the payroll provider's year-end summary. They should agree on total wages, taxes, etc.
7. Year-end Balance Sheet looks reasonable
Run Reports → Balance Sheet as of December 31. Skim:
- Are wallet balances right? (You just reconciled, so they should be.)
- Is Accounts Receivable reasonable (you actually expect those amounts to be collected)?
- Are accruals captured?
- Is equity tracking with what you expect (capital + accumulated profits, less draws)?
If anything is off, fix before exporting.
8. Year-end P&L looks reasonable
Run Reports → Profit & Loss for the year. Skim:
- Total revenue matches what you expect
- Major expense categories match your records
- Net profit is in line with your sense of the year
If something looks weird, drill into the relevant account using the General Ledger.
9. Close the year
Once all of the above is done: set the Journal Lock Date to December 31. The year is now closed. No accidental future changes.
What to export
Your preparer typically wants:
| Report | Period | Format |
|---|---|---|
| Profit & Loss | Full year | PDF and Excel |
| Balance Sheet | As of Dec 31 | |
| Trial Balance | Full year (or as of Dec 31) | |
| General Ledger | Full year | Excel |
| Cash Flow Statement | Full year | |
| Activity Log | Full year | Excel (large file) |
| Contact list | Current state | Excel |
Export each. Send to your preparer.
For Bitcoin tax specifically, also export:
- All BTC purchases during the year with cost basis (filter GL to BTC wallet money-in)
- All BTC sales during the year with proceeds (filter GL to BTC wallet money-out)
- All BTC mining/earned income during the year (filter to relevant income accounts)
- Year-end BTC balance (per wallet, in BTC and in USD/your-currency)
See Capital Gains Tracking for Bitcoin Holdings for the Bitcoin-specific exports.
When the preparer comes back with questions
Common questions:
- "Why is this account so high/low?" Drill in via the General Ledger and answer based on what you see.
- "Did you mean to post this to that account?" Probably yes; if not, post a correcting entry.
- "Can you provide the receipt for this $X expense?" Look for the attachment on the transaction; if not there, find it in your records and add to BitBooks.
- "Where's the documentation for this Bitcoin gain calculation?" Send the BTC purchase and sale data; let them compute.
Generally, your preparer's questions narrow down which transactions need clarification. Most are quick to answer; some require digging.
After filing
Once the preparer files:
- Save the filed return in your records (and consider attaching to a journal entry in BitBooks for reference)
- Pay any tax owed through your bank or the tax authority's system. Record the payment in BitBooks as an expense (Tax Expense, money out from your bank).
- Don't reopen the closed year unless absolutely necessary. The filed return assumes specific numbers; changing them retroactively means amending the return.
Common questions
"Can my preparer log into BitBooks directly?"
Yes. Invite them with the Accountant role. They can run reports, post adjusting journal entries, etc. Many preparers prefer this over receiving exports.
"What if I find an error AFTER filing?"
Talk to your preparer about whether to amend the return or correct it in the next year. For small errors, current-period correction is often acceptable. For material errors, an amended return may be needed.
"How long do I keep the data?"
Keep accounting records for as long as your jurisdiction requires (typically 5-7 years for general business; longer for some specifics). BitBooks keeps your data indefinitely; the question is whether you also keep external copies. Best practice: export and archive yearly.
Where to go next
- How BitBooks Supports Tax Reporting for the broader picture
- Capital Gains Tracking for Bitcoin Holdings for Bitcoin-specific tax mechanics
- Exporting Data for Your Accountant for the export workflow
- Period Close for closing the year
- Tracking Bitcoin Value Changes for year-end FX revaluation