Free & Pro — Complete Reference

Income Refinery User Guide

Everything you need to set up your dividend tracker, add rental income and passive streams, configure live FX rates, and reach your financial independence number — for both the free and Pro versions.

Welcome Free vs Pro Setup Sources Settings Holdings Property Other Backup Share Snapshots History Forecast What-If Milestones Prompts APIs Tips Affiliates FAQ
Welcome! 👋

Income Refinery is a free, private, browser-based passive income and dividend tracker. It consolidates dividend income from stocks, REITs, and ETFs across 30 global exchanges; rental property income; bond coupons; savings interest; and every other passive income stream into a single monthly dashboard — with no account, no cloud storage, and no subscription required. The free plan supports up to 10 holdings, 1 property, and 3 other income streams. Income Refinery Pro is a one-time purchase that adds unlimited capacity, JSON backup, Excel export, Portfolio Snapshots, an Income Over Time chart, Forecast & Projection (inline, three scenario bands), a What-If drawer with Hypothetical Portfolio builder, and advanced analytics for investors pursuing financial independence (FIRE).

This guide covers both versions in full. Features exclusive to Pro are marked with a Pro badge throughout. Not sure how Income Refinery compares to other dividend trackers? See our alternatives comparison.

🔒
100% Private
Everything lives in your own browser. No accounts, no cloud, no servers. Your financial data never leaves your device.
🌍
30 Global Exchanges
Track holdings from NYSE, NASDAQ, LSE, ASX, TSX, HKEX, SGX, and 23 more exchanges worldwide, all in one dashboard.
💱
Multi-Currency
Hold assets in any supported currency. Live ECB exchange rates convert everything to your chosen base currency automatically.
📅
Monthly Calendar
See at a glance which months have income and which don't. Plan your portfolio to smooth out any seasonal gaps.
SECTION 1

Free vs Pro — At a Glance

Both versions share the same beautiful interface and all the core tracking features. Pro adds analytical depth — forecasting, scenario modelling, yield-on-cost tracking, and unlimited capacity — for investors who want to go further. See the Pro page for pricing.

Feature Income Refinery (Free) Income Refinery Pro  Pro
Capacity
Stock / REIT / Fund holdingsUp to 10Unlimited
Rental propertiesUp to 1Unlimited
Other income streamsUp to 3Unlimited
Core Dashboard
Monthly income calendar
30 global exchanges
Multi-currency + live ECB FX rates
Monthly income target + progress bar inline edit + FI Target Drawer
FI Presets (Lean / Standard / Fat FI from spending) Pro
Tax Residence & per-treaty withholding rates Pro
📤 Share Your Progress card (branded PNG) live data only + growth % from snapshots
FI Milestones strip (Lean / Standard / Fat FI) Pro
Income Over Time chart (Analyse → History) Pro
Portfolio Snapshots (point-in-time records) Pro
Blended yield on section headers Pro
Holdings — Data Entry
Ticker Lookup (8-source priority system)
Bulk import from Excel / CSV
Cost per Unit → Yield on Cost Pro
Notes field per holding Pro
Dividend Health Panel (DPU trend) Pro
Property & Other Income — Data Entry
Purchase Price → Net Rental Yield Pro
Current Value → feeds Portfolio Snapshots Pro
Capital Deployed → Income Yield Pro
Notes field on property & other income forms Pro
Views & Display
Card view with search & sort toolbar
≡ Table view (sortable columns) Pro
Analytics (Analyse ▾ dropdown)
Forecast & Projection (inline, three scenario bands) Pro
What-If: Capital Deployment & Distribution Change Pro
What-If: Hypothetical Portfolio builder Pro
What-If: Scenario Calendar Pro
Personalisation, Export & Backup
Dark & light theme
Custom title & logo (Branding) Pro
Data Management panel in Settings (JSON, Excel, CSV) Pro
JSON backup & restore Pro
Excel export (6-sheet workbook) Pro
Snapshots CSV export Pro
API key integration (7 data sources)
Income Refinery Pro is a one-time purchase — no subscription. Visit incomerefinery.com/pro to upgrade.
🚀
SECTION 2

Getting Started with Income Refinery

These six steps are the same for both versions. You'll have your first income entry showing in just a few minutes.

1
Open the app in your browser
Double-click income_refinery.html (free) or income_refinery_pro.html (Pro) — it opens directly in Chrome, Edge, Firefox, or Safari. No installation required and no internet needed to run the app itself.
2
Choose your theme & personalise
Click ⚙ Settings & FX Rates in the header. Pick dark or light mode, set your base display currency (USD, GBP, EUR, SGD, CAD, or AUD), and optionally upload a logo and give the dashboard a personal name in the Branding section.
3
Set your FI target
Free: Click the income number in the hero panel, type your monthly goal directly. Pro: Click Adjust ⚙ in the hero panel to open the FI Target Drawer. Choose a preset (Lean FI, Standard FI, or Fat FI — based on your monthly spending) or type a custom amount. The progress bar and projected FI date update instantly.
4
Add your first holding
Scroll to 📈 Stocks, REITs & Funds and click + Add Counter. Enter the ticker, select the exchange, and click 🔍 Lookup to try auto-fetching dividend data. Fill in your units held, verify the DPU and payment months, then click ✓ Save Counter.
5
Refresh live FX rates
Click 🔄 Live FX in the header to pull the latest rates from the European Central Bank — free, no key needed. This ensures every foreign-currency holding displays accurately in your base currency.
6
Back up your data Pro
Pro users: Open ⚙ Settings & FX Rates and scroll to the Data Management section at the top. Click ↓ Export JSON to save a complete backup. To restore, click ↑ Import JSON and select your file. Free users: Data is stored in the browser only with no export option — backing up is one of the main reasons to upgrade to Pro.

Screenshot: Income Refinery Pro — full dashboard view

