Enterprise DNA

Instead of Harvest

Harvest charges a seat for everyone who logs an hour. The hours are yours.

Time Billing for Claude Code is open-source time tracking and invoicing that is just Postgres and Claude Code. Timesheets, project budgets, unbilled work and invoices, asked for in plain language. No seats, no tiers.

What you are paying for

Most of a Harvest bill is the front end

An hour of work is one row: who, what, how long, billable or not. The screens around those rows are what you rent, and the rent is set per person, per month, per tier.

paid

A seat for everyone who logs an hour

Billing is per person per month. The contractor who enters four hours a week costs the same seat as the person billing forty.

layers

The profit numbers sit on the top tier

Profitability reporting, timesheet approvals and unlimited custom reports are above the entry plan. The upgrade is priced per seat as well.

block

A free plan you cannot run on

One seat and two projects. Enough to see that it works, never enough to bill a real month with.

dashboard

Reports the vendor chose to build

You get the charts on the menu. "Which fixed fee jobs earned under $120 an hour once the design time is counted" is not on the menu.

schedule

Chasing the timesheet, not doing the work

Reminding people to fill it in, tidying entries, re-keying the invoice into your accounting system. That is work the tool creates.

lock

Your history behind their export

Years of hours, rates and invoices live in their account. Leaving means a CSV and a rebuild, and the budgets do not even come out.

What you get instead

Billing you can ask questions of

Timesheets

Ask where the week went

The data is plain Postgres tables. Claude Code reads them, so any question about hours gets an answer, not just the ones with a chart.

  • check Hours by day, by person against capacity, and by project
  • check The billable share of the week, and who is below it
  • check Who has not filled in a timesheet for five days
  • check Any question you can phrase, not the four the plan allows

Unbilled work

It tells you what to invoice

One command lists every hour and expense that is billable and not yet on an invoice, ranked by money and by age, then drafts the invoice.

  • check Billable work not yet invoiced, oldest and biggest first
  • check Expenses in the same list, so nothing gets missed
  • check A draft invoice built from the entries, grouped by task and rate
  • check A covering note written from the project history. Nothing sends without you

Project margin

What the job actually earned

Every entry carries a bill rate and a cost rate, so the margin is arithmetic. Harvest puts that behind its top plan.

  • check Hours and value against the budget, per project
  • check What the work cost, and the margin left over
  • check Effective rate per hour worked, per project and per person
  • check Fixed fee jobs measured against the hours they ate

Your data

Postgres you own

Runs on a laptop with no database install, or on your own Postgres or Supabase for a team. Plain SQL tables any tool can read.

  • check Embedded database for one person, Postgres or Supabase for a team
  • check Import your Harvest time export in one command
  • check Plain SQL tables. Your accountant can query them.
  • check MIT licence, no vendor to leave

Honest trade-offs

What you give up

  • remove_circle The stopwatch. Time is logged after the fact in one sentence, not by a timer running in a browser tab.
  • remove_circle A phone app. It runs where Claude Code runs, so hours from the car get entered later.
  • remove_circle Approvals, payment links and automatic reminders. You mark an invoice sent and paid, and the chaser is a draft you send yourself.

Two ways to run it

Run it yourself, or have it run for you

Open source

Run it yourself

Free

  1. 1 Clone the repo
  2. 2 npm run demo, then open the folder in Claude Code
  3. 3 Type /timesheet
  4. 4 Point it at your own Postgres when your team needs it
Get it on GitHub

Omni by Enterprise DNA

Have Enterprise DNA install it

One setup fee, then a monthly retainer

  • check We migrate your Harvest history
  • check We set the budgets, rates and fee types Harvest never exported
  • check We write the commands for the way you bill: month end runs, retainers, chasers
  • check It runs inside Omni, our managed Command Center, with the rest of your business
Book a discovery call

Questions

Instead of Harvest, answered

Is it really free? expand_more

Yes. MIT licence. Run it anywhere, change anything, no account with us.

How do people log time without a timer? expand_more

In one sentence: /log Kauri intake 2h15 "conflict check screens". Durations take any shape you would say out loud. Most timesheets are filled in after the fact anyway.

Does it send invoices? expand_more

No. It builds the invoice from the hours and writes a covering note to a drafts folder. You send it from your own email, and your accounting system stays where it is.

What happens to my Harvest history? expand_more

Export the detailed time report as CSV and run the import command. Clients, projects, tasks, people, hours, notes and rates come with you. Budgets, approvals and timers do not, and the migration guide says exactly what to set by hand.

Can my team use it? expand_more

Yes. Point everyone at a shared Postgres or Supabase project and they run the same commands against the same data, with no per-seat fee.

Stop renting a place to type your hours

Thirty minutes with Sam. We look at what you pay Harvest for, how your team really logs time, and what the installed version would look like for you. If it is a fit, we install it. If it is not, take the repo and run it yourself.

Time Billing for Claude Code is MIT licensed and published by Enterprise DNA at github.com/Enterprise-DNA-OS/time-billing-for-claude-code.