📋 Step-by-step installation guide

Follow these steps in order. Each step is illustrated with a real screenshot. Anyone can do it! 😊

1

Open the app in your browser

Go to the app's URL (or open the file budget_familial.html). The start screen appears with two choices.

Welcome screen
The welcome screen with user profiles
💡 If it's your very first time, you'll first see the onboarding screen with two big cards: Demo Mode and Create my account.
2

Click your name to log in

Click on the card with your name. If you set a PIN code, you will be asked for it. Once logged in, the app opens directly.

Guided tour on first launch
On first launch, the guided tour starts automatically 🎉
💡 The guided tour walks you through each part of the app in 12 steps (including quick add, Google sign-in and the AI assistant). You can navigate with the ← → arrow keys.
3

Discover the header buttons

At the top of the page you'll find all the important buttons:

App header
The top bar with all control buttons
  • 🔵 Your name — click to switch user
  • 💾 Save — VERY IMPORTANT: click here after every change!
  • 📥 Export CSV — export your data to an Excel file
  • 📦 Backups — access your automatic backups
  • ❓ Help — restart the guided tour or open this guide
  • 🌙 Dark mode — switch between light/dark theme
⚠️ Never forget to click 💾 Save after entering data! Otherwise everything will be lost if you close the page.
4

Navigate between years using the tabs

Below the header, you can see the year tabs. Click on a year to display it. Use + Year to create a new year.

Year tabs
The tabs: Global Summary, 2025, 2026, + Year, Charts, Settings
💡 In the free version, you can have 1 year only. With a Premium licence you can have as many as you want.
5

Enter your starting balances

At the top of each year, there are 4 important fields you only need to fill in once:

Balance section
The 4 balance indicators at the top of each year
  • Account (01/01) — Your checking account balance on January 1st
  • Current account — Calculated automatically ✨
  • Initial savings — Your savings account balance on January 1st
  • Current savings — Calculated automatically ✨
💡 For subsequent years, the initial savings balance is filled in automatically from the ending balance of the previous year.
6

Enter your monthly revenues

In the green 💼 Revenues section, click on each cell to enter the amount for each month. You can have multiple revenue rows (salary, benefits, etc.).

Revenue section
Revenue section with amounts month by month — here €4,500/month
💡 If your salary is the same every month, enter the value in January then right-click on the cell to copy it across the whole row.
7

Enter your fixed costs and check them when paid

In the pink 🏠 Fixed Costs & Expenses section, enter your recurring costs (rent, electricity, subscriptions…). Each month, click on the cell to check it green when you have paid.

Fixed costs section
Fixed costs section — click a cell to mark it as "paid" (green)
⚠️ Only checked (paid) costs are counted in your real balance calculation. Don't forget to check them!
8

Record your variable expenses as you go

In the yellow 🛒 Variable Expenses section, click the small + in the correct month column to add an expense (groceries, fuel, miscellaneous…).

Variable expenses section
Variable expenses section with colour-coded categories
💡 You can add a comment (e.g. "Lidl"), today's date and the payment method (card, cash, meal voucher).
9

Check the automatic monthly summary

The blue 📊 Monthly Summary section calculates everything automatically for each month of the year.

Monthly summary section
The monthly summary — everything is calculated automatically!
  • 🟢 Revenues — total income for the month
  • 🔴 Paid costs — total of checked costs
  • 🟡 Variable expenses — total of entered expenses
  • 🔵 Real balance — your calculated actual bank balance
  • 💰 Savings — your calculated savings account balance
10

Save and you're done! 🎉

Click the 💾 Save button in the header. The app shows "Saved ✅" and the date/time of the last save.

💡 The app automatically creates a safety backup every day. You can access up to 20 days of history in 📦 Backups.
🎯 Tip: install the app on your phone or tablet! On Chrome/Edge, click the install icon in the address bar. It will work even without internet. → Learn more

🚀 Getting Started

Mon Budget is a Progressive Web App (PWA). It works offline and can be installed on your device just like a native app.

First launch

On first launch, you can choose between:

🎮
Demo Mode
Explore with fictional data without any setup. Perfect for getting started.
➕
Create an account
Set up your profile, revenues and regular expenses in 6 steps.

Account creation (6-step wizard)

  1. Profile — Your name and avatar colour
  2. Revenues — Your usual monthly revenues (salary, benefits…)
  3. Fixed costs — Your recurring fixed costs (rent, energy, subscriptions…)
  4. Budgets — Suggested monthly budget for each expense category (automatically converted to annual)
  5. PIN — Optional security code to protect your data
  6. Cloud — Optional Google sign-in for Premium sync
💡 Suggested budgets — At the Budgets step, the wizard pre-fills common amounts (e.g. groceries €300/month). Adjust them to your situation, or leave 0 to skip. Amounts are automatically annualised (×12).

Install on mobile / desktop

On mobile (Chrome/Safari), tap "Add to Home Screen". On PC (Chrome/Edge), click the install icon in the address bar. The app then works offline.

⭐ Free vs Premium

Mon Budget is available in a free version with essential features, or as Premium for full, unlimited use.

