Invoicing Setup for Freelance Developers
13 Aug 2026The invoice is the moment your client decides whether working with you feels professional or like a favor between friends. Get the setup right once and you stop thinking about it.
Pick a tool, don’t build one
Unless invoicing is your product, don’t write your own. Any of these handle the whole loop — invoice, payment link, reminders, receipts:
- Wave — free, good enough for most solo freelancers, weaker automation.
- Stripe Invoicing — if you already take Stripe payments elsewhere, this keeps everything in one dashboard.
- Bonsai or HoneyBook — built specifically for freelancers, bundles contracts and invoicing together.
Pick based on what you already use for payments, not on features you won’t touch. Switching later is annoying but not costly — don’t over-research this.
What every invoice needs
- Invoice number, sequential (
INV-2026-014, not “invoice for John”). - Your business name and payment details — bank or Stripe/PayPal link, not “I’ll send my Venmo.”
- Line items with actual descriptions (“Backend API development, Sept 1–15” not “Development work”).
- Payment terms, stated as a number: Net 15, not “please pay promptly.”
- A due date, calculated from the terms, not left vague.
The terms that get you paid faster
Net 15, not Net 30. Net 30 is a corporate default that exists because large companies process payments slowly through AP departments. You’re not a large company’s vendor relationship, you’re a freelancer who needs cash flow. Most clients will accept Net 15 without pushback if you set it as your default from the first invoice, not something you negotiate down later.
A deposit before work starts. 25-50% upfront, non-refundable, stated in the contract before you send the first invoice. This isn’t about the money — it’s the fastest way to filter out clients who were never going to pay reliably. Someone who balks at a deposit will balk at the final invoice too.
A late fee clause, stated even if you rarely enforce it. “1.5% per month on overdue balances” in the contract changes behavior even when you never actually charge it — it signals the due date is real.
Automate the follow-up
The single biggest lever on getting paid on time isn’t the invoice, it’s the reminder. Set this up once:
Day 0 (due date): automated "your invoice is due today"
Day 3 (overdue): automated reminder
Day 10 (overdue): personal email, not automated — this one you write
Day 20 (overdue): phone call or the late fee clause, your choice
Most invoicing tools (Wave, Stripe, Bonsai) handle Day 0 and Day 3 automatically if you turn the setting on. Don’t skip the manual Day 10 email — an automated reminder at that point reads as a company that doesn’t care; a personal one reads as a person who’s owed money and is paying attention.
Track it outside the invoicing tool too
Keep a simple spreadsheet or the invoicing tool’s own dashboard as your single source of truth for what’s outstanding. The failure mode to avoid: three clients, three different invoicing habits, and no single place that tells you who owes what. Once a week, five minutes, check what’s unpaid and past Net 15. That’s the whole system — it doesn’t need to be more complicated than a weekly glance and a follow-up email.
The clause that saves the relationship
Put “work pauses on invoices more than 15 days overdue” in the contract, and actually use it. It feels aggressive to write down. In practice it’s the thing that lets you pause without an awkward conversation — you’re just following the terms both sides already agreed to.