Teamwork.com
Replaceable in one session with an AI coding agent.
Project management built for client work: billable time, budgets per project, client users, and profitability reporting.
Build me the client-work project system that replaces Teamwork. The distinguishing feature is money: **an agency needs to know whether a project made a profit, and most project tools cannot answer that.** Build for that question. STACK - Node 20+ with Fastify, server-rendered HTML with a little vanilla JS - SQLite through better-sqlite3, WAL mode - Caddy in front THE DATA MODEL - clients: id, name, billing_json - projects: id, client_id, name, kind, budget_cents, budget_kind, currency, starts_on, ends_on, status — budget kind is fixed price, retainer, or time and materials - tasks: id, project_id, title, assignee_id, estimate_minutes, due_on, status, is_billable - time_entries: id, task_id, person_id, minutes, on_date, is_billable, rate_cents, note, locked_at - rates: id, person_id, client_id, effective_from, cost_cents, bill_cents — **cost and bill are different numbers and profitability needs both** - invoices: id, client_id, period, total_cents, sent_at, paid_at - Money in integer minor units, always, with the currency stored TIME, WHICH MUST BE FRICTIONLESS - A timer and a manual entry, both one action from any task - **A weekly grid: days across, tasks down, type the minutes.** That is how time actually gets entered — on Friday, from memory — and a tool without it collects nothing - A note per entry, required on billable time, because that note becomes the invoice line the client reads - Entries locked once invoiced. **An edit to invoiced time silently changes history that has already been billed**, so lock it and require a credit note instead BUDGETS AND THE ANSWER YOU BUILT THIS FOR - Burn against budget in both hours and money, visible on the project page, updated as time is entered - Alert at 70% and 90% of budget, to the project owner and not to everybody - **Profitability equals billed minus cost, where cost is the person's cost rate and not their bill rate.** Getting this wrong makes every project look profitable, which is the most common and most expensive mistake an agency makes with its own numbers - Per project, per client and per person, over any period CLIENT ACCESS - A client user sees their own projects, the tasks marked visible, and the time summary. **Never the rates, never the costs, never another client's anything** — checked on the server for every query, default deny - A comment thread the client can use, with internal comments visually unmistakable and impossible to send by accident INVOICING - Generate a draft from unbilled billable time with the notes as lines, editable before sending - Mark entries invoiced with the invoice reference, atomically, so nothing is billed twice - Export to the accounting system rather than becoming the accounting system WHAT MATTERS MOST Cost rates separate from bill rates, and locked invoiced time. One makes the profitability true; the other keeps the billing defensible.
What you lose
- Billable time tied directly to project budgets
- Client users with restricted visibility
- Profitability reporting per project and per client
- Invoicing that reads the tracked time
If you would rather not build
- OpenProject with time tracking, self-hosted
The escape hatch
open source · no votes, no paid placement
Invoice Ninja
$0Projects, tracked time and invoicing in one self-hosted app.
invoiceninja/invoiceninjafree · open source
Why this verdict
our own opinion · changed only by a person
72/100
Verdict yes at 72: tasks plus time plus two rate columns. The cost-versus-bill distinction is the thing agencies get wrong, and the entry makes it the centre.
History
tracked since 14 Aug 2026 · nothing is ever overwritten
Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.
Questions about Teamwork.com
answered from the record above
Is Teamwork.com free?
No — the plan we track is $10.99 a month. Deliver at $10.99 per user per month billed annually, $13.99 monthly.
Can you replace Teamwork.com by building your own?
YES. Replaceable in one session with an AI coding agent. Replacement score 72 out of 100, build time one session. Read what you lose before you decide.
How much does Teamwork.com cost?
$10.99 a month on Deliver — $131.88 a year. Recorded 14 Aug 2026.
What do you lose by replacing Teamwork.com?
Billable time tied directly to project budgets; Client users with restricted visibility; Profitability reporting per project and per client; Invoicing that reads the tracked time. If any of those carry weight for you, keep paying.
Is there an open-source alternative to Teamwork.com?
Yes: Kimai, Invoice Ninja. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

