ALMOST

A weekend of work, and real gaps remain.

The paperwork of freelancing in one place: proposals, contracts, e-signatures, time tracking, invoices and the tax side.

Promptfree, for everyone, and the only version there is
Build the freelance admin system I actually need instead of Bonsai — with one part left alone on purpose.

**Do not write your own contract templates.** Bonsai's are drafted by lawyers for specific jurisdictions, and a generated contract that fails when it matters costs more than every subscription you will ever avoid. Get templates from a lawyer once, store them, and build everything around them.

What is worth building:

STACK
- Node 20+ with Fastify, server-rendered HTML with a little vanilla JS
- SQLite through better-sqlite3, WAL mode
- Playwright or Typst for PDFs
- A payment processor for anything involving money moving
- Caddy in front

THE DATA MODEL
- clients, projects: id, client_id, name, rate_cents, budget_cents, currency
- proposals: id, client_id, body_md, total_cents, sent_at, decided_at, outcome
- contracts: id, project_id, template_id, body_md, path, sha256, sent_at
- signatures: id, contract_id, signer, method, evidence_json, signed_at — **name, time, IP hash, document hash and method; that bundle is what makes a signature defensible**
- time_entries: id, project_id, minutes, on_date, note, is_billable, invoiced_in
- invoices: id, client_id, number, issued_on, due_on, total_cents, sent_at, paid_at
- Money in integer minor units, always, with the currency stored

THE CHAIN THAT MAKES THIS WORTH BUILDING
- Proposal accepted creates the project; the project's contract is generated from a template with the agreed terms; tracked time becomes invoice lines; the invoice carries the project's reference
- **Nothing is typed twice**, which is the actual complaint that makes freelancers buy this
- Every step stores the document it produced with its hash, because a regenerated contract that differs from the signed one is not evidence

INVOICING PROPERLY
- Sequential numbering with no gaps, per year, generated in a transaction. **A tax authority notices gaps**
- An invoice is never edited after it is sent: a correction is a credit note
- Time entries locked once invoiced, so history cannot change under a bill already sent
- Late reminders on a schedule, polite and automatic, because chasing is the job everybody avoids

WHAT TO RENT
- Payments. Use a processor and record the confirmation from a verified webhook — a paid flag set by a browser callback is a paid flag anybody can set
- Tax filing. Export what your accountant needs; do not compute what you owe

WHAT MATTERS MOST
Gapless invoice numbers, locked invoiced time, and lawyer-written templates. The first two keep the books defensible; the third keeps the contracts worth having.

What you lose

  • Contract and proposal templates written by lawyers
  • E-signature with an evidence trail
  • Payments and the tax reporting attached to them
  • One subscription instead of five

If you would rather not build

  • A lawyer’s template plus a spreadsheet, which many freelancers run

The escape hatch

open source · no votes, no paid placement

Invoice Ninja

$0

Self-hosted invoicing, proposals, projects and time.

invoiceninja/invoiceninjafree · open source

Documenso

$0

Open-source signing with an evidence trail.

documenso/documensofree · open source

Why this verdict

our own opinion · changed only by a person

58/100

Verdict kinda at 58: the chain from proposal to invoice is ordinary work, and the contract templates are deliberately out of scope. The gapless numbering rule is a legal requirement in most countries.

History

tracked since 16 Aug 2026 · nothing is ever overwritten

Interest · last 30 days

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 Bonsai

answered from the record above

Is Bonsai free?

No — the plan we track is $21 a month. Starter at $21/month billed annually for one freelancer.

Can you replace Bonsai by building your own?

ALMOST. A weekend of work, and real gaps remain. Replacement score 58 out of 100, build time a weekend. Read what you lose before you decide.

How much does Bonsai cost?

$21 a month on Starter — $252 a year. Recorded 16 Aug 2026.

What do you lose by replacing Bonsai?

Contract and proposal templates written by lawyers; E-signature with an evidence trail; Payments and the tax reporting attached to them; One subscription instead of five. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Bonsai?

Yes: Invoice Ninja, Documenso. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 18 in Time tracking & invoicing

Not sending yet

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

Esc