🎁 30-day free trial — When you create your account, you automatically get 30 days of full Premium access, no credit card required. After the trial, you can continue with the free version (with the limitations below) or subscribe to Premium.
🔓 Free Version
Free — forever · 🎁 30-day Premium trial included
👤
1 user only One profile per installation
📅
1 year of history Cannot add a 2nd year
🛒
Max 3 expense categories Groceries, fuel, miscellaneous
🏦
1 bank account only No multi-account management
📈
1 savings account only No multi-savings management
☁️
No cloud sync Data stored locally only
📱
No multi-device Cannot access from another device
⭐ RECOMMENDED
✨ Premium Version
€2.99/month  ·  €24.99/year — secure Stripe payment
✅
Unlimited users Family, couple, flatmates…
✅
Unlimited multi-year history Keep all your years without restriction
✅
Unlimited categories Create as many categories as you want
✅
Multiple bank accounts + savings accounts Manage Account A, Account B, Savings B… each with its own card and dedicated rows
✅
Firebase cloud sync Data backed up and accessible everywhere
✅
Multi-device PC, phone, tablet — always up to date
💳 Monthly — €2.99 / month 💳 Annual — €24.99 / year (save 30%)

Automatic activation after payment

Activation is entirely automatic. No key to enter, no email to wait for.

  1. Click a Premium button in the app (⚙️ Settings or the Premium overlay)
  2. You are redirected to the secure Stripe payment page
  3. Enter your card details and confirm payment
  4. Return to the app — the status automatically switches to ✨ Premium active

What you see depending on your version

Features locked in the free version show an "Upgrade to Premium" window when you try to use them. You are never blocked — you always know what is available.

🎮 Demo Mode

Demo mode loads fictional data so you can explore all features without any risk.

Activate demo mode

On first launch, click the Demo Mode card. The app loads with sample data (Jean & Marie, 2025–2026).

Orange banner — When demo mode is active, a yellow/orange banner is displayed at the top of the screen to remind you that the data is fictional.

Exit demo mode

Click ✕ Exit demo mode in the banner. Confirm the deletion: all fictional data is erased and you return to the start screen to create your real account.

⚠️ Warning — Exiting demo mode permanently deletes the fictional data. Your real data (if any) is not affected.

🖥️ General interface

The app is organised by years (tabs) and by months (columns in each table).

📸
Screenshot of the main interface

Header

  • 💾 Save — Saves all changes in the browser
  • 📥 Export CSV — Exports the current month's data as CSV
  • 🖨️ PDF — Generates a structured PDF report: annual KPIs, full monthly table and expense breakdown by category for each year
  • 📂 Import CSV — Imports transactions from a bank statement CSV (automatic column detection, category choice, payment method, selected total and automatic duplicate detection ⚠️)
  • 📦 Backups — Shows the list of automatic backups (one per day, 10 max)
  • 🔐 Login — Sign in with Google for Premium cloud sync
  • ❓ Help — Restart the guided tour or open this guide
  • 🌙 / ☀️ — Switch between light and dark mode

Floating buttons (bottom right)

Year tabs

Each tab represents a year. Click + Year to create a new year.1 year max in free Unlimited in Premium

Month columns

Each table has 12 columns (Jan–Dec). Enter amounts directly in the cells. Press Enter or Tab to move to the next cell.

🏠 Monthly Dashboard

The Home tab is your monthly overview: at a glance you can see where you stand financially without browsing the detailed tables.

Navigating between months

Use the ← and → buttons to move from one month to another. Year changes happen automatically (January → December of the previous year and vice versa). Use the year selector to jump directly to a year.

📅 Monthly view / 📊 Annual view

A toggle at the top right lets you switch between the monthly view (detail of one month) and the annual view which shows yearly totals, savings rate, average monthly savings, best and worst month, and a bar chart of balances month by month.

4 key indicators (KPIs)

Each card shows the selected month's value and an SVG sparkline — a mini chart representing the trend over the 12 months of the year. At a glance, you can see whether an indicator is rising or falling.

🍩 Donut chart

When there are at least 2 active variable expense categories in the month, an SVG donut chart appears below the KPIs. It shows the expense breakdown by category with the amount and percentage.

💹
Revenues
Total income received this month.
🏠
Fixed costs
Recurring costs + savings transfers for this month.
🛒
Variable
Total variable expenses (groceries, leisure…) for the month.
💰
Balance
Revenues − Fixed costs − Variable. Green if positive, red if negative.

🔄 Comparison vs previous year

If you have data for the previous year, a comparison table is displayed automatically for the same month. It shows the delta (+ or −) for each indicator with green (improvement) or red (regression) colouring.

⚠️ Budget exceeded alerts

If a variable expense category exceeds its monthly budget (defined in category management), a red alert appears in the dashboard with the amount spent vs the budget.

🛒 Latest expenses

The list of variable expenses for the month is displayed, sorted by descending amount (up to 8 entries + a counter for the rest).

💳 Transactions widget — breakdown by payment method

The floating 💳 Transactions button opens a summary of recent expenses, grouped by category.

Under each category, a row of chips gives the breakdown by payment method — card, cash, meal vouchers… — and the same row appears at the top of the widget for all transactions together.

💡 Totals do not change — A category total, like the grand total, remains the sum of all payment methods. The breakdown is added, it replaces nothing. The chips only appear when more than one payment method is actually used.

📅 "Go to current year" button

A quick button lets you navigate directly to the current year's tab (e.g. 2026) from the dashboard.

🏠 Monthly fixed costs detail

Below the KPIs and comparison, a section lists all costs for the current month (rent, subscriptions, savings transfers…) with their amount and paid status ✓.

