Two entries do most of the work of putting a cost in the month it belongs to. One handles money that left the bank before you used what you bought. The other handles a cost you have already used up that nobody has invoiced you for yet. Neither entry is complicated. The work is in the schedule underneath, and that is the part that goes missing.
Prepaid expenses and accrued expenses are what make accrual-basis books real. Skip them and you have cash-basis books with an accrual label on the report header.
Prepaid expenses, or money out early
You pay an annual insurance premium in January. You pay a year of software up front to get the discount. You pay a legal retainer in March that gets drawn down over the months after it.
The money left in one month and the benefit arrives across many. A prepaid expense is the balance sheet asset holding the part you have not used yet.
When you pay a $12,000 annual premium:
| Account | Debit | Credit |
|---|---|---|
| Prepaid expenses | 12,000 | |
| Cash | 12,000 |
Then once a month, as a twelfth of the coverage gets used:
| Account | Debit | Credit |
|---|---|---|
| Insurance expense | 1,000 | |
| Prepaid expenses | 1,000 |
After twelve of those the prepaid balance is zero and the cost sits evenly across the months the coverage actually covered.
The prepaid schedule
Those entries are mechanical. What makes them right or wrong is the schedule they come off.
A prepaid schedule carries one row per prepayment: what it was, the vendor, the amount paid, the date the benefit starts, the date it ends, the monthly amount, how much has been amortized to date, and how much is left. Nothing exotic, and a spreadsheet is fine, as long as it is the same spreadsheet every month.
The reason it exists is the tie-out. The sum of the remaining column has to equal the prepaid balance on the balance sheet for the same month. When those two numbers disagree, one of them is wrong, and you want to find out which before the month closes rather than during a fundraise.
Set a floor so you are not scheduling everything. Somewhere between $1,000 and $5,000 is common at seed stage, and the exact number matters far less than having one that everybody applies the same way. Below the floor the payment goes straight to expense. Without a floor you end up amortizing a $240 domain renewal across a year, which produces twelve journal entries and changes nothing anyone will ever read.
One thing the floor should not swallow: a payment that buys a multi-year right, like a three-year software license or a lease deposit. Those are not really prepaid expenses in the current-asset sense, and dumping them into the same account makes the balance meaningless. Give them their own account, or capitalize them properly if that is what they are.
Accrued expenses, or cost in and invoice not yet
Your law firm works on a financing in June and invoices in August. A contractor finishes a build in June and sends the invoice on July 15. Your electricity for June is metered in June and billed in July.
Every one of those costs belongs to June. The accrual is the entry that puts it there.
| Account | Debit | Credit |
|---|---|---|
| Legal expense | 8,000 | |
| Accrued liabilities | 8,000 |
The estimate comes from the engagement letter, the rate card, the statement of work, or the last few invoices from that vendor. Write down where the number came from in the memo field, because in three months nobody will remember, and the difference between a defensible accrual and a plug is whether the basis was recorded at the time.
The reversal, and the double count that happens without it
Then the invoice arrives, and this is where accruals go wrong more often than anywhere else.
The June accrual sits on the balance sheet. In August the law firm's $8,400 invoice gets entered as a bill, which debits legal expense a second time. June now carries $8,000 and August carries $8,400 for one piece of work, the accrued liability is still sitting there, and both months are wrong.
There are two standard cures, and a company should pick one and use it for every accrual it books.
Reverse it on the first day of the next period. The June entry gets an automatic reversing entry dated July 1, which debits accrued liabilities and credits legal expense. When the real invoice lands it posts normally and the expense lands wherever the bill dates it. QuickBooks and Xero both support an auto-reversing journal entry, so this is a checkbox rather than a discipline. It is the safer option for a small team because it fails visibly: a missing invoice shows up as a credit balance in the expense account instead of quietly disappearing.
Or clear the accrual against the invoice. The bill gets coded to accrued liabilities rather than to expense, which draws down the balance you booked, and only the difference touches the P&L. This keeps the expense account cleaner month to month, and it costs more attention, because whoever enters the bill has to know it was accrued and code it differently from every other bill.
Neither is better in the abstract. Mixing them inside the same set of books is what causes trouble, because then nobody can tell by looking at an accrual whether it is waiting to be reversed or waiting to be drawn down.
Where these two actually break
- The schedule that nobody amortizes. The prepayment was capitalized correctly in month one, the monthly entry ran twice, and then the person doing it left. The balance sheet carries an asset that expired eight months ago, and the P&L is understating cost every month since.
- The accrual that never reverses. Same failure from the other side. Accrued liabilities grow every month and nothing ever leaves, so the balance is the sum of everything ever accrued rather than what is currently owed.
- A prepaid balance with no schedule behind it. The account has a number in it and nobody can produce the rows that add up to that number. This is the one that comes up in diligence, and the answer "I would have to rebuild it" is the wrong one.
- The schedule rebuilt from scratch each month. Someone recreates the amortization by hand every close, which means the numbers drift and the work takes an hour instead of five minutes. Build it once with the end dates in it and let it run.
- Accruals booked in round numbers with no support. A $10,000 accrual for "legal" with no basis recorded is indistinguishable from a plug, and it will be treated as one by anybody reviewing the books.
- Cancelled contracts left on the schedule. You prepaid twelve months, switched vendors in month five, and the remaining seven months are still amortizing into expense as though the service were still arriving. The balance needs writing off or reclaiming, and either way the schedule has to know the contract ended.
Proving both balances at close
Both accounts get the same treatment as any other balance sheet account during the close: a difference column that reads zero.
For prepaids, the schedule's remaining balance against the general ledger balance for that account, in that month. For accrued liabilities, a list of every open accrual with its amount and its basis, summed, against the general ledger balance. A difference that does not resolve gets parked and reported as a number, never plugged with a journal entry to make it go away. A plug is fast this month and expensive every month afterwards, because the next person to look assumes the account was right.
While you are there, check that each entry carries the same class, department or project coding as the spend it relates to. An amortization entry that lands with no class breaks class-level reporting just as effectively as an uncoded bill, and it is easy to miss because the original payment was coded correctly.
Books and the tax return can differ here
Recognizing a prepayment over its service period is the right answer for your financial statements. It is not automatically the right answer on the tax return, where different rules govern when a prepayment becomes deductible, and where the answer depends on your accounting method and the nature of the payment.
Ask whoever prepares your return before assuming the deduction lands in the year the money moved. Book-to-tax differences like this one are normal. They become a problem only when a founder plans around a deduction that turns out to be spread across two years.
If you are still on cash basis
Then you make neither entry, and both accounts stay empty. The reason to understand them anyway is that the day you convert, every open prepayment and every unbilled cost has to be picked up at once, and the quality of that conversion depends entirely on whether anybody kept track of the contracts while you were on cash.
Keeping a prepaid schedule from the first annual invoice you pay costs almost nothing at the time and turns the conversion into an afternoon.
Getting the entries to run without you
These are recurring entries, which means they should be running on a schedule rather than being remembered. Someone has to own the schedule, post from it monthly, and tie it out before the month is called closed.
If that is not a thing you want to own, it is the kind of work a managed bookkeeping service should be doing without being asked. Median keeps your books current through yesterday in the general ledger you already use, with the recurring schedules maintained alongside them, so the prepaid balance ties to something you can actually read.