The holdings CSV is a point-in-time snapshot of every coin and bar currently in your stack — one row per physical item, with the per-item annotations and purchase data you've recorded.
It's the file you'd hand to an insurer, drop into a backup folder, or bring to an accountant who wants to see what's in the vault as well as what's moved through it.
Tier access
Holdings CSV export is available on every plan, including Starter. It's the one CSV export that isn't gated by tier.
The transaction-history export, by contrast, requires Pro or Premium. See Exporting your transactions as CSV.
Generating the export
The button is on the Holdings page, alongside the controls for recording a new purchase.
From the left nav, click Holdings.
In the portfolio selector at the top-left of the app, pick the portfolio you want to export. Choose All Portfolios to export every item across your account.
Click Export CSV in the top-right of the page.
The browser downloads the file to your default Downloads folder. There's no preview or confirmation step — the file generates and saves in one click.
What's in the file
One row per item. Every coin, every bar, every fractional round in your stack gets its own line — including duplicates. A purchase of 35 American Gold Buffalos becomes 35 rows in the export, one per coin, even though they were entered as a single transaction.
The header row carries thirteen columns:
Product: The catalog or custom product name (e.g. American Gold Buffalo 1 oz).
Nickname: The optional per-item label you've added (e.g. Birthday coin, Grandma's Eagle). Empty when not used.
Metal: Gold, Silver, Platinum, or Palladium.
Form: Coin, Bar, Round, or Junk.
Weight (oz troy): Per-item weight, in troy ounces, to four decimal places (e.g. 0.1000 for a 1/10 oz coin).
Purity (%): Per-item purity as a percentage to three decimals (e.g. 91.670 for an American Gold Eagle).
Quantity: Always 1, since each row is a single item.
Purchase Date: The transaction date on the original buy, in ISO format (e.g. 2026-04-22).
Price Per Unit (USD): What you paid per item on the original buy, including premium.
Shipping Per Unit (USD): The item's share of any shipping cost from the original buy. Shipping is allocated across the items in a transaction at the time you save it, so each row carries its allocated portion.
Year: Your optional date annotation for the item (e.g. mint year 1924). Empty when not used.
Ref / Tag: Your optional reference for the item (e.g. serial number, vault label, storage location). Empty when not used.
Status: Always Held in this export, because the export only includes items currently in your inventory.
The three user-customisable labels — Nickname, Year, and Ref / Tag — are the same three you see on the front of an item's card view. See The Holdings page: grouped, item, and card views for how they appear in the app.
How rows are shaped
The one-row-per-item shape is the most important thing to understand about this export, because it differs from the way the same data appears elsewhere.
In the Holdings page (item view): Each item is its own row — same as the CSV.
In the Holdings page (grouped view): Items are rolled up by product, so a 35-Buffalo position appears as a single line with 35 in the quantity column.
In the transaction CSV: A 35-Buffalo buy is also a single row, with Quantity = 35 and Line Total showing the bulk figure.
In the holdings CSV: A 35-Buffalo position is 35 rows, each one a distinct coin.
The expansion to per-item rows is deliberate: nicknames, references, and date annotations live at the item level, not the position level, and rolling them up would discard that information.
A spreadsheet of 35 identical-looking rows feels redundant until you realise that any one of them might pick up a Vault A — top tray reference next month without disturbing the others.
Filename and naming
The file downloads with a date-stamped name: holdings-{YYYY-MM-DD}.csv — for example, holdings-2026-05-20.csv. The date is the day you generated the export, which makes year-over-year archives easy to build up: drop one in each January and you've got a clean record of how your stack evolved.
If you run multiple exports on the same day, your browser will append a numeric suffix (holdings-2026-05-20 (1).csv, (2).csv, and so on) so nothing gets overwritten.
Currency in the export
Monetary values in the holdings CSV are always in USD, regardless of the display currency you have set on the app. The column headers say so explicitly — Price Per Unit (USD) and Shipping Per Unit (USD).
This is consistent with the transactions CSV and is a deliberate exception to the rest of the app, where everything renders in your selected display currency. Holdings exports stay in USD so that the underlying record is identical across users and across export days, regardless of where the FX rate sits at the moment of export.
If you need values in another currency for a downstream tool, the conversion is one column-formula away in your spreadsheet of choice.
What "Held" means here, and what isn't in the file
The Status column will read Held on every row, because the holdings export captures current inventory only. Items that you've sold — items marked SOLD inside the app and absent from your Holdings page — don't appear here at all.
This makes the file a clean snapshot of "what's actually in my stack right now," which is useful for insurance records, vault audits, and partners or executors who need to see the current position rather than a full activity log.
For the activity log, see Exporting your transactions as CSV (Pro and Premium). For sold-item detail with gain or loss, see Generating your Annual Report (Premium).
Opening the CSV
CSV is plain text, so it opens in any spreadsheet or text editor.
Excel and Numbers: Double-clicking the file usually opens it directly with the header row promoted to column headers.
Google Sheets: Use File → Import and pick the CSV; Sheets walks you through column detection.
Insurance and inventory tools: Most platforms that accept item-level imports will map the columns directly, though field names may need a one-off translation in the import step.
If a date column lands as plain text in your spreadsheet of choice, format the column as a date and the values resolve. If the Weight or Purity columns come in without the units in the header (some import tools strip parentheses), the numbers themselves are still correct — troy ounces for weight, percentages for purity.
What this export doesn't include
The holdings CSV is a current-inventory snapshot, so a few things are out of scope:
Sold items: Anything you've recorded a sale for is absent. The Annual Report is where sold-item detail lives. See Generating your Annual Report.
Spot prices and current market values: The file carries what you paid, not what your stack is worth today. Current value depends on live spot, which is best viewed in the app or on the dashboard.
Transaction-level metadata: Dealer, transaction name, and shipping totals all live on the transaction, not the item. For those, use the transactions CSV.
Per-item images or thumbnails: CSV is text only. Product images stay in the app.
Where to go next
Exporting your transactions as CSV: The activity log, Pro and Premium.
The Holdings page: grouped, item, and card views: Where the same data lives inside the app.
Adding a nickname to a specific item: Filling the Nickname column.
Adding a user reference (serial number, storage location): Filling the Ref / Tag column.
Adding a date annotation (mint year): Filling the Year column.
Generating your Annual Report: Sold-item gain/loss view (Premium).