IR
Income Refinery Pro
Stocks · Bonds · Real Estate · All streams · One view
Settings
Analyse ▾
+ Add income ▾
This Month
Average
Expected This Month
$4,280.50
Annual: $51,366 · 12 income sources · USD
📈 Holdings: $2,840/mo
🏠 Property: $1,040/mo
💡 Other: $400.50/mo
FI Target
$6,000/mo
$1,719.50 to go
71% of target
Adjust ⚙
✦ FI Milestones
🌱
Lean FI (70%)
$4,200/mo ✓
Achieved today
🎯
Standard FI (100%)
$6,000/mo
~3.2 years · Aug 2029
🏆
Fat FI (150%)
$9,000/mo
~9.8 years · Mar 2035
JAN
$1,120
FEB
$480
MAR
$1,740
APR
no income
MAY
$920
JUN
$1,680
JUL
no income
AUG
$540
SEP
$1,680
OCT
no income
NOV
$480
DEC
$1,726
Pro header: Settings · Analyse ▾ (History, Forecast, What-If) · + Add income ▾. Export and backup are in Settings → Data tab. The FI Milestones strip appears between the hero and calendar. Click Adjust ⚙ in the hero to open the FI Target Drawer.

Screenshot: Income Refinery (Free) — header

IR
Income Refinery
Stocks · Bonds · Real Estate · All streams · One view
⚙ Settings & FX Rates
🔄 Live FX
✦ Go Pro
The free version has three header buttons: Settings, Live FX, and the ✦ Go Pro upgrade link. Export and backup are available in Pro only.
📡
SECTION 3

Dividend Data Sources & API Integration

The 🔍 Lookup button tries eight sources in priority order, stopping as soon as it gets a result. The key message upfront: Yahoo Finance is the last resort, not the first. Set up any one better source and lookups become fast and reliable.

⚠️ Yahoo Finance is heavily rate-limited for browser-based apps. It's always available as a fallback (Priority 8) but often fails. The easiest alternative — uploading a watchlist spreadsheet — requires no API key, no internet, and has no rate limits at all.
#SourceBest forHow to set upCost
1📊 Watchlist SpreadsheetAny exchange worldwide — fastest, works offlineUpload via Settings → Dividend Lookup SourcesFree
2Twelve DataUS, EU, Asian exchanges including SGX · 800/day freePaste API key in SettingsFree tier
3EODHD70+ global exchanges — broadest international coveragePaste API key in Settings20/day free
4FMPUS & European stocks · 250/day freePaste API key in SettingsFree tier
5Alpha VantageUS stocks · 25/day freePaste API key in SettingsFree tier
6Polygon.ioUS stocks only · 5/min freePaste API key in SettingsFree tier
7MarketStackUS stocks only · very limited free tierPaste API key in Settings100/month
8Yahoo Finance (always-on fallback)Last resort — any ticker, but rate-limited and unreliableNothing to configureUnreliable
Best starting approach: Use the AI prompt in Section 12 to generate a watchlist spreadsheet, then upload it in Settings as Priority 1. Instant lookups, zero rate limits, no API key needed. Wondering how Income Refinery compares to other dividend trackers? See our alternatives comparison page.
🎨
SECTION 4

Personalise Your Passive Income Dashboard

Click Settings in the Pro header — or ⚙ Settings & FX Rates in the free header — to open the settings panel.

Free — Settings Sections
1. Appearance
2. FX Rates & Preferences
3. Dividend Lookup Sources
Pro — Settings Tabs
Profile — Tax Residence, Currency, FX Rates
Data — Export JSON, Import JSON, Excel, Snapshots
Appearance — Theme, Branding (title & logo)
Lookup — Watchlist upload, API keys
Affiliates — Referral link, discount code
Help — Guide links

Your FI Target and US withholding settings are in the FI Target Drawer (Pro: click Adjust ⚙ in the hero) or directly on the hero panel (free).

Profile tab — Tax Residence Pro

A significant feature: set your Tax Residence (e.g. Singapore, United Kingdom, Australia) and Income Refinery automatically applies the correct US withholding rate to all new holdings that pay in USD — based on the IRS tax treaty between the US and your country.

🏛️
Treaty rates applied automatically
Countries like the UK, Australia, and Canada enjoy 15% treaty rates on US dividends. Singapore has no treaty — 30% applies. Setting your residence ensures every new holding gets the right rate from day one.
⚙️
Per-holding override
The residence sets a default. Individual holdings can have their own withholding rate set in the Add/Edit form — useful for mixed portfolios or non-US securities in the same account.

Screenshot: Settings panel — Appearance & FX sections (free) + Branding section (Pro only)

Appearance
🌙 Dark (default)
☀ Light
Branding
💰
📂 Upload
App Title
Alex's Income Dashboard
FX Rates & Preferences
1 GBP → USD
1.2700
1 EUR → USD
1.0850
1 AUD → USD
0.6450
1 HKD → USD
0.1280
1 JPY → USD
0.0067
1 CAD → USD
0.7300
Apply 30% US withholding tax on USD dividend & distribution income
🔄 Refresh Live FX Rates
✓ Live rates last fetched: 13/05/2026 · ECB date: 2026-05-12 · Source: Frankfurter / European Central Bank
The Settings panel — free users see Appearance, FX Rates & Preferences, and Dividend Lookup Sources. The Branding section shown above (custom title and logo) is a Pro-only section not present in the free Settings panel.
🌙
Dark & Light Theme
Switch between the default dark mode and a clean light theme. Applies instantly, remembered across sessions.
✏️
Custom Dashboard Title Pro
Type a personal name in the Branding section — "Alex's Portfolio", "Our Family Income" — up to 80 characters, shown in the header.
🖼️
Custom Logo Pro
Upload your own photo or logo to replace the default 💰 icon. Makes the dashboard feel like a custom app built just for you.
🎯
Monthly Target
Edit directly on the main dashboard — click the number in the hero panel and type your goal. The progress bar updates instantly. No Settings needed, available in both free and Pro.
🌍
Base Currency
Choose USD, GBP, EUR, SGD, CAD, or AUD. Every holding is converted to this currency for display, regardless of what it pays in.
🏛️
US Withholding Tax
Non-US residents: tick this box to automatically deduct 30% from USD dividend income. Not applied to rental property income.
After changing your base currency, always click 🔄 Refresh Live FX Rates to pull current ECB rates for the new base. Then click Save Settings at the sticky bar at the bottom of the panel.
📈
SECTION 5

Stocks, REITs & Funds

