Read-only broker access · 30+ brokers supported

Multi-Broker Tax Report

One audit-ready capital gains report across every broker you use — FIFO-matched lots, wash sales detected, multi-currency translated, ready for Schedule D, Form 8949, or your country's equivalent.

FIFO/LIFO across brokers
Wash sale detection
14 jurisdictions
Private by default
Compatible with:
IBKR Schwab Fidelity Vanguard E*TRADE Robinhood DeGiro Trading 212 +24 more
TODAY 3 brokers. 3 mismatched reports. PDF IBKR 1099-B / lot report AAPL 100 @ $145 PDF Schwab 1099-B / lot report AAPL 150 @ $158 (avg) PDF Fidelity 1099-B / lot report AAPL 100 @ $180 3 reports. Lots don't match. WITH ALLINVESTVIEW One consolidated report. Consolidated Tax Report 2025 FIFO BROKER / LOT QTY @ COST GAIN Schwab · 2022-03 100 @ $145 +$8,500 LT Schwab · 2022-11 50 @ $170 +$3,000 LT Fidelity · 2024-04 100 @ $180 +$5,000 ST Total realized gain +$16,500 Schedule D · Form 8949 ready · Wash sales checked 1 report. Lots matched.

Multi-Broker Tax Report: One Capital Gains Report Across Every Broker You Use

If you hold stocks at more than one broker, your tax filing breaks in four predictable ways. This page shows the breakage, how to fix it, and a worked example with real numbers.

Who this page is for

If you hold stocks at 2+ brokers, this page is for you.

The most common setup we see: Schwab for long-term holdings, Fidelity for the IRA, IBKR for international markets. Or DeGiro plus a native EU broker. The moment you hold the same ticker at two brokers, your 1099-Bs stop being self-contained — FIFO cost basis, wash sale rules, and Schedule D output all assume a consolidated view that no single broker produces. This page shows how to actually get one.

The problem: 3 brokers, 4 ways your tax report breaks

Each broker hands you a 1099-B that is internally correct and externally useless. Once the same ticker lives at two brokers, the math your filing actually needs — FIFO cost basis across the combined position — can't be done from any single broker's report. Here are the four failure modes we see most often:

FIFO mis-allocation

Your selling broker assigns cost basis from its own oldest lot. If you have older lots at a different broker, FIFO law says those should be consumed first. Filing broker-by-broker reports the wrong gain — usually short-term when it should be long-term.

Cross-broker wash sales missed

The 30-day wash sale rule (IRC §1091) applies across all your accounts. Sell at a loss in Schwab, buy back at Fidelity within 30 days — the loss is disallowed. Neither broker's 1099-B will flag it. Most filers don't catch this.

"Basis unknown" lots after transfers

ACAT transfers between brokers often arrive with the cost basis flag set to "non-covered." Your 1099-B labels real, knowable lots as unknown. TurboTax-imported reports inherit the gap and you end up entering basis by hand — one row at a time.

Multi-currency cost basis drift

If one broker books in USD and another in GBP/EUR (or in GBX pence), each broker computes cost basis in its own native currency. Without a daily FX overlay applied consistently across brokers, your USD-reported gain on a UK-listed stock can be hundreds of dollars off.

The hidden cost: filing without consolidation

Across the users we see, the median tax delta between filing broker-by-broker and filing from a consolidated FIFO ledger is several hundred dollars per tax year. Most of it is short-term-vs-long-term misclassification — a 17-percentage-point difference at the federal level alone. The worked example below shows the math.

How it works: 3 steps

The flow is built around the principle that nothing leaves your hands. Brokers connect read-only, your data stays private, and the final artifact is the actual filable PDF.

Connect → Unify → Export

1
Connect your brokers — Read-only via SnapTrade for IBKR, Schwab, Fidelity, Vanguard, E*TRADE, Robinhood, DeGiro, Trading 212, and 22 more. Or upload CSV / Activity Statement / 1099-B for any broker we don't sync directly. We can never execute trades. Connect your brokerage account via SnapTrade in two clicks
2
We unify the ledger — All lots from all brokers merge into a single time-ordered position. FIFO (or LIFO / Specific ID, your choice) is computed across the combined ledger. Wash sales are checked in a 30-day window that spans every account. FX is applied per-day for cross-currency lots. Portfolio dashboard with asset allocation, holdings performance, and recent transactions
3
Export the filable artifact — One-page Schedule D summary, full Form 8949 with every lot disposed, and a per-broker reconciliation against each 1099-B. Print it, sign it, attach it. Country equivalents available for 14 jurisdictions. Consolidated capital gains tax report showing FIFO-matched lots across all brokers

Worked example: Sarah's AAPL trade across 3 brokers

Sarah holds Apple at three brokers. In October 2025 she sells 250 shares from her IBKR account at $230. Three 1099-Bs arrive in February. None of them tells her the right answer on their own.

The starting position

Sarah's AAPL lots, by broker

