When you have one client, you can get away with tracking everything in your head and sending invoices via email. When you have three or four clients running at the same time, that stops working. Things fall through the gaps, invoices go out late, and you spend mental energy on management that should go toward the work itself.
This is the system I use. It's not complicated and most of it is free.
Contracts and scope: set expectations before starting
The most common source of freelance problems isn't technical, it's scope misunderstanding. A client who says "a simple website" and a developer who hears the same thing often have very different ideas of what that means.
Before any project starts, I send a short scope document covering: what will be delivered, what's explicitly not included, the payment schedule, how many revisions are included, and what happens if the scope changes mid-project.
I use HelloSign (free up to 3 signatures per month) to get this signed. Most clients are comfortable with digital signatures and it creates a clear record.
For ongoing retainer clients where scope varies month to month, I skip the formal contract after the first engagement and rely on a short email confirmation for each month's work.
Project tracking: one place for everything
For tracking what's in progress, what's waiting on the client, and what's coming up, I use Notion. The free plan is enough.
My setup is simple: one database with all active projects. Each project has a status (in progress, waiting on client, review, complete), a due date, and a client tag. I can filter by status or client in a few clicks.
I don't use a separate tool for task management. Everything lives in the same Notion database, with tasks as sub-items under each project.
This took about two hours to set up and has saved considerably more time than that.
Linear is an alternative if you prefer a cleaner interface with better keyboard shortcuts. The free plan is good and the task management workflow feels more natural for developers. But it's a separate tool from notes and documentation, so pick it only if you want those separate.
Time tracking: Toggl Track (free)
Toggl Track is the simplest time tracking tool that actually works. You create a client and a project, type what you're working on, and press the start button. Press stop when you're done.
At the end of a billing period, you go to the reports view, filter by client, and export a timesheet. If you bill hourly, this is the report you send with your invoice.
The free plan has unlimited projects, unlimited clients, and 90 days of report history. That covers everything a solo freelancer needs.
One habit that makes a real difference: always have Toggl open before you start working. The mental shift of pressing a button when you start and stop makes you more honest about how long things actually take, which makes future estimates better.
Communication: keep it organized by client
For client communication, I use whatever the client prefers. US and EU clients are almost always on Slack. Indian clients use WhatsApp more often.
The important thing is not mixing client conversations. If three clients are all messaging you on WhatsApp, they get confused fast. I ask new clients early in the relationship which communication channel works best for them, and that becomes the single channel for that client.
For async updates and demos, Loom (free for up to 25 videos) is worth using. Recording a 3-minute walkthrough of what you built is faster to create than writing a detailed update, and clients generally respond better to it.
Invoicing: Wave (free)
Wave handles invoicing, payment tracking, and basic accounting. The free plan is completely functional.
I create an invoice in Wave for each billing milestone, set the payment terms (net 15 for most clients), and send it. Wave tracks the status and sends automatic reminders if an invoice goes unpaid. When payment arrives, I mark it paid in Wave and the accounting records update automatically.
One Wave feature that's actually useful: you can enable online payments through Wave so clients pay directly on the invoice rather than doing a manual bank transfer. There's a transaction fee, but for smaller invoices where you want fast payment it's worth it.
Zoho Invoice is a solid alternative with similar functionality. Both are free for solo freelancers.
Receiving payments: depends on where clients are
For Indian clients: NEFT or IMPS bank transfer is fine. Include your bank details on every invoice.
For US and EU clients: Wise is the best option. You get a real US bank account number (routing number + account number). Your US client pays you like a local transfer, with no international wire fees on their end. You receive USD and convert to INR through Wise at near-market rates.
Payoneer works too, especially if you're on platforms like Upwork. The fees are slightly higher but it's reliable.
A typical week
Monday: review Toggl reports from last week, check if any invoices need follow-up, update project statuses in Notion.
During the week: Toggl running whenever I'm working on client work, Slack and email for communication, project status updated in Notion when something moves.
End of month: generate time reports from Toggl, create invoices in Wave for any hourly work, follow up on any outstanding invoices.
The whole management overhead for 3 to 4 active clients takes maybe 2 to 3 hours per week. If it's taking more than that, something in the system needs to be simplified.
What I'd add if I were billing more
At some point, a proper accounting tool (Zoho Books or QuickBooks) makes sense to replace Wave's basic accounting. That's around $15 to $20/month and worth it once you're dealing with GST filings and serious income tracking.
A proper contract template reviewed by a lawyer is also worth doing eventually, especially for larger projects. One-time cost, covers you indefinitely.
But in the early stages, the setup above handles everything and costs almost nothing.