Cellwise Try it free

Excel for your field

Excel for freelancers and consultants

For designers, developers, writers and consultants who are their own billing department. One project log in Excel can tell you what you really earn per hour on fixed-fee work, who owes you money and for how long, how dependent you are on one client, and what you need to charge next year. Every formula below runs on a real freelance log you can edit.

General spreadsheet help, not tax or financial advice. The set-aside % is a number you choose; check what applies to you with a tax professional.

Sample data

Every result on this page comes from this sheet, calculated by the same engine the Cellwise app uses. Change a number and watch the formulas react.

ABCDEFGH
1ProjectClientBillingHoursHourly rateFixed feeInvoicedPaid
2Brand refreshAlder CoffeeFixed463200Sep 12, 2026Sep 30, 2026
3Website copyBrightline DentalHourly18.585Sep 20, 2026Oct 14, 2026
4Retainer, OctoberKestrel LabsFixed221800Oct 1, 2026Oct 9, 2026
5Landing pageNorthpine OutdoorHourly3190Oct 3, 2026
6Pitch deckTallow and CoFixed382400Oct 10, 2026Oct 28, 2026
7Email sequenceBrightline DentalHourly1285Oct 17, 2026
8Retainer, NovemberKestrel LabsFixed91800Nov 1, 2026
9Logo variationsAlder CoffeeHourly6.590Aug 28, 2026
10Annual report layoutFernway TrustFixed643600Sep 5, 2026
11
12As ofNov 1, 2026Terms (days)30Set-aside %0.28

What Excel does for freelancers

Find your real hourly rate on fixed-fee work

Fixed fees feel like good money until you count the hours. Divide everything you charged on fixed-fee projects by the hours they took and you get your effective hourly rate. Compare it with your hourly rate: if fixed work pays less, your quotes are too low or the scope keeps growing.

This only works if you log hours on fixed projects too. A timer app exported into the Hours column is enough.

=ROUND(SUMIFS(F2:F10,C2:C10,"Fixed")/SUMIFS(D2:D10,C2:C10,"Fixed"),2)

Result: 71.51

$71.51 an hour on fixed-fee work ($12,800 over 179 hours), well under the $85 to $90 charged by the hour. The annual report alone ran to 64 hours for $3,600.

Total what clients still owe you

Hourly jobs are worth hours times rate; fixed jobs are worth the fee. Because each row has only one of the two filled in, F2:F10+D2:D10*E2:E10 gives the right amount for every row (an empty cell counts as 0).

Multiply by (H2:H10="") to keep only rows with no paid date, and SUMPRODUCT adds the rest. That number is your accounts receivable: money earned but not in the bank.

=SUMPRODUCT((H2:H10="")*(F2:F10+D2:D10*E2:E10))

Result: 9795

$9,795 is still unpaid across five invoices, including the November retainer sent today.

Flag invoices past their payment terms

Unpaid is not the same as late. An invoice is overdue when the days since you sent it are more than your terms. The as-of date sits in B12 so the sheet gives the same answer whenever you open it; change it to the current date when you review.

Typing the date into a cell instead of using TODAY() also lets you look back: set B12 to the end of last month to see what was overdue then.

=SUMPRODUCT((H2:H10="")*(B12-G2:G10>D12)*(F2:F10+D2:D10*E2:E10))

Result: 4185

$4,185 is past 30-day terms: the Fernway Trust layout ($3,600, sent 57 days ago) and the Alder Coffee logo work ($585, 65 days). Chase those before anything else.

Measure how long clients take to pay

Your average days to payment decides how much cash you need to keep on hand. Paid date minus invoice date is the number of days each invoice took. Average it over paid invoices only.

The (H2:H10<>"") factor zeroes out unpaid rows, and dividing by COUNTA(H2:H10) counts only the paid dates.

=SUMPRODUCT((H2:H10<>"")*(H2:H10-G2:G10))/COUNTA(H2:H10)

Result: 17

17 days on average across the four paid invoices, from 8 days (Kestrel Labs) to 24 days (Brightline Dental).

Check how much rides on one client

Losing a client that pays a third of your income is a very different problem from losing one that pays a tenth. Divide one client's billings by your total to see their share. If one client is far above the rest, that is a reason to keep marketing even when you are busy.