Broker Holding Buys (lots) 2025 sell
Schwab AAPL 100 @ $145 (Mar 2022); 50 @ $170 (Nov 2022)
Fidelity AAPL 200 @ $180 (Apr 2024)
IBKR AAPL 75 @ $195 (Jan 2025) Sold 250 @ $230 (Oct 2025)

The trap: each broker's 1099-B answers a different question

IBKR's 1099-B shows the sale against its own 75-share lot @ $195, then reports the remaining 175 shares as “basis unknown / non-covered.” If Sarah imports each 1099-B independently into TurboTax, she'll either flag the 175 shares as needing manual basis entry, or worse, file with the wrong basis assigned. The correct FIFO match runs across all three brokers as one combined ledger.

What AllInvestView does: FIFO across the consolidated ledger

Method: FIFO

Lots consumed to satisfy the 250-share sale at $230

# From Date Qty Cost basis Proceeds Gain Term
1 Schwab 2022-03 100 $14,500 $23,000 +$8,500 LT
2 Schwab 2022-11 50 $8,500 $11,500 +$3,000 LT
3 Fidelity 2024-04 100 $18,000 $23,000 +$5,000 ST
Σ Total 250 $41,000 $57,500 +$16,500 mixed

Schedule D split: $11,500 long-term capital gain (from the 2022 Schwab lots) + $5,000 short-term capital gain (from the 2024 Fidelity lot). The 75-share lot @ $195 at IBKR is not consumed by FIFO — it stays in Sarah's combined position with its original basis intact.

The wrong answer (if she filed each broker separately)

Filing IBKR's 1099-B as-is, the sale of 250 shares against the 75-share IBKR lot @ $195 = $2,625 short-term gain on the 75 shares matched, plus 175 shares with “basis unknown.” Best-case manual entry treats the remaining 175 against the most recent Fidelity lot @ $180, giving $5,000 + $3,750 = $8,750 short-term gain on 175 shares. Total reported as short-term: ~$11,375. The actual short-term portion is only $5,000.

The right answer (consolidated FIFO)

$11,500 long-term + $5,000 short-term = $16,500 total. Mis-classifying ~$6,375 as short-term that should be long-term costs Sarah roughly $1,084 in extra federal tax at a typical 32% ordinary / 15% long-term rate spread (a 17pp gap on $6,375). State tax adds more. The same math applies at any scale — the dollar delta grows with the position.

This is the kind of calculation we run for you. Read-only broker access, results in minutes, your portfolio stays private.

See your own multi-broker tax delta

Connect your brokers (or import CSVs) and we'll show you the consolidated FIFO result against each 1099-B in side-by-side reconciliation.

Start free

How AllInvestView compares

An honest look at the five tools investors actually consider when they hit the multi-broker problem. We win on cross-broker FIFO and wash sale detection, plus the bond/options tax accounting. Other tools win on other axes — we say so.

Capability AllInvestView Sharesight Broker-native (1099-B) ChatGPT + Plaid Excel
FIFO matched across multiple brokers
LIFO / Specific ID across brokers
Wash sale detection across brokers
Schedule D / Form 8949 output (US)
Modelo 720 / country CGT (13 jurisdictions)
Multi-currency cost basis with daily FX
GBX↔GBP, ZAC↔ZAR penny-currency handling
Bond accrued-interest tax accounting
Options assignment → stock cost basis
Corporate actions (splits, spin-offs, mergers)
Dividend strategy modeling
Read-only broker access (no trade execution)
Private — no model training on your data
Free tier

Honest assessment: Sharesight wins on tenure and country count for some tax reports; Snowball Analytics wins on dividend strategy modeling. We win on multi-broker wash-sale detection, bond/options tax accounting, and the analytics-plus-tax combo.

Ready to generate your own report?

Free for 14 days. Read-only broker access. No card to start. Cancel anytime.

Connect your brokers

Jurisdictions supported

Each country applies its own cost basis method and disclosure format. We generate the right one based on your tax residency — not a generic "capital gains report," but the filable artifact for your specific filing.

14 jurisdictions, 14 different filings

Country Method Filing artifact
United StatesFIFO / LIFO / Specific IDSchedule D + Form 8949 (with wash sale flags)
United KingdomSection 104 pool with same-day matching and 30-day “bed & breakfast” matching rulesCGT report for Self Assessment
GermanyFIFO per account (Teilfreistellung where applicable)Anlage KAP / Anlage SO summary
FranceWeighted average (PFU 30% flat tax or progressive)2042 + IFU reconciliation
SpainFIFOModelo 100 capital gains + Modelo 720 foreign assets
ItalyLIFO permitted (26% flat rate; not mandated)RW quadro + capital gains
NetherlandsBox 3 deemed return on wealthWealth disclosure summary
BelgiumFIFO (per asset class)Personal CGT report
IrelandFIFO, 4-week ruleCGT return (Form 12 / Form 11)
PortugalFIFOAnexo G capital gains
SwedenAverage cost (genomsnittsmetoden)K4 capital gains
DenmarkAverage costPersonal CGT report
AustraliaFIFO / Specific ID, 50% CGT discount >12moCGT schedule
CanadaAverage Cost Basis (ACB) including superficial loss ruleSchedule 3 capital gains

