BlogGuide
Guide·18 April 2026·17 min read

Deposits, Milestones, or Net-30: Which Invoice Structure Wins?

Compare deposit, milestone, and net-30 billing for solo developers. Learn which structure protects cash flow, reduces risk, and fits your business model.

TC
The Cashierr Team

Deposits, Milestones, or Net-30: Which Invoice Structure Wins?

You've just landed a new client. Six weeks of work ahead. You're excited—but also thinking about rent. The question hits you immediately: how do you structure the payments so you don't end up waiting three months to get paid while your own bills are due next week?

This is the unglamorous reality of running a dev business solo. You're not worried about scaling to a hundred engineers. You're worried about cash flow. You need to know: should you ask for half upfront and half on delivery? Break the project into three milestones? Give them net-30 terms and hope they actually pay?

Each approach has real tradeoffs. A deposit protects your time but can scare off clients. Milestones spread risk and keep cash flowing, but they add complexity. Net-30 is what "real businesses" do—except you're not a corporation with a finance team and a line of credit. You're a solo developer who needs to eat.

This article breaks down all three structures, shows you the math behind each, and helps you figure out which one—or which combination—makes sense for your business. By the end, you'll understand not just the mechanics, but the hidden costs and wins of each approach.

Understanding the Three Main Invoice Structures

Before we dig into the tradeoffs, let's define what we're actually talking about. These three billing models represent fundamentally different assumptions about trust, risk, and timing.

What Is a Deposit-Based Model?

A deposit structure means you ask the client to pay a percentage—typically 25% to 50%—before you start work. The rest is due on completion or split into stages.

Example: A $10,000 project might require $5,000 upfront, with the remaining $5,000 due when you deliver.

The deposit does two things. First, it confirms the client is serious. A looky-loo won't fork over cash. Second, it gives you runway—you can cover your own costs (hosting, tools, time) without waiting for the final payment.

The downside? Clients hate it. They see it as a risk they're taking ("What if they disappear?"), and it can kill deals before they start, especially with larger companies or risk-averse clients.

What Is a Milestone-Based Model?

Milestone billing breaks a project into chunks, with a payment tied to each chunk's completion. Instead of one upfront deposit and one final payment, you might structure it like this:

  • 30% on project kick-off
  • 40% when Phase 1 is complete
  • 30% on final delivery
Or for a longer engagement:
  • 25% at start
  • 25% at first review
  • 25% at second review
  • 25% on launch
Milestones feel more balanced. The client sees progress, you get paid regularly, and there's a clear definition of what "done" means at each stage. This structure also naturally forces you to define scope—you can't just say "I'll work until you're happy."

What Is Net-30 Billing?

Net-30 is standard in the business world. You deliver the work, send an invoice, and the client pays within 30 days. Net 30 payment terms are a formal agreement that payment is due 30 calendar days from the invoice date.

There are variants: net-15 (15 days), net-45 (45 days), and even net-90 (90 days). Some invoices include a discount for early payment, like "2/10 net 30," which means a 2% discount if paid within 10 days, otherwise full payment by day 30.

Net-30 is the "professional" choice. It's what agencies use. It's what corporations expect. But it requires you to have either savings or a line of credit to cover your own costs while waiting to get paid.

The Cash Flow Reality: How Each Model Affects Your Bank Account

Let's move past definitions and talk about what actually matters: when money hits your account and how much buffer you need.

Imagine you're taking on a $12,000 project that will take you 8 weeks. You have $3,000 in savings, and your monthly expenses are $2,500.

Deposit Model Cash Flow

With a 50/50 split:

  • Week 1: Client pays $6,000 deposit. Your account: +$6,000.
  • Week 8: You deliver, invoice the remaining $6,000. Your account: +$6,000 (assuming they pay immediately).
Reality: They don't pay immediately. You invoice on week 8, and they pay on week 10. So:
  • Week 1: +$6,000 (account: $9,000)
  • Week 4: -$2,500 (rent, account: $6,500)
  • Week 8: -$2,500 (rent, account: $4,000). You also invoice the remaining $6,000.
  • Week 10: +$6,000 (final payment, account: $10,000)
