Income and Expense Spreadsheet for Freelance Web Developers
A web developer's money arrives as project milestones and monthly maintenance fees, while hosting, domains and plugin licenses often go out on a client's behalf. This sheet keeps those streams from blurring together.
How a web developer gets paid, and what that means for the sheet
Web projects usually bill in stages: a deposit to start, a payment at design or staging sign-off, and a final invoice at launch. Maintenance clients pay a flat monthly fee, often by card or direct debit. Each payment is its own line, so one build shows up as several Income rows spread over weeks.
Log Income on the day the money lands, not the day you send the invoice. The Invoices tab does not link to Transactions, so use the same client name on both. If a client pays for hosting through you, log their payment as Income and your bill from the host as an Expense. Log a refunded milestone as Other expense.
One example month, logged
Invented numbers, to show the shape. Each row below is one line on the Transactions tab.
| Client | What it was | Income |
|---|---|---|
| Harbor Street Bakery | Online store build, milestone 2 of 3 | $2,400 |
| Lumen Dental Group | Monthly site maintenance retainer | $450 |
| Pinecrest Realty | Listing search feature, final invoice | $3,200 |
| Orbit Fitness | Annual hosting renewal re-billed | $180 |
| Income total | $6,230 | |
| Category | What it was | Expense |
|---|---|---|
| Software & subscriptions | Git hosting and CI minutes | $48 |
| Software & subscriptions | Premium form plugin license for a client build | $99 |
| Equipment | Mechanical keyboard | $135 |
| Equipment | Test phone for mobile bug checks | $320 |
| Contractors | Freelance designer, landing page mockups | $650 |
| Home office | Monitor arm | $70 |
| Professional fees | Bookkeeper, quarterly cleanup | $180 |
| Marketing | Local meetup sponsorship | $150 |
| Taxes & licenses | City business license renewal | $75 |
| Expense total | $1,727 | |
In this example the month ends with $6,230 in, $1,727 out and $4,503 left before you set anything aside for tax.
The P&L tab sorts the same rows by category:
| Expense category | Month total |
|---|---|
| Software & subscriptions | $147 |
| Equipment | $455 |
| Contractors | $650 |
| Marketing | $150 |
| Home office | $70 |
| Professional fees | $180 |
| Taxes & licenses | $75 |
| Expense total | $1,727 |
Where a web developer's purchases go
- Software & subscriptions: Git hosting, staging servers, domain renewals, error monitoring and paid plugins all fit here. If you license a plugin for one client, put the client and project in the Description so the cost can be matched to the Income row later.
- Equipment: Test phones, tablets, a second display and a keyboard go under Equipment. If one receipt covers a laptop and a bag, keep two rows when the lines are separate on the receipt, so the accessories do not hide inside the hardware.
- Contractors: A designer, copywriter or QA tester working on a client build goes under Contractors. Name the project in the Description. If one invoice from a subcontractor covers two clients, split it into two rows, one per project.
- Home office: Desk, chair, monitor arm and the internet bill belong under Home office. A bill you use for both work and personal life is a mixed receipt: log only the work portion you decide on, and write the split in the Description.
Four tracking tips for a web developer
- Put the client's name in the Description of every hosting, domain and plugin cost. At the end of a project you can filter the Transactions tab and see what that build cost you in tools, apart from your own hours.
- Add each milestone to the Invoices tab the day you send it. When it is paid, fill in Date paid and log the Income row on the Transactions tab. Launch payments are often late, and Days outstanding shows how long each one has waited.
- Domains, SSL certificates and Git plans renew once a year and are easy to forget. Log each renewal as it happens and note the renewal month in the Description, so next year's bill does not catch you off guard.
- Keep maintenance retainers as a repeating Income line with one Description, such as Maintenance retainer. Give extra hours a different Description, so the steady base income and the one-off fixes stay easy to tell apart.
Two formulas worth a cell of their own
These use the kit's Transactions tab (Type in column B, Category in C, Client / Vendor in E, Amount in F). Excel and Google Sheets both support SUMIFS.
- Spend in your biggest category, here Contractors:
=SUMIFS(Transactions!F:F,Transactions!B:B,"Expense",Transactions!C:C,"Contractors")returns $650 on the example month. - Income from one client:
=SUMIFS(Transactions!F:F,Transactions!B:B,"Income",Transactions!E:E,"Harbor Street Bakery")returns $2,400 on the example month.
Questions
How do I track a website project paid in three milestones?
Create one invoice per milestone on the Invoices tab, with the same client name and an Invoice # like Bakery M2. When each payment arrives, fill in Date paid there and add an Income row on the Transactions tab. The P&L tab then adds each payment to the month it was received.
Where do I log hosting I pay for my clients?
Log what you pay the host as an Expense under Software & subscriptions and write the client's name in the Description. When the client reimburses you, add an Income row for that payment. Keeping both rows shows the real cost of each account.
Already built
The Freelancer Finance Spreadsheet Kit has the Transactions, Invoices, P&L, Cash Flow and Tax Set-Aside tabs wired together, with this kind of example data on every tab. One Excel file, $29.
Free: the Tax Set-Aside tab as a standalone Excel file
One working tab: type your quarterly income, expenses and the rate you choose, and it shows what is still to put aside. Confirm your email and the file arrives right away, plus an occasional note (at most one a week) on tracking freelance money. Unsubscribe in one click. Privacy.
The same sheet for other freelancers
- All freelancer spreadsheet guides by profession
- Freelance Consultant Income and Expense Spreadsheet Template
- Freelance Graphic Designer Income and Expense Spreadsheet
- Income and Expense Spreadsheet for Freelance Photographers
- Freelance Social Media Manager Income and Expense Spreadsheet
- Freelance Translator Spreadsheet for Per-Word Income and Costs
- Freelance UX Designer Income and Expense Spreadsheet
- Freelance Video Editor Spreadsheet for Income and Expenses
- Freelance Virtual Assistant Income and Expense Spreadsheet
- Freelance Voice-Over Artist Income and Expense Spreadsheet
- Freelance Writer Income and Expense Spreadsheet for Articles
- Online Tutor Income and Expense Spreadsheet for Lesson Payouts
More freelancer finance guides
- Excel or Google Sheets for freelancer finances? What actually differs
- Freelance expense categories for a spreadsheet: a starter list that stays short
- How to build a freelance income and expense tracker in a spreadsheet
- A simple 12-month cash flow forecast for freelancers
- Freelancer profit and loss (P&L) in a spreadsheet: a one-page layout
- Freelancer runway: three spreadsheet formulas for how long your cash lasts
- Freelancer tax set-aside: what goes into the number, and how to track it
- Invoice tracker spreadsheet: formulas for paid, due and overdue
- Budgeting on irregular freelance income: the baseline-pay method
- How to track freelance income by client in a spreadsheet
General information about using spreadsheets, not financial, tax or accounting advice. Example numbers are invented. Categories are for tracking and do not say what is deductible.