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.

Privacy First

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:

CardDescription
Net BalanceTotal income minus total expenses for the selected period. Shows a trend indicator (positive/negative/neutral).
Total IncomeSum of all income transactions in the current period, with transaction count.
Total ExpensesSum of all expense transactions in the current period, with transaction count.
Savings RatePercentage 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:

PeriodDate Range
This MonthFirst day of the current month to today
QuarterFirst day of the current quarter to today
YearJanuary 1st of the current year to today
All TimeAll 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:

KeyAction
NAdd a new transaction
SOpen Settings
/Focus the transaction search bar
?Show keyboard shortcuts help
EscClose any open modal
1Switch to This Month
2Switch to Quarter
3Switch to Year
4Switch 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:

FieldDescriptionRequired
TypeChoose Income or ExpenseYes
AmountThe transaction amount (must be greater than 0)Yes
CategorySelect from default categories or type a custom oneYes
DateWhen the transaction occurred (defaults to today)Yes
NoteOptional description or memoNo
Custom Categories

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

  1. Click the receipt/attachment icon on any transaction in the list
  2. Select an image file from your device
  3. 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.

Storage Note

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.

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:

FieldDescription
CategoryThe expense category to track (e.g., Groceries, Dining)
AmountMaximum spending limit for the period
PeriodMonthly, Quarterly, or Yearly

Budget Progress

Each budget displays a color-coded progress bar:

SpentColorStatus
< 80%GreenOn track
80% – 90%YellowGetting close
90% – 100%OrangeAlmost exceeded
> 100%RedOver 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 vs Goals

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:

FieldDescription
NameA descriptive name (e.g., "Monthly dining limit")
AmountSpending limit amount
PeriodMonthly, Quarterly, or Yearly
CategorySpecific 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:

InsightDescription
Top Spending CategoryYour highest expense category with its percentage of total spending
Savings RateAnalysis of what percentage of income you're saving, with recommendations
Daily AverageYour average daily spending amount
Transaction FrequencyAverage number of transactions and their typical amount
Expense RatioSpending as a percentage of income
Largest ExpenseYour 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

  1. Grouping — Transactions are grouped by category and similar amounts (within 20% tolerance)
  2. Interval Analysis — The app calculates the average number of days between each occurrence
  3. Consistency Check — Verifies that intervals are consistent (within 20% of the average)
  4. Classification — Assigns a frequency label based on the interval

Detected Frequencies

FrequencyInterval Range
Weekly6 – 8 days
Bi-weekly13 – 15 days
Monthly28 – 32 days
Quarterly88 – 95 days
Yearly360 – 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.

Due Date Tracking

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.

Minimum Data Required

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.

Clear All 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:

  1. Select your target currency
  2. Click Custom Exchange Rates
  3. Enter your preferred rates for each currency pair
  4. 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:

BrowserInstallation Method
ChromeClick the install icon in the address bar, or use the Install button
EdgeClick the install icon in the address bar, or go to Apps menu
FirefoxAdd to Home Screen from the browser menu
Safari (iOS)Tap Share → "Add to Home Screen"
Offline Mode

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:

ItemDescription
App VersionCurrent version of Expense Tracker Pro
Storage UsedAmount of browser storage consumed (in KB)
TransactionsTotal number of recorded transactions
BudgetsNumber of configured budgets
GoalsTotal number of spending goals
Recurring PatternsNumber of auto-detected recurring expenses
Total CategoriesNumber of unique categories used
Income/Expense BreakdownCount 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 records
  • expenseTracker_budgets — Budget definitions
  • expenseTracker_goals — Spending goals
  • expenseTracker_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.

Data Persistence

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.