How do I record income from staged or milestone-based payments?
Learn how to record staged or milestone-based payments correctly using cash or accrual accounting. This guide explains deposits, deferred revenue, milestone billing, percentage of completion, retainage, and common journal entries so your financial statements accurately match cash flow with earned revenue over the life of a project.
Understanding what “staged” and “milestone-based” payments really are
Staged or milestone-based payments show up whenever a project is delivered in chunks rather than all at once. Think construction draws, software implementation phases, design projects with concept–draft–final steps, consulting engagements with defined deliverables, or manufacturing jobs where payment is tied to shipment or acceptance tests. In these arrangements, the customer doesn’t pay a single price at the end. Instead, they pay in pieces—sometimes a deposit up front, then additional amounts when certain milestones are reached, and sometimes a final retention payment after completion.
The accounting challenge is that cash does not necessarily line up with performance. You might receive money before you’ve delivered anything meaningful (a deposit), or you might deliver a milestone but not get paid until later (an invoice that will be collected in 30 or 60 days). Recording staged payments correctly means separating three concepts that often get mixed up: (1) when you bill, (2) when you get paid, and (3) when you’ve actually earned the income by performing work or delivering goods/services.
Start with the two core methods: cash basis vs accrual basis
How you record income from milestone payments depends heavily on which accounting method you use. Many small businesses and sole proprietors use cash basis accounting, meaning they record income when they receive payment and record expenses when they pay them. Many larger businesses, and any business required to use it, use accrual accounting, where income is recorded when earned and expenses are recorded when incurred—regardless of when cash moves.
Cash basis is simpler for bookkeeping but can be misleading for project work. You could get a large deposit in January for a project you won’t complete until March and show big “income” in January even though you still owe work. Accrual basis provides a clearer picture of performance over time, but it requires tracking receivables, deferred revenue (also called unearned revenue), and how far along you are in delivering the contract.
If your main goal is “How should I record these staged payments in my books?” the practical answer is: follow your accounting method for your financial statements, and make sure your tax reporting method is consistent with what you’re required or allowed to use. If you produce formal financial statements for lenders or investors, you’ll typically want accrual accounting (or you may be required to use it). If your bookkeeping is mainly for internal tracking and basic tax filing, cash basis may be allowed—though milestone projects can still benefit from accrual-style tracking even if you file cash basis for tax.
Cash basis recording: income when money hits your account
Under cash basis, staged payments are straightforward: when you receive the cash, you record it as income. If you receive a deposit, it is usually recorded as income on the date received. When you receive the next milestone payment, you record more income. When the final payment arrives, you record the remainder as income.
However, even on cash basis, it can be helpful to track deposits separately from “earned” revenue for internal clarity. Some businesses create internal categories such as “Customer Deposits” or “Unearned Deposits” to avoid confusing cash receipts with completed work. This is not always required for cash basis tax reporting, but it can prevent common mistakes such as thinking you are more profitable than you really are mid-project.
Here’s what a basic cash-basis entry looks like when you receive a milestone payment:
Debit: Cash (or Bank)
Credit: Revenue (or Sales Income)
That’s it. The danger is not the journal entry—it’s the interpretation. Cash basis tells you what cash came in, not what work was earned. If you’re managing project margins, scheduling labor, or forecasting future obligations, you might still want accrual-style management reports even if your official method is cash basis.
Accrual basis recording: income when you earn it, not when you get paid
Under accrual accounting, you record income when you satisfy your performance obligations—when you actually deliver the goods or services promised in the contract. That means cash receipts may first be recorded as a liability (deferred revenue/unearned revenue) if you have not yet earned the amount. Likewise, if you have earned income but haven’t been paid yet, you record a receivable (accounts receivable).
Accrual accounting is the most common framework for handling milestone projects in a way that matches the economics of the arrangement. The key is deciding how revenue is “earned” over the life of the contract. There are a few common patterns:
1) Revenue recognized at each milestone (milestone method): If each milestone represents a distinct deliverable and the customer obtains value as each milestone is completed, you may recognize revenue when each milestone is achieved.
2) Revenue recognized over time (progress-based method): If the customer is receiving value continuously as you perform, or if the asset being created is controlled by the customer as it is created, revenue may be recognized over time, often based on percentage of completion.
3) Revenue recognized at completion (completed contract): In some cases (often for smaller contracts or certain tax approaches), revenue is recognized when the project is substantially complete. This can be simpler but can also create big swings and may not match how work is performed.
What the contract says matters: define deliverables, pricing, and acceptance
Before you can record income properly, you need to understand the “units of account” in the agreement. Milestones are not always the same as deliverables. A milestone might be “30% upon project kickoff,” which is really just a payment schedule, not a delivery of a distinct service. Another milestone might be “40% upon delivery of phase 1 prototype,” which is tied to a deliverable. Another might be “30% upon final acceptance,” which might be tied to completion and acceptance criteria.
To decide whether revenue should be recorded at each milestone, ask questions such as:
Is each milestone tied to a distinct good or service, or is it just a billing trigger?
Does the customer have the ability to use what has been delivered so far?
Are there acceptance tests or sign-offs that determine when a milestone is “met”?
Can the customer walk away after a milestone and still keep value from what you delivered?
Is your work highly customized such that partial work isn’t useful until the end?
These questions drive whether each milestone represents “earned” revenue or whether it’s merely a payment toward a longer obligation.
Common scenario 1: deposit up front, then milestones
A typical structure is: 20% deposit at signing, 40% at midpoint milestone, 40% at completion. Under accrual accounting, a deposit is usually not revenue on day one. It is a liability because you owe performance. You record the deposit as deferred revenue (unearned revenue). Then, as you complete work, you “release” deferred revenue into revenue.
Example: Contract price is 10,000. You collect a 2,000 deposit at signing. You haven’t delivered anything yet.
Entry when deposit is received (accrual):
Debit: Cash 2,000
Credit: Deferred Revenue (Unearned Revenue) 2,000
Later, suppose you reach a milestone that you determine is worth 4,000 of earned revenue (either because that milestone is a distinct deliverable or because your percentage completion supports it). If the customer pays at that time, you might have two steps: (1) bill the customer and (2) recognize revenue. If the cash arrives immediately, you can combine the cash receipt with billing. But conceptually, keep them separate.
Common scenario 2: you bill on milestones but earn revenue over time
Many service providers bill based on milestones because it helps cash flow, not because the work is truly “earned” only at those points. For example, a six-month implementation might be billed 25% at kickoff, 25% at design sign-off, 25% at testing start, 25% at go-live. But the actual work is happening every week. In that case, you may recognize revenue over time even though invoices come in chunks.
The bookkeeping approach is to treat invoices as “accounts receivable” (if not paid) and, if the invoice exceeds earned revenue to date, the unearned portion stays in deferred revenue. If earned revenue exceeds invoices, the difference can be recorded as contract assets or unbilled revenue (depending on how you track it). For many smaller businesses, a practical approach is:
When you invoice: Debit Accounts Receivable, Credit Deferred Revenue (or a “Billings on Contract” liability).
As you earn revenue over time: Debit Deferred Revenue, Credit Revenue.
When you collect cash: Debit Cash, Credit Accounts Receivable.
This system separates billing from earning. It gives you clean financial statements: revenue reflects performance, receivables reflect what customers owe, and deferred revenue reflects obligations you still owe customers.
Common scenario 3: milestone deliverables are distinct and revenue is earned at each milestone
Sometimes milestones truly represent separate deliverables that the customer can use independently. For instance, a design firm might deliver (1) a research and strategy report, (2) brand identity assets, and (3) a complete brand guidelines package. If each of these is a separately useful deliverable and the pricing reasonably aligns with each one, recording income at each completed milestone can be appropriate.
In that case, you may recognize revenue when the milestone is delivered and accepted (if acceptance is part of the contract). If the customer prepays, you hold it in deferred revenue until delivery. If the customer pays later, you record accounts receivable upon delivery and recognize revenue at that time.
How to decide “how much revenue” belongs to each milestone
The hardest part of milestone accounting is not the mechanics; it’s the measurement. You need a rational way to allocate the contract price across milestones or across time. Common approaches include:
Standalone pricing: If you regularly sell phases separately, you can allocate based on the standalone selling price of each phase.
Cost-based allocation: Allocate based on expected costs per milestone. If phase 1 is expected to consume 30% of total cost, it might reasonably carry 30% of revenue.
Output-based measures: Use deliverables completed, units produced, or other outputs when they reflect value to the customer.
Input-based measures: Use labor hours incurred to date versus total estimated hours, or cost-to-cost percentage of completion. This is common in long projects.
The goal is consistency and defendability. Pick a method that reflects how value is delivered and apply it consistently across similar contracts. Update it when estimates change, and document why you made the allocation decisions you did.
Percentage of completion: a practical way to record income for ongoing work
If your projects span multiple periods, percentage of completion can give you financial statements that make sense month-to-month. The most common practical version is cost-to-cost: you estimate total project costs, track costs incurred to date, and recognize revenue based on the ratio.
For example, if you expect a project to cost 60,000 total and you’ve incurred 15,000 so far, you are 25% complete (15,000 ÷ 60,000). If the contract price is 100,000, then revenue recognized to date would be 25,000. If you previously recognized 10,000 in earlier months, you recognize an additional 15,000 this month.
Milestone invoices can still happen on their own schedule. The accounting simply keeps billings and cash separate from earned revenue.
Journal entry patterns you’ll see most often
Even if you do not maintain formal journals day-to-day, it’s helpful to understand the common entry patterns so you can set up your bookkeeping software correctly.
Pattern A: Cash received before work is performed
This is a deposit or prepayment.
Debit: Cash
Credit: Deferred Revenue (Unearned Revenue)
Later, when you earn the revenue:
Debit: Deferred Revenue
Credit: Revenue
Pattern B: Work performed before cash is received
This is typical when you deliver a milestone and invoice afterward.
At the time revenue is earned and you bill:
Debit: Accounts Receivable
Credit: Revenue
When the customer pays:
Debit: Cash
Credit: Accounts Receivable
Pattern C: Invoice is issued but revenue is not yet fully earned
This is “billings in advance.”
When you invoice:
Debit: Accounts Receivable
Credit: Deferred Revenue (or Billings on Contract)
When you earn revenue over time:
Debit: Deferred Revenue
Credit: Revenue
When cash is collected:
Debit: Cash
Credit: Accounts Receivable
What about retainage, holdbacks, and final acceptance payments?
Some industries, especially construction, include retainage or holdbacks where the client withholds a percentage (say 5%–10%) until final completion or after a warranty period. This affects cash flow, but it doesn’t necessarily prevent revenue from being recognized if the work has been performed and the amount is collectible under the contract terms.
From a recording perspective, retainage is usually treated as a receivable (often tracked separately as “retainage receivable”) once it is earned but not yet billed or not yet due. If the amount is contingent on future performance (like completing punch list items) or subject to dispute, you may need to be conservative and recognize revenue only when the uncertainty is resolved. The best practice is to separate the concept of “earned but not yet due” from “not yet earned.” Retainage is often earned but not yet due, while deposits are paid but not yet earned.
Handling change orders and scope changes mid-project
Milestone contracts rarely stay perfectly stable. Scope changes can increase or decrease the total contract price, shift deliverables, and alter the timeline. Your income recording should reflect those changes promptly.
Practically, you should:
Update the contract value in your project tracking (original price plus approved change orders).
Update your cost estimates and percentage completion calculations if you use them.
Update your allocation of revenue across milestones if the deliverables change.
Record new invoices as they are issued, but do not let invoicing drive revenue recognition if the work has not been earned.
A common mistake is treating a change order invoice as immediate revenue simply because it was billed. If the change order represents future work not yet performed, it belongs in deferred revenue until delivered (under accrual accounting).
Refundable deposits and cancellation clauses
Not all deposits are created equal. Some are non-refundable (or become non-refundable after a point), while others are refundable if the project is canceled. A refundable deposit is more clearly a liability until the refund condition is removed. If the customer can demand the money back, calling it “revenue” is risky and misleading.
If you have cancellation clauses, pay close attention to what you are entitled to keep upon cancellation. Some contracts allow you to keep amounts corresponding to work already completed, plus certain costs. In those cases, revenue recognition aligns with the portion of work completed. If a deposit becomes non-refundable upon a specific event (for example, after the kickoff meeting), you may recognize revenue at that time only if the contract terms and your performance justify it—otherwise it may still represent an obligation to deliver.
Milestones tied to acceptance: when does “earned” actually happen?
Some milestones require customer sign-off or acceptance testing. Acceptance provisions matter because they can change the point at which you have fulfilled your obligation. If acceptance is a formality and you have objective evidence the deliverable meets specifications, revenue may be recognizable upon delivery even if the customer signs later. If acceptance is substantive—meaning the customer can reject the deliverable and you must rework it—then earning may occur only upon acceptance.
In practice, many businesses pick a consistent rule: recognize revenue when the deliverable is (a) delivered and (b) accepted, or when the acceptance window passes without rejection. The key is to use a rule that matches the reality of disputes and rework in your business. If customers often delay acceptance but rarely reject, recognizing upon delivery with a reasonable acceptance window can be appropriate. If rejection and rework are common, waiting for acceptance might be safer.
Tax vs financial reporting: why the “right” answer can differ
It’s common for businesses to keep books one way for management and financial reporting and to file taxes under rules that differ. Tax rules may specify how to treat advance payments, long-term contracts, and certain industries. Even within accrual accounting, there can be differences between how you recognize revenue for financial reporting and how you report it for tax purposes.
If you are trying to avoid surprises, the best approach is to separate the bookkeeping mechanics from the tax outcome. Keep clean records of:
Cash received by date
Invoices issued by date
Work performed by period
Deferred revenue balance by contract
Receivables and retainage by contract
With that structure, you and your tax preparer can map those records to the tax method you must use. The bookkeeping becomes a reliable source of truth, and the tax adjustments become a controlled layer on top.
Practical workflow: how to record staged payments step-by-step
If you want a simple repeatable process, use a contract “sub-ledger” or project tracker. Whether it’s inside your accounting software (projects/jobs module) or a separate spreadsheet, track each contract with the same fields. Here’s a practical workflow:
Step 1: Create the contract record. Note the total contract price, expected costs (if relevant), start date, expected completion date, and milestone schedule (billing triggers and amounts).
Step 2: Decide your revenue recognition approach. For each contract, determine whether revenue is earned at milestones or over time. Document the basis (deliverable-based, cost-to-cost, time elapsed, etc.).
Step 3: Record invoices and cash separately from revenue. If you use accrual accounting, route invoices that are ahead of performance into deferred revenue. Route earned-but-unbilled amounts into unbilled revenue or a contract asset if you track it.
Step 4: Recognize revenue on a schedule. Monthly is common. Each month, calculate revenue earned to date for each contract, subtract revenue recognized previously, and post the difference.
Step 5: Reconcile and review. Compare billed-to-date vs revenue-to-date to understand whether you are overbilled (liability) or underbilled (asset). Review receivables and aging for collection risk.
Step 6: Update estimates and allocations. When scope changes or cost estimates change, update the project and adjust future recognition. If you discover you are likely to lose money on a contract, you may need to recognize the expected loss promptly (this depends on your reporting framework, but it’s a useful management practice either way).
Examples to make it concrete
Let’s walk through a few simplified examples to show how the recordings differ.
Example 1: Simple milestone deliverables, paid after completion of each milestone
Contract: 30,000 total. Milestones: 10,000 after Phase 1 delivery, 10,000 after Phase 2 delivery, 10,000 after final delivery. Customer pays 30 days after invoice.
If each phase is a distinct deliverable, under accrual you recognize revenue when delivered:
At Phase 1 delivery and invoicing:
Debit: Accounts Receivable 10,000
Credit: Revenue 10,000
When the payment arrives:
Debit: Cash 10,000
Credit: Accounts Receivable 10,000
Repeat for Phase 2 and final delivery.
Example 2: Deposit up front, then milestones, revenue earned over time
Contract: 50,000. Deposit: 15,000 at signing. Additional invoices: 20,000 at mid-point, 15,000 at completion. Work occurs evenly over 5 months.
Under accrual, you might recognize 10,000 revenue per month (50,000 ÷ 5). When you receive the deposit:
Debit: Cash 15,000
Credit: Deferred Revenue 15,000
Month 1 revenue recognition (earned 10,000):
Debit: Deferred Revenue 10,000
Credit: Revenue 10,000
Now deferred revenue is 5,000. In Month 2 you earn another 10,000. But you only have 5,000 deferred revenue remaining, so the extra 5,000 represents earned but not yet billed (or not yet paid) depending on invoicing. If you haven’t invoiced yet, you might record a contract asset/unbilled receivable. If you invoice at midpoint in Month 3, the accounting shifts accordingly.
The point is: revenue recognition follows the work pattern; invoices and cash move balances between receivables and deferred revenue.
Example 3: Cash basis treatment of the same deposit scenario
If you’re using cash basis, the 15,000 deposit is recorded as income in the month received, even though you haven’t performed all the work. Subsequent payments are recorded as income when received. For cash basis tax filing this may be allowed, but for internal reporting it can make Month 1 look extremely profitable and later months look weak even though work is steady.
How to set this up in common bookkeeping systems
Most modern accounting software can handle staged payments, but it depends on how you configure it. The key features to look for are:
Customer deposits / deferred revenue: Ability to post a receipt to a liability account instead of revenue.
Progress invoicing: Ability to invoice by percentage or milestone.
Projects or jobs tracking: Ability to tag income and costs to a project for margin reporting.
Revenue recognition tools: Some systems let you schedule revenue recognition automatically; others require manual journal entries.
If your system does not have advanced revenue recognition, you can still do it with a simple approach: post customer prepayments to a “Deferred Revenue” liability, then once a month move the earned portion into revenue with a journal entry. Keep a small schedule (spreadsheet or report) that supports the deferred revenue balance by contract so you can reconcile it.
Common mistakes and how to avoid them
Mistake 1: Recording deposits directly to revenue under accrual.
If you haven’t earned it, it’s not revenue. Use deferred revenue and release it as you perform.
Mistake 2: Letting invoices dictate revenue recognition.
Invoices are billing events, not performance events. Separate billing from earning.
Mistake 3: Not tracking project status consistently.
If you recognize revenue over time but don’t track completion percentage or earned milestones, you’ll end up guessing. Use a consistent measure.
Mistake 4: Ignoring retainage and acceptance clauses.
These terms affect when amounts are due and whether collection is assured. Track retainage separately and pay attention to disputes.
Mistake 5: Failing to update estimates.
If total expected hours or costs change, your revenue recognition over time changes. Update regularly.
Mistake 6: Mixing contract types in one bucket.
A fixed-fee milestone contract behaves differently than time-and-materials with a cap, and both differ from subscription or maintenance components. Separate them in your tracking.
Special considerations when a contract includes both milestones and ongoing services
Some contracts bundle implementation milestones with ongoing support, hosting, maintenance, or retainers. In those cases, staged payments might include amounts that actually relate to future periods of service. A common example: “50,000 implementation plus 12 months of support for 12,000, payable 31,000 at signing and 31,000 at go-live.” Even if the customer pays a big amount at signing, part of it may belong to support delivered over the next year.
The practical approach is to split the contract into components: (1) implementation deliverables and (2) ongoing services. Record the portion relating to ongoing services as deferred revenue and recognize it over the service period. Record implementation revenue as milestones are delivered or as progress is made, depending on your approach. This prevents overstating revenue early and understating it later.
How to know your records are “right”: a quick self-check
Whether you’re on cash basis or accrual basis, a few sanity checks help you spot problems fast:
Deferred revenue should represent work you still owe. If you have a large deferred revenue balance but the project is nearly complete, you might not be recognizing revenue timely. If you have no deferred revenue but you routinely take deposits, you might be over-recognizing early.
Accounts receivable should tie to unpaid invoices. If it doesn’t, you might be posting receipts or credits incorrectly.
Project profitability should be explainable. If a project looks wildly profitable early and unprofitable later, you might be using cash receipts as revenue while costs accrue over time, or you might not be allocating revenue sensibly.
Billed-to-date vs earned-to-date should make sense. If you are consistently overbilled, you may be front-loading invoices to fund work (not inherently wrong) but your deferred revenue should reflect it. If you are consistently underbilled, you may have cash flow risk and should monitor unbilled work.
Simple rules of thumb
If you want quick guidance you can remember:
If you got paid before you delivered: treat it like a liability (deferred revenue) under accrual.
If you delivered before you got paid: treat it like an asset (accounts receivable) under accrual.
If you are on cash basis: income is usually recorded when cash is received, but consider tracking deposits separately for internal clarity.
If milestones represent real deliverables: recognizing revenue at milestones often fits.
If milestones are just billing checkpoints: recognizing revenue over time often fits better.
Putting it all together
Recording income from staged or milestone-based payments is ultimately about matching money to performance. Cash basis makes the bookkeeping easy but can distort performance; accrual basis is more informative but requires tracking deferred revenue and receivables. The contract language—deliverables, acceptance, cancellation rights, retainage—tells you whether a milestone is truly “earned” or simply a billing trigger. From there, you choose a recognition approach (milestone-based or over-time progress), and you build a repeatable workflow that records invoices and cash separately from revenue.
If you implement one disciplined habit, make it this: maintain a contract-by-contract schedule that ties together total contract price, invoices issued, cash collected, revenue recognized, and remaining obligation. With that schedule, staged payments stop being confusing. They become a predictable set of entries that reflect reality: sometimes you’re paid ahead (deferred revenue), sometimes you’re paid behind (receivables), but your income statement reflects what you actually earned during the period.
Related Posts
How do I prepare accounts if I have gaps in my records?
Can you claim accessibility improvements as a business expense? This guide explains when ramps, lifts, digital accessibility, and employee accommodations are deductible, capitalized, or claimable through allowances. Learn how tax systems treat repairs versus improvements, what documentation matters, and how businesses can maximize legitimate tax relief without compliance confusion today.
Can I claim expenses for business-related website optimisation services?
Can accessibility improvements be claimed as business expenses? Sometimes yes—sometimes only over time. This guide explains how tax systems treat ramps, equipment, employee accommodations, and digital accessibility, showing when costs are deductible, capitalized, or eligible for allowances, and how to document them correctly for businesses of all sizes and sectors.
What happens if I miss a payment on account?
Missing a payment is more than a small mistake—it can trigger late fees, penalty interest, service interruptions, and eventually credit report damage. Learn what happens in the first 24–72 hours, when lenders report 30-day delinquencies, and how to limit fallout with fast payment, communication, and smarter autopay reminders.
