ChetsBooks - Invoicing & Accounting for Freelancers
Multi-currency invoicing + accounting for freelancers.
Tax filing and recurring billing built in. Time tracking, expenses, payments, and AI-assisted drafting layered on top. Runs on any vanilla MySQL + PHP host — lifetime license, full source, your data lives where you put it.
One purchase. Yours forever.
SaaS invoicing is $40/month per seat — and your client list is locked behind their login. ChetsBooks is the opposite of that bargain.
One-time price
Pay once, install on your domain, never see another invoice from us. No per-user fees, no per-client caps, no upgrade tier hidden behind your favorite feature.
Branded for you
Drop your logo, set your brand color, give your accountant a login. White-label, per-workspace branding, and a "Hide Powered by ChetsBooks" toggle ship in the codebase. Customer-facing emails use your domain, not ours.
Your data, your server
Backups via the same MySQL dump you already run. GDPR data exports, audit trail of every change, full Eloquent models. No SaaS API in the way.
Everything a freelancer ships invoices for.
Built for freelancers and small agencies. Multi-currency from day one, AI on tap, public portals for clients, and the clean Livewire UI you'd expect.
Real-time dashboard
Outstanding · paid · overdue at a glance. Stat tiles, weekly bars, top clients, top expenses, tax owed, all live.
Multi-currency
12+ currencies, auto FX rates, exchange-rate snapshot per invoice.
Recurring billing
Weekly, monthly, quarterly, yearly. Auto-send when due.
AI assist
Line descriptions, expense categorization, receipt OCR. OpenAI or Anthropic.
Tax-ready
VAT/GST, compound taxes, year-end CSV.
Public links & client portal
Token-protected URLs for invoice viewing, PDF download, Stripe checkout, and a client login that shows everything you've billed them.
30+ modules. Zero glue code.
Every module talks to the same client / project / invoice graph. No CSV imports between systems. No webhooks you have to write.
📥 Invoices & estimates
Multi-currency invoicing with line-item tax rates, discounts (% or fixed), shipping, attachments, and four built-in PDF templates. Estimates convert to invoices in one click.
- Status tracking: draft → sent → paid → overdue
- Auto invoice numbers per workspace
- Email delivery with tracking + reminder cadence
- 4 PDF templates: Modern, Classic, Minimal, Creative
- Public share link + Stripe pay-now
⏱ Projects & time tracking
Run client projects with hourly/fixed/retainer billing. Live timer in the header, weekly timesheets for staff, and one-click "drop unbilled hours into invoice".
- Hourly, fixed-fee, retainer or non-billable projects
- Per-project budgets (hours or amount) with burn-rate
- Manual entry or live timer (header chip, ⏱ icon)
- Submit-this-week timesheet for Owner approval
- Auto-rollup unbilled time into invoices
💰 Expenses, mileage & bills
Track every business cost. Receipt OCR pulls vendor + amount + category from a photo. Mileage entries auto-calculate at the IRS rate. Vendor bills sit alongside vendor payments and 1099 totals.
- Receipt OCR via your AI provider (optional)
- Auto-categorize via AI or rules engine
- Bank import — drop CSV, match to expenses
- Vendors with year-paid totals (1099-ready)
- Mileage at configurable per-mile rate
📑 Proposals & retainers
Send signed proposals from rich Markdown templates with public sign-off URLs. Convert to invoice on signature. Pre-paid retainers track drawdowns automatically.
- Token-protected public proposal URL
- Client signs by typing their name → status flips to signed
- One-click convert proposal → invoice
- Retainer pots that decrement as time is logged
- Webhook fires
proposal.signed
Built for the kinds of people who hate paying for tools.
Solo freelancers
One workspace, one Owner, one domain. Ship an invoice in under 60 seconds, get paid via Stripe, log expenses against the IRS-friendly chart of accounts.
Small agencies
Add staff with the Accountant or Staff role. Run weekly timesheets for client billing, track project budgets, give an external accountant read-only access at month-end.
International freelancers
Bill clients in 12+ currencies with auto exchange rates. Tax-rate flexibility for VAT, GST, and US sales tax. Public invoice links in any language your clients read.
Why pay $480/year forever?
Every cell that says ✗ is something you'd be paying recurring fees to unlock — or simply can't get from a hosted tool.
| Feature | ChetsBooks | FreshBooks | QuickBooks | Wave |
|---|---|---|---|---|
| One-time price | ✓ | ✗ | ✗ | ✗ |
| Self-hosted (your server) | ✓ | ✗ | ✗ | ✗ |
| Full source code | ✓ | ✗ | ✗ | ✗ |
| Unlimited clients | ✓ | tier-gated | tier-gated | ✓ |
| Multi-currency | ✓ | ✓ | ✓ | ✗ |
| AI receipt OCR | ✓ | paid add-on | paid add-on | ✗ |
| Database export (SQL) | ✓ | CSV only | CSV only | CSV only |
| Custom code extensions | ✓ | ✗ | ✗ | ✗ |
| Annual cost (yr 1) | $0 | $420 | $540 | $0 |
| Annual cost (yr 5) | $0 | $2,100+ | $2,700+ | $0 |
Everything you need to run from day one.
- Full source. Laravel 13 app — every controller, Livewire component, Blade view.
- Web installer. 5-step wizard: requirements, license, database, owner, done.
- General Ledger. Double-entry accounting system with fully customizable Chart of Accounts.
- Manual Journals. Visual journal entry UI at
/journalwith debit/credit balance enforcement. - Email templates. Manage dynamic custom subject and body templates with dynamic placeholders.
- Expense Rules. visual text-matching rules to automate bank statement categorization.
- Timesheets flow. Weekly timesheet submission flow for staff and owner approval.
- User Profile. Secure name, email, and password credential updates for all authenticated roles.
- Apptrovo integration. License verification with domain check + activation tracking.
- Demo workspace. Optional seeded data so you can click around immediately.
- Composer + Vite assets. No build step required — `vendor/` and `public/build/` ship pre-built.
- 4 PDF templates. Modern, Classic, Minimal, Creative.
- 9 documentation pages. Self-contained HTML — no internet needed.
- 776 PHPUnit tests. Run
php artisan teston your own box. - Light + dark mode. Toggle in the header, persists per workspace.
- i18n-ready. Auth, nav, validation, and invoice strings already in
lang/en/*.php. - API tokens. Personal access tokens for scripts and Zapier.
- Webhooks. Subscribe to
invoice.paid,proposal.signed+ 3 more events. HMAC-signed, with retry on 5xx. - 1099 tax export. Year-end vendor totals as a downloadable summary CSV.
- Global search. ⌘K / Ctrl+K — clients, invoices, projects, expenses.
- Health diagnostic.
/healthpage for Owners — live PHP / DB / cron / mail status.
Modern stack. Boring infrastructure.
Designed to run on the same shared host you bought for $4/month. No Redis. No queue daemons. No Postgres-only features.
Built for boring grown-up software.
- Multi-tenant isolationEvery model uses a global organization scope. Leaking a row across workspaces is impossible without rewriting Eloquent.
- Audit trailEvery create / update / delete on the 8 main entities lands in
activity_log. Filter by user, action, or entity in the UI. - 2FA out of the boxTOTP via Fortify with recovery codes. Rate-limited to 5 attempts/min on login and challenge.
- API tokensPersonal access tokens via Sanctum. Revocable from the user's settings page.
- GDPR data exportOwner can request a ZIP of every invoice, client, payment, expense and time entry as CSV — all on disk, no third-party processor.
- Encrypted secret storageAPI keys stored via Laravel
Cryptwhen set through the UI. Never in plaintext in the database.
One purchase. The whole catalog.
30 modules, no add-ons, no per-feature gates. Hover any card to see it light up.
Get paid
5 modulesInvoices
Multi-currency invoicing with line-item tax, discounts, shipping, and 4 PDF templates.
Estimates
Same form, status: quote. Convert to a real invoice in one click on acceptance.
Proposals
Long-form Markdown proposals with token-protected sign-off URLs and signature capture.
Recurring billing
Weekly, monthly, quarterly, yearly. The cron auto-generates and optionally auto-sends.
Client portal
Token-only public URL where clients see their full invoice + proposal history with you.
Track work
5 modulesProjects
Hourly / fixed / retainer / non-billable types with per-project budgets and burn-rate.
Time tracking
Live timer in the header, plus manual entries. Auto-rolls into invoices in two clicks.
Timesheets
End-of-week submission flow for staff users. Owner approves, then bills the client.
Retainers
Pre-paid hour blocks that auto-decrement as time entries are logged against the project.
Mileage
IRS-friendly per-mile log with from/to/purpose fields. Configurable rate per workspace.
Track spend
6 modulesBills
The vendor side of the ledger. Line-itemed amounts owed, status flow, mark-paid action.
Vendors
Year-to-date paid totals roll up automatically — handy for 1099 reporting at year-end.
Expenses
One-off costs with receipt OCR (when AI is enabled). Bill back to a client as a line item.
Recurring expenses
Hosting, subscriptions, retainers. Daily cron auto-creates the matching expense.
Bank import
Drop a CSV statement; auto-matches transactions to existing expenses by amount + date.
Expense rules
"Anything containing AWS → Software." Vendor / description matchers + auto-tagging.
Bookkeeping & Ledger
5 modulesChart of Accounts
Fully customizable accounting ledger to structure assets, liabilities, equity, revenue, and expenses.
Journal Posting
Automatic background journal posting for every invoice, payment, expense, and bill recorded.
Manual Journals
Visual journal voucher UI to adjust balances, record depreciation, and key historical entries.
Account Details
Complete transaction ledger history and debit/credit ledger views for every individual account.
Ledger Reports
Generate Trial Balance, Income Statement (Profit & Loss), and Balance Sheet reports instantly.
Insight & admin
8 modulesDashboard
Outstanding / paid / overdue tiles, weekly bars, top clients + expense categories.
Insights
Revenue by month, MRR from recurring, profit margin, top vendors — one-page health check.
Reports
Aged receivables, tax owed, revenue by client, expenses by category. CSV export.
1099 tax export
Year-end vendor totals as a downloadable CSV — drop straight into your accountant's workflow.
Audit log
Every create / update / delete recorded with user + timestamp. Filterable. Tax-friendly.
Webhooks
Subscribe to invoice.paid, proposal.signed and 3 more. HMAC-signed, retried on 5xx.
API tokens
Sanctum-backed personal access tokens — drop into curl, Zapier, or your own scripts.
Global search
⌘K / Ctrl+K from anywhere. Clients, invoices, projects, expenses — one keypress away.
Quick answers.
Can I install this on shared hosting (cPanel / Hostinger)?
Yes — that's the explicit design constraint. The app uses MySQL 5.7+ for everything (including sessions, cache, and queue), so you don't need Redis, Postgres, or a queue daemon. Upload the zip, point your domain at public/, hit /install, follow the 5-step wizard.
What if I need to move the install to a different domain later?
Apptrovo licenses can be transferred. From the marketplace dashboard, deactivate the old domain, then re-run the wizard on the new domain with the same key. The wizard re-verifies, the activation slot reopens, and your data on the old server stays put until you wipe it. Full instructions are in the bundled license.html documentation.
What happens after the support window ends?
The app keeps working forever — there's no kill-switch and no "phone home" check after install. You just lose access to support tickets and email replies. Lifetime updates remain free.
Do I need to know Laravel to customize it?
The basics yes — at minimum you should be comfortable opening a Blade file and editing it. The codebase follows standard Laravel conventions (Livewire components per page, Spatie roles, Fortify auth). The included customization.html doc walks through common changes (logo, colors, role permissions, adding fields).
Does it work with Stripe / Apple Pay / PayPal?
Stripe is built in (sandbox + live keys, optional). Apple Pay rides on Stripe Checkout. PayPal credentials are wired into the Settings → Payments form but the integration is intentionally minimal — Stripe is the recommended path. Bank transfer + manual recording are first-class.
Can my clients see invoices without logging in?
Every invoice and proposal gets a 16-byte random public token. Share /i/ for invoice view, /p/ for proposal sign-off. The full client portal at /portal/ shows their entire history. All routes are throttled to 60/min to deter token brute-forcing.
Is the AI included or do I need my own API key?
You bring your own key — OpenAI or Anthropic, your call. AI features (line-item descriptions, expense categorization, receipt OCR, payment reminders) all degrade gracefully to a deterministic fallback when no key is set, so the app works fine without ever turning AI on.
Can I get a refund?
Per Apptrovo's marketplace policy, refunds are honored for items that don't function as described, within 30 days of purchase. Open a support ticket on the marketplace listing — we'd rather fix the issue than refund, since most "doesn't work" reports are environment misconfigurations the docs don't cover. If we can't make it work for you, the refund is yours.
Demo Credentials
| Role | User | Pass |
|---|---|---|
| Owner |
owner@example.com
|
|
| Accountant |
accountant@example.com
|
|
| Staff |
staff@example.com
|
Item Details
Tech Stack
Tech Stack
Database
Deployment
Authentication
Payment Integration
Hosting Compatibility
Frontend Framework
Multi-tenancy
Mobile Responsive
License Type
Support Period
Dark Mode
Comments (0)
Sign in to leave a comment
Log in →No comments yet. Be the first to comment!