Job ticket 775515 · smb · ledger counter · no subscription
The sixth client is an upgrade. The invoice was always arithmetic.
FreshBooks prints no free plan: a 30-day trial, then Lite at US$23 a month list — still capped at 5 billable clients, with teammates at US$11 a month each and advanced payments US$20 more. This job ticket hands the ledger work to prompts you own: paste a client's month of work lines and the counter rules a balanced invoice with every basis shown; paste the month's costs and the sorter files them with the tax-ambiguous lines marked ASK, never answered. Payments and portals stay FreshBooks's — the arithmetic was always yours.
FreshBooks is a trademark of its owner. This is an independent, unaffiliated comparison built on FreshBooks's own published pricing material, linked below and re-read every thirty days.
Paste the lines, press rule the sheet, and the invoice balances in front of you — grouped lines, visible multiplication, subtotal, expenses, double-ruled total. — rendered in this browser
Sample data is illustrative, not a claim about FreshBooks. Every FreshBooks figure on this page comes from the linked pricing page, read 2026-09-27.
The prompt pack
Two prompts, each mapped one-to-one onto a FreshBooks feature you are currently rationed on. Run them from this page with a free key, or copy them into any free chat model — the text is identical either way, and it is printed in full at the bottom of this section so it survives this site.
Loading the pack from tools.json… If this fails, the full prompt text is still readable below.
One-time unlocks only, never a subscription. If a price ever appears here it was read from Stripe in that request, not typed by hand. An unlock is client-side gating, not secure payment verification: it is stored in this browser and cannot prove payment to anyone else.
What FreshBooks's own pricing page says
Read from freshbooks.com/pricing on 2026-09-27. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.
| The job | FreshBooks (after 30-day trial) | This page | This page + a free-tier model |
|---|---|---|---|
| Billable clients | 5 on Lite (US$23/mo list) | Unlimited pastes — client six costs nothing | undefined |
| Invoice drafting | Inside the plan | A ruled sheet with visible basis per line, US$0 | undefined |
| Team access | +US$11/mo per member | Your file, shared however you share files | undefined |
| Payments · client portal | The paid rails | Not displaced — collect however you collect | undefined |
What this replaces, and what it does not
A displacement claim you cannot substantiate is a lie with good typography. This is the whole scope, including the parts where FreshBooks wins.
Balanced invoice drafts
Numbered lines, visible arithmetic, double-ruled totals
A filed expense month
Column posting with ASK flags on mixed-use lines
Documents you own
Printable sheets plus CSV downloads of the whole month
No payment processing
The sheet is paper; money moves on your existing rails
No recurring billing
Each invoice is ruled from a fresh paste
No tax filing or advice
Flags mark ambiguity for your accountant — answers stay theirs
The prompts, in full, as text
Copy these into any model. They are the product; the page around them is convenience. Each block is the exact system prompt the interactive runner sends, plus the user-message template.
Prompt 01 — 1. Rule the invoice sheet · freshbooks-invoice-ruled v1.0.0 · best ally: Groq Cloud — free tier · llama-3.3-70b-versatile
Replaces: The invoicing core: your pasted work lines (dates, hours, rates, expenses) posted into a balanced invoice draft — numbered lines, subtotal, the math in the margin.
Why this model: Invoice assembly is deterministic multiplication plus clean grouping; a free 70B at near-zero temperature produces sheets whose totals provably add, with every rate traced to the paste. Fallback ally: OpenRouter — :free model variants.
System prompt (1348 chars):
You rule the ledger counter: the reader pastes their work for one client — dated lines with hours or quantities, the agreed rate, and any pass-through expenses. You rule one invoice sheet: numbered lines grouped sensibly, each line's amount computed and shown, a subtotal, then the total under a double rule. Rates and numbers come only from the paste.
Return ONLY one JSON object. No markdown fences, no commentary, no preamble.
{
"kicker": string (max 8 words),
"title": string (the table's caption, max 8 words),
"columns": [ { "label": "No." }, { "label": "Line" }, { "label": "Basis" }, { "label": "Amount" } ],
"rows": [ [ value, value, value — one array per row, same order as the columns, every cell a short string ] ],
"notes": [ string (one short footnote each) ]
}
Hard rules:
1. Every invoice line shows its basis (3.5h @ US$85 = US$297.50) — arithmetic always visible.
2. Lines group by pasted category or week; the grouping is stated in a header row per group.
3. The subtotal equals the sum of line amounts; the total equals subtotal plus posted expenses; both shown.
4. Expenses post at pasted cost, with markup only if the paste states one.
5. Currency and date order follow the paste; no conversions invented.
6. A NOTE row flags any work line that lacks a rate, which is priced at zero and annotated — never guessed.
User message template:
Variables:
{{client}}— Client + period (max 160 chars) sample data shipped with the tool{{lines}}— Work lines + expenses (paste) (max 3000 chars) sample data shipped with the tool
Output schema (the answer must match this exactly):
Decoding: temperature 0.15 · max 1800 output tokens · responseMimeType application/json · budget ~900 in / ~900 out · cost per run: 1 request against Groq's free daily quota; the relay floor needs no key at all.
Prompt 02 — 2. File the month's expense lines · freshbooks-expense-sorter v1.0.0 · best ally: OpenRouter — :free model variants · qwen/qwen3-32b
Replaces: The bookkeeping half: your pasted month of costs filed into ledger columns — with each line's tax-deductible question marked ASK or CLEAR, never answered for you.
Why this model: Expense filing is deterministic categorization with a conservative flag for ambiguity; a free 32B at low temperature files honestly and marks the gray lines instead of pretending certainty. Fallback ally: Groq Cloud — free tier.
System prompt (1377 chars):
You file the counter's expense lines: the reader pastes a month of costs (date, payee, amount, note). You file them into ledger columns (materials, travel, software, meals, fees, other), each line carrying its amount verbatim, and each line's tax question marked: CLEAR (obviously business) or ASK (mixed-use or ambiguous, with the reason named). You file and flag — you never give tax advice.
Return ONLY one JSON object. No markdown fences, no commentary, no preamble.
{
"kicker": string (max 8 words),
"title": string (the table's caption, max 8 words),
"columns": [ { "label": "Date" }, { "label": "Payee" }, { "label": "Column" }, { "label": "Amount × Flag" } ],
"rows": [ [ value, value, value — one array per row, same order as the columns, every cell a short string ] ],
"notes": [ string (one short footnote each) ]
}
Hard rules:
1. Every pasted line files exactly once; a MISSING row lists anything unparseable with the raw text quoted.
2. Amounts carry verbatim; column totals sum the column's lines and print beneath.
3. ASK flags cite the mixed element (personal overnight on a work trip) in <= 10 words.
4. Meals always file with an entertainment-context note from the paste, or ASK when the note is silent.
5. The grand total equals the pasted total — arithmetic you can hold against the bank statement.
6. Write in the language of the pasted month.
User message template:
Variables:
{{business}}— Your business (one line) (max 120 chars) sample data shipped with the tool{{expenses}}— Expense lines (paste) (max 3000 chars) sample data shipped with the tool
Output schema (the answer must match this exactly):
Decoding: temperature 0.15 · max 1600 output tokens · responseMimeType application/json · budget ~900 in / ~800 out · cost per run: 1 request against the free OpenRouter daily pool; the relay floor needs no key at all.
Questions worth asking before you cancel
Is an invoice from a paste legally an invoice?
The sheet carries what every invoice needs — parties, dated lines, rates, arithmetic, totals — and you own the file. What it lacks is jurisdictional boilerplate (tax IDs, VAT lines, sequential numbering schemes), which you add in your letterhead layer. The arithmetic, the hard part to get wrong, is done and shown.
Why does the ASK flag exist?
Because the worst expense software lies by omission: a mixed-use cost filed silently as CLEAR is a small fraud with good UX. This counter underlines the gray lines and names why — your accountant gets a sheet with the judgment calls visible, which is what they are for.
What did FreshBooks's promo actually say?
On 2026-09-27 the pricing page listed Lite at US$23/month ('Was $23.00') and sold it against a US$1.00/mo opening-months promo; both figures are in the artifact, recorded separately so nobody mistakes a time-boxed promo for the list price.
Where does my client data go?
Into one request to your free ally and nowhere else — no books hosted, no portal, no stored client list. Sheets download to your disk; the counter forgets the month when the tab closes.
Send this to someone still paying for it
Nothing is loaded from X or LinkedIn until you click, and no share is counted, logged or reported back to us — the buttons are plain links to each network's own share page.