You never dip below $4,000. You're stressed, but you survive.

Milestone Model Cash Flow

With a 30/40/30 split over 8 weeks:

  • Week 1: Client pays $3,600. Account: $6,600.
  • Week 3: Milestone 1 complete, invoice $4,800. Client pays by week 5. Account: $8,400 (after rent: $5,900).
  • Week 6: Milestone 2 complete, invoice $3,600. Client pays by week 8. Account: $6,000 (after rent: $3,500).
  • Week 8: Final delivery, invoice $3,600. Client pays by week 10. Account: $6,100.
You stay healthier because cash is flowing in regularly. You never drop below $3,500, and you're getting paid as you deliver.

Net-30 Model Cash Flow

You deliver the entire project in week 8 and invoice the full $12,000. Client pays by week 12.

  • Week 1: Account: $3,000 (your starting balance)
  • Week 4: -$2,500 (rent, account: $500)
  • Week 8: You deliver and invoice. Account: $500 (you're eating ramen)
  • Week 12: +$12,000 (payment arrives, account: $12,500)
You hit zero or go negative. You need a credit card, a line of credit, or savings. If you have neither, you're in trouble.

This is why net-30 kills solo developers. It's not that the terms are unfair—it's that they assume you have working capital. Corporations do. Solo devs often don't.

Risk Assessment: Which Model Protects You?

Cash flow is one lens. Risk is another. Each model exposes you to different dangers.

Deposit Risk: Scope Creep and Client Abandonment

When you've taken a 50% deposit, you're committed. If the client suddenly decides the project isn't what they wanted, or they run out of money, or they ghost you—you've already spent time on planning, setup, and initial work. You're out the labor.

The deposit doesn't actually protect you from scope creep. A client can say, "I know we agreed on X, but can you also do Y?" and you're stuck deciding: absorb the extra work, renegotiate, or risk them refusing the final payment.

Deposits also don't guarantee final payment. You've gotten 50%, but the remaining 50% is still subject to the same delays and disputes as any other invoice.

Milestone Risk: Definition Disputes

Milestones require clarity. "Milestone 1 complete" means what, exactly? If you and the client have different ideas about what "the homepage is done" means, you're stuck.

Milestone billing also creates more invoices and more administrative work. Instead of one invoice at the end, you're sending three or four. Each one is a touchpoint where something can go wrong.

On the flip side, milestones force this clarity upfront. You have to define what done looks like, which actually reduces scope creep compared to a lump-sum deposit model.

Net-30 Risk: Non-Payment and Cash Starvation

Net-30 is the riskiest for a solo dev without working capital. You're extending credit to the client. If they don't pay, you have to pursue them—which costs time and money. If they pay late (net-45 or net-60 in practice), you're waiting even longer.

Large companies are notorious for this. They have procurement departments that batch payments. Your invoice might sit in a queue for weeks. Understanding net 30 terms helps, but it doesn't change the reality: you're waiting.

The other risk is that late payment compounds. If a client pays 45 days late, and your next project starts before that payment arrives, you're now juggling multiple projects' cash flows. It gets messy fast.

Which Model Fits Different Client Types?

Your choice isn't just about what's best for you. It's also about what your clients expect and what you can actually enforce.

Startups and Small Companies

Startups are usually cash-constrained and move fast. They often expect net-30 or net-45 because that's what their vendors do. They're used to float.

However, startups also understand the risk of running out of money. If you explain that you need a deposit to cover your own costs, many will accept it. They might negotiate—"Can we do 30% instead of 50%?"—but they get the logic.

Milestones work well here because startups often want to iterate and see progress. Breaking the project into phases aligns with how they think.

Established Companies and Enterprises

Large companies have procurement processes. They expect net-30 or net-45, and they'll often refuse to deviate. They have the cash to wait; they're not worried about float.

Deposits can be a hard sell. They might see it as a sign you're risky or unprofessional. However, if you frame it as "advance payment for setup and planning," it becomes more palatable.

Milestones are often welcomed by larger clients because they create checkpoints and reduce the risk of paying for a failed project all at once.

Agencies and Retainer Clients

If you're doing ongoing work—a retainer—net-30 is standard. You do the work each month, invoice on the last day, and they pay by the 30th. This is the expected rhythm.

Deposits don't make sense for retainers. You're not taking on a lump-sum risk; you're in an ongoing relationship.

Milestones also don't fit retainers. Instead, you might break the retainer into phases ("Month 1-3 focused on infrastructure, Month 4-6 on feature development") with reviews and adjustments, but you're still invoicing monthly.

The Hidden Costs of Each Model

Beyond cash flow and risk, there are operational costs to each approach.

Deposit Model Overhead

Deposits require a contract that's clear about the refund policy. If the client cancels after you've done work, are they entitled to a refund? Partial? None? You need to spell this out.

You also need to track the deposit separately from revenue. Accounting-wise, a deposit is a liability until the work is delivered. This isn't hard, but it's an extra line item.

The biggest hidden cost is the negotiation friction. Asking for a deposit can kill deals. Some clients will just walk. You need to be comfortable with that, or you'll undermine your own terms by making exceptions.

Milestone Model Overhead

Milestones require upfront scope definition. You need to know what Phase 1 includes, what Phase 2 includes, and what Phase 3 includes. If you're working with a client who doesn't know what they want yet, this is painful.

You also need to communicate clearly at each milestone boundary. "Here's what I've delivered. Here's what's in the next phase." If the client expected something different, you need to resolve it before moving forward.

Milestones also create more invoicing work. Three milestones = three invoices, three follow-ups if payment is late, three payment confirmations.

Net-30 Model Overhead

Net-30 sounds simple—you invoice, they pay—but the overhead is in the waiting. If they don't pay on time, you need to follow up. That's email, a phone call, maybe a late fee notice. It's not hard, but it's friction.

You also need to handle the accounting. Implementing net 30 terms requires clarity on your invoice about the due date, late fees (if any), and payment method. Some clients will ignore this and pay whenever they want.

The other overhead is psychological. You've done the work, you're waiting for payment, and you're stressed about whether it'll arrive on time. That's a real cost to your well-being.

Hybrid Approaches: Combining Models

You don't have to pick one model and stick with it forever. Many successful solo developers use hybrids.

Deposit + Net-30

You ask for a 25% deposit upfront, then invoice for the remaining 75% on completion with net-30 terms. The deposit covers your upfront costs and confirms the client is serious. The net-30 on the remainder is standard and acceptable to most clients.

Example: $10,000 project = $2,500 deposit, $7,500 due net-30 on delivery.

This balances cash flow and client comfort. You're not asking for half upfront, so it feels less risky to them. But you've got cash in hand to cover your own costs.

Deposit + Milestones

You ask for a deposit, then structure the rest as milestones. This is common for larger projects.

Example: $30,000 project over 12 weeks.

  • $7,500 deposit (25%)
  • $7,500 due at week 4 (Phase 1 complete)
  • $7,500 due at week 8 (Phase 2 complete)
  • $7,500 due at week 12 (final delivery)
You get cash regularly, the client sees progress, and the deposit confirms commitment.

Milestone + Early-Payment Discount

You structure as milestones, but you offer a discount if they pay early. This incentivizes them to pay faster than net-30.

Example: Milestone is $5,000, due net-30. But if they pay within 7 days, it's $4,900 (a 2% discount).

This is like 2/10 net 30 terms but applied to your milestone structure. You're giving up a small amount to get cash faster, which can be worth it if you need the float.

Retainer + Project Deposits

If you have a retainer client, they're already on net-30 for monthly work. But if they ask for a one-off project on top of the retainer, you might ask for a deposit on that project specifically.

This acknowledges that the retainer relationship is stable (no deposit needed for recurring work) while protecting yourself on new scope (deposit on the project).

How to Choose: A Decision Framework

So which model should you use? Here's a framework.

Step 1: Assess Your Cash Position

Do you have 3+ months of expenses in savings? If yes, net-30 is survivable. You can float the payment.

If no, you need either a deposit or milestones. You can't afford to wait.

Step 2: Know Your Client Type

Large company? Expect net-30, but you might negotiate a deposit for setup costs.

Startup? They'll likely accept a deposit if you explain it. Milestones often appeal to them.

Small business or individual? They might prefer net-30 to avoid paying upfront, but they'll often accept a deposit if you ask.

Step 3: Define Your Risk Tolerance

How much can you afford to lose if a client disappears? If it's not much, ask for a larger deposit.

How much complexity can you handle? If you hate invoicing and follow-ups, avoid multiple milestones.

Step 4: Think About Project Duration

Short projects (under 2 weeks)? A simple 50/50 split or full payment upfront makes sense.

Medium projects (2-8 weeks)? Milestones or deposit + net-30 works well.

Long projects (8+ weeks)? Definitely milestones. You need cash flow throughout.

Retainers (ongoing)? Net-30 monthly is standard, no deposit.

Step 5: Test and Adjust

You don't have to commit to one model forever. Try different approaches with different clients. See what feels right and what clients accept.

You might find that startups are fine with deposits, but enterprises push back. Adjust accordingly.

Real-World Examples: Three Solo Developers, Three Approaches

Let's ground this in reality.

Developer A: The Deposit Advocate

Sarah is a React developer with $2,000 in savings and monthly expenses of $2,200. She can't afford to float.

She uses a 50/50 deposit model on all projects under $15,000. For larger projects, she does 33/33/33 milestones.

She loses maybe 10% of potential clients who balk at the deposit. But the clients she does take are committed, and her cash flow is stable. She's never stressed about payment.

She explains the deposit like this: "I need to cover my own costs—hosting, tools, time for planning—before I start. The deposit covers that. It also confirms you're serious about the project."

Most clients accept this. Some negotiate down to 40% or 30%, and she's fine with that.

Developer B: The Milestone Master

James is a full-stack developer with a three-month emergency fund. He's stable enough to float a bit.

He uses a 25/50/25 milestone structure on all projects. The 25% upfront covers planning and setup. The 50% is due at mid-project when he's done the bulk of the work. The final 25% is due on delivery.

Clients love this because it feels fair and they see progress. James loves it because he gets paid regularly and doesn't have to negotiate as much. The downside is more invoicing and more communication about what "done" means at each milestone.

Developer C: The Net-30 Specialist

Alex is a DevOps consultant who primarily works with mid-sized companies and startups. He has a $20,000 line of credit and $5,000 in savings.

He uses net-30 terms on all projects. Clients expect it, and it's easier to pitch. He doesn't have to negotiate.

The downside? He's constantly managing cash flow. He's learned to batch projects so that payments overlap—while he's waiting for Project A's net-30 payment, he's already invoicing Project B. He also uses his line of credit strategically when cash gets tight.

It works for him because he has the financial infrastructure and the discipline. It wouldn't work for Sarah or James.

Using AI Agents to Track and Optimize Your Invoice Structure

Once you've chosen a model, you need to track it. This is where things get messy for solo developers.

You've got invoices in multiple states: sent, paid, overdue. You've got milestones that need to be tracked. You've got deposits that need to be reconciled against final revenue.

A spreadsheet works until it doesn't. You miss a due date. You forget to follow up on a payment. You lose track of which invoices have been paid.

This is where Cashierr comes in. It's built specifically for solo developers and uses AI agents to track your invoices, flag overdue payments, and show you your cash position in real time.

Instead of manually tracking deposits, milestones, and net-30 invoices, Cashierr's agents do it for you. They answer the two questions you care about most:

  1. How much should I be making this quarter? Cashierr projects your revenue based on your current contracts and invoices, showing you whether you're on track.
  1. How's the business actually doing? It shows you your cash position, outstanding invoices, and upcoming payments so you're never surprised.
With Cashierr's forecasting tools, you can model different invoice structures and see which one gives you the best cash flow for your specific situation. Want to test what happens if you move to a 30/30/40 milestone structure? You can see the impact immediately.

Common Mistakes When Choosing an Invoice Structure

Before you decide, here are pitfalls to avoid.

Mistake 1: Choosing Based on What Sounds "Professional"

Net-30 sounds professional. Deposits sound sketchy. But "professional" doesn't pay your bills. Cash flow does.

If net-30 means you're eating ramen for a month, it's not professional. It's reckless.

Mistake 2: Never Adjusting Your Terms

You don't have to use the same structure for every client. A large, established company might be fine with net-30. A startup might prefer milestones. Adjust based on the client and the project.

Mistake 3: Forgetting to Enforce Your Terms

If you say net-30 but accept payment on day 45 without comment, you've just trained the client that your terms are negotiable.

Enforce your terms. If payment is late, send a friendly reminder. If it's very late, charge a late fee (if your contract allows). Consistency matters.

Mistake 4: Not Communicating Clearly

Ambiguity kills deals. If your deposit terms are unclear, the client might think they're entitled to a refund if they change their mind. If your milestones are vague, you'll argue about what "done" means.

Be explicit. In your contract, write out:

  • When deposits are due
  • What deposits cover (and what they don't)
  • What happens if the project is canceled
  • What each milestone includes
  • When invoices are due
  • What happens if payment is late

Mistake 5: Ignoring Client Relationship Risk

A 50% deposit might protect your cash flow, but it might also damage your relationship with a client who feels like you don't trust them.

Sometimes it's worth sacrificing a bit of cash flow protection for a better relationship, especially if the client is long-term or might refer others.

Find the balance. A 25% deposit + net-30 on the remainder is often a good compromise.

Beyond Payment Terms: Scope and Contracts

Your invoice structure is only part of the picture. You also need clear scope and contracts.

A deposit doesn't protect you if you haven't defined what the client is paying for. Milestones don't work if you haven't defined what "done" looks like at each stage.

Before you send an invoice, you need:

  • A scope document that lists exactly what's included and what's not
  • A timeline that shows when you'll deliver what
  • A contract that spells out payment terms, cancellation policy, and what happens if there's a dispute
The contract doesn't have to be fancy. A simple one-page agreement that both you and the client sign is enough. It protects both of you.

If you're nervous about legal stuff, there are templates online. Bonsai and similar platforms offer contract templates for freelancers. Or hire a lawyer for a few hours to create a template you can reuse.

The point is: don't rely on your invoice structure alone to protect you. Combine it with clear scope and a real contract.

Making the Decision: Your Next Steps

Here's what to do now:

  1. Assess your cash position. How much savings do you have? Can you float a 30-day payment?
  1. Identify your client types. Are you mostly working with startups, enterprises, or small businesses? What do they expect?
  1. Choose a primary structure (deposit, milestones, or net-30) and a backup. For example: "I'll use 25% deposit + net-30 for most clients, but I'll offer full milestones for projects over $20,000."
  1. Write it into your contract. Make your terms explicit and non-negotiable (unless you choose to negotiate).
  1. Track it ruthlessly. Use Cashierr or another tool to track invoices, flag overdue payments, and monitor your cash position.
  1. Adjust based on results. After a few months, see what's working. Are clients accepting your terms? Is your cash flow stable? If not, adjust.
The best invoice structure is the one that works for your business, your clients, and your cash position. There's no universal answer. But now you have the framework to figure out what's right for you.

And remember: this is about protecting your time and your business. You're not being greedy by asking for a deposit or using milestones. You're being smart.

Ready to take control of your revenue?
Join thousands of solo developers tracking invoices,
hitting revenue goals, and growing with AI-powered insights.
Get Started for free
2026 © Built by PADISO.CO
|TermsPrivacy