Skip to content
All posts
Insights comparing tracked time, net income, and hourly rates by Project

How to work out a side project's real hourly rate

DeverDesk3 min readMethod
On this page

Side income has an easy-to-miss detail: the money is visible, while the time that produced it is scattered across many evenings. A Project may look like a good earner until you count the hours. Another may bring in less and require hardly any attention.

To compare them more honestly, put the ledger and tracked time together. DeverDesk links each period of work and each income or expense entry to a Project, then lets you review the results by Project in Insights.

Start with net income, then divide by hours

The formula is straightforward:

Hourly rate = (received income - paid expenses) / hours tracked

“Received” matters. Money that is still on its way is recorded as pending and does not count in net income yet. Once it arrives, change its status to received. The result then describes money actually received minus the expenses recorded as paid, rather than a quote, expectation, or unsettled balance.

DeverDesk's Ledger totals count income marked received and expenses marked paid. Pending income is listed separately. If its expected date passes before the money arrives, it is marked overdue. Keeping pending and received amounts apart prevents an invoice or expected payment from looking like money already earned.

How expenses and refunds affect the calculation

Expenses reduce net income directly. If an income entry is later refunded, mark it as refunded in the Ledger. It no longer counts as received income, so net income falls compared with the period when it was counted as received. When checking your result, make sure each status matches what actually happened: received, pending, and refunded are different states, not interchangeable labels.

Try to capture the time too. Fifteen minutes fixing a small issue or answering a customer can seem insignificant in isolation; over a month, those blocks may change your view of the Project's cost. Use the running timer while you work, or log time afterward. Attach the entry to the right Project so the hours and money have the same context.

Three sample Projects, one calculation

The amounts and hours below are made-up examples to demonstrate the formula. They do not describe anyone's actual income. Suppose all three cover the same month:

Project Received income Expenses Hours tracked Net income Approx. rate
Template Store $3,600 $400 26 hours $3,200 $123/hour
API Relay $1,860 $0 9 hours $1,860 $207/hour
Developer Blog $420 $0 14 hours $420 $30/hour

For the Template Store, ($3,600 - $400) / 26 = about $123.08 per hour. The API Relay is $1,860 / 9, or about $207. The Developer Blog is $420 / 14, exactly $30. These are summaries of the records for one period, not promises that each future hour will produce the same amount.

Treat the rate as a clue, not a verdict

The comparison can lead to better questions. How much of the Template Store's time went to making products and how much to support? Is the API Relay's income steady, and how much maintenance does it take? The Developer Blog earns less directly in this example. Could its exposure, reader relationships, or other opportunities matter to you? Those effects may not appear as ledger income, and the hourly-rate calculation cannot measure them for you.

The date range and completeness of your records matter as well. A new Project may require hours before it earns anything. One large payment can temporarily raise a month's rate. If a period has no tracked time, DeverDesk displays a rate of zero because there are no hours to divide by; that does not mean the Project truly earns nothing per hour.

Open Insights and select the rate or net-income metric to see a Project breakdown. The product overview explains how tasks, time, and ledger entries connect. If you are choosing where to keep records, see local or cloud. The point is not to chase an impressive number. It is to make sure the income, expenses, and time you compare describe the same work.

Keep records current in small steps

Log a block of work when you finish it, and update a payment when it arrives or is refunded. Small, timely entries are easier to check than an end-of-month estimate reconstructed from memory. Once the records are current, you can distinguish money received, money still pending, expenses already paid, and hours already spent. That gives the next decision about your evenings a factual starting point.

DeverDesk

Ready to try it?

The demo needs no sign-up, and your data stays in your browser.