Core Concepts
Items
Every entry is a scheduled item. You can create income or expenses, set a start date, and optionally define a recurrence schedule.
Occurrences
Recurring items generate occurrences on the calendar. You can edit just one occurrence or update the current and all future ones.
Overrides
Balance overrides let you correct the calculated daily balance for a given date without changing the underlying items.
Adding Items
Use the Items tab to create a scheduled entry. Each item has a type, amount, recurrence, and category. Recurring items can include a price history to change the amount starting on a specific date.
Example: Recurring Rent
- Description: Rent
- Type: Expense
- Amount: 1200
- Recurrence: Monthly
- Date: 2026-01-01
- Category: Housing :: Rent
Editing Occurrences
In the calendar view, click the edit button on an occurrence to update it. Choose between editing a single date or applying the change to that date and all future occurrences. This is the best way to handle one-off changes like a different paycheck amount or a shifted bill date.
Example: One-Time Adjustment
- Open a calendar day.
- Click Edit on the occurrence.
- Select "This occurrence only".
- Save a new amount for that date.
Views And Navigation
- Month, quarter, year, and custom range views are available.
- Use the focus selector to jump to a specific date.
- Calendar density controls how much detail is shown per day.
Import And Export
Use Import CSV to map your file columns to Budget Planner fields. You can also import JSON exports to fully restore settings, items, overrides, occurrences, and categories.
CSV Example
kind,id,type,amount,recurrence,category,date,description
item,1,expense,1200.00,monthly,Housing::Rent,2026-01-01,Rent
item,2,income,3000.00,biweekly,Income::Salary,2026-01-03,Paycheck
override,,,2500.00,,,,2026-01-10,Manual balance
JSON Snapshot Example
{
"settings": {
"startDate": "2026-01-01",
"startingBalance": 1500,
"warningThreshold": -200,
"themePreset": "sandstone",
"themeMode": "light",
"language": "en",
"buttonStyle": "icon",
"fontFamily": "space",
"calendarDensity": "simple",
"currencyCode": "USD",
"currencyDisplay": "symbol",
"dateFormat": "",
"timeFormat": "24"
},
"items": [],
"overrides": {},
"occurrences": {},
"categories": []
}
Demo Mode
Demo mode keeps its data separate from your real data. Use the "Open Demo Data" button at the top of this page to launch the app in demo mode with sample content.
Data And Privacy
- All data is stored in localStorage inside your browser.
- No server is required; it works offline after the page loads.
- To serve locally, run
python -m http.serverfrom the project root.
Troubleshooting
- If something looks wrong, try exporting JSON and re-importing it.
- Use the developer console page for inspecting localStorage and error logs.
- When you see an error reference, share it with your administrator.