---
title: "How to Sync Holdings Data"
description: "Learn how to set up holdings feeds to track your investment portfolio positions and values."
section: "Bank feeds"
canonical: "https://banksync.io/docs/bank-feeds/sync-holdings"
---

Holdings feeds track your current investment positions. Monitor your portfolio composition, track position values, and build investment dashboards that update automatically.

- **Portfolio Positions** — All securities you own
- **Market Values** — Current position values
- **Scheduled Updates** — Track value changes over time

[![Choosing a feed's data type in the source step: a credit-card account offering Transactions, Balances and Loans, and a brokerage offering Trades, Holdings and Orders, with each type mapping its own fields.](https://cdn.banksync.io/videos/feed-data-types.poster.aab068ddd35cd6f7.png)](https://cdn.banksync.io/videos/feed-data-types.74f141571e05bb47.mp4)

[Watch: Choosing a feed's data type in the source step: a credit-card account offering Transactions, Balances and Loans, and a brokerage offering Trades, Holdings and Orders, with each type mapping its own fields.](https://cdn.banksync.io/videos/feed-data-types.74f141571e05bb47.mp4)

## Holdings Data Fields

- **Symbol** — Stock or fund ticker
- **Security Name** — Full security name
- **Quantity** — Shares or units held
- **Price** — Current price
- **Market Value** — Total position value
- **Cost Basis** — Original purchase cost
- **Gain/Loss** — Unrealized P\&L
- **Account** — Brokerage account

> **Field availability varies by brokerage:** Cost basis and gain/loss depend on what your brokerage reports. Some institutions don't provide cost basis for transferred-in positions, so those fields can be empty for specific holdings.

## Append vs. Overwrite

Holdings are a point-in-time picture of your portfolio: each sync captures your positions as they are right now. The sync mode decides how that picture lands in your sheet or table:

- **Append** — Writes a new timestamped set of rows (one per position) each sync. Use this to track how your
  portfolio composition and values change over time.
- **Overwrite** — Updates the existing rows in place with current values. Best for live portfolio dashboards that
  should always show the present state.

Like balances, holdings history can't be backfilled: your record starts from the first sync and accumulates with each scheduled run, so the cadence you pick determines the resolution of your history.

## Setting Up a Holdings Feed

**Setup Steps**

1. **Connect your brokerage** — Ensure your investment account is connected in the Banks tab. Brokerages connect through the
   same flow as banks; see Connecting Brokerages if yours isn't linked yet.
2. **Create a holdings feed** — Click Create Feed and select 'Holdings' as the feed type in the Sources tab.
3. **Select investment accounts** — Choose which brokerage accounts to track. Investment accounts can't be mixed with
   checking/savings accounts in the same feed.
4. **Choose Append or Overwrite** — Use Overwrite for dashboards, Append for historical tracking.
5. **Pick an integration and map fields** — In the Destination tab, choose which integration receives the data, then map holdings fields
   to the columns in your sheet or table.
6. **Set a schedule** — Daily is typical for portfolio tracking (requires the Standard plan or higher; see the
   scheduling guide for plan gating).

![The BankSync Connect Bank dialog searching for Schwab, showing brokerage result cards such as Charles Schwab, Fidelity, Robinhood, and Questrade, each with an Investment account-type tag and the SnapTrade provider.](https://cdn.banksync.io/screenshots/banks/connect-search-brokerage.f87f5fe68a9fcfdb.png "Holdings feeds read from brokerage connections, connected through SnapTrade.")

## What happens on each sync

- **First sync**: one row per position is written for each selected account.
- **Subsequent syncs**: Append adds a fresh set of position rows each run; Overwrite refreshes the existing rows. Positions you've fully sold stop appearing in new Append snapshots.
- **Number of rows varies**: unlike balances (one row per account), a holdings sync writes one row per position, so a 30-position portfolio adds 30 rows per Append run. Factor that in when choosing your cadence.

## Common Use Cases

- **Portfolio Dashboard** — A current view of all investment positions
- **Asset Allocation** — Track diversification across asset classes
- **Performance Tracking** — Monitor gains and losses over time

> **Combine with Trades:** 'Use holdings feeds alongside trade feeds for a complete picture. Holdings shows your current positions, while trades shows how you got there.'

## Related guides

- [How to Sync Trade Data](/docs/bank-feeds/sync-trades): the transaction-level complement to holdings snapshots
- [Connecting Brokerages](/docs/connecting-banks/brokerages): link Fidelity, Schwab, and other investment accounts
- [Setting Up Scheduled Feeds](/docs/bank-feeds/scheduling-feeds): cadences, UTC timing, and plan gating
- [Configuring Field Mappings](/docs/bank-feeds/field-mappings): full reference for the Mapping tab, including Append and Overwrite

[Sync Trade Data](/docs/bank-feeds/sync-trades)
