What is the difference between cash and accrual accounting?
Cash basis accounting records revenue when cash is received and expenses when they're paid. Accrual basis records revenue when earned and expenses when incurred, regardless of when cash changes hands. The IRS requires businesses with over $27 million in average annual gross receipts, C-corporations, and inventory-holding businesses to use accrual accounting. GAAP-compliant financial statements require the accrual method.
Key Definitions
- Cash Basis Accounting
- Cash basis accounting recognizes revenue when payment is received and expenses when payment is made. It reflects actual cash flow but may not accurately match revenue to the expenses that generated it, particularly for businesses with outstanding invoices or unpaid bills.
- Accrual Basis Accounting
- Accrual basis accounting recognizes revenue when it is earned (services delivered or goods sold) and expenses when they are incurred, regardless of when cash is exchanged. Required under GAAP, this method provides a more accurate picture of a company's financial position.
Cash vs. Accrual Accounting: Key Differences
| Feature | Cash Basis | Accrual Basis |
|---|---|---|
| Revenue recognition | When cash is received | When earned (regardless of payment) |
| Expense recognition | When cash is paid | When incurred (regardless of payment) |
| Matches revenue to expenses | ||
| Required for businesses over $27M in sales | ||
| Required for C-Corporations | ||
| Required for inventory-heavy businesses | ||
| Required for audited financials (GAAP) | ||
| Complexity | Simple | More complex |
| Tax timing flexibility | High (defer income) | Lower |
| Best for | Freelancers, service businesses under $27M | Most established businesses |
Side-by-Side Examples
Example 1: Invoice Sent in December, Paid in January
Cash Basis:
Revenue recorded in January (when cash arrives). December P&L shows no revenue from this invoice.
Accrual Basis:
Revenue recorded in December (when earned). January cash receipt reduces accounts receivable, no P&L impact.
Example 2: Annual Insurance Premium Paid in January
Cash Basis:
Full $12,000 premium expensed in January. Months 2–12 show no insurance expense.
Accrual Basis:
$12,000 recorded as prepaid asset in January. $1,000/month expensed each month over the coverage period.
Tax Timing: Cash Basis as a Strategy
Eligible businesses (under $27M gross receipts) often prefer cash basis specifically for tax timing flexibility:
- Defer income: Invoice in late December but don't expect payment until January — income shifts to next tax year
- Accelerate deductions: Pay business expenses (insurance, subscriptions, supplies) in December to deduct in current year
- Year-end bonuses: Accrue but don't pay until January to defer the deduction to the employee's income into next year (note: corporation rules differ)
These strategies are legal tax planning — not avoidance. Your CPA can model the tax impact of timing decisions before year-end.
When to Switch from Cash to Accrual
Seeking a bank loan
Most lenders require accrual-basis financial statements for loans over $500,000. They need to see receivables and payables, not just cash flow.
Revenue over $5M–$10M
At this scale, cash basis financials often distort performance. Accrual gives management a more accurate picture of profitability.
Preparing for an audit
Audited financial statements under GAAS must be GAAP-compliant, which requires accrual basis.
Inventory becomes significant
IRC Section 471 generally requires accrual for businesses with material inventory (though the $27M threshold now provides relief for many small businesses).
Seeking investors or M&A
Investors and acquirers evaluate businesses on accrual-basis EBITDA. Cash basis financials must be converted, which can reveal adjustments that affect valuation.
Frequently Asked Questions
Related Services
Not Sure Which Method Is Right for Your Business?
Our CPAs will review your revenue, business type, and reporting needs to recommend the right accounting method — and handle the IRS Form 3115 filing if you need to switch.