Budgeting & personal bookkeeping
Categorize transactions and reconcile a personal budget.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
Previous class address: R12.03.01.02 · Original proposal IDs are retained.
- Typical applications
- YNAB · spreadsheets · budgeting apps
- Class GUI-need label
HY· Hybrid
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R12.03.01.02-T01 Record a salary income entry with category and account in Bluecoins
Original instruction
In Bluecoins on the Android emulator, record a salary income of 8,000 CNY on 2026-10-10 to account 'ICBC Debit', category 'Salary', label 'October', and a note 'net of tax'.
- Platforms
and· Android- Applications
- Bluecoins
- Interfaces
mob· Mobile touch- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G3· GUI-only- Interaction primitives
touch· Touch gesturestype· Text & forms- Work product
WP02· Records/table- Conditions
- None declared
- Proposed difficulty
- 1 / 5
Proposed verifier
Bluecoins SQLite: one income transaction amount 8000, date, account, category, label and notes exact. No other new rows. The agent has no adb shell or root, so the Bluecoins database is not reachable for direct inserts; rows must be entered in the app, as the harness input log confirms.
Proposed partial credit
40% amount/date; 30% account+category; 30% label+note.
R12.03.01.02-T02 Enter expenses from a markdown list into Pro Expense
Original instruction
Add the 9 expenses listed in fixtures/expenses.md to Pro Expense (Android emulator) with the right category, date and amount for each; two entries use a currency other than the app's default and must be entered in their original currency.
- Platforms
and· Android- Applications
- Pro Expense
- Interfaces
mob· Mobile touch- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G3· GUI-only- Interaction primitives
touch· Touch gesturestype· Text & forms- Work product
WP02· Records/table- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
App DB: 9 rows matching (amount, currency, category, date); per-row scoring; duplicates penalized. Pro Expense has no import feature in this build. The agent has no adb shell or root, so the app database is not reachable for direct inserts.
Proposed partial credit
90% rows correct (equal weight per row); 10% currency handling for the 2 foreign entries.
R12.03.01.02-T03 Categorize a month of card transactions into budget categories
Original instruction
In Actual Budget (desktop app), import fixtures/card_2026-09.ofx into account 'Visa', then categorize all 40 transactions per the rules in categories.md (some require reading the payee names closely, e.g. 'SQ *BLUE BOTTLE' → Coffee). Create rules for payees that appear 3+ times.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- Actual Budget
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
AP· API-sufficient- Interaction primitives
click· Point & clicktype· Text & formsvis· Visual judgment- Work product
WP02· Records/table- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Actual DB (SQLite): 40 imported transactions with categories vs gold (accuracy); rules table has a rule for each payee with >= 3 occurrences. Per-category totals compared.
Proposed partial credit
15% import; 65% categorization accuracy (proportional); 20% rules created.
R12.03.01.02-T04 Reconcile a checking account against a bank statement PDF in GnuCash
Original instruction
In GnuCash, reconcile 'Assets:Checking' against fixtures/statement_sep.pdf (ending balance $4,812.37 on 2026-09-30). Mark cleared transactions, add the two missing items shown on the statement (bank fee, interest) with correct accounts, and finish the reconciliation with zero difference.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- GnuCash
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & formsvis· Visual judgment- Work product
WP02· Records/table- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
GnuCash book (SQLite backend): reconcile state 'y' for the statement's transactions only, last reconcile date 09-30, two new splits with correct accounts/amounts; reconciled balance = 4812.37.
Proposed partial credit
40% correct cleared set; 30% missing items added; 30% reconciliation finished at zero difference.
R12.03.01.02-T05 Update a bookkeeping sheet from a folder of receipt images
Original instruction
Folder receipts/ has 14 receipt photos and PDFs from October. Add each to the 'October' tab of household_budget.xlsx (date, merchant, amount, category from the dropdown, payment method), keeping the table sorted by date and the totals formulas intact.
- Platforms
mac· macOSwin· Windows- Applications
- Excel · Photos · Preview
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
vis· Visual judgmenttype· Text & formsmulti· Cross-app- Work product
WP02· Records/table- Conditions
multiapp· Multi-app- Proposed difficulty
- 3 / 5
Proposed verifier
openpyxl: 14 new rows vs ground truth (amount exact, date exact, merchant fuzzy >= 0.9, category exact); sort order; SUM formulas unchanged and covering new rows.
Proposed partial credit
60% row values (per receipt); 20% categories; 10% sort; 10% formulas intact.
R12.03.01.02-T06 Assign a month's income to YNAB-style categories to reach zero to-be-budgeted
Original instruction
In the YNAB-style web clone, assign October income across categories per plan.txt (fixed bills first, then 15% to 'Emergency Fund', remainder split by stated weights), ending with exactly $0.00 'Ready to Assign'. Move money to cover the overspent 'Groceries' category from 'Dining Out'.
- Platforms
web· Any OS (web)- Applications
- YNAB-style clone
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
type· Text & formsclick· Point & clickdrag· Drag & drop- Work product
WP02· Records/table- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Budget DB for October: assigned amounts per category equal plan (cents rounding to the largest weight); Ready to Assign = 0; Groceries available >= 0 with transfer from Dining Out. The clone issues no API token and accepts budget writes only from the browser session (CSRF + session id), so scripted requests are rejected.
Proposed partial credit
40% fixed bills; 30% weighted split; 20% zero RTA; 10% overspend covered.
R12.03.01.02-T07 Find invoices that don't match bank statement entries
Original instruction
Cross-check invoices in invoices/ (12 PDFs) against bank_statement.xlsx for September. Produce mismatches.xlsx listing invoices with no matching payment or an amount mismatch (invoice no., expected, paid, difference), and highlight the matched statement rows in green in bank_statement.xlsx.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- LibreOffice Calc · PDF viewer
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
multi· Cross-appvis· Visual judgmenttype· Text & forms- Work product
WP02· Records/table- Conditions
multiapp· Multi-app- Proposed difficulty
- 3 / 5
Proposed verifier
mismatches.xlsx rows equal the 3 seeded mismatches (exact amounts); bank_statement.xlsx fill color green exactly on the 9 matched rows.
Proposed partial credit
60% mismatches correct (one third each); 30% highlights; 10% no false positives.
R12.03.01.02-T08 Split a shared grocery receipt between personal and household categories
Original instruction
In Actual Budget, the 2026-10-04 'Whole Foods' transaction of $132.47 must be split per fixtures/wf_receipt.jpg: household items go to 'Household', groceries to 'Groceries', and the two items marked with a pen 'S' to 'Sam - reimbursable'. Tax is distributed proportionally across splits.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- Actual Budget
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
vis· Visual judgmenttype· Text & formsclick· Point & click- Work product
WP02· Records/table- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Split transaction children: 3 categories with amounts equal to ground truth (proportional tax rounded to cents, sum = 132.47). The agent has no terminal or Node runtime, so @actual-app/api and direct edits of the budget's SQLite file are not reachable; the split must be made in the Actual app.
Proposed partial credit
40% item assignment (via subtotals); 40% tax allocation; 20% split sums exact.
R12.03.01.02-T09 Build a monthly cash-flow chart from a budget export
Original instruction
From export_2026.csv (Firefly III export, 1,100 transactions), create in Numbers (or Excel) a pivot-style summary of income vs expenses per month Jan-Sep and a clustered column chart with a net line on a secondary axis. Exclude internal transfers (type=transfer). Save as cashflow.numbers / .xlsx.
- Platforms
mac· macOSwin· Windows- Applications
- Numbers · Excel
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickvis· Visual judgmentcode· Code & commands- Work product
WP03· Visual layout- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Summary table values vs pandas reference (exact to cents); chart exists with 2 column series + 1 line series on secondary axis (parsed from file XML); transfers excluded.
Proposed partial credit
50% monthly values; 20% transfers excluded; 30% chart structure.
R12.03.01.02-T10 Set up envelope budgets and a recurring bill in Money Manager Ex
Original instruction
In Money Manager Ex, create a 2027 budget with monthly amounts from budget_plan.csv for 12 categories (two need yearly amounts converted to monthly), create a recurring transaction for internet $65 on the 5th monthly from Checking, and run the budget vs actual report for January.
- Platforms
win· Windowsmac· macOSlin· Linux- Applications
- Money Manager Ex
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G3· GUI-only- Interaction primitives
type· Text & formsclick· Point & click- Work product
WP02· Records/table- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
MMEX SQLite: budget table entries for 2027 equal plan (yearly→monthly), billsdeposits row for internet with recurrence monthly day 5; report exported/viewed (app log).
Proposed partial credit
60% budget entries; 30% recurring bill; 10% report run.
R12.03.01.02-T11 Find and merge duplicate imported transactions
Original instruction
The user imported the same Chase CSV twice into Actual Budget, plus manually entered a few of the same transactions. Remove duplicates so each real transaction appears once, keeping the manually entered version where notes were added. Do not delete transactions that legitimately repeat (two identical coffee purchases on the same day exist).
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- Actual Budget
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
AP· API-sufficient- Interaction primitives
click· Point & clickvis· Visual judgment- Work product
WP02· Records/table- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Final transaction set equals ground truth (multiset match by date/amount/payee/notes); legitimate repeated coffee pair preserved; notes-bearing manual entries kept.
Proposed partial credit
50% duplicates removed; 30% legit repeats kept; 20% correct version kept.
R12.03.01.02-T12 Average scores with the system calculator and fill a family allowance table
Original instruction
In macOS Numbers, allowance.numbers has chores done per child for October. Using the rates in the 'Rates' sheet, compute each child's allowance including a 10% bonus for >= 20 chores, fill column E, and log the payout as expense rows in the 'Budget' sheet under category 'Kids'.
- Platforms
mac· macOS- Applications
- Numbers
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
type· Text & formsclick· Point & click- Work product
WP02· Records/table- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Exported .numbers (via numbers-parser): column E values exact; Budget sheet has one row per child with matching amounts and category Kids; totals cell updated.
Proposed partial credit
60% allowance values; 30% budget rows; 10% totals.
R12.03.01.02-T13 Track a reimbursable work trip and mark items when repaid
Original instruction
In Actual Budget, tag 7 transactions from the Denver trip (2026-09-14..17, see trip_receipts/) as 'Reimbursable', move them to the 'Work Travel' category, then record the employer reimbursement deposit of 10-02 against them so the category nets to zero, and add a note listing which items were not reimbursed (from reimbursement_report.pdf).
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- Actual Budget · PDF viewer
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
AP· API-sufficient- Interaction primitives
multi· Cross-appclick· Point & clicktype· Text & forms- Work product
WP02· Records/table- Conditions
multiapp· Multi-app- Proposed difficulty
- 4 / 5
Proposed verifier
Actual DB: 7 transactions with tag and category; deposit categorized to Work Travel; category balance equals unreimbursed amount (not zero, seeded 2 rejects) and note lists those 2.
Proposed partial credit
40% correct 7 transactions tagged; 30% deposit; 30% unreimbursed note + balance.
R12.03.01.02-T14 Convert a foreign-currency trip's expenses using statement rates
Original instruction
trip_jp.xlsx lists 25 yen expenses. Convert each to USD using the exchange rate actually applied on the card statement for that date (fixtures/statement_oct.pdf shows posted USD amounts), compute effective FX fee % per transaction, and add a summary of total USD and average fee. Flag transactions with fee > 3%.
- Platforms
mac· macOSwin· Windows- Applications
- Excel · PDF viewer
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
multi· Cross-apptype· Text & formsvis· Visual judgment- Work product
WP02· Records/table- Conditions
multiapp· Multi-app- Proposed difficulty
- 4 / 5
Proposed verifier
Per-row USD equals statement posted amount (matched by date and yen amount); fee % exact to 0.01; flags on the seeded 4 rows; summary totals exact.
Proposed partial credit
40% matched USD; 30% fee %; 20% flags; 10% summary.
R12.03.01.02-T15 Repair a broken household budget spreadsheet's formulas
Original instruction
household_budget.xlsx has wrong totals: a SUM range misses new rows, a category SUMIF references the wrong column, and one month tab has numbers stored as text. Fix the workbook so the 'Annual' tab shows correct per-category totals; do not change any input amounts.
- Platforms
mac· macOSwin· Windows- Applications
- Excel
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & formsvis· Visual judgment- Work product
WP02· Records/table- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Recalculated Annual tab values equal pandas reference; input cells unchanged (hash of values, text→number conversion allowed); formulas present (not hardcoded).
Proposed partial credit
90% seeded faults fixed (one third each); 10% inputs unchanged.
R12.03.01.02-T16 Log cash spending from a photographed notebook page
Original instruction
fixtures/cash_log.jpg is a handwritten notebook page with 11 cash expenses for the week. Enter them into the 'Cash' account in Bluecoins (Android emulator) with categories from the app's list, and add an adjustment so the Cash account balance equals the counted cash $43.25 written at the bottom.
- Platforms
and· Android- Applications
- Bluecoins
- Interfaces
mob· Mobile touch- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G3· GUI-only- Interaction primitives
vis· Visual judgmenttouch· Touch gesturestype· Text & forms- Work product
WP02· Records/table- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Bluecoins DB: 11 expense rows (amount exact, date, category within accepted set) and one balance adjustment such that Cash balance = 43.25. The agent has no adb shell or root, so the Bluecoins database is not reachable for direct inserts; rows must be entered in the app, as the harness input log confirms.
Proposed partial credit
70% expense rows (per row); 30% adjustment to counted balance.
R12.03.01.02-T17 Prepare a year-end tax-deductible summary from a budgeting app
Original instruction
From the Firefly III instance (web), produce deductible_2025.xlsx listing all transactions tagged 'charity' or in category 'Medical' for 2025 with date, payee, amount, and receipt attachment filename, plus totals per group. Some charity donations are split transactions; include only the charity split amounts.
- Platforms
web· Any OS (web)- Applications
- Firefly III · LibreOffice Calc
- Interfaces
brow· Browserdesk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
nav· Pan/zoom/scrollmulti· Cross-apptype· Text & forms- Work product
WP02· Records/table- Conditions
multiapp· Multi-app- Proposed difficulty
- 4 / 5
Proposed verifier
xlsx rows equal reference query results (split-aware), totals exact; attachment filenames match. Firefly API tokens disabled for the user, export via UI reports permitted.
Proposed partial credit
50% correct rows; 20% split handling; 20% totals; 10% attachments.
R12.03.01.02-T18 Reconcile a credit card in Quicken-style app and fix a mis-categorized refund
Original instruction
In the Quicken-style desktop clone (Windows), reconcile the Visa account against the October statement PDF; one refund was entered as a payment, causing a $58.40 difference. Find and correct it (as refund to the original category), then finish reconciliation.
- Platforms
win· Windows- Applications
- Quicken-style clone · PDF viewer
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G3· GUI-only- Interaction primitives
click· Point & clickvis· Visual judgmenttype· Text & forms- Work product
WP02· Records/table- Conditions
multiapp· Multi-app- Proposed difficulty
- 4 / 5
Proposed verifier
App DB: refund transaction type=credit with category matching original purchase; reconciled flag on statement transactions; difference 0; statement end balance recorded. The agent has no PowerShell or terminal and the clone exposes no API or scripting, so its DB is not reachable for direct edits; writes by other processes are flagged by the file audit log.
Proposed partial credit
40% refund found and corrected; 40% reconciliation complete; 20% no other edits.
R12.03.01.02-T19 Migrate a household budget from a spreadsheet into Actual Budget
Original instruction
Migrate 2026 Jan-Sep from legacy_budget.xlsx (one tab per month, inconsistent category names) into Actual Budget: map categories to the 14 Actual categories per mapping notes, import transactions per account, set monthly budgeted amounts, and verify per-month category totals match the spreadsheet.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- Actual Budget · Excel
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
AP· API-sufficient- Interaction primitives
multi· Cross-appcode· Code & commandsclick· Point & click- Work product
WP02· Records/table- Conditions
multiapp· Multi-applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Actual DB vs reference: transaction count per account, per-month per-category actual totals exact, budgeted amounts exact; unmapped categories none.
Proposed partial credit
40% transactions imported; 30% category mapping (totals); 30% budgeted amounts.
R12.03.01.02-T20 Close the month across bank exports, receipts and a budget app with a variance memo
Original instruction
For October: import 3 bank/card exports into Actual Budget, attach and enter 6 cash receipts, reconcile each account to its statement balance, roll over category balances, and write variance.md listing categories over budget by > 10% with amounts. All balances must reconcile to statements.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- Actual Budget · Preview · text editor
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
multi· Cross-appclick· Point & clickvis· Visual judgment- Work product
WP02· Records/table- Conditions
multiapp· Multi-applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Actual DB: all 3 accounts reconciled to statement balances; cash receipts entered (6 rows); variance.md lists exactly the seeded 4 over-budget categories with amounts ±$0.01.
Proposed partial credit
30% imports; 15% cash receipts; 30% reconciliations; 25% variance memo.
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.