Change the client name to check each one, or put the names in a column and copy the formula down.

=SUMPRODUCT((B2:B10="Fernway Trust")*(F2:F10+D2:D10*E2:E10))/SUMPRODUCT(F2:F10+D2:D10*E2:E10)

Result: 0.1918209671 shows as 19% with Percent format

Fernway Trust is 19% of everything billed, and that whole amount is still unpaid.

Set money aside from what you were paid

Freelancers get paid gross, so nobody holds anything back for you. A simple habit: move a fixed percentage of every payment into a separate account. Pick the percentage yourself (F12 here) based on your own situation and advice you trust.

Base it on money actually received (rows with a paid date), not on what you invoiced, so you are never setting aside cash you do not have yet.

=ROUND(SUMPRODUCT((H2:H10<>"")*(F2:F10+D2:D10*E2:E10))*F12,2)

Result: 2512.3

$2,512.30 to set aside: 28% of the $8,972.50 received so far.

Practice: 8 exercises

Use the sample data above. Type a formula and press Check: it is graded by a real spreadsheet engine, the way Cellwise grades lessons.

  1. 1How many hours are logged in total?

    Show answer

    =SUM(D2:D10) = 247. SUM adds every hour, hourly and fixed jobs alike: 247 hours.

  2. 2How many invoices have not been paid yet?

    Show answer

    =COUNTBLANK(H2:H10) = 5. COUNTBLANK counts the empty Paid cells, one per unpaid invoice.

  3. 3How many hours went into work for Brightline Dental?

    Show answer

    =SUMIF(B2:B10,"Brightline Dental",D2:D10) = 30.5. SUMIF adds the hours only on rows where the client matches: 18.5 + 12.

  4. 4What is the total billed on hourly jobs?

    Show answer

    =SUMPRODUCT(D2:D10,E2:E10) = 5967.5. Fixed jobs have no hourly rate, so they multiply to 0 and drop out on their own.

  5. 5What effective hourly rate did the Brand refresh in row 2 pay?

    Show answer

    =F2/D2 = 69.565217391. $3,200 over 46 hours is about $69.57 an hour.

  6. 6How many days has the Fernway Trust invoice (row 10) been out, as of B12?

    Show answer

    =B12-G10 = 57. Excel stores dates as day numbers, so subtracting two dates gives the days between them: 57.

  7. 7How much does Alder Coffee still owe?

    Show answer

    =SUMPRODUCT((B2:B10="Alder Coffee")*(H2:H10="")*(F2:F10+D2:D10*E2:E10)) = 585. Only the logo work is unpaid: 6.5 hours at $90 is $585.

  8. 8How many invoices are past the terms in D12?

    Show answer

    =SUMPRODUCT((H2:H10="")*(B12-G2:G10>D12)) = 2. Two unpaid invoices are older than 30 days: Logo variations and Annual report layout.

Free templates for freelancers

Guided project: Freelance income tracker

Bill clients from your hours, see what is unpaid and overdue, and work out what to set aside.

5 steps in the Cellwise app. Each step checks your formula in a real grid, with hints when you get stuck. Part of Cellwise Plus.

Open guided projects

Guides for these formulas

FAQ

How do I track freelance income and expenses in Excel?

Keep one row per invoice (client, date, amount, paid date) and one row per expense (date, category, amount) on a second sheet. SUMIFS by month and category gives your monthly income, expenses and profit, and a blank paid date tells you what is still owed.

How do I calculate my effective hourly rate on a fixed-price project?

Divide the fee by the hours you actually spent: =fee/hours. Track hours on fixed jobs too, or you will never know whether your quotes are working.

How do I calculate days overdue in Excel?

Subtract the due date from the current date: =as_of-due_date. Use a typed date in a cell, or TODAY(), for the current date. Wrap it in IF so paid invoices show 0, for example =IF(paid="",as_of-due_date,0).

How much should a freelancer set aside from each payment?

That depends on where you live, your income and your expenses, so it is a question for a tax professional. Excel can do the rest: put your chosen percentage in a cell and multiply each payment by it.

Excel for other fields

Updated