Frequently asked questions

Each broker issues its own 1099-B that reports only the lots held at that broker. To file correctly you need a single consolidated ledger that FIFO-matches lots across all brokers, accounts for wash sales triggered between brokers, and produces a unified Schedule D and Form 8949. AllInvestView pulls read-only data from every broker via SnapTrade, merges the ledgers, applies FIFO or LIFO across the combined position, and outputs the filable artifacts. Each broker's 1099-B is still kept on file for cross-reference and reconciliation.

No. TurboTax imports each 1099-B independently and treats each broker's lots as a separate universe. If you bought the same stock at Schwab in 2022 and at IBKR in 2025, then sold from IBKR, TurboTax will follow IBKR's own basis assignment and may flag "non-covered" lots that actually have a basis at the other broker. The correct FIFO basis is the one consumed from the earliest-purchased lot across all of your brokers — TurboTax can't compute this without a consolidated upstream feed.

The IRS wash sale rule (IRC §1091) applies across ALL accounts you control — not just one broker. If you sell AAPL at a loss in Schwab and buy AAPL (or substantially identical security) in Fidelity within 30 days before or after, the loss is disallowed and must be added to the cost basis of the replacement shares. Most broker 1099-Bs only check within their own platform, so cross-broker wash sales are silently missed. AllInvestView runs the 30-day window across the consolidated ledger and flags every cross-broker match. See the wash sale tracker for the full workflow with Form 8949 code W output.

Honestly, no. ChatGPT can describe Schedule D and explain how FIFO works, but to actually generate one it would need: multi-year buy history, every corporate action, every dividend reinvestment, the daily FX rate for cross-currency lots, and a wash sale calculator across accounts. Plaid (the data layer ChatGPT plugins use) provides current balances and recent activity — not multi-year FIFO-matchable lots with cost basis. AllInvestView keeps the full ledger and runs the math deterministically, with the same answer every time — see our full ChatGPT comparison.

This only happens after an ACAT (in-kind transfer) between brokers. The receiving broker should carry over the original cost basis, but in practice it often arrives as "basis unknown" on the 1099-B. You are required to use the original purchase cost — not zero, not the transfer-in price. AllInvestView preserves the original lot at the original purchase price across the transfer, so the FIFO match uses the correct basis even though the 1099-B shows it as non-covered. Schedule D is filled accordingly.

ACAT transfers are the most common reason 1099-Bs show "basis unknown / non-covered." The receiving broker received the shares but not always the cost basis history. You can: (1) enter the original purchase data manually, (2) connect both the originating and receiving brokers so AllInvestView reconstructs the lots from the source, or (3) import a CSV from the originating broker. The reconciliation flow flags any lots without a basis so nothing falls through silently — you'll see exactly which lots need attention before the report finalises.

14 jurisdictions: United States (Schedule D, Form 8949), United Kingdom (CGT for Self Assessment), Germany (Anlage KAP / Anlage SO), France (PFU/IFU), Spain (Modelo 100 capital gains + Modelo 720 foreign assets), Italy (RW quadro + capital gains), Netherlands, Belgium, Ireland, Portugal, Sweden, Denmark, Australia, and Canada. Each report applies that country's specific cost basis method (FIFO, LIFO, average cost, ACB, Section 104 pooling) and rounding rules. For the underlying single-figure question (“what is my realized gain for period X?”) see the realized gains calculator. Bond-specific buckets (accrued interest split from cap gain, §1276 market discount with Form 8949 code D, §171 premium election, OID) live in the bond tax report.

Yes. SnapTrade is a read-only aggregation layer — it cannot execute trades on your behalf, only fetch positions and activity. AllInvestView does not train AI models on user portfolios, does not sell or share data with third parties, and does not embed third-party trackers inside the authenticated product. Your portfolio data is encrypted at rest. You can export everything and delete your account at any time. We track your portfolio; we don't track you.

Disclaimer: This page is informational and educational. It does not constitute tax, legal, or financial advice. AllInvestView is a calculation tool that produces tax reports from your transaction data; it does not replace a qualified tax professional. Always review generated reports before filing. For complex situations (estates, foreign trusts, options assignments with §1256 implications), consult a CPA or qualified tax advisor.

One report. Every broker. Filable.

Private by default. Read-only broker access. No AI training on your data. Generate your consolidated capital gains report in minutes.

AllInvestView Team

We're financial engineers and DIY investors building the portfolio tracker we wanted for ourselves. AllInvestView is for equity investors who need more than what their broker shows them — serious analytics, audit-ready tax reports, and privacy by default.

Multi-broker tax report Free for 14 days
Start free