{
  "slug": "agency-deposit-structure",
  "title": "Project Deposit & Milestone Billing Calculator",
  "heading": "Deposit and Milestone Billing Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/agency-deposit-structure",
  "summary": "Model whether your billing schedule keeps the project cash-positive throughout.",
  "description": "A project can be profitable on paper and still drain your bank account if you fund delivery for two months before the first invoice clears. This calculator lays a deposit percentage and milestone schedule against your monthly delivery cost and payment terms, and reports the deepest negative cash position the project reaches — the amount of your own money you're lending the client — along with the deposit percentage that would keep the project cash-neutral. Most agencies find a 40-50% deposit on short projects, or monthly-in-advance billing on retainers, eliminates project financing entirely.",
  "formula": "Cash in by month = deposit + milestones invoiced (shifted by payment terms). Cash out = monthly delivery cost. Max exposure = deepest cumulative negative balance.",
  "dateModified": "2026-08-25",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=agency-deposit-structure",
  "inputs": [
    {
      "id": "fee",
      "label": "Project fee",
      "kind": "number",
      "hint": null,
      "default": 60000,
      "unit": "$",
      "min": 1,
      "max": null
    },
    {
      "id": "months",
      "label": "Project length",
      "kind": "number",
      "hint": null,
      "default": 4,
      "unit": "months",
      "min": 1,
      "max": 24
    },
    {
      "id": "deposit",
      "label": "Deposit taken upfront",
      "kind": "number",
      "hint": null,
      "default": 25,
      "unit": "%",
      "min": 0,
      "max": 100
    },
    {
      "id": "cost",
      "label": "Total delivery cost",
      "kind": "number",
      "hint": null,
      "default": 33000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "terms",
      "label": "Client payment terms",
      "kind": "number",
      "hint": null,
      "default": 45,
      "unit": "days",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "exposure",
      "label": "Peak cash you fund yourself",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "deposit",
      "label": "Deposit collected",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "perMilestone",
      "label": "Each milestone invoice",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "neutralDeposit",
      "label": "Deposit % needed to stay cash-neutral",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "endBalance",
      "label": "Project cash position at close",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Project fee: 60000 $",
      "Project length: 4 months",
      "Deposit taken upfront: 25 %",
      "Total delivery cost: 33000 $",
      "Client payment terms: 45 days"
    ],
    "outputs": [
      "Peak cash you fund yourself: $1,500.00",
      "Deposit collected: $15,000.00",
      "Each milestone invoice: $11,250.00",
      "Deposit % needed to stay cash-neutral: 28%",
      "Project cash position at close: $27,000.00"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter project fee ($).",
      "Enter project length (months).",
      "Enter deposit taken upfront (%).",
      "Enter total delivery cost ($).",
      "Enter client payment terms (days).",
      "Read your peak cash you fund yourself on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "fee": 36000,
        "months": 2,
        "deposit": 15,
        "cost": 20000,
        "terms": 30
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "fee": 60000,
        "months": 4,
        "deposit": 25,
        "cost": 33000,
        "terms": 45
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "fee": 96000,
        "months": 6,
        "deposit": 40,
        "cost": 53000,
        "terms": 75
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "What deposit should I ask for?",
      "a": "25-50% is standard for project work, and clients rarely object when it's framed as scheduling the resource rather than as distrust. For first engagements with an unknown client, a higher deposit is also your credit check."
    },
    {
      "q": "Milestones or monthly billing?",
      "a": "Monthly billing is smoother for cash and simpler to administer; milestone billing suits clients who need deliverable-linked approvals. The cash difference usually comes down to whether milestones are evenly spaced or back-loaded — back-loaded milestones are where exposure builds."
    },
    {
      "q": "Why does payment terms lag matter so much?",
      "a": "Because it shifts every invoice one to two months to the right while your payroll runs on schedule. The same project with net-15 rather than net-60 terms can cut peak exposure by more than half without any change to the fee or deposit."
    },
    {
      "q": "Is funding a client's project ever acceptable?",
      "a": "Occasionally, for a strategic account with strong credit — but price it. If you're carrying $40k for two months, that's a real financing cost that belongs in the fee, not a free service."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/agency-dso-impact",
    "https://www.revenuelab.fyi/toolbox/agency-runway-months",
    "https://www.revenuelab.fyi/toolbox/agency-effective-hourly"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Project Deposit & Milestone Billing Calculator (https://www.revenuelab.fyi/toolbox/agency-deposit-structure)"
}