DEV Community

T.M. Gunderson
T.M. Gunderson

Posted on

Stop Guessing Which Projects Make You Money: Automate Profitability Tracking

You finish a project, send the final invoice, and only then discover you barely broke even — or lost money. If you're tracking project profitability in a spreadsheet you update "when you have time," you're always looking backward. By the time the numbers tell you something's wrong, the money's already gone.

The fix isn't more discipline. It's connecting the data you already have so profitability calculates itself.

Why Manual Tracking Fails

Here's what typically happens:

  1. Labor costs live in one system — timesheets, payroll, or a running doc
  2. Expenses live in another — receipts, credit card statements, vendor invoices
  3. Revenue lives in a third — your invoicing or project management tool
  4. Nobody reconciles them until the project ends — if ever

The result: you price the next project based on gut, not data. Over time, margin drift compounds into real losses.

The Automated Profitability Loop

You don't need enterprise software. You need three data pipelines connected to a single calculation.

Step 1: Centralize Cost Inputs

Use Zapier or Make to route every cost signal into one place:

  • Labor costs: Connect your time tracking tool (Toggl, Harvest, Clockify) to a Google Sheet or Airtable base. Each logged hour should flow in with the project name, employee rate, and date.
  • Direct expenses: Route receipt captures (Expensify, Receipt Bank) and vendor invoices into the same base, tagged by project.
  • Overhead allocation: Add a monthly formula that distributes fixed costs (rent, software subscriptions, insurance) across active projects proportionally.

Key principle: If a cost isn't tagged to a project within 24 hours, it's a data gap, not a tracking task.

Step 2: Automate Revenue Recognition

Connect your invoicing system (FreshBooks, Wave, Xero) so that every invoice and payment flows into the same base:

  • Invoices sent = recognized revenue
  • Payments received = cash revenue
  • The difference = your accounts receivable exposure

This gives you two profitability views: accrual (what you've earned) and cash (what you've collected). Both matter.

Step 3: Build the Dashboard Formula

In your base (Airtable, Google Sheets, or Notion), create these calculated fields per project:

Gross Margin = (Revenue - Direct Costs) / Revenue
Net Margin = (Revenue - All Costs Including Overhead) / Revenue
Margin Trend = Compare current period margin vs. prior period
Enter fullscreen mode Exit fullscreen mode

Set up conditional formatting or notifications:

  • Yellow if gross margin drops below 30%
  • Red if net margin drops below 10%
  • Alert if a project's margin is trending down more than 5% period-over-period

Step 4: Add the Feedback Loop

This is where most setups stop — and why they fail. The dashboard only helps if it changes behavior.

Automate a weekly summary to your inbox or Slack channel:

  • Top 3 most profitable projects (do more of this)
  • Bottom 3 least profitable projects (investigate immediately)
  • Projects where margin has dropped more than 5% since last week
  • Projects approaching budget thresholds (80% hours consumed, 90% budget used)

This turns data into decisions without requiring anyone to "check the dashboard."

The Setup in Under 2 Hours

Here's a minimal viable setup:

Component Tool Time
Cost database Airtable or Google Sheets 20 min
Time tracking connector Zapier (Harvest/Toggl → Airtable) 15 min
Expense connector Zapier (Expensify → Airtable) 15 min
Invoice connector Zapier (FreshBooks/Xero → Airtable) 15 min
Margin formulas Spreadsheet formulas 20 min
Weekly summary Zapier (scheduled email/Slack) 15 min
Testing & refinement Manual review 20 min

Total: ~2 hours. You'll save that in the first week when you catch a margin-drift project early.

Common Pitfalls

Pitfall 1: Over-allocating overhead. If your overhead distribution formula is too aggressive, every project looks unprofitable. Start simple: divide overhead by number of active projects, then refine by revenue share.

Pitfall 2: Ignoring unpaid invoices. If your dashboard only counts paid invoices, you'll think projects are less profitable than they are. Track both accrual and cash margins.

Pitfall 3: Not tagging expenses fast enough. A $500 vendor payment that sits untagged for two weeks creates a blind spot. Set a 24-hour tagging rule and enforce it with an automated reminder.

Pitfall 4: Too many projects in the system. If you track 50 active projects, the signal gets lost. Focus on your top 10-15 by revenue. The small ones can share an "other" bucket.

What This Looks Like in Practice

A 12-person consulting firm automated their profitability tracking using Harvest + Airtable + Zapier. Within the first month, they discovered that two of their five largest accounts had net margins under 8% — one because of scope creep, the other because they'd underpriced a retainer.

They renegotiated the retainer and added scope-change fees to their contract template. That single change recovered roughly $40K/year in margin they'd been leaking.

The automation didn't find the problem. The data did. The automation just made sure the data showed up in time to act on it.

Start Tonight

Pick your highest-revenue project. Connect just the time tracking and invoicing for that one project to a single sheet. Calculate the margin. See if the number surprises you.

If it does, you've found your first automation win. If it doesn't, you've validated your pricing — and you have the template to scale the tracking across every project.

Either way, you're making decisions with data instead of guesses. That's the whole point.

Top comments (0)