📱 Swipe navigation (mobile)

On mobile, swiping left goes to the next month, swiping right goes back to the previous month — without needing to tap the ← → buttons.

📝 Monthly note

At the bottom of Home, a free text field lets you add a monthly note (e.g. "busy month, holidays", "bonus received"). The note is saved automatically and appears in the PDF report in a dedicated section.

💡 Tip — Start your session on the Home tab to quickly see where you stand. If the balance is red, check the exceeded categories to identify areas to reduce.

🔍 Global search

Instantly find any revenue, fixed cost or variable expense row across all your years, without browsing the tables.

Open search

Click the 🔍 tab in the navigation bar (far right). Search can also be closed with the Escape key.

What is indexed

  • Revenue labels — e.g. "Salary", "Bonus"
  • Fixed cost labels — e.g. "Rent", "Insurance"
  • Variable expenses — label, category, comment and amount of each transaction

Filters

Filters appear below the search bar to narrow results:

  • Year — limit the search to a specific year
  • Month — filter by a specific month
  • Type — All / Revenue / Fixed costs / Variables

A Reset button appears as soon as a filter is active.

Results

Results are grouped by year with the type and amount. Clicking a result opens the transaction directly in its category and month (the detail row expands automatically) and closes the search.

🎯 Monthly savings goal

Set a monthly savings goal in euros. A progress bar is displayed in the Home tab to track your progress.

Configure the goal

  1. Open the ⚙️ Settings tab
  2. Scroll down to the 🎯 Monthly savings goal section
  3. Enter the target amount (e.g. €500/month)
  4. Click ✅ to save

Progress bar

In the 🏠 Home tab, the bar shows the percentage of the goal reached for the displayed month:

  • Green — Goal reached or exceeded 🎉
  • Blue — On track (positive balance but below the goal)
  • Red — Negative balance, goal not achievable this month
💡 Tip — A good savings goal is 10–20% of your net monthly income. Start modestly and increase gradually.

💼 Revenues

Enter your monthly revenues (salary, benefits, bonuses…) in the green section.

Add a revenue

Click + Add a revenue at the bottom of the section. Enter the label and amounts month by month.

Toggle "Included in calculation"

The ∑ column (included in calculation) determines whether this revenue is counted in the monthly summary. Uncheck to temporarily exclude a revenue without deleting it.

Delete a row

Hover over the label of a row to reveal the red ✕ button. Click it to delete (confirmation is requested).

Tip — For revenues that are the same every month, enter the value in January then right-click the cell to duplicate it across all months.

🏠 Fixed Costs

Fixed costs are recurring expenses: rent, energy, subscriptions, insurance…

"Paid" status

Each cost cell has a payment indicator. Click the cell to toggle between paid (green) and unpaid (grey). Only costs marked as paid are included in the real balance calculation.

Cost types

  • Fixed — Same amount every month
  • Occasional — Variable amount depending on the month
  • Transfer to "savings name" — The list offers each of your savings and investment accounts by name, no longer a single savings account. See Savings & investments.
  • Withdrawal from "savings name" — Same, the other way round.
  • Gain / Loss in value — Interest, capital gain or loss: the savings account moves, the checking account does not.

Each savings account has its own block in the table, titled with its name: savings movements are no longer mixed in with occasional costs.

↩️ Undoing a change

An "↩️ Undo" pill appears at the bottom right as soon as there is something to undo. Ctrl+Z works too, and Ctrl+Shift+Z redoes.

Up to twelve changes can be undone in a row. All of them count: an entry, a deletion, a repair tool, a carry-over to later years.

💡 The history does not survive closing the app — It lives in memory, deliberately: writing several copies of the budget into the browser is exactly what once filled up a phone's storage. To go further back, use the backups.

End date of a row

A cost that comes to an end — a loan, mortgage insurance, a cancelled subscription — can carry an end date, set in its edit window (✏️). It then appears under the label, for example "ends March 2028", and the row is no longer carried beyond that.

How that date propagates to years already created is described in Carrying over to later years.

Comments on a cell

Every amount cell, in costs as well as revenues, can carry a comment. A small purple badge marks the cells that have one: hover to read the note, click to write, edit or delete it.

💡 Comments do not follow into the next year — They refer to the year in which you wrote them ("2026 adjustment", "double month") and are therefore never copied when a row is carried over.

Remaining to pay

At the bottom of each summary table, a "Remaining to pay" row shows the total of costs not yet paid for the month.

🛒 Variable Expenses

Variable expenses (groceries, fuel, miscellaneous…) are entered as individual transactions.

Available categories

In the free version you have 3 categories (groceries, fuel, miscellaneous). In Premium, create as many as you want from ⚙️ Settings → Categories.3 max in free Unlimited in Premium

🔎 Filter categories

A search field at the top of the "Variable Expenses" section lets you filter categories by name in real time. Useful when you have many categories (Premium).

Add an expense

Click the + button in the correct month column. A row is added with the amount, an optional comment, the date and the payment method.

Payment methods

  • Card — Bank card payment (default)
  • Cash — Cash payment
  • Meal voucher — Restaurant tickets / meal vouchers

Category colours

⛽
Fuel
Light blue
🛒
Groceries
Green
📦
Miscellaneous
Purple
🐕
Pet / Animals
Yellow/Amber
Quick add — Use the ⚡ Quick add button to enter multiple expenses at once from any view.

🎯 Category budgets

