Dashboard
Whole-portfolio totals: Cost paid vs Spot value (then P/L).
No data
Total cost (paid)
$0.00
Sum of each lot’s units × paid per unit (minus any sell proceeds).
Current spot value
$0.00
Spot per ozt × gross ounces (units × ozt per unit).
Unrealised P/L
$0.00
Spot value − cost.
Spot price — Gold (per ozt)
—
From Settings (manual / import / live fetch).
Spot price — Silver (per ozt)
—
From Settings (manual / import / live fetch).
Spot price — Platinum (per ozt)
—
From Settings (manual / import / live fetch).
Spot price — Palladium (per ozt)
—
From Settings (manual / import / live fetch).
Info / sources / dealer comparison
Tap to expand/collapse (keeps the Dashboard clean on mobile).
v2.5: Dealer unit dropdowns + Invoice import (OCR) added. Live spot sources + reports remain. (including Gold-API.com free/no-key) plus optional keyed providers. Reports added (print/export). Missing spot (0) can be set quickly from the Dashboard.
| Metal | Spot / oz | Dealer sell (entry) | Premium (per ozt) | Dealer buy (entry) | Discount (per ozt) | Spread (per ozt) |
|---|---|---|---|---|---|---|
| No dealer offers entered. | ||||||
Dealer offers are entered in Settings and are shown here for quick comparison against spot (converted to per ozt).
Quick add (buy)
Everything uses the same formulas as Holdings + Dashboard.
Paid: units × paid per unit. Weight used for spot value: gross oz = units × ozt per unit.
Holdings
Per-lot cost and spot value with consistent formulas.
0 lots
Holdings total cost (paid)
$0.00
Sum of total paid for all lots.
Holdings total spot value
$0.00
Uses spot per ozt.
Holdings unrealised P/L
$0.00
Spot value − cost.
| Date | Metal | Units | Ozt / unit | Gross oz | Paid / unit | Total paid | Spot / oz | Spot value | P/L | |
|---|---|---|---|---|---|---|---|---|---|---|
| Totals | 0.0000 | $0.00 | $0.00 | $0.00 | ||||||
Spot prices are set in Settings (manual, imported, or fetched live).
Transactions
Buys are logged automatically; optional sells supported.
| Date | Type | Metal | Units | Gross oz | Amount | Note |
|---|
Sells reduce total cost by proceeds (simple method).
📈 Spot & portfolio history
Tracks spot snapshots (manual + live fetch) and plots spot-price trends and portfolio value over time.
Recent snapshots
| Date/time | Source | Gold | Silver | Platinum | Palladium |
|---|
Tip: You’ll build a usable history by fetching spot once per day (or whenever you want a data point).
Reports
Print or export your holdings, totals, profit and loss.
The print view includes: portfolio totals, spot value (yellow), and P/L (green/red), plus your current holdings table.
Tip: if spot is missing (0), go to Settings or use “Set missing spot”.
Settings
Live spot prices (optional), manual overrides, and backup/import.
i
Portfolio / database import
Import your saved portfolio from your drive. Supports JSON (app export/backup) or CSV (holdings table).
No file selected
Tip: after import, stay here and press “Fetch live spot” (if Live fetch is ON) to refresh spot prices.
Invoice import (paper/email)
Scan/photograph an invoice (or paste invoice text) → extract fields → add as a holding lot.
OCR note: OCR runs in your browser using Tesseract.js. It may need internet once to load the OCR engine (then your browser may cache it).
If OCR isn’t available, you can still paste invoice text and parse it.
No OCR run yet.
If you enter Total paid, the app will compute Paid per unit = total / units (unless you override it).
Enter dealer offers in any common unit. The app converts them to per ozt for comparison in the Dashboard.
Dealer offers are separate from your portfolio database. They are used only for the Dashboard comparison table.
Dealer offers (manual)
Optional: enter a dealer's sell and buy offers per ozt. Used for comparison only (no automation yet).
Live fetch uses your network. If it fails, your manual spot prices remain.
Error log: 0 entries.
Tip: if you use a free API, expect a delay (often up to ~20 minutes). If spot stays at 0, enter it manually.