iavil6 downloadsTurn billable hours logged in your notes into client invoices. Track time, manage clients, and generate invoices. Pro unlocks PDF/print export, tax & multi-currency, recurring billing reminders, and payment tracking.
Turn billable hours logged in your notes into client invoices — for Obsidian.
Log work as you go with a simple #billable line, then generate a clean invoice for any
client and date range. Built for freelancers and consultants who already live in their vault.
Add a billable line anywhere in your notes (daily notes work great):
- #billable #client/acme 09:00-11:30 Implemented auth flow
- #billable #client/acme 2.5h Landing page revisions
- #billable [client:: Beta LLC] [time:: 1h30m] [rate:: 90] [date:: 2026-06-25] Design review
Recognized tokens on a #billable line:
| Token | Meaning |
|---|---|
#client/<slug> or [client:: Name] |
Which client to bill |
09:00-11:30, 2.5h, 90m, 1h30m |
Duration |
[rate:: 90] |
Per-entry rate override (optional) |
[date:: 2026-06-25] |
Entry date (optional) |
When no date token is present, the entry date falls back to the note's frontmatter date,
then a YYYY-MM-DD in the filename (daily notes), then the file's modified date.
Run Create invoice (ribbon icon or command palette), pick a client and date range, and Invoice Forge collects every matching entry into a numbered invoice note.
#billable time entries#client/<slug> resolution)INV-{YYYY}-{seq:4} and custom templates)status: unpaid/paid/overdue in frontmatterLicense keys are verified offline (Ed25519). No account, server, or subscription.
main.js, manifest.json, and styles.css into .obsidian/plugins/invoice-forge/npm install
npm run build # production bundle → main.js
npm test # bundles pure logic and runs unit + license tests
npm run license:keygen # one-time: create the signing keypair (already done)
npm run license:generate -- [email protected] # mint a Pro key for a buyer
The private signing key lives in scripts/.license-private.key and is gitignored — never
commit or publish it. Only the public key ships, in src/license/publicKey.ts.
Listed as Optional payments in the Obsidian Community directory (free core + paid Pro unlock).
Built for the Obsidian community. Issues and feature requests welcome on GitHub.