Set an annual budget for each variable expense category and track your progress in real time.

How it works

For each category (groceries, fuel…), you can set an annual budget. A progress bar is displayed below the category title, showing how much you have spent relative to the goal.

🟢
Below 80%
Green bar — you are on track.
🟡
Between 80% and 100%
Orange bar — approaching the limit, be careful!
🔴
Exceeded
Red bar with ⚠️ — budget exceeded for the year.

Set a budget

Three ways to set a budget:

  1. At account creation — The setup wizard suggests amounts (e.g. groceries €300/month) at step 4. Adjust them, then confirm. Amounts in €/month are automatically converted to €/year.
  2. When adding a category — In ⚙️ Settings → Categories, enter an amount in €/month or €/year when adding a new category.
  3. Via Settings — In ⚙️ Settings → Categories, edit the Budget/year € field directly on the existing category row.

Missing budget alert

When you click ⚡ + or use Quick add for a category without a budget, an orange alert appears in the form with a Set a budget → link. Click it to enter a monthly amount immediately.

Edit a category

In ⚙️ Settings → Categories, you can now directly edit the icon and label of an existing category by clicking the corresponding fields. No need to delete and recreate.

💡 The budget is shared across all years — The budget set for a category applies to all years. The progress bar shows the consumption for the displayed year.

💰 Savings & investments

Every savings account and every investment account has its own block in the costs table, titled with its name. Savings movements are no longer mixed in with occasional costs.

Create a savings or investment account

Go to ⚙️ Configuration → Accounts & Savings, type a name and confirm with + or the Enter key. You can create as many as you need: savings account, home-works fund, securities account, market investment…

Each one then gets its own gear ⚙️ on that same page, giving access to its options without going through the yearly view.

Rows dedicated to an account

  • 📈 Standing order (livret_in) — Automatic monthly transfer from checking to savings. Increases savings, decreases checking.
  • 💰 Account → Savings (livret_in) — One-off deposit. Same effect.
  • 📉 Savings withdrawal → account (livret_out) — Withdrawal to the checking account. Decreases savings, increases checking.

In a row's edit window, the Type list offers each of your accounts by name, for deposits as well as withdrawals. A row can therefore be filed under one account, moved from one to another, or created directly as a savings movement.

Interest, gains and losses

A gain or loss in value has no counterpart on the checking account: the money never passes through it. A special row is therefore needed, otherwise your checking account would be wrong.

In an account's configuration, the "Gain/loss" button creates the two rows you need:

  • a gain row, which increases the account without touching checking — yearly interest, capital gain on an investment;
  • a loss row, which decreases the account without touching checking — capital loss, custody fees.
💡 How to record a market movement — Enter the change for the month, not the total value of the investment. If your investment goes from €5,000 to €5,120, enter 120 in the gain row for that month. As everywhere in the app, enter a positive value: the row type gives the direction.

📊 Tracking performance

An account's page — ⚙️ Configuration → Accounts & Savings, then its gear — shows a Performance panel:

  • Total invested — the money you actually put in, deposits minus withdrawals.
  • Current value — what the account is worth today.
  • Gain / loss — the difference between the two, in euros and as a percentage.

The distinction is deliberate: paying in another €100 is not a gain. Only interest and capital gains or losses count towards the return.

💡 Example — €50 paid in, worth €49.12: total invested €50.00, current value €49.12, a loss of €0.88 or −1.76%.

Below those figures, a chart plots two lines: the money invested (dashed) and the value (solid). The gap between them is your return — if the solid line runs above, you are ahead. A table then lists only the months where something moved, with the difference for each.

💡 What is not plotted — Months still to come, whose amounts are only forecasts, and the flat months before your first deposit. An account opened in September has nothing to say about January to August.
💡 Where to find performance — The 📊 button sits on the account's row, both in a year's view and in ⚙️ Configuration → Accounts & Savings. It is separate from the gear ⚙️, which is for editing: performance only reads.

🔄 Realigning the value during the year

The "Update value" button on that same page asks for the amount your bank shows today. The difference from the calculation goes automatically into a gain or loss for the current month — you no longer work it out yourself.

The app also offers it at the start of each quarter: April, July and October, within the first ten days, at most once a day. "Later" pushes it to tomorrow, "No more reminders this quarter" until the next one. January is left out, as the real balance reminder already covers every account.

💡 How often? — Once a quarter is enough. A yearly entry gives correct figures but a balance that drifts all year; a monthly one is a chore for an investment that moves daily. And if you do nothing, the 1 January reminder catches the difference.

Opening balance

For the first year, enter the balance on 1 January in the field provided. For later years it is carried over automatically from the balance calculated on the previous 31 December — nothing to do. An amount you enter by hand always takes priority.

The mechanism, shared by accounts and savings, is described in Accounts & balances.

Entering amounts

Always enter positive values. The app handles the direction (deposit or withdrawal) based on the row type.

Automatic paid status — As soon as a non-zero value is entered in a savings row, the status is automatically marked as paid.
⚠️ A savings row that lost its type — Before version 13.33, editing a savings row switched it to a recurring cost: it was then no longer counted in the account balance. Its type is now shown and locked in the edit window, and rows already affected can be repaired from the repair tools.

🏦 Accounts & balances

You can track several accounts side by side — checking account, business account, meal-voucher card — in addition to your savings and investment accounts.

Add an account