⚠️
Free plan: up to 10 holdings. You can add, edit, and remove freely within this cap. Pro: unlimited. If your portfolio grows beyond 10 positions, upgrading removes this cap entirely.

Add any dividend-paying stock, REIT, ETF, closed-end fund, or investment trust here. Click + Add Counter to enter a holding manually, or 📂 Import Holdings to bring in multiple at once from a spreadsheet.

Screenshot: The Add Counter form — Pro version (extra fields highlighted)

Add Counter
Stock · REIT · ETF · CEF · Fund
Ticker Symbol
O
NYSE (default)
🔍 Lookup
✓ Found: Realty Income Corp · avg DPU USD 0.2635 · Monthly · Please verify before saving.
Display Name
Realty Income Corporation
Currency
USD
Units / Shares Held
500
DPU per Payment
0.2635
Cost per Unit ✦ Pro
0.00 · leave blank if unknown
optional · enables Yield on Cost
Frequency
Monthly (12×/yr)
Payment Months
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
Estimated Income / Month
$131.75 /mo avg (USD 131.75 × 12 payments/yr)
Notes ✦ Pro
optional · broker, account type, tax wrapper, reminders…
Free users see the same form without the two Pro-exclusive fields: Cost per Unit and Notes. The Income Preview at the bottom updates live as you type.

Dividend Counter Form Fields

1
Ticker & Exchange — Enter the ticker symbol (e.g. O, BATS.L, 2800.HK) and select the exchange, then click 🔍 Lookup to try auto-fetching dividend data. Always verify results before saving.
2
Units / Shares Held — How many shares or units you currently own. Only you know this — the tracker can't fetch it from any data source.
3
DPU per Payment — Distribution Per Unit, per individual payment event. If a stock pays $0.75/share quarterly, enter 0.75 — not the annual total of $3.00.
4
Cost per Unit Pro — What you paid per share when you bought it. Entering this unlocks Yield on Cost — the income yield on your actual purchase price, not the current market price. A key metric for long-term dividend investors.
5
Payment Months — Select the frequency (Monthly, Quarterly, etc.) and month buttons auto-highlight. Click individual months to customise for irregular schedules.
6
Notes Pro — Up to 200 characters for anything useful: broker, tax wrapper, account type, or a reminder to check the DPU each January. Shows on the card and in table view.

Search, Sort & the ≡ Table View

Once holdings are added, a search and sort toolbar appears above the list. Type any part of a name or ticker to filter instantly, and use the sort dropdown to order by income, DPU, name, or units held.

≡ Table View Pro

Pro users can click ≡ Table in the section header to switch from card view to a compact, sortable table. Every column — Name, Currency, DPU, Units, Annual Income, % of total, Yield on Cost, and trend indicator — is clickable to sort ascending or descending. Invaluable for comparing a large portfolio at a glance.

Dividend Health Panel Pro

After a successful Lookup, Pro users see a Dividend Health Panel above the holding's card. It shows the last several dividend payments as a trend — letting you spot at a glance whether a company has been growing, maintaining, or cutting its distribution. An early-warning signal that matters to income investors.

Screenshot: Holdings section — Pro view with blended yield, Table toggle, and Dividend Health Panel

📈 Stocks, REITs & Funds 8 Blended yield: 6.2% ✦
≡ Table
📂 Import
+ Add Counter
8 of 8
◆ Dividend Health — Realty Income (O) · last 8 payments
$0.2550 · $0.2565 · $0.2580 · $0.2600 · $0.2610 · $0.2620 · $0.2630 · $0.2635   ↑ Steady upward trend
📈
Realty Income Corporation
O · USD · 500 units · $0.2635/payment · Monthly · YoC: 7.1%
$131.75
/mo avg
🗑
📈
Enbridge Inc.
ENB.TO · CAD · 300 units · CA$0.9150/payment · Quarterly · YoC: 8.3%
$207.80
/mo avg
🗑
Pro: Section header shows blended yield and the ≡ Table toggle. The Dividend Health Panel shows recent DPU history. Each card shows Yield on Cost when a cost was entered.

Supported Stock Exchanges — 30 Global Markets

The Lookup dropdown includes all 30 exchanges below. For anything not in the list, simply enter the ticker manually, set the currency, and fill in DPU and payment months yourself — the app calculates income correctly regardless.

ExchangeSuffixExample TickersCurrency
NYSEnoneO, UTF, T, ETYUSD
NASDAQnoneMSFT, AAPL, QCOMUSD
SSE — Shanghai.SS600036.SSCNY
Euronext Paris.PAAIR.PA, BNP.PAEUR
JPX — Tokyo.T7203.T, 8306.TJPY
SZSE — Shenzhen.SZ000333.SZCNY
HKEX — Hong Kong.HK2800.HK, 0823.HKHKD
NSE — India.NSRELIANCE.NS, TCS.NSINR
LSE — London.LBATS.L, LGEN.L, RIO.LGBP
BSE — Bombay.BO500325.BOINR
TSX — Toronto.TOENB.TO, TD.TO, BCE.TOCAD
Deutsche Börse.DEALV.DE, SIE.DEEUR
Tadawul — Saudi Arabia.SR2222.SR (Aramco)SAR
KRX — Korea.KS005930.KS (Samsung)KRW
SIX — Switzerland.SWNESN.SW, ROG.SWCHF
ASX — Australia.AXCBA.AX, VAS.AX, BHP.AXAUD
TWSE — Taiwan.TW2330.TW (TSMC)TWD
Nasdaq Nordic — Stockholm.STERIC-B.ST, VOLV-B.STSEK
B3 — Brazil.SAPETR4.SA, VALE3.SABRL
JSE — Johannesburg.JOSOL.JO, NPN.JOZAR
BME — Madrid.MCSAN.MC, IBE.MCEUR
BIT — Milan.MIISP.MI, ENI.MIEUR
MOEX — Moscow.MESBER.ME, GAZP.MERUB
Bursa — Malaysia.KLPBBANK.KL, KLCC.KLMYR
SGX — Singapore.SIAJBU.SI, O5RU.SISGD
SET — Thailand.BKPTT.BK, SCB.BKTHB
IDX — Indonesia.JKBBCA.JK, TLKM.JKIDR
PSE — Philippines.PSSM.PS, BDO.PSPHP
TASE — Tel Aviv.TAESLT.TA, NICE.TAILS
WSE — Warsaw.WAPKN.WA, PKO.WAPLN
🏠
SECTION 6

