What is Expense Tracker Pro?
Expense Tracker Pro is a full-featured personal finance management application that runs entirely in your browser. Track income and expenses, set budgets and spending goals, analyze your spending patterns, forecast your cash flow, and much more — all with zero server dependencies.
Built as a Progressive Web App (PWA), it can be installed on any device and works offline. Your data stays on your device, stored securely in your browser's local storage.
All financial data is stored locally on your device using browser LocalStorage and IndexedDB. Nothing is sent to any server. You own your data completely.
Feature Overview
Transaction Tracking
Record income and expenses with categories, notes, dates, and receipt attachments.
Budget Management
Set category-based budgets with real-time spending tracking and overspending alerts.
Spending Goals
Define spending limits with progressive notifications at 80%, 90%, and 100% thresholds.
Analytics & Insights
Visual breakdowns with donut charts, trend lines, and automated spending insights.
Cash Flow Forecast
90-day projections using linear regression combined with recurring expense data.
Recurring Detection
Automatically detects recurring expenses like subscriptions and rent from your history.
Receipt Attachments
Attach receipt images to transactions, stored locally via IndexedDB.
PWA & Offline
Install as an app on any device. Works fully offline with service worker caching.
Dashboard Overview
The dashboard is your financial command center. It displays four key stat cards at the top:
| Card | Description |
|---|---|
| Net Balance | Total income minus total expenses for the selected period. Shows a trend indicator (positive/negative/neutral). |
| Total Income | Sum of all income transactions in the current period, with transaction count. |
| Total Expenses | Sum of all expense transactions in the current period, with transaction count. |
| Savings Rate | Percentage of income saved, along with the saved amount. |
Below the stat cards, the dashboard is divided into two columns:
Left Column
- Budget Overview — All your budgets with progress bars and a "Manage" button
- Recurring Patterns — Auto-detected recurring expenses with due dates and confidence scores
- Spending Goals — Active goals with progress visualization
- Cash Flow Forecast — 90-day projection chart with insights
Right Column
- Spending Analytics — Category breakdown and trend charts (two tabs)
- Transactions — Searchable, filterable transaction list with pagination
Period Selector
The header contains a period selector that filters all dashboard data. Four options are available:
| Period | Date Range |
|---|---|
| This Month | First day of the current month to today |
| Quarter | First day of the current quarter to today |
| Year | January 1st of the current year to today |
| All Time | All recorded transactions regardless of date |
On mobile devices, the period selector collapses into a dropdown to save header space. Tap the current period to expand the options.
Keyboard Shortcuts
Press ? at any time to view the full keyboard shortcuts reference. Available shortcuts:
| Key | Action |
|---|---|
| N | Add a new transaction |
| S | Open Settings |
| / | Focus the transaction search bar |
| ? | Show keyboard shortcuts help |
| Esc | Close any open modal |
| 1 | Switch to This Month |
| 2 | Switch to Quarter |
| 3 | Switch to Year |
| 4 | Switch to All Time |
Shortcuts are automatically disabled when you're typing in input fields (except Esc, which always works).
Notification System
Expense Tracker has a two-layer notification system:
Toast Notifications
Temporary pop-up messages that appear at the top-right of the screen. They auto-dismiss after 4 seconds (click to dismiss early). Used for action feedback like "Transaction added" or "Budget deleted". A maximum of 3 toasts are shown at once — additional ones are queued.
Notification Center
Click the bell icon in the header to open the persistent notification sidebar. This stores all budget and goal alerts with read/unread status, a badge counter, and filtering by type (All, Budgets, Goals). Notifications include timestamps and can be dismissed individually or all at once.
Multi-Currency Support
The app supports 9 currencies with real-time conversion:
- USD (US Dollar), EUR (Euro), GBP (British Pound), RON (Romanian Leu)
- JPY (Japanese Yen), CNY (Chinese Yuan), INR (Indian Rupee)
- AUD (Australian Dollar), CAD (Canadian Dollar)
Change your currency from Settings → Currency tab. You can also set custom exchange rates if the defaults don't match your needs.
Transactions
Transactions are the core of Expense Tracker. Every income or expense you record becomes a transaction that feeds into budgets, goals, analytics, recurring detection, and forecasting.
Adding a Transaction
Click the + Add Transaction button in the header (or press N). A form modal will appear with the following fields:
| Field | Description | Required |
|---|---|---|
| Type | Choose Income or Expense | Yes |
| Amount | The transaction amount (must be greater than 0) | Yes |
| Category | Select from default categories or type a custom one | Yes |
| Date | When the transaction occurred (defaults to today) | Yes |
| Note | Optional description or memo | No |
The category dropdown includes common presets like Salary, Groceries, Rent, Utilities, Entertainment, etc. You can also type any custom category name to create your own.
Receipt Attachments
After adding a transaction, you can attach a receipt image to it. Receipts are stored locally in your browser's IndexedDB database — they never leave your device.
Attaching a Receipt
- Click the receipt/attachment icon on any transaction in the list
- Select an image file from your device
- The image is stored and linked to the transaction
Viewing a Receipt
Transactions with receipts show a receipt indicator. Click it to open the receipt viewer, which displays the full-size image along with metadata (filename, file size, date attached). You can also delete the receipt from the viewer.
Receipt images are stored as base64 in IndexedDB. Large or many images may consume significant browser storage. Receipts are included when you export your data as JSON.
Search & Filter
The transactions section includes powerful filtering tools:
- Search — Type in the search bar (or press /) to search by note, category, or amount
- Category Filter — Dropdown to show transactions from a specific category only
- Type Filter — Filter by income, expense, or show all
Filters combine together. For example, you can search for "coffee" within the "Dining" category for expenses only.
Editing & Deleting
Each transaction in the list has action buttons:
- Edit — Opens the transaction form pre-filled with the current values. Modify and save.
- Delete — Shows a confirmation dialog. Once confirmed, the transaction and any attached receipt are permanently removed.
Pagination
Transactions are displayed in pages of 10 items by default. Use the pagination controls at the bottom of the transaction list to navigate between pages. The current page and total count are always visible.
Budgets & Goals
Expense Tracker offers two complementary systems for controlling your spending: Budgets for category-based spending limits and Goals for broader spending targets with progressive alerts.
Budgets
Budgets let you set a spending limit for a specific category over a specific period. The app tracks your actual spending against the budget in real-time.
Creating a Budget
From the Budget Overview section on the dashboard, click Manage, then Add Budget. Configure:
| Field | Description |
|---|---|
| Category | The expense category to track (e.g., Groceries, Dining) |
| Amount | Maximum spending limit for the period |
| Period | Monthly, Quarterly, or Yearly |
Budget Progress
Each budget displays a color-coded progress bar:
| Spent | Color | Status |
|---|---|---|
| < 80% | Green | On track |
| 80% – 90% | Yellow | Getting close |
| 90% – 100% | Orange | Almost exceeded |
| > 100% | Red | Over budget |
Budget Alerts
The app automatically sends notifications to the Notification Center when:
- 90% reached — Warning that you're close to your budget limit
- 100% reached — Alert that you've exceeded your budget
Spending Goals
Goals are similar to budgets but designed as broader spending limits with more granular notifications. They can apply to a specific category or all categories combined.
Budgets are tied to a single category and show a progress bar on the dashboard. Goals are more flexible — they can span all categories, have three notification thresholds (80%, 90%, 100%), and can be enabled/disabled without deletion.
Creating a Goal
Open Settings → Goals tab, then click Add Goal. Configure:
| Field | Description |
|---|---|
| Name | A descriptive name (e.g., "Monthly dining limit") |
| Amount | Spending limit amount |
| Period | Monthly, Quarterly, or Yearly |
| Category | Specific category or "All Categories" |
Goal Notifications
Goals trigger progressive notifications:
- 80% reached — Early warning
- 90% reached — Critical warning
- 100% reached — Goal exceeded alert
Notification flags automatically reset when your spending decreases below a threshold (e.g., at the start of a new period).
Managing Goals
From Settings → Goals, you can:
- Enable/Disable a goal without deleting it (toggle switch)
- Edit the goal's name, amount, period, or category
- Delete a goal permanently
Analytics & Forecast
Expense Tracker provides powerful visual analytics and a machine-learning-inspired cash flow forecasting engine to help you understand and predict your finances.
Spending Analytics
The Analytics section on the dashboard has two tabs:
Category Analysis
Displays a donut chart showing the breakdown of your expenses by category. The center shows the total amount. Below the chart, a detailed breakdown table lists each category with its amount and percentage. This gives you instant visibility into where your money is going.
Trends
Displays line charts showing your income and expense trends over time. The chart auto-scales to fit your data and shows labeled axes. Use this to spot spending patterns and seasonal variations.
Automated Insights
The analytics engine automatically generates insights about your finances:
| Insight | Description |
|---|---|
| Top Spending Category | Your highest expense category with its percentage of total spending |
| Savings Rate | Analysis of what percentage of income you're saving, with recommendations |
| Daily Average | Your average daily spending amount |
| Transaction Frequency | Average number of transactions and their typical amount |
| Expense Ratio | Spending as a percentage of income |
| Largest Expense | Your single biggest expense transaction |
Recurring Pattern Detection
The app automatically analyzes your transaction history to detect recurring expenses like subscriptions, rent, and regular bills.
How It Works
- Grouping — Transactions are grouped by category and similar amounts (within 20% tolerance)
- Interval Analysis — The app calculates the average number of days between each occurrence
- Consistency Check — Verifies that intervals are consistent (within 20% of the average)
- Classification — Assigns a frequency label based on the interval
Detected Frequencies
| Frequency | Interval Range |
|---|---|
| Weekly | 6 – 8 days |
| Bi-weekly | 13 – 15 days |
| Monthly | 28 – 32 days |
| Quarterly | 88 – 95 days |
| Yearly | 360 – 370 days |
A minimum of 3 occurrences is required to detect a pattern. Each detected pattern shows a confidence score (0–100%) based on how consistent the intervals and amounts are.
Each recurring pattern shows when the next occurrence is due. Overdue items are highlighted in red, and items due within 7 days are highlighted in yellow.
Cash Flow Forecast
The forecast engine projects your finances 90 days into the future using a hybrid algorithm.
Algorithm
The forecast combines two techniques for more accurate predictions:
- Linear Regression (70% weight) — Fits a trend line to your historical data to project the direction of your finances
- Moving Average (30% weight) — Smooths out short-term fluctuations to capture your typical spending level
Additionally, upcoming recurring expenses (detected by the pattern engine) are factored into the projection.
The forecast engine requires at least 10 transactions to generate meaningful projections. The more data you have, the more accurate the forecast becomes.
Forecast Insights
The forecast section provides several key insights:
- Trend Direction — Whether your finances are trending positive, negative, or stable
- Projected Growth/Decline — Estimated change amount over the forecast period
- Negative Balance Warning — If projected, shows how many days until your balance goes negative
- End Balance — Projected balance at the end of the 90-day period
- Upcoming Recurring — Count and total of detected recurring expenses due
Forecast Chart
A continuous line chart shows your historical balance alongside the projected forecast. The transition point between real and predicted data is clearly visible, letting you see how the prediction extends from your actual spending patterns.
Settings & Data Management
Open Settings by clicking the gear icon in the header or pressing S. The Settings panel contains five tabs for managing your app configuration, goals, currency, PWA features, and app information.
Data Tab
The Data tab provides tools for managing your financial data:
Export Data (JSON)
Exports all your data as a JSON file, including transactions, budgets, goals, settings, notifications, and receipt images. This is the most complete backup format — use it to transfer your data between devices or create regular backups.
Export CSV
Exports your transactions as a CSV file for use in spreadsheets (Excel, Google Sheets). The CSV also includes summary sections for budgets and goals. Receipt indicators are included but not the actual images.
Import Data
Restore from a previously exported JSON file. This will import all entities: transactions, budgets, goals, settings, notifications, and receipts. Imported data is merged with existing data.
The "Clear All Data" button permanently deletes all transactions, budgets, goals, and settings. A confirmation dialog is shown before proceeding. This action cannot be undone — make sure to export your data first if you want a backup.
Dummy Data
The "Add Dummy Data" button generates 50+ sample transactions with realistic recurring patterns (rent, salary, groceries, subscriptions), along with sample budgets. Useful for testing and exploring the app's features.
Goals Tab
Manage your spending goals directly from the Settings panel. See the Budgets & Goals section for detailed information on creating and managing goals.
Currency Tab
Choose your preferred currency from the 9 supported options. When you change currency, all amounts in the app are converted automatically using exchange rates.
Custom Exchange Rates
If the default exchange rates don't match current market rates, you can override them:
- Select your target currency
- Click Custom Exchange Rates
- Enter your preferred rates for each currency pair
- Click Save
Use the Reset to Defaults button to restore the built-in exchange rates.
PWA Tab
The PWA (Progressive Web App) tab shows your installation status and provides tools for managing the app's offline capabilities.
Installation
Click Install App to add Expense Tracker to your device's home screen or desktop. Browser-specific instructions are provided:
| Browser | Installation Method |
|---|---|
| Chrome | Click the install icon in the address bar, or use the Install button |
| Edge | Click the install icon in the address bar, or go to Apps menu |
| Firefox | Add to Home Screen from the browser menu |
| Safari (iOS) | Tap Share → "Add to Home Screen" |
Once installed, the app caches all necessary files via a service worker. You can track expenses without an internet connection. Data syncs to local storage immediately.
Cache Management
The Clear Cache button removes cached files from the service worker. This is useful after app updates to ensure you're running the latest version. After clearing the cache, reload the page to re-cache fresh files.
PWA Features
- Works offline — track expenses without internet
- Install on any device — Windows, Mac, iOS, Android
- Fast loading — cached resources load instantly
- App-like experience — no browser UI, feels native
- Home screen shortcut — quick access like any app
Info Tab
The Info tab displays your app statistics at a glance:
| Item | Description |
|---|---|
| App Version | Current version of Expense Tracker Pro |
| Storage Used | Amount of browser storage consumed (in KB) |
| Transactions | Total number of recorded transactions |
| Budgets | Number of configured budgets |
| Goals | Total number of spending goals |
| Recurring Patterns | Number of auto-detected recurring expenses |
| Total Categories | Number of unique categories used |
| Income/Expense Breakdown | Count of income and expense transactions |
How Data is Stored
Expense Tracker uses two browser storage mechanisms:
LocalStorage
Stores structured data as JSON strings:
expenseTracker_transactions— All transaction recordsexpenseTracker_budgets— Budget definitionsexpenseTracker_goals— Spending goalsexpenseTracker_settings— App configuration (currency, theme, etc.)expenseTracker_notifications— Notification history
IndexedDB
Used exclusively for receipt image storage. The database ExpenseTrackerReceipts stores images as base64 data linked to transaction IDs. IndexedDB handles much larger data sizes than LocalStorage, making it suitable for image storage.
Your data persists across browser sessions and device restarts. However, clearing your browser data (cache, storage) will erase all app data. Regular JSON exports are recommended as backups.