Tax-Lot Export
Export your full investment lot history as CSV for tax filing or your accountant. Premium-only feature with reauth and consent requirements.
Overview
Premium subscribers can download a complete CSV of their investment lots — every purchase, with date, quantity, cost basis, current price, and unrealized gain or loss. This is the file your accountant probably wishes Forbidden Finance had built first.
The export is generated server-side, signed, and delivered as a download link that expires after 24 hours. Because it contains full account-level financial detail, it is gated behind a reauthentication step.
Who Can Use It
Tax-lot export requires the Premium tier. The tier gate is the same one that controls per-lot cost basis tracking — if you can pick FIFO, LIFO, or Specific-ID on a holding, you can export.
Free, Starter, and Pro subscribers can still export a transaction CSV from Settings > Data Export — that file includes investment transactions but not lot-level breakdowns. See Data Export for the simpler option.
How to Export
Open the Investments screen
Tap Net Worth in the navigation, then Investments.
Tap Export Tax Lots
The button is in the screen menu. Tax-lot export only appears for Premium subscribers.
Reauthenticate
For your protection, the app asks for your passkey, biometric, or password before generating the export. The reauth window is 60 seconds — if you take longer, you start over.
Confirm consent
A short consent screen reminds you that you are about to download personal financial data. Tap Generate Export to continue.
Download the CSV
Forbidden Finance generates the file (typically takes 30 to 60 seconds for portfolios with hundreds of lots) and shows a download link. The link expires in 24 hours.
What's in the File
Each row represents one lot. Columns:
| Column | Meaning |
|---|---|
account_id | Forbidden Finance internal account UUID (anonymous to your accountant) |
account_name | The friendly name you gave the account |
holding_symbol | Ticker symbol (or crypto pair) |
holding_name | Full name of the security |
lot_id | Unique identifier for this lot |
acquired_at | Date the lot was purchased |
quantity | Number of shares or units |
cost_basis_per_unit | Original price per share at purchase |
cost_basis_total | quantity x cost_basis_per_unit |
current_price | Price at the time of export |
current_value | quantity x current_price |
unrealized_gain_loss | current_value - cost_basis_total |
holding_period_days | Days since acquired_at (useful for short-term vs long-term distinction) |
cost_basis_method | The method active for this holding (FIFO, LIFO, Specific-ID) |
data_source | PLAID or MANUAL — where the lot came from |
currency | ISO currency code |
Numbers are in your base currency. Prices are at export time, not historical.
Holding-Period Notes
The holding_period_days column lets your accountant immediately distinguish short-term from long-term lots. Most jurisdictions use a 365-day cutoff — anything below is short-term (taxed as ordinary income), anything above is long-term (typically lower rate).
Forbidden Finance does not classify lots as short or long itself because the cutoff varies by jurisdiction and asset class. Your accountant or tax software handles the categorization.
Audit Trail
Forbidden Finance keeps an internal audit log of every export — who triggered it, when, and a hash of the file content. This is for compliance, not surveillance: if you ever need to prove what data you exported on what date, the audit log has the answer. We never share the audit log without legal compulsion.
A nightly verification job hashes your lot table and compares it to the prior night's hash. Tampering would be detected. This is also how Forbidden Finance can attest that your exports reflect the actual state of your data on the export date.
Tips
Export at the end of the tax year, not in real time. The file captures prices at the moment of export — for filing, you want year-end values, so generate the export on December 31 (or as close as you can).
If your accountant uses tax software that imports CSVs, our column names are stable and machine-readable. Mention "Forbidden Finance tax-lot CSV" — the format does not change without version bumps.
The download link expires in 24 hours. If you miss the window, run the export again — there is no daily limit and no charge per export.
Frequently Asked Questions
Why do I need to reauthenticate?
Tax-lot data is the most detailed financial export Forbidden Finance offers. Reauth makes sure that even if your phone is unlocked and someone else has it briefly, they cannot trigger an export. Same protection logic as bank-level transfers.
Can I export a specific holding instead of everything?
Not yet — exports are account-wide. If you want to filter, open the CSV in a spreadsheet and filter by holding_symbol.
Do I get the same numbers as my brokerage's 1099-B?
Usually yes for FIFO or Specific-ID, but not always. Brokerages occasionally make wash-sale adjustments or other corrections that arrive after Plaid sync. Always reconcile against your brokerage's 1099 before filing.
What happens to old export files?
Forbidden Finance does not store the file itself — it is generated on demand. The download link is the only copy and it expires in 24 hours. Save the file somewhere durable (your accountant's portal, a personal cloud drive) before the link expires.
Related Articles
Cost Basis Methods
Pick FIFO, LIFO, or Specific-ID for your holdings.Data Export
Export everything (transactions, accounts, budgets) for portability.Subscription Settings
Upgrade to Premium to access tax-lot export.Need more help? Contact us at support@403fin.io.
Last updated 2 weeks ago
Built with Documentation.AI