⚙️ Configuration → Accounts & Savings: type a name and confirm with + or the Enter key. Each account gets its own balance row in the monthly summary.

The 1 January balance carries over by itself

An account's opening balance is, by default, the balance calculated on 31 December of the previous year. Savings accounts already worked that way; accounts joined them in version 13.40. Before that they started from zero, which threw off the whole year until a balance was entered.

💡 An amount entered by hand takes priority — As soon as you type a balance for 1 January yourself, that is what applies, and the app will never replace it with its own calculation.

Reminder of real balances on 1 January

From 1 January, the app asks you once a day to enter the real balance of each account, savings and investment, until it is done. A year created in advance does not trigger this reminder early.

Why it matters: a savings account earns interest and an investment moves with the market. Those movements appear nowhere in your entries, so the balance calculated by the app always ends up drifting from your bank's real balance.

The difference is recorded automatically

If the real value you enter on 1 January differs from the calculation, the gap is not silently discarded: it is recorded in December of the previous year, in a row named "Real balance adjustment". The past year stays consistent, and the new one starts on the right figure.

💡 Two decimals — Carried-over balances are rounded to the cent. They used to drag the precision of floating-point maths behind them, along the lines of 1,225.91999…

📊 Monthly summary

The summary table shows the full breakdown for each month: revenues, costs, expenses and balances.

Summary rows

  • Revenues — Total revenues marked as "included in calculation"
  • Paid costs — Total costs marked as paid
  • Variable expenses — Total of entered transactions
  • 🔴 Remaining to pay — Costs not yet paid
  • Available — Revenues − paid costs − variable expenses
  • REAL BALANCE — Checking account balance calculated from the start of the year
  • Savings — Savings account balance at the end of the month

🏆 Annual statistics

Below the summary table, statistics cards are displayed for each year: annual savings rate, average monthly savings, best and worst month (by balance), highest variable spending month, and the most costly variable expense category.

Starting balances

At the top of the page (section Starting balances), enter:

  • Account (01/01) — Checking account balance on January 1st
  • Initial savings — Savings balance on January 1st (auto-calculated for subsequent years)

📈 Financial indicators (KPI)

Four key indicators are displayed automatically at the top of each year to evaluate your financial health at a glance.

💚
Savings rate
% of your income set aside. Recommended goal: ≥ 20%.
🏠
Costs / Revenues
% of your income consumed by fixed costs. Below 50% is healthy.
🛡️
Reserve months
How many months of expenses your current balance can cover.
🔮
Annual projection
Estimated savings for the full year based on months already entered.

💶 Cash-flow forecast

In the Charts tab, a curve plots your account balance month by month, built from the schedule you have already entered — not from an average.

  • Solid line up to the current month: what is on record. There, the curve matches exactly the balance shown everywhere else.
  • Dashed beyond: what is planned, from your entered amounts, whether ticked as paid or not.

The forecast low point — the month your account will dip lowest, and by how much — is repeated under the Projection indicator in the yearly view. The box turns red if the balance goes negative.

💡 Why this beats the year-end balance — A year can end in balance having dipped below zero in March. The low point tells you when it will be tight, which is decided far earlier.

Year-end projection

In the monthly summary, a projection row appears if you have at least 1 month of data and the year is not yet over. It calculates your estimated annual savings based on your current monthly average.

💡 Interpretation — A green savings rate (≥ 20%) and a positive (blue) projection indicate a healthy financial situation. A red costs/revenues ratio (> 70%) signals a risk of imbalance.

📉 Charts

The Charts tab offers several visualisations of your finances, filterable by year. A 📅 Go to [current year] button lets you jump back directly to the current year's tab.

📊
Revenues vs Expenses
Bar chart comparing your revenues, fixed costs and variable expenses month by month.
💰
Balance trend
Line chart of your bank balance month by month.
📈
Monthly savings rate
Line chart of your % savings each month, with reference lines at 10% (threshold) and 20% (goal). All years are shown.
🏦
Wealth trend
Cumulative line chart of your balance + savings month by month for the selected year.
🛒
Top categories
Horizontal bars of the highest expense categories, from highest to lowest.
🔄
Fixed cost breakdown
Pie chart of fixed costs by payment method.
💡 Tip — On the savings rate chart, you can compare multiple years simultaneously. Each year has its own line colour.

💾 Backup and backups

All data is stored locally in your browser (localStorage). Remember to save regularly.

Updating the app

When a new version is available, the app no longer reloads by itself while you are typing: an "Update" banner appears discreetly at the bottom of the screen. You choose when to reload.

Manual save

Click 💾 Save in the header. A green notification confirms the save. The date/time of the last save is displayed on the right.

Automatic daily backup

With each save, a dated copy is created automatically. The app keeps the last 10 backups (one per day).

It was 30 until version 13.21: thirty copies of the budget filled up phone storage, to the point of blocking the saving of the data itself.

Restore a backup

Click 📦 Backups in the header. The list of backups appears with their dates. Click Restore to go back to a previous state.

📥 External backup — Export / Import JSON

To avoid any risk of loss when clearing cache, you can export your data as a JSON file:

  1. Go to ⚙️ Settings
  2. In the 📥 External backup section, click ⬇️ Export JSON
  3. A file budget_backup_XXXX.json is downloaded — keep it somewhere safe (cloud, USB drive…)
  4. To restore, click ⬆️ Import JSON and select the file
