Job ticket 610248 · consumer · envelope desk · no subscription
YNAB's method is four rules and a table. The table costs US$109 a year.
This page is an envelope desk. Paste your month — income, bills, the goal you're protecting — and a free-tier model drafts the zero-based plan: every dollar a job, every envelope a watch rule. At month's end, paste what actually happened and get the debrief as a mirror, not a lecture. Your numbers go only where you paste them; nothing here links a bank, stores a balance, or renews.
YNAB (You Need A Budget) is a trademark of You Need A Budget LLC. This is an independent, unaffiliated comparison built on YNAB's own published pricing page, linked below and re-read every thirty days. Nothing on this page is financial advice.
Envelope sheet — rendered in this browser
Sample data is illustrative, not a claim about YNAB. Every YNAB 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 YNAB 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 YNAB's own pricing page says
Read from ynab.com/pricing on 2026-09-27. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.
| The job | YNAB (34-day trial) | YNAB Annual (US$109/yr) | This page + a free-tier model |
|---|---|---|---|
| Price | US$0 for 34 days, then nothing survives | US$109 a year (US$9.08/mo as displayed), or US$14.99 month-to-month | US$0 forever. A free-tier key costs nothing; the prompts are yours. |
| Giving every dollar a job | The full app, briefly | The category editor, goals, and targets | Prompt 1 drafts the envelope table from your pasted month — amounts you stated, jobs written out, watch rules included |
| The month-end reckoning | Reports, briefly | Spending reports, age of money, reflections | Prompt 2 mirrors your own notes back per envelope — HELD, DRIFTED, BLEW, or the honest NO DATA |
| Where your numbers live | YNAB's servers, bank-linked | YNAB's servers, bank-linked | Nowhere. You paste text, the sheet renders locally, the export is a file only your machine holds. |
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 YNAB wins.
Replaced: the planning ritual
The zero-based sheet, drafted from a paragraph of your month — every stated dollar assigned, unstated ones honestly marked 'you decide' instead of guessed.
Replaced: the review ritual
A per-envelope debrief with verdicts and at most two concrete adjustments — the reflective loop YNAB's reports exist to provoke, as a file.
Replaced: the method's paperwork
Watch rules written per envelope, so mid-month you check a sentence instead of opening an app.
NOT a ledger
No balances carried, no transactions imported, no sync. The page cannot know what you spent unless you paste it — that is the design, not a gap.
NOT bank-linked
YNAB's import automation is real convenience and it requires credentials this page refuses to touch. Typing your month in is the cost of keeping it.
NOT financial advice
The sheet assigns the month you describe. Debt strategy, investing, tax — out of scope by rule 5 of both prompts, and the prompts say so to the model.
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. Zero-based envelope plan · ynab-envelope-plan v1.0.0 · best ally: Google Gemini API — Free usage tier · gemini-2.5-flash-lite
Replaces: YNAB's core paid ritual: 'give every dollar a job' — the month's income assigned across named envelopes before the month spends itself.
Why this model: A zero-based plan is a constraint-satisfaction table, not prose: every stated dollar must land in exactly one envelope and the arithmetic note must flag what it could not verify. Flash-lite's JSON mode holds the grid; chat-tuned models editorialize about latte spending, which is banned here. Fallback ally: Copy-Paste Relay.
System prompt (1777 chars):
You are a budget clerk drafting a zero-based envelope plan. You allocate the money the person states, into envelopes the person's own facts justify. You are not a financial adviser, you recommend no products, and you never moralize about spending.
Return ONLY one JSON object. No markdown fences, no commentary, no preamble.
{
"kicker": string (max 8 words, name the month if stated),
"title": string (max 8 words),
"columns": [ { "label": "envelope" }, { "label": "assigned" }, { "label": "the job" }, { "label": "watch rule" } ],
"rows": [ [ string (envelope name, <= 4 words), string (amount exactly as derivable from the input, or "you decide"), string (what this money's job is, <= 12 words), string (the rule that tells you mid-month if it is failing, <= 14 words) ] ],
"notes": [ string (max 25 words each) ]
}
Hard rules:
1. Use ONLY amounts stated in or directly implied by the input. Never invent an income, a bill, or a typical cost. If a category clearly needs money but no figure was given, the assigned cell is "you decide".
2. 6 to 14 envelopes. Every stated obligation gets one; leftover money goes to one envelope named by the person's stated goal, or to "unassigned — give it a job" if no goal was stated.
3. First note must state the arithmetic honestly: either "assigned amounts sum to the stated income" or "sum could not be verified from the input — check by hand", whichever is true. Do not silently force a balance.
4. Watch rules are observable ("if half is gone by the 10th, cook twice more that week"), never virtues ("be disciplined").
5. No investment, credit, tax or debt-restructuring advice of any kind. If the input asks for it, add a note: "out of scope — this sheet only assigns the month".
6. Write in the language of the input.
User message template:
Variables:
{{income}}— Income this month, in your words (max 400 chars) sample data shipped with the tool{{month_facts}}— Bills, dates, and the month's known facts (max 1200 chars) sample data shipped with the tool{{goal}}— The thing this month should protect (max 300 chars) sample data shipped with the tool
Output schema (the answer must match this exactly):
Decoding: temperature 0.3 · max 1400 output tokens · responseMimeType application/json · budget ~700 in / ~800 out per month plan · cost per run: 1 request a month. Any free tier's daily allowance covers this hundreds of times over; the relay floor spends nothing at all.
Prompt 02 — 2. Month debrief · ynab-month-debrief v1.0.0 · best ally: Groq Cloud — free tier · llama-3.3-70b-versatile
Replaces: YNAB's reflect-and-adjust loop (reports, 'age of money', the month-end review) — the honest mirror read from what you actually spent.
Why this model: The debrief is per-envelope classification against a written plan — match, drift, or blowout, with the reason quoted from the person's own notes. A fast instruct model at low temperature does this without drifting into pep talk, which is the failure mode the prompt bans. Fallback ally: Copy-Paste Relay.
System prompt (1623 chars):
You read a month of spending against the envelope plan it was supposed to follow, and you write the debrief as a mirror: what happened, in the person's own numbers, with no praise and no scolding. You are not a financial adviser and you never extrapolate a trend from one month.
Return ONLY one JSON object. No markdown fences, no commentary.
{
"kicker": string (max 8 words),
"title": string (max 8 words),
"columns": [ { "label": "envelope" }, { "label": "planned" }, { "label": "what the notes say happened" }, { "label": "verdict" } ],
"rows": [ [ string (envelope), string (planned amount exactly as pasted, or "—"), string (<= 16 words, amounts quoted verbatim from the spending notes), string (one of HELD | DRIFTED | BLEW | NO DATA, plus <= 8 words of reason) ] ],
"notes": [ string (max 30 words each) ]
}
Hard rules:
1. Copy every amount verbatim from the input. Do NOT compute sums, differences, or percentages — if a comparison needs arithmetic the input did not do, the verdict cell says "check by hand" after its tag.
2. One row per envelope in the pasted plan, same order. Spending that fits no envelope gets collected into one final row named "off-plan" with verdict NO DATA.
3. NO DATA is the honest verdict whenever the notes are silent about an envelope. Silence is never treated as zero spending.
4. Notes may name at most 2 adjustments for next month, each phrased as a change to an envelope amount or a watch rule — never as a character judgment.
5. No debt, credit, investment or tax advice. Money moved between envelopes is reported, not endorsed.
6. Write in the language of the input.
User message template:
Variables:
{{plan}}— Your envelope plan, one per line (max 900 chars) sample data shipped with the tool{{spending_notes}}— The month's spending, as messy as it is (max 2000 chars) sample data shipped with the tool
Output schema (the answer must match this exactly):
Decoding: temperature 0.25 · max 1300 output tokens · responseMimeType application/json · budget ~900 in / ~700 out per debrief · cost per run: 1 request a month against Groq's published 1,000 requests/day base — 0.1% of one day's allowance, once a month.
Questions worth asking before you cancel
Does this need an API key?
No — that is the floor of the design. Copy either prompt into any free chat model and paste the JSON back into the box under it; the sheet renders from your paste. A free-tier key (Gemini, Groq) just saves the copy-paste hop.
Is US$109 or US$14.99 the real YNAB price?
Both, as displayed on 2026-09-27: US$109 paid annually (the page shows it as US$9.08/month) or US$14.99 billed monthly, each marked 'plus tax where applicable'. There is no ongoing free plan; the trial is 34 days.
Why won't the debrief add up my spending?
Because a model doing arithmetic on your money is a liability, not a feature. It quotes your numbers verbatim and stamps 'check by hand' where a comparison needs math your notes didn't do. The sums stay yours.
What happens when YNAB changes its price?
This page re-checks its fields on a thirty-day cycle (next due 2026-10-27) and publishes changes as receipts. Any figure we cannot re-read renders as unconfirmed, never as the old number wearing a new date.
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.