0saas

Job ticket 930934 · consumer · tally desk · no subscription

Copilot's demo is free. The tagging is US$95 a year. The tally was never the expensive part.

Test-drive it free, the page says — then one plan: US$95 a year for the automatic tagging, the subscription spotting, the budget rework. But a month-close tally is arithmetic and judgment over lines you can paste. No bank connection, no app, no account. Close the month here; keep the ledger as a file.

Copilot Money is a trademark of Copilot Money, Inc. This is an independent, unaffiliated comparison built on Copilot's own published pricing page, linked below and re-read every thirty days.

The tally desk — rendered in this browser

Source: noneRendered: 0Uploaded to 0saas: nothing

Sample data is illustrative, not a claim about Copilot Money. Every Copilot Money figure on this page comes from the linked pricing page, read 2026-09-28.

The prompt pack

Two prompts, each mapped one-to-one onto a Copilot Money 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 Copilot Money's own pricing page says

Read from copilot.money — pricing on 2026-09-28. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.

What the plan automates, and what this desk hands over — verified 2026-09-28
The jobCopilot's page (read 2026-09-28)What it costsThis page + a free-tier model
Trying itFree test drive—This page needs no app install
AI transaction taggingThe paid productUS$95/yrCategory ledger from your pasted month
Subscription spottingThe paid productUS$95/yrSuspect rows with the yearly math shown
Bank syncing & net worthThe app's coreUS$7.92/moOut of scope — nothing connects, ever

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 Copilot Money wins.

Ledgers as files

A close-out table and a suspect table per run, exported as CSV or Markdown — into your spreadsheet, not a silo.

Your bank stays out of it

Nothing connects, nothing syncs, nothing stores. You paste a list; the page never sees an account.

Math you can audit

Totals are re-added from your lines; yearly costs print their multiplication.

Not a money app

No account aggregation, no net-worth tracking, no investments or real estate. Copilot's app is real; this desk does the monthly read.

Not automatic

You paste the transactions each time — there is no feed to maintain and none to leak.

Not advice

The verdict row is arithmetic speaking, not a licensed advisor.

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. Month-close ledger · copilot-money-month-close v1.0.0 · best ally: Google Gemini API — Free usage tier · gemini-2.5-flash-lite

Replaces: The AI tagging and budget analysis US$95/yr buys: pasted transactions become a category ledger with an over/under column and a rollover-aware verdict.

Why this model: Categorizing and totaling a pasted month is precise extraction with arithmetic; a free Flash-lite at low temperature keeps amounts intact and re-adds the totals before rendering. Fallback ally: Groq Cloud — free tier.

System prompt (1527 chars):

You keep the tally desk's ledger: the reader pastes a month of transactions and their category budgets, and you return a close-out table — one row per category, spent, budget, and the over/under in plain words. You re-add every number before you write it, you never merge a transaction into the wrong category to make a budget look kept, and the verdict row says the one true thing about the month.

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": "CATEGORY" }, { "label": "TOTAL" }, { "label": "VERDICT" } ],
  "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. Emit one row per category that had activity, plus one 'MONTH' row with the whole month's spent vs total budget.
2. Cells: category and count; 'US$X of US$Y'; over by US$Z / under by US$Z / on the nose.
3. Re-add the category sums from the pasted lines before writing them; if a line fits two categories, pick the one the reader's budget uses and footnote it.
4. The VERDICT cell is plain words a person would say ('ran away on groceries — 3 takeout orders in week 2'), never 'over budget: 12%'.
5. The MONTH row's verdict names the single category that decided the month.
6. Transactions that belong to no category land in 'Uncategorized' with a footnote naming them — never silently dropped.

User message template:

Close out my month. Transactions: {{txns}} Category budgets: {{budgets}}

Variables:

  • {{txns}} — Paste the month's transactions (max 2500 chars) sample data shipped with the tool
  • {{budgets}} — Category budgets (max 400 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "columns", "rows" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "columns": { "type": "array", "minItems": 2, "maxItems": 6 }, "rows": { "type": "array", "minItems": 1, "maxItems": 60 }, "notes": { "type": "array" } } }

Decoding: temperature 0.2 · max 2200 output tokens · responseMimeType application/json · budget ~500 in / ~800 out per month · cost per run: 1 request against Gemini's free daily messages; the relay floor needs no key at all.

Prompt 02 — 2. Subscription hunt · copilot-money-subscription-hunt v1.0.0 · best ally: Google Gemini API — Free usage tier · openai/gpt-oss-120b

Replaces: The subscription-spotting layer the app prices at US$95/yr: recurring charges found in your paste, their yearly cost computed, and a keep-or-kill verdict on each.

Why this model: Finding recurring patterns and pricing their year is pattern-reading with exact arithmetic; a free instruct model at low temperature states the evidence per charge and commits to a verdict. Fallback ally: Google Gemini API — Free usage tier.

System prompt (1431 chars):

You run the subscription hunt: the reader pastes one to three months of transactions, and you return a suspect table — one row per charge that looks recurring, with the evidence, its computed yearly cost, and a keep / kill / ask-me verdict. You never call something recurring on one sighting without saying so, and you never total a year from a partial month without showing the multiplication.

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": "SUSPECT" }, { "label": "YEARLY" }, { "label": "VERDICT" } ],
  "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. Emit one row per suspect charge; group identical charges from multiple months into one row.
2. Evidence cell states the sightings with dates ('Aug 3, Sep 3 — same amount'), or 'single sighting' if seen once.
3. Yearly cell shows the multiplication ('US$11.99 × 12 = US$143.88'); never annualize without showing it.
4. Verdict cell is keep, kill, or ask-me, with a reason in one clause — ask-me when the charge might be used seasonally.
5. Sort rows by yearly cost, largest first.
6. The notes row states the total yearly cost of all kill-verdict rows, re-added — that number is the point of the hunt.

User message template:

Hunt my subscriptions. Transactions (1–3 months): {{txns}} Anything you already know you use (one line): {{keep}}

Variables:

  • {{txns}} — Paste 1–3 months of transactions (max 2000 chars) sample data shipped with the tool
  • {{keep}} — What you know you use (max 200 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "columns", "rows" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "columns": { "type": "array", "minItems": 2, "maxItems": 6 }, "rows": { "type": "array", "minItems": 1, "maxItems": 60 }, "notes": { "type": "array" } } }

Decoding: temperature 0.2 · max 1800 output tokens · responseMimeType application/json · budget ~400 in / ~700 out per hunt · cost per run: 1 request against Groq's free daily pool; the relay floor needs no key at all.

Questions worth asking before you cancel

What does Copilot cost, exactly?

One plan: US$95 billed yearly, which the page frames as US$7.92 a month, with a monthly toggle whose rate did not print in our capture. The demo is free before you connect accounts. Read 2026-09-28.

Is pasting transactions safe?

It is the safest possible arrangement: nothing connects, nothing stores, and the page has no backend to breach. The trade is that you spend two minutes a month pasting a list.

Can it work from a CSV export?

Yes — paste the CSV's lines directly. Keep the date, merchant and amount columns; anything else is optional.

Where do my transactions go?

Nowhere. No account, no storage, no analytics beyond the site beacon. Paste, render, download, clear the tab.

Does it work without an API key?

Yes. Copy the printed prompt into any free chat model, paste the JSON answer into the relay box, and the desk renders it exactly the same way.

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.

Next on the ledger