💡 Best practice: export to JSON after each important session. The file contains all your years, revenues, fixed costs and variable expenses.
⚠️ Warning — Data is stored in your browser. Clearing the cache or switching browser/device will cause data loss. Use JSON export or GitHub Gist sync for guaranteed external backup.
⭐ With a Premium licence — Firebase cloud sync automatically backs up your data on every change. Your data is accessible from any device, anywhere.

🐙 Free cloud sync via GitHub Gist

🆓
100% FREE — no credit card, no subscription
GitHub is a free platform used by millions of developers. By creating a free account, you can automatically back up your budget data in the cloud, accessible from anywhere.

GitHub Gist sync saves your data online automatically with every save. If you clear your cache or switch device, your data can be recovered in one click.

📋 Step 1 — Create a free GitHub account
1. Open your browser and go to https://github.com/join
2. Fill in the form:
  • Username: choose a username (e.g. pascal-budget)
  • Email address: your email address
  • Password: a secure password
3. Click the green "Continue" button
4. Solve the small verification puzzle (click on images)
5. Open your inbox → you received an email from GitHub → click "Verify email address"
6. You are logged in! GitHub asks for some preferences → click "Skip personalization" (at the bottom)
✅ Done! Your GitHub account is created. You can now move on to step 2.
🔑 Step 2 — Create the security token (Personal Access Token)

A "token" is like a special password you give to Mon Budget so it can save your data. It only has access to Gists (private notes), nothing else.

1. On GitHub, click your profile photo at the top right
2. In the dropdown menu, click Settings (⚙️)
3. Scroll all the way to the bottom of the left menu → click Developer settings
4. Click Personal access tokens
5. Click Tokens (classic)
6. Click the Generate new token button → then Generate new token (classic)
7. In the Note field, type: Mon Budget
8. Under Expiration, select No expiration
9. In the Select scopes list, check ONLY the gist checkbox ☑️
⚠️ Do not check any other box — this limits the risk if the token is compromised.
10. Click the big green Generate token button at the bottom
🚨 IMPORTANT: GitHub shows the token only once! It looks like ghp_AbCdEf123456...
Copy it immediately (Ctrl+C) before leaving the page!
✅ Step 3 — Connect Mon Budget to GitHub
1. In Mon Budget, go to ⚙️ Settings
2. Section 🛡 Data protection
3. In the 🐙 GitHub Gist block, paste your token in the field (Ctrl+V)
4. Click ✅ Connect
5. A green dot 🟢 appears → Connected!
6. From now on, every time you click 💾 Save, your data is also sent to GitHub.
🎉 All set! To recover your data on another device, sign in to GitHub from that device, create a new token, and click "⬇️ Retrieve from Gist".
💡 Switching device or browser? Create a new token on GitHub and paste it in Settings → GitHub Gist. Then click "⬇️ Retrieve from Gist" to restore all your data.

Export CSV

Click 📥 Export CSV to download your monthly data as a spreadsheet. This file can be re-imported via 📂 Import CSV.

🌙 Dark mode / Light mode

Switch between light and dark theme at any time.

Click the 🌙 (dark mode) or ☀️ (light mode) button in the top right corner of the header. The choice is remembered and will persist on the next visit.

Tip — Dark mode is recommended in the evening to reduce eye strain. All tables, modals and banners adapt automatically.

📅 Create a new year

Each year is independent. Create a new year to start tracking a new financial period.1 year max in free Unlimited in Premium

Procedure

  1. Click + Year to the right of the year tabs
  2. A window appears with your usual revenues and costs, each shown with the last amount actually paid and the rhythm carried over ("every month", "November only", "quarterly"…)
  3. Adjust the amounts if needed
  4. Click ✅ Create year

The year is created with:

  • The revenues you confirmed
  • The previous year's costs, each at its own rhythm (see below)
  • Opening balances for accounts and savings, carried over from the previous 31 December (see Accounts & balances)
  • No variable expenses (to be entered throughout the year)

Each row keeps its rhythm

Since version 13.29, a row is no longer copied across all twelve months: it takes back the months it occupied in the previous year. A yearly repayment paid in November stays in November, a quarterly charge keeps its quarters, and a monthly payment started mid-year moves to twelve full months.

💡 A year created before 13.29 can be fixed afterwards: see Repair tools. Rows you edited by hand are never modified.

Finished rows are not carried over

A row whose end date has passed is not carried into the new year. The creation window lists them explicitly at the bottom, under "Not carried over (end date passed)" — so an end date set by mistake no longer makes a cost disappear silently.

Delete a year

Hover over the year tab → click the ✕ that appears. Confirmation is requested with an option for automatic backup.

⏭️ Carrying over to later years

When you change a row in the current year, the app updates the same row in the years already created. Without this, everything had to be re-entered year by year.

What is carried over

  • The amount — When you change an amount in the table, a window offers to apply it to that month only, to all remaining months of the year, or to later years as well.
  • The end date — A loan ending in 2026 now also ends in 2027 and beyond. Before version 13.32, the date only applied to the year you had open.
  • The label, the type and the linked account — Renaming or reclassifying a row updates it everywhere.
  • The display order — Moving a row puts it in the same place in later years (version 13.50). A cost added at the bottom of the table and then moved up would otherwise stay at the bottom the following year.
  • A brand-new row — See below.

Adding a row to years already created

