On this page
A deposit or milestone payment changes when cash arrives. It does not automatically change the project fee, final profit, or the amount of work still owed. Build a project cash schedule alongside the cost budget, using payment dates and expenditure dates rather than only invoice totals. This helps reveal whether the business must fund part of delivery before the client payments catch up.
Create a simple milestone schedule
A hypothetical $12,000 project collects a 25% deposit of $3,000, a 50% milestone payment of $6,000, and a final 25% payment of $3,000. Planned delivery cash costs are $4,000 before the milestone, $3,000 during the next phase, and $1,000 before final collection. Total cash cost is $8,000. Assuming every payment arrives as scheduled, the project ultimately adds $4,000 of cash before other business cash flows.
Closing project cash balance = opening balance + client cash receipts − project cash payments; funding gap = magnitude of the lowest negative balance
| Event | Cash change | Running balance |
|---|---|---|
| Deposit | +$3,000 | $3,000 |
| First phase costs | −$4,000 | −$1,000 |
| Milestone receipt | +$6,000 | $5,000 |
| Remaining delivery costs | −$4,000 | $1,000 |
| Final receipt | +$3,000 | $4,000 |
Identify the early funding gap
Starting with zero project cash, the $3,000 deposit followed by $4,000 spending creates a negative $1,000 balance before the milestone payment. Receiving $6,000 then lifts the balance to $5,000. Spending the next $3,000 and final $1,000 reduces it to $1,000, before the last $3,000 payment brings it to $4,000. The peak shortfall is $1,000 even though the total project result is positive.
Test a delayed milestone
If the $6,000 milestone receipt is delayed until after the next $3,000 of costs must be paid, the temporary balance reaches negative $4,000. That is a timing scenario, not a reduction in the agreed project fee. It can still make the project difficult to fund. Model payment delays from actual collection experience where available, and identify which expenses are committed before the milestone is accepted.
Define milestones operationally
Connect each milestone to a clear deliverable, review step, or acceptance event, and specify the agreed invoicing and payment process. A vague milestone can leave both parties uncertain about when payment should occur. Advance receipts may carry refund or service obligations under the agreement, so do not treat the entire bank balance as freely earned profit. This page does not provide legal terms or prescribe revenue recognition; it models cash movement.
Maintain a rolling project cash forecast
Update expected receipt dates, actual collections, supplier commitments, and internal payment timing as work progresses. Separate cash costs from noncash allocations and owner-time planning costs so the schedule measures bank funding correctly. Show negative balances rather than replacing them with zero; they indicate funding required from outside the project schedule. A larger deposit can reduce the arithmetic gap, but client acceptance, contractual terms, and delivery obligations still matter. The hypothetical payment split is an example, not a standard required deposit.
Method references: SBA: manage your business finances; Acquisition.gov: firm-fixed-price description. Accessed October 22, 2026. All dollar figures are hypothetical worked examples.
Related calculators & guides
- Hourly vs Project Pricing: Which to Choose
- Build a Scope Budget for a Fixed-Fee Project
- Contingency vs Profit Margin in Project Quotes
- Price Revision Rounds Without Hiding the Work
- Price a Change Order from Incremental Work
- Include Subcontractors in Project Quotes
- Calculate Project Profit Margin with Clear Costs
- Estimate to Complete a Fixed-Fee Project
- Build Service Package Tiers from Delivery Costs
- Review Project Pricing After Delivery
- Fixed Project Price Calculator
- Project Remaining Budget Calculator
- Project Contingency and Margin Reference
- Fixed Project Quote Worked Example
- Freelance Pricing and Project Workbook
Report an error
Thank you! Your feedback helps us make this page better.
Could not send. Please try again.