Vibecode Lunch Money

track this build5 phases, 15 steps, beginner friendly
KINDA · weekend project
price $10/moyou'd save $120/yrbuild time multi-daycategory 💰 personal financereplaced by 0 people

The core loop is buildable, but a dependable replacement becomes a real weekend or multi-day project. For Lunch Money, import transactions and maintain a transparent personal ledger with rules and reports. The hard boundary is bank sync, multi-currency support, api, community, and hosted convenience, plus financial integrations, compliance, and trust.

the project pack5 files · written for this build, step by step
README.md
# Lunch Money · indie build

A personal finance ledger where the interesting work is reconciliation: bank feeds deliver the same spending several times in different forms, transactions change after they arrive, and rules that recategorise the past must never silently rewrite a month you already reviewed.

Estimated effort: **multi-day**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Runtime | TypeScript with Fastify and PostgreSQL | money data wants transactions and constraints, not a document store |
| Import | An aggregator for bank connections, plus file import as a first-class path | connections break constantly and a ledger that only works when they work is not a ledger |
| Amounts | Integer minor units, never floating point | floating point money produces off-by-a-penny errors that take days to find |
| Rules | Applied at import, with retroactive application as an explicit reviewed action | a rule that silently rewrites reviewed history destroys trust in the ledger |
| Currency | Amount, currency and the rate used, stored per transaction | converting on display loses the rate that was actually in effect |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Node.js 22 or newer** · free
  - Why: Runs the server and the import workers.
  - Get it: nodejs.org, or nvm install 22.
  - Verify: node --version prints v22 or higher
- [ ] **PostgreSQL 16 or newer** · free locally
  - Why: Money data wants real transactions, constraints and exact integer arithmetic.
  - Get it: Docker or your package manager.
  - Verify: psql connects and creates a table
- [ ] **A bank aggregator account in sandbox** (optional) · free in sandbox; per-connection in production
  - Why: Phase 2 depends on how a real provider models pending and posted transactions, and no fixture you invent will match it.
  - Get it: Sign up for a provider covering your region, read its transaction states documentation before writing code, and use sandbox institutions first.
  - Verify: A sandbox account syncs and a pending transaction is observed becoming posted
- [ ] **Twelve months of your own statements** · free
  - Why: Deduplication, transfer matching and date handling only break on real data, and CSV exports from different banks disagree about nearly everything.
  - Get it: Download CSV exports from every account you hold, including one from a bank whose format is awkward.
  - Verify: A year of real statements imports and balances match the bank's own figures
- [ ] **Where the ledger's source of truth sits** · free
  - Why: If the bank feed is authoritative you cannot edit history, and if your ledger is authoritative you must reconcile against the bank. Deciding late means rebuilding the reconciliation.
  - Get it: Decide whether an imported transaction may be edited, and what happens when the bank later changes it. Write it down before phase 2.
  - Verify: A written note states the rule and what happens on a conflict

## Quick start

Follow Phase 1 in `BUILD_PLAN.md`; it creates the project.

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- Investment tracking with cost basis and tax lots.
- Broad institution coverage.
- Any tax filing or advice.
- Shared household finances with per-person visibility.
- bank sync, multi-currency support, API, community, and hosted convenience
- direct bank feeds
- tax filing guarantees
- payroll and payments
- accountant ecosystem and support

If one of those is essential to you, that is the reason to keep paying for Lunch Money, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

why people still pay

People still pay for Lunch Money because people pay because accurate money records and dependable institution connections are worth more than the visible charts. The recurring cost buys import normalization, reconciliation, rule drift, exchange rates, backups, audit trails, tax changes, bank APIs, and support, not just the visible interface.

what you lose

xbank sync, multi-currency support, API, community, and hosted convenience

xdirect bank feeds

xtax filing guarantees

xpayroll and payments

xaccountant ecosystem and support

share on X ↗"I just replaced Lunch Money ($10/mo) with one prompt"
the escape hatch

Don't feel like building it? These folks already made it free.

Actual BudgetA transparent ledger with imports, rules and reports on your own disk; automatic bank sync is optional.28kaug 2026open source↗Firefly IIIA meticulous imported ledger with rules and reports in Docker; powerful, private and willing to teach accounting words.24kaug 2026open source↗WealthfolioTransactions, rules, spending reports and net worth on your device; automatic account sync is paid.8.5kaug 2026open source↗

all 5 free alternatives to Lunch Money →· no votes, no pay-to-list · just what's real

the numbers

Lunch Money pricing

planmonthlyannual (per mo)what you get
monthly subscription$10—All product features; 30-day trial; price locked for life
annual subscription—$8.33All product features; user can set annual price, displayed default $100/year; 30-day trial

free tierno free tier; 30-day trial with no credit card

billingmonthly + annual (annual price is user-set; displayed default $100/year)

hidden costsAnnual customers can choose their own price; organization pricing is separate. Pausing converts unused time into account credit.

verified 2026-08-13 · source ↗

questions
Vibecode Lunch Money

Kinda. The core of Lunch Money is buildable in a weekend with the prompt on this page, but there are real gaps: bank sync, multi-currency support, API, community, and hosted convenience, direct bank feeds. Read the honest list above before committing.

How much does Lunch Money cost?

Lunch Money costs about $10/month (Lunch Money, checked 2026-07-31), which is $120 per year.

What do I lose by replacing Lunch Money?

Honestly: bank sync, multi-currency support, API, community, and hosted convenience; direct bank feeds; tax filing guarantees; payroll and payments; accountant ecosystem and support. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to Lunch Money?

Yes: Actual Budget (A transparent ledger with imports, rules and reports on your own disk; automatic bank sync is optional.) Firefly III (A meticulous imported ledger with rules and reports in Docker; powerful, private and willing to teach accounting words.) Wealthfolio (Transactions, rules, spending reports and net worth on your device; automatic account sync is paid.) All 5 curated free alternatives are at vibecodeit.com/lunch-money/alternatives. The prompt is for when you want it exactly your way.