A row created in one year can be added to later years in one click: a checkbox offers it, already ticked for a recurring row with no end date. The rhythm is carried across the whole year.

The app then asks you which amount to continue with. The current year's amount is suggested: correct it if your salary or your subscription changes the following year.

For a row that already exists but is missing from a later year — typically a row added after that year was created — the same checkbox appears in the edit window (✏️).

📌 Stopping a row from being carried over

Some rows only make sense in their own year: a sale, a bonus, a one-off expense. In the edit window (✏️), tick "Specific to this year — do not carry over".

  • The row is not taken into a new year, and no longer appears in the year creation window.
  • Check my data stops reporting it as missing from later years.
  • Its amount in the year it lives in is left untouched.
💡 This box and "Add to later years" contradict each other — ticking the first hides the second.

What is never carried over

  • Months already paid in the current year and past years: an amount actually paid is never rewritten.
  • Earlier years: carrying over only goes forward.
  • Cell comments: they refer to the year in which they were written.
  • Amounts entered by hand month by month: a row with variable amounts is flagged as such in its edit window, and carrying over leaves it alone.
💡 Editing a label recalculates nothing — As long as you touch neither the amount, nor the frequency, nor the starting month, your monthly amounts are left intact. Fixing a typo in a label used to replace the whole row with a single amount.

🔧 Repair tools

⚙️ Configuration → Data gathers a few tidy-up buttons. Each one only appears if it actually has something to fix, and says how many rows or tables are affected.

🩺 Check my data

The "Check my data" button runs six checks at once and answers in every case — including when all is well. That is the point of it: the tools below only appear when they have something to fix, so their absence never told you whether the app had even looked.

Each problem is explained, and its repair button sits right there in the report.

💡 Nothing there is urgent — These fixes never touch an amount you entered by hand.

Rows missing from a later year are listed one by one, with the years they are missing from. A ✏️ beside each one opens it directly: all that is left is to tick "Add to later years".

Available tools

  • Fix the months of a year — For a year created before version 13.29, whose rows had been copied across all twelve months. They recover the previous year's rhythm. Rows you edited by hand are not modified.
  • Carry end dates forward — Applies end dates you have already entered to later years, for years created before carrying over existed.
  • Restore savings rows — Puts back into their account the rows that had switched to recurring costs before version 13.33.
  • Align row order with the previous year — For years where rows had piled up at the bottom of the table. Only the display order changes, no amount is touched.
💡 Every tool asks for confirmation and lists what it is about to change before acting. If no button appears, there is nothing to repair.

🔐 Login & Cloud Account

Create an account with your email address to access cloud sync and activate Premium.

Why log in?

Without a login, your data is stored only in your browser. With a connected account:

  • ✅ Automatic sync in Firebase cloud (Premium)
  • ✅ Access from multiple devices (PC, phone, tablet)
  • ✅ Your data is recoverable if you change browser
  • ✅ Automatic Premium activation after Stripe payment

How to create an account / log in

  1. Go to the ⚙️ Settings tab and click 🔐 Log in
  2. Enter your email address and a password
  3. If it's your first time: click Create account — a verification email is sent
  4. If you already have an account: click Log in
  5. Your email appears in Settings — you are logged in ✅
💡 No more signing in at every launch — Since version 13.10, the session is renewed silently when the app opens: you no longer have to sign in again. If you want to keep a lock, set a PIN code in the settings — it is optional and independent from cloud sync.
⚠️ Premium required for sync — Login is available for free, but automatic cloud sync requires an active Premium licence.

🔄 Multi-device sync

With a Premium licence, your data moves between your devices — PC, phone, tablet. This page explains how to check that all is well, and what to do if two devices drift apart.

Check a device's status

⚙️ Configuration → Cloud shows a Status line telling you where the device stands:

  • Up to date with the cloud — Nothing to do.
  • Behind — Other entries exist elsewhere and have not arrived here yet.
  • Entries waiting to be sent — This device has changes the cloud has not received yet.

A version number comes with that status, in the form "seen 22 / cloud 22". Two healthy devices show the same number.

Bringing two devices back in line

Always in this order, starting from the device that holds the correct data:

  1. On the reference device: Configuration → Cloud → Send to cloud
  2. On the device that is out of step: Configuration → Cloud → Fetch from cloud
  3. Check that both show "Up to date with the cloud" and the same version number
⚠️ Do not click the sync indicator in the header on a device that is behind — It triggers a send to the cloud, so it would overwrite data entered elsewhere with this device's stale state. Use "Fetch from cloud" instead. The app now warns you when a send risks overwriting more recent entries.

The sync log

The same page holds a log: every startup and every exchange with the cloud leaves a dated trace there, and a button copies the whole thing. This is what to provide if you report a sync problem — it says precisely why a device did not update.

The reason for each decision is readable there: a-jour, en-avance, en-retard and conflit are normal. sans-compteur flags an unusual situation on the cloud side.

🗄️ Cloud backups

Every day, on the first send to the cloud, a full copy of your data is kept server-side. The last ten days are retained, and the list is available under ⚙️ Configuration → Cloud → Cloud backups.

This is a safety net the browser backups never provided: those vanish with the device's storage, and the cloud only ever held the current state. If bad data spread there, it was everywhere, with nothing to go back to.

  • Snapshots sit beside the synchronised data, never inside it: sync never sees them.
  • They are reachable from any of your devices.
  • A restore first creates a local backup, then propagates to your other devices.
⚠️ Restoring replaces everything — Anything entered since the chosen date will be lost, on every device. The app asks you to type the date to confirm.
💡 The daily snapshot is taken at the first send — So it reflects your data before the day's entries, which is exactly what you want when going back.

Your registered devices

The list of your devices sits in the same place, with the date each was last used, and you can remove one. This matters because clearing a device's storage gives it a new identity: the old entry would otherwise stay in the list forever.

When the device limit is reached, the least recently used one gives up its slot to the new device, instead of blocking it.

If a device stays stuck behind

The most common cause is full local storage: the data does arrive, but can no longer be saved. Storage usage is shown in Configuration → Cloud. The app now sacrifices old backups by itself to let the data through, and reports the incident instead of failing silently.

For a device left offline for a long time, clear its storage from the system settings — not just the cache — without opening the app first, otherwise the stale cached code runs before anything else. You will be asked to sign in again, which is normal.

Deleting a year

A year deleted on one device is deleted for good on all of them. Until version 13.49, a device that still held it would put it back into circulation and it reappeared everywhere.

💡 A fix only applies to devices that are up to date — Bring your devices to the same version before testing any sync behaviour.

➕ Quick Add button

The green ➕ button at the bottom right lets you add a variable expense quickly, from any view.

How to use it

  1. Click the green ➕ button at the bottom right of the screen
  2. A form appears with fields: category, amount, month, comment, payment method, day
  3. The year and month are pre-filled based on the active tab
  4. Enter the amount and click ✅ Add
💡 Tip — Quick add automatically detects the current year based on the displayed tab. If you are on the 2026 tab, the expense will be added in 2026.
⚠️ Budget alert — If the selected category has no budget defined, an orange alert appears in the form. Click Set a budget → to enter one directly. Learn more about budgets →

Available fields

  • Category — Groceries, fuel, miscellaneous, or your custom categories Premium
  • Amount — The expense amount in euros
  • Month — The month to assign the expense to
  • Comment — Optional note (e.g. "Lidl", "Full tank")
  • Payment method — Card, cash, meal voucher…
  • Day — The day of the month (optional)

📷 Scanning a receipt

Rather than typing the amount by hand, you can photograph the receipt: the app extracts the total and fills it into the form.

  1. In the quick-add form, choose 📷 Photo to open the camera, or 🖼️ Gallery to pick an image you already have
  2. Frame the receipt, making sure the total is legible
  3. The detected amount fills the field — check it and correct it if needed before confirming
💡 The camera opens inside the app — It no longer takes you out of the installed app, and your session stays active while you take the picture. If the analysis fails, the error message is shown on screen and explains why, instead of sending you back to the home screen.
⚠️ Always check the suggested amount — Automatic reading gets it wrong on a crumpled or badly lit receipt, or one with several totals (subtotal, discount, VAT).

🤖 AI Assistant (Groq)

The AI assistant answers questions about your 10 most recent transactions in natural language. Powered by Groq — free, no credit card required.

Activate the assistant (2 minutes)

  1. Go to console.groq.com/keys
  2. Create a free account (email + password, no credit card)
  3. Click Create API Key
  4. Give it a name (e.g. "Mon Budget") and copy the generated key (starts with gsk_…)
  5. In the app, go to ⚙️ Settings → AI Assistant
  6. Paste the key in the field and click ✅ Save
💡 Completely free, no credit card — Groq offers 14,400 requests/day on the Llama 3.1 model. More than enough for daily use.

Using the chat

  1. Click the purple 🤖 button at the bottom right
  2. The chat panel opens
  3. Type your question and press Enter
  4. The assistant replies based on your real data

Example questions

🧾
Recent purchases
"What are my last 10 purchases?"
"What was my last transaction?"
🔍
Recent search
"What did I buy at Tesco recently?"
"My latest fuel purchases?"
💳
Payment method
"My last cash payments?"
"Recent card purchases?"
💡
Quick analysis
"How much have I spent recently?"
"Summarise my latest expenses"
💡 AI scope — The assistant has access to your 10 most recent transactions. For broader analyses (annual totals, balances…), use the dashboards and charts in the app.

Conversation history

The chat history is saved automatically on your device (localStorage). You'll find your previous exchanges every time you open the chat. The 🗑️ Clear button wipes the history.

Privacy

Your budget data is sent to the Groq API only when you ask a question. Groq uses the Llama 3.1 model (open-source). The API key is stored only in your browser, never on our servers.

⚠️ Do not share your API key — If you share access to your browser, delete the key in Settings → AI Assistant.

💬 Feedback & Suggestions

Send your ideas, bug reports or questions directly from the app. Every message is read and handled personally.

Send a message

  1. Click the 💬 icon at the bottom right of the app
  2. Choose the category: 🐛 Bug, 💡 Idea, ❓ Question or 💬 Other
  3. Enter a subject and your message
  4. Give an optional ⭐ rating
  5. Click 📤 Send
💡 Login required — You must be logged in to send feedback. This allows us to reply to you directly by email.

Tracking your request

Each feedback receives a status that evolves as it is processed:

  • 🟠 New — received, not yet read
  • 🔵 Read — taken into account
  • 🟣 In progress — being processed
  • 🟢 Replied — a reply has been sent to you by email
  • ⚫ Closed — processing complete
💡 Reply by email — If a reply is sent to you, you receive it directly in your inbox. The sender is Mon Budget.