Rental Properties

⚠️
Free plan: up to 1 rental property. If you own multiple properties, Pro removes this limit entirely.

Click + Add Property to track net rental income from any property in any currency. FX conversion to your base currency is handled automatically.

1
Property Name — A descriptive label you'll recognise: "London Flat", "Miami Condo", "Toronto Duplex Unit 1".
2
Currency & FX Rate — The currency rent is paid in. The FX rate auto-fills from your last live refresh.
3
Monthly Gross Rent — What tenants pay each month before any deductions.
4
Monthly Operating Costs — A combined figure covering mortgage repayments, management fees, insurance, and maintenance reserves. The Net Income Preview at the bottom updates live as you type.
5
Purchase Price Pro — Your total purchase cost, enabling automatic Net Rental Yield calculation displayed on the property card.
6
Current Value Pro — Today's estimated market value of the property. This feeds the Portfolio Snapshots auto-fill, so your snapshot's portfolio value is accurate without manual entry every month.
7
Notes Pro — Up to 200 characters for reminders: managing agent contact, lease end date, planned works, etc.
💡 Properties are assumed to pay every month of the year. For seasonal or short-term rental income, enter an annualised monthly average as the net figure. Pro users also get a ≡ Table View for properties, sortable by gross rent, costs, net income, annual total, and rental yield.
💡
SECTION 7

Tracking Bonds, Savings & Other Passive Income Streams

⚠️
Free plan: up to 3 other income streams. Pro: unlimited. If you hold multiple bonds, savings accounts, and royalty streams, Pro lets you track all of them.

This section handles everything that isn't a stock or a property. Choose from 12 categories, then fill in the amount, currency, and payment schedule. The Capital Deployed field Pro lets you record the capital behind each stream so the app can calculate your yield on that capital.

Amount is the income you receive per payment event, not the annual total. The app calculates your annual figure by multiplying by the number of payments per year — so a bond paying $500 each June and December is entered as $500 Semi-annual, not $1,000 Annual. This is the same convention as the DPU field in Holdings.

🏦
HYSA / CD / Savings
High-yield savings accounts, certificates of deposit, term deposits. Set Monthly frequency and enter the monthly interest amount.
🏛️
Treasury / Muni Bonds
Government bonds and savings bonds in any currency. Use Semi-Annual or Annual frequency to match the coupon schedule.
📋
Corporate Bonds
Bond coupon payments from corporate issuers. Enter the coupon amount per event and select payment months.
🏦
Private Credit
Direct lending funds, private debt platforms, or structured credit vehicles. The custom month picker handles irregular schedules.
💼
401k / IRA / Pension
Monthly pension payments, Social Security distributions, annuity income, or retirement fund withdrawals.
And 7 more categories…
Peer Lending, Social Security, Royalties, Digital Products, Annuities, Business Income, and a catch-all Other for anything that doesn't fit neatly elsewhere.
💡 Don't overlook this section. Many investors focus only on dividends and miss the bigger picture. Adding savings interest, bond coupons, and any other regular income streams gives you the complete view of what your capital is actually earning.
💾
SECTION 8

Data Management & Backup Pro

All export and backup functions are exclusive to Income Refinery Pro and are found in Settings → Data tab. Free users have no export or restore mechanism.
🚨 Pro users — please read this carefully

All your data is stored in your browser's local storage — not a cloud save. Clearing your browser cache, switching browsers, or using a different device will erase everything unless you have a JSON backup. Always export before clearing cache, and keep dated copies in cloud storage.

↓ Export JSON Pro
Saves a complete backup of everything — holdings, properties, income streams, portfolio snapshots, FX rates, and settings. This is your primary backup. The only export that can be re-imported.
↑ Import JSON Pro
Restores from a previously-exported JSON file. Replaces all current data. Confirms before overwriting. Works on any device with the Pro app file.
📊
📊 Export Excel Pro
Multi-sheet workbook: summary, calendar, holdings, properties, other income, and FX rates. For printing, sharing with an adviser, or external analysis. Cannot be re-imported.
📸
📸 Snapshots CSV Pro
Exports your portfolio snapshot history as a CSV file for analysis in Excel or Google Sheets.
Good backup habits: Export JSON after every session. Use dated filenames: income_refinery_2026-05-25.json. Store two or three recent copies in Google Drive, Dropbox, or iCloud so you can restore from any device.
📤
SECTION 9

Share Your Progress

Both versions include a 📤 Share your progress button in the hero panel, just below your monthly income total. Clicking it opens the Share Your Progress modal, which generates a branded PNG image of your income dashboard that you can download or post directly to social media.

🖼️
Aspect Ratios
Choose between 1:1 (Instagram square), 16:9 (Twitter/LinkedIn landscape), or 9:16 (Instagram/TikTok story). The card redraws instantly.
🙈
Hide Dollar Amounts
Tick the Hide dollar amounts checkbox to share only your percentage progress toward your target — no exact income figures visible.
📲
Social Platforms
Buttons for WhatsApp, X (Twitter), Facebook, LinkedIn, and Instagram. Your image downloads automatically — attach it to your post for maximum impact.
📈
Growth % from Snapshots Pro
Once you have 2 or more portfolio snapshots, the Pro share card automatically shows your income growth percentage since your first snapshot — a powerful signal for the FIRE community.
🔗
Include Website URL Pro
The Pro share card includes an optional incomerefinery.com watermark on the image (ticked by default). Untick to remove it.
💡 The image is generated entirely in your browser using the Canvas API — no data is uploaded anywhere. The download and Copy Image buttons work offline.
📸
SECTION 10

Portfolio Snapshots Pro

Exclusive to Income Refinery Pro. Found in Settings → Data tab → Portfolio Snapshots.

A snapshot is a point-in-time record of your monthly income and portfolio value. Captured once a month, they build a historical record of your progress toward financial independence — and power the 📊 Income Over Time chart. Without snapshots the History chart has nothing to plot, so capturing your first one is worth doing on day one.

Click 📸 Capture Snapshot in Settings → Portfolio Snapshots to open the snapshot form. The app auto-fills monthly income and portfolio value from your current data — you can edit either field before saving.

1
Snapshot Date — Defaults to today. You can back-date a snapshot if you missed a month.
2
Monthly Income — Auto-filled from your current dashboard total. Edit if you want to record a different figure (e.g. actual received vs. projected).
3
Portfolio Value — Auto-filled as the sum of your holdings cost basis, property values (from the Current Value field), and capital deployed in other income streams. Override with your authoritative total if you track it elsewhere (e.g. your broker's reported market value).
4
Component Breakdown — Optional expandable section. Shows income and value broken down across Holdings, Property, and Other Income streams. Auto-filled; edit individual rows if needed.
5
Note — Up to 200 characters of context: "After Apr dividend run", "Rebalanced to 60/40", "Bought VICI at $18.40". Shows in the History chart tooltip.
🔔
Monthly Reminder
Tick Monthly capture reminder in Settings → Portfolio Snapshots to get a browser notification at the start of each month. Keeps your history consistent.
💾
Included in JSON Backup
All snapshots are automatically included in your JSON backup export. They're restored alongside all other data when you import a backup.
📊
CSV Export
Export your full snapshot history as a CSV file via Settings → Data tab → 📸 Snapshots CSV. Useful for building your own charts in Excel or Google Sheets.
📊
SECTION 11

Income Over Time Pro

Exclusive to Income Refinery Pro. Open via Analyse ▾ → History in the header.

The Income Over Time chart is a full-screen view that plots your portfolio snapshot history as a line chart — your passive income journey in one glance. It requires at least one saved snapshot to display data; two or more reveal the trend line.

📈
Portfolio Value Overlay
Click 📈 Portfolio Value in the chart toolbar to overlay your portfolio value as a second line. See income and net worth growing together over time — a compelling visual for your FIRE journey.
💰
Inflation-Adjusted View
Click 💰 Inflation-Adjusted to adjust historical income to today's purchasing power. Set your assumed inflation rate (default 3%/yr) with the inline input. Gives a more honest view of real income growth.
📤
Share from History
The 📤 Share button inside the History view opens the Share Your Progress modal pre-loaded with your snapshot growth data — the quickest way to create a share card showing your progress over time.
💡 The Income Over Time chart and the Share card both become significantly more powerful once you have several months of snapshots. Capture one on the first of each month and the chart tells your full story within a few months.
📈
SECTION 12

Forecast & Projection Pro

Exclusive to Income Refinery Pro. Open via Analyse ▾ → Forecast in the header. The Forecast appears as an inline collapsible panel directly on the main dashboard — no separate page or modal.

The Forecast & Projection engine is Income Refinery Pro's answer to the most important question in passive income investing: "When will I reach financial independence?" It takes your current income as the baseline and projects it forward simultaneously under three scenario bands — Conservative (the floor), Base (your own assumptions), and Optimistic (the ceiling) — giving you a realistic range rather than a single optimistic line. Open it via Analyse ▾ → Forecast; it appears as an inline collapsible panel directly on the main dashboard.

🏛️
Conservative scenario
No distribution growth, no reinvestment, no new capital. The floor — shows what happens if everything stays exactly as it is.
⚖️
Base scenario
Your own assumptions: the capital, yield, growth rate, and reinvestment settings you enter. The most likely path.
🚀
Optimistic scenario
+2% distribution growth above your base setting, +25% yield on new capital, and distributions reinvested. The ceiling.

Click Show assumptions to expand the inputs panel. Your settings are saved between sessions.

Forecast & Projection Assumptions

1
Monthly New Capital — New money you plan to invest each month. Set to 0 if you are not actively adding to your portfolio.
2
Target Yield on New Capital — The average annual income yield you expect on new investments. Typically 4–7% for a diversified dividend or income portfolio.
3
Annual DPU / Distribution Growth — How much you expect existing distributions to grow year-on-year. Quality dividend growers typically increase payouts 2–5% annually.
4
Reinvest Distributions — When enabled, income received is added back to capital each month, compounding growth across the projection horizon.
5
Projection Horizon — 2, 5, 10, 15, 20, 25, or 30 years. The chart and all milestone dates update instantly.

Financial Independence Tiers (Lean, Standard & Fat FI)

Within the assumptions panel, you can set the percentage thresholds for each FI tier — these feed directly into the FI Milestones strip on the main dashboard and the projected FI date in the Target Drawer. The defaults match most FIRE community conventions but are fully adjustable.

⚠️ Forecasts are for planning purposes only. They assume consistent capital deployment and constant yields — neither of which is guaranteed. Treat projections as directional guides, not definitive timelines.
⚖️
SECTION 13

What-If Scenario Modeller Pro

Exclusive to Income Refinery Pro. Open via Analyse ▾ → What-If in the header. Opens as a side drawer.

The What-If drawer is Income Refinery Pro's scenario planning tool — a side drawer that lets you model hypothetical changes to your portfolio before committing real capital. It has three interconnected parts: a Hypothetical Portfolio builder, two focused scenario cards (Capital Deployment and Distribution Change), and a live Scenario Calendar that shows the combined 12-month income impact visually. Open it via Analyse ▾ → What-If.

Hypothetical Portfolio Builder

The top section of the drawer lets you add fictional income sources to model "what if I bought this?" without touching your real portfolio. Nothing added here affects your actual data.

📈
+ Holding
Add a hypothetical stock, REIT, or ETF. Enter the ticker (optional), units, DPU per payment, currency, and payment frequency. The form shows the same frequency chips as the main Add Holding form.
🏠
+ Property
Add a hypothetical rental property with a label and monthly net income. Useful for modelling "what if I bought a second property that generates $1,500/mo net?"
💡
+ Other Income
Add a hypothetical income stream with a label, amount per payment, currency, and frequency (Monthly, Quarterly, or Annual). Model a bond, HYSA, or any other income source.

Each item you add appears in the list below the form buttons. The Scenario Calendar updates immediately to show how the hypothetical income stacks up against your actual portfolio month by month. Remove any item with its × button.

Capital Deployment & Distribution Change Scenarios

Two cards sit below the Hypothetical Portfolio, each modelling a different type of change to your existing income:

1
Capital Deployment — Enter a lump sum and the annual yield you expect to earn on it. Instantly see the additional monthly income that capital would generate. Useful for deciding whether to deploy cash sitting in a savings account.
2
Distribution Change — Enter a percentage (positive for an increase, negative for a cut). Applies uniformly across all your existing dividend and distribution income. A quick stress-test: "What happens to my income if my holdings cut distributions by 20%?"
3
Combined Impact — A summary card shows the net result of all three inputs together: the hypothetical portfolio items, the capital deployment, and the distribution change. Answers the compound question: "Would buying these two holdings plus deploying $100k survive a 20% distribution cut?"

Scenario Calendar — 12-Month Income View

The Scenario Calendar at the bottom of the drawer is the most useful part for day-to-day planning. It renders a 12-month calendar showing your modelled total income per month — your real holdings plus all the hypothetical items you've added. Months with no income are highlighted. Use it to check for seasonal gaps before committing to a new position.

💡 A typical workflow: add a few holdings you're researching (using + Holding), check the Scenario Calendar to see which months they fill, then use the Distribution Change card to stress-test the combined portfolio against a cut. All three tools update instantly — no save or submit button.
🏁
SECTION 14

FI Milestones Pro

Exclusive to Income Refinery Pro.

The FI Milestones strip appears automatically between the hero and the monthly calendar. It shows three financially independent income levels — calculated from your monthly target — and tells you how far away each one is, updated in real time every time you add or edit a holding.

✦ FI Milestones
🌱
Lean FI — 70% of target
$4,200/mo ✓ Achieved
Basic needs covered · $50,400/yr
🎯
Standard FI — 100% of target
$6,000/mo · ~3.2yr
Projected: Aug 2029 · $72,000/yr
🏆
Fat FI — 150% of target
$9,000/mo · ~9.8yr
Projected: Mar 2035 · $108,000/yr
Lean FI shows when basic needs are covered; Standard FI is your target income; Fat FI is a comfortable cushion above it. Achieved milestones highlight in green. Achieved milestones turn green.

The milestone percentages (70% for Lean, 150% for Fat) are configurable in the Forecast panel's assumptions section. Projected dates are driven by your Forecast assumptions, so they update as you adjust your monthly capital contributions and expected yield.

🤖
SECTION 15

AI Prompts — Let Your LLM Do the Legwork

If you hold many positions, entering them one by one can be tedious. Use these ready-made prompts with your favourite LLM — tested on Claude and Gemini. Prompt 1 is all you need to get started — it generates one row per dividend event (with units and ex-dates) which the importer uses to bulk-add your holdings and populate the Pro Dividend Health Panel in a single operation. Prompt 2 is optional — use it if you want a dedicated Priority 1 Watchlist to power the Lookup button with a fast, offline cache.

💡 Recommended workflow: Start with Prompt 1 — generate the CSV and click 📂 Import Holdings. Your counters are added with units, payment months, DPU, and trend history all in one go. If you later want faster offline Lookup as you add new tickers, generate Prompt 2 and upload it as the Priority 1 Watchlist in Settings.

Prompt 1 — Holdings Import (one row per event → 📂 Import Holdings + DPU trend)

Generates one row per dividend payment event per holding, with units on every row. Use this with the 📂 Import Holdings button in the Holdings section. The importer automatically groups rows by ticker — one counter is created per holding — and collects the dated events to populate the Pro Dividend Health Panel and DPU trend. No separate watchlist upload is needed. Provide 4–8 events per ticker for the most reliable trend signal; the first row for each ticker should include all fields.

📋 Holdings Import Prompt — use with 📂 Import Holdings
Please generate a CSV spreadsheet of my current stock/REIT/fund holdings. This will be imported into Income Refinery using the Import Holdings button. REQUIRED FORMAT Use exactly these column headers in this order: Ticker | Name | Currency | Units | DPU | Frequency | Payment Months | Ex-Date Rules for each column: - Ticker: Exchange-suffixed format (e.g. O for NYSE, BATS.L for LSE, 2800.HK for HKEX, ENB.TO for TSX) - Name: Full company/fund name - Currency: 3-letter currency code (USD, GBP, AUD, HKD, CAD, etc.) - Units: My actual shares/units held, as a plain integer (e.g. 500). Repeat the same value on every row for that ticker - DPU: Cash dividend per unit for THAT payment event, as decimal (e.g. 0.2635). Per-payment, NOT annualised - Frequency: Monthly, Quarterly, Semi-Annual, or Annual (only needed on first row per ticker) - Payment Months: Comma-separated month numbers (e.g. 3,6,9,12). Only needed on first row per ticker - Ex-Date: Ex-dividend date for that event in YYYY-MM-DD format. REQUIRED on every row — rows without an ex-date are excluded from DPU trend analysis CRITICAL: - One row per dividend payment event, not one row per holding - For each ticker, provide the last 4–8 individual payment events as separate rows, newest first - First row per ticker: include ALL columns - Subsequent rows per ticker: Ticker, Units (same value), DPU (that event's amount), Ex-Date (minimum) - The importer groups rows by ticker automatically — only one counter is created per holding OUTPUT FORMAT: Plain CSV only — no explanation, no markdown, just data starting with the header row. MY HOLDINGS: (Replace this with your own holdings — one per line) O — NYSE — 500 shares MSFT — NASDAQ — 200 shares ENB.TO — TSX — 300 shares BATS.L — LSE — 400 shares 2800.HK — HKEX — 2000 units CBA.AX — ASX — 150 shares

Prompt 2 — Watchlist Pro (one row per event → Priority 1 Watchlist)

Generates one row per dividend payment event per holding, without units. Upload this in Settings → Dividend Lookup Sources → Priority 1 Watchlist so the 🔍 Lookup button resolves any ticker instantly from your own file — offline, no rate limits, no API key needed. It also feeds the Dividend Health Panel when you run Lookup on an existing counter. For initial dashboard setup, Prompt 1 covers both import and DPU trend in one step; Prompt 2 is most useful for keeping the Lookup cache fresh as you add new tickers over time. Ex-Date must be filled on every row — rows without one are excluded from trend analysis.

📋 Watchlist Prompt — upload in Settings → Priority 1 Watchlist
Please generate a CSV watchlist for my stock/REIT/fund holdings. This will be uploaded to Income Refinery as the Priority 1 Watchlist to power dividend lookup and DPU trend analysis. REQUIRED FORMAT Use exactly these column headers in this order: Ticker | Name | Currency | Dividend | Ex-Date | Payment Date | Frequency Rules for each column: - Ticker: Exchange-suffixed format (e.g. O for NYSE, BATS.L for LSE, 2800.HK for HKEX, ENB.TO for TSX) - Name: Full name of the stock, REIT, ETF, or fund - Currency: 3-letter currency code - Dividend: Cash dividend per unit per individual payment event, as decimal (e.g. 0.2635). Per-payment, NOT annualised - Ex-Date: Ex-dividend date in YYYY-MM-DD format (e.g. 2025-09-15). REQUIRED — do not leave blank; rows without an ex-date are excluded from trend analysis - Payment Date: Actual payment date in YYYY-MM-DD if known; leave blank otherwise - Frequency: Monthly, Quarterly, Semi-Annual, or Annual CRITICAL: One row per dividend event. For each counter, provide the last 4–8 individual payment events as separate rows, newest first. Always fill in Ex-Date — it is required for the Dividend Health Panel to detect DPU trends. Do not omit any counter even if data is uncertain — include the row with what you know. OUTPUT FORMAT: Plain CSV only — no explanation, just data starting with the header row. MY COUNTERS: (Replace with your own holdings) O — NYSE — 500 shares MSFT — NASDAQ — 200 shares ENB.TO — TSX — 300 shares BATS.L — LSE — 400 shares 2800.HK — HKEX — 2000 units CBA.AX — ASX — 150 shares
⚠️ AI-generated dividend data is based on historical public information and may not reflect the most recent changes (cuts, specials, suspensions). Always cross-check against your broker statements or the company's investor relations page before finalising your entries.
🔌
SECTION 16

API Keys for Live Dividend Data

API keys are entered directly in ⚙ Settings → Dividend Lookup Sources. Paste a key in the relevant field, click Save Settings, and the Lookup button uses it automatically from that point on. All keys are stored locally on your device — never sent anywhere except directly to the API provider when you do a Lookup.

ℹ️ Referral disclosure: Some of the sign-up links in the table below may be referral links. If you sign up through them, Income Refinery may receive a small commission at no cost to you. This helps support the project. You are always free to sign up directly through each provider's website instead.
#APIBest forFree limitSign up
2Twelve DataUS, EU, Asian exchanges including SGX800/daytwelvedata.com
3EODHD70+ global exchanges — broadest international coverage20/dayeodhd.com
4Financial Modeling PrepUS and European stocks250/dayfinancialmodelingprep.com
5Alpha VantageUS stocks (NYSE / NASDAQ)25/dayalphavantage.co
6Polygon.ioUS stocks only5/minpolygon.io
7MarketStackUS stocks only100/monthmarketstack.com
🇺🇸
Mostly US Stocks
Start with a Watchlist upload plus Alpha Vantage. The 25/day free tier is plenty for most portfolio sizes covering NYSE and NASDAQ.
🌍
Mixed International
Combine Watchlist upload + Twelve Data + EODHD. Together they cover nearly all 30 exchanges in the dropdown.
Just Getting Started
Use the AI prompt to generate your watchlist, upload it in Settings. No API key needed — instant lookups for every holding, zero rate limits.
SECTION 17

Tips & Good Habits

🗓️
Watch for calendar gaps
Notice which months show "no income"? Consider holdings that pay in those months to smooth your cash flow across the full year.
💱
Refresh FX before reviewing
Click 🔄 Live FX before your monthly review to ensure all foreign-currency figures are current. The app auto-refreshes if rates are more than 24 hours old.
🔄
Update DPU when dividends change
When a company raises or cuts its dividend, click ✏ on the holding, update the DPU, and save. The calendar and averages recalculate instantly.
🏦
Don't overlook savings interest
High-yield savings, T-bills, and money market funds are passive income too. Add them to Other Income for your true total picture.
💾
Make ↓ JSON a habit
End every session with ↓ JSON. Store backups in cloud storage. Never clear your browser cache without exporting first — ever.
🏷️
Use descriptive names
Instead of "Bond A" or "Savings 1", use names like "US 10Y Treasury Nov 2025" or "DBS Multiplier SGD". Makes the dashboard much easier to read at a glance.
🔐
100% private by design
No accounts, no cloud, no servers. Everything stays on your device. Income Refinery never sends your financial data anywhere.
Try the Pro analytics
Curious when you'll hit financial independence? The Forecast, What-If, and History tools in Income Refinery Pro answer that in seconds. One-time purchase, no subscription.
🎉 You're all set! Income Refinery grows with your portfolio. Start with whatever you have today — even just one holding — and build from there. Watching that monthly income number climb toward your target is one of the most satisfying things in personal finance. Happy investing!
🤝
SECTION 18

Refer a Friend & Earn

Love Income Refinery? You can share it with friends, give them a discount on Pro, and earn a referral commission — all at the same time. It's a genuine win on both sides: they get a better deal, and you get rewarded for spreading the word.

The affiliate programme is managed by Lemon Squeezy, so commissions and payouts are handled securely and transparently. Getting set up takes just a few minutes.

1
Join the affiliate programme. Head to incomerefinery.lemonsqueezy.com/affiliates and sign up for a free affiliate account. You'll receive a unique referral link and, optionally, a discount code you can share with anyone.
2
Add your details in Settings → Affiliates. Open Settings, click the Affiliates tab, and paste in your unique affiliate link. Optionally add your discount code — if set, it will appear on your Share card so referrals can use it at checkout. All affiliate data is stored locally on your device only.
3
Share your link or discount code directly. Give your affiliate link or discount code to friends, in a message, on social media, or wherever your audience is. When someone buys Income Refinery Pro through your link, you earn a commission — and they get Pro at a reduced price.
Supercharge your share card with a referral QR code. When you open the 📤 Share Your Progress modal, you'll see a new checkbox: "Include my affiliate QR code — earn commission on referrals". Tick it and your share card gains a QR code in the corner linked directly to your affiliate URL. If you've set a discount code, it's shown right beside the QR so anyone who scans it knows exactly what deal they're getting. Your income milestone post becomes a referral tool — no extra steps needed.
ℹ️ The affiliate QR checkbox only appears once you've saved an affiliate link in Settings → Affiliates. For full programme details, commission rates, and payout information, visit incomerefinery.lemonsqueezy.com/affiliates.
SECTION 19

Frequently Asked Questions

Yes. The free version requires no account, no email address, and no credit card. It supports up to 10 dividend holdings, 1 rental property, and 3 other income streams. It includes live ECB FX rates, a 12-month income calendar, multi-currency support, and dividend lookup using your own API keys. The paid Income Refinery Pro is a one-time purchase (no subscription) that removes all limits and adds JSON backup, Excel export, Forecast & Projection, What-If modelling, Dividend Health Panel, and more.
The free version tracks up to 10 holdings, 1 rental property, and 3 other income streams — with no export or backup. Income Refinery Pro (one-time purchase) adds: unlimited holdings, properties, and income streams; JSON backup and restore; Excel export; Forecast & Projection engine; What-If Scenario Modeller; FI Milestones (Lean, Standard, Fat FI); Dividend Health Panel; Yield on Cost; table view; and Notes fields across all forms. Both versions share the same core dashboard, live FX rates, 30 global exchanges, and 8-source dividend lookup system. See the full feature comparison table above.
Yes — this is one of Income Refinery's core differentiators. It tracks three categories: (1) dividend-paying stocks, REITs, ETFs, and funds across 30 global exchanges; (2) rental properties with gross rent, operating costs, and net income; and (3) 12 types of other passive income including savings interest, Treasury and municipal bonds, corporate bonds, private credit, royalties, digital product income, pensions, and annuities. All streams are unified into a single monthly total and converted to your chosen base currency. No other free dividend tracker consolidates all three income types without a subscription.
Income Refinery uses an 8-source priority pipeline: (1) your own uploaded watchlist spreadsheet — works offline, no rate limits, no API key needed; (2) Twelve Data (800/day free); (3) EODHD (70+ global exchanges, 20/day free); (4) Financial Modeling Prep (250/day free); (5) Alpha Vantage (25/day free); (6) Polygon.io (5/min free); (7) MarketStack (100/month free); and (8) Yahoo Finance as an always-on fallback. All API key fields are available on both free and Pro plans. See Section 3 for the full breakdown.
Data backup is a Pro feature. Open Settings and click the Data tab. Click ↓ Export JSON to save a complete backup of all your data — holdings, properties, income streams, portfolio snapshots, settings, and FX rates. To restore on any device, open Settings → Data tab → ↑ Import JSON and select your backup file. Excel export is also available for sharing or printing but cannot be re-imported. Free users cannot export data, which is one of the main reasons to upgrade to Income Refinery Pro.
Portfolio Snapshots (Pro only) are point-in-time records of your monthly income and portfolio value, captured in Settings → Data tab → Portfolio Snapshots. Each stores your total passive income, portfolio value (auto-filled from your holdings, property Current Value, and capital deployed), and an optional note. Over time they build a historical record that powers the Income Over Time chart and the growth percentage shown on your Share card. Capture one on the first of each month — it takes under a minute and tells your full FIRE story within a few months.
Both free and Pro versions include a 📤 Share your progress button in the hero panel. Clicking it generates a branded PNG of your dashboard — choose 1:1 (Instagram square), 16:9 (landscape), or 9:16 (story) and optionally hide exact dollar amounts. Share directly to WhatsApp, X, Facebook, LinkedIn, or Instagram; or download and copy the image. The Pro version additionally shows income growth percentage when you have two or more portfolio snapshots, and includes an optional incomerefinery.com watermark. All generation happens in your browser — no data leaves your device.
Mostly yes. Data entry, editing, calculations, and viewing your full dashboard all work offline. An internet connection is only needed for: live ECB FX rate refresh (cached for 24 hours), dividend lookup via API providers, and parsing uploaded watchlist spreadsheets via the SheetJS CDN. If you upload your watchlist and refresh FX rates while online, you can use Income Refinery entirely offline for day-to-day tracking.
The Forecast & Projection engine is a Pro feature. It projects your passive income forward using five adjustable assumptions: monthly new capital deployed, target yield on new capital, annual distribution growth rate, whether distributions are reinvested, and the projection horizon (2–30 years). It calculates when you will reach Lean FI (70% of target), Standard FI (100%), and Fat FI (150%), and displays these as dated milestones and a visual bar chart. All values update instantly as you adjust assumptions. See Section 9 for the full walkthrough.
The What-If drawer (Pro, open via Analyse ▾ → What-If) has three parts. The Hypothetical Portfolio builder lets you add fictional holdings, properties, and income streams to model purchases you are researching — without touching your real portfolio. The Capital Deployment card calculates how much additional monthly income a lump sum would generate at a given yield. The Distribution Change card applies a uniform percentage increase or cut to all your existing income. A Scenario Calendar shows the combined 12-month income impact of all inputs simultaneously. See Section 13 for the full walkthrough.
Yes. Income Refinery is a responsive web app that works in any modern mobile browser — Safari on iOS and Chrome on Android. The dashboard, income calendar, forms, and analytics panels all adapt to smaller screens. Because it is a standalone HTML file, it can be saved to your home screen via the browser's Add to Home Screen option for app-like quick access. All features work the same on mobile as on desktop.
Income Refinery is the only major dividend and passive income tracker that requires no account, no email, and no signup. It also uniquely consolidates all three passive income types (dividends, rental, and other streams) in one dashboard. Most alternatives focus on dividends only and require account registration. See our detailed alternatives comparison page for a side-by-side breakdown against Sharesight, Snowball Analytics, Portfolio Visualizer, TrackYourDividends, DivTracker, and more.