---
title: "How to Sync Transaction Data"
description: "Learn how to set up and configure transaction feeds to sync your bank transaction data to Notion, Google Sheets, or Airtable."
section: "Bank feeds"
canonical: "https://banksync.io/docs/bank-feeds/sync-transactions"
---

Transaction feeds are the most common feed type in BankSync. Sync your checking, savings, and credit card transactions to keep track of spending, categorize expenses, and build financial dashboards.

- **All Transactions** — Deposits, withdrawals, purchases, transfers
- **Automatic Updates** — Sync runs automatically on schedule
- **Rich Data** — Merchant, amount, date, category, and more
- **Historical Data** — The first sync backfills available history automatically

[![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)

## Available Transaction Fields

Transaction feeds provide the following data fields for mapping:

- **Date** — Transaction date
- **Merchant** — Merchant or payee name
- **Amount** — Transaction amount
- **Category** — Auto-categorized type
- **Account** — Source account name
- **Status** — Pending or posted
- **Type** — Debit, credit, transfer
- **Description** — Bank-provided description

## Setting Up a Transaction Feed

**Quick Setup Guide**

1. **Connect your bank** — Go to the Banks tab and connect the bank account containing your transactions.
2. **Create a new feed** — Click Create Feed and select 'Transactions' as the feed type in the Sources tab.
3. **Select accounts** — Choose which bank accounts to pull transactions from. You can include accounts from multiple
   banks in one feed.
4. **Pick an integration** — In the Destination tab, choose which integration receives the data (Google Sheets, Excel,
   Notion, Airtable, or a database).
5. **Configure mappings** — Map transaction fields to the columns in your sheet or table.
6. **Set schedule** — Choose a cadence: Hourly, Daily, or Weekly. Hourly and Daily are gated by plan; see the
   scheduling guide. You can also leave the feed on Manual and sync it yourself.

![The Mapping tab for a transactions feed writing to Notion, with the transaction fields Amount, Date, and Description each mapped to a Notion property and a green banner reading All 3 fields mapped successfully.](https://cdn.banksync.io/screenshots/feeds/field-mapping.2ab47ec069310b16.png "Map each transaction field to a column or property; the banner turns green when the mapping is complete.")

## First sync vs. ongoing syncs

- **First sync (backfill)**: the first run pulls in available historical transactions. Long backfills are processed in 7-day chunks, so a multi-year backfill takes a while; see [Managing Sync Jobs](/docs/bank-feeds/managing-sync-jobs). How far back history goes varies by bank and provider.
- **Ongoing syncs**: incremental runs (manual or scheduled) pick up only what's new since the last sync. Manual "Sync Now" uses the same read path as scheduled runs, so mixing them is safe.
- **Deduplication**: BankSync keys each transaction on the bank provider's unique transaction ID, so overlapping runs and retries don’t create duplicate rows.

## Handling pending transactions

Banks report transactions in two stages: a pending entry when the charge is authorized, then a posted entry when it settles (often with a corrected amount or description). BankSync has pending-transaction handling modes that control whether pending entries are synced or filtered out until they post.

> **Why Australian (Fiskil) connections filter pending by default:** For Plaid and SnapTrade connections, transaction IDs are stable across the pending-to-posted transition, so pending transactions can be synced and deduplicated reliably. Australian CDR connections via Fiskil are different: a transaction's ID can change when it moves from pending to posted, which would create duplicates. Fiskil connections therefore default to filtering pending transactions, and a feed mixing Fiskil with other sources uses the stricter filtering default.

Practical implications:

- If a recent card purchase hasn't appeared in your sheet from an Australian bank, it's likely still pending; it will sync once it posts.
- If you sync pending transactions, expect details like amount or merchant name to be finalized only when the transaction posts (restaurant tips are the classic example).

## Best Practices

- **One Feed Per Target** — Avoid two feeds syncing the same account into the same sheet or table; each feed deduplicates
  independently, so overlapping feeds double up rows.
- **Daily Sync Schedule** — Daily syncs balance freshness with API limits. Use Hourly (Professional plan and up) only if
  near-real-time data is critical.
- **Consistent Categories** — Use bank-provided categories, or build your own categorization with enrichment rules for
  consistent expense tracking.
- **Late-posting coverage** — Each run re-checks a window behind your last sync, so transactions that banks post a day or two
  late are still picked up; dedup makes the overlap safe.

## Common Use Cases

- **Expense Tracking** — Monitor spending across categories with automatic updates
- **Budget Dashboard** — Build budget vs. actual spending views that stay current
- **Tax Preparation** — Track deductible expenses for easy tax filing

## Related guides

- [Configuring Field Mappings](/docs/bank-feeds/field-mappings): the full Mapping tab reference for transaction fields
- [Setting Up Scheduled Feeds](/docs/bank-feeds/scheduling-feeds): cadences, local-time scheduling, and plan gating
- [Creating Enrichments](/docs/enrichments/creating-enrichments): rename, categorize, and tag transactions before they reach your sheet
- [Troubleshooting Guide](/docs/bank-feeds/troubleshooting-guide): missing or duplicate transaction fixes

[Configure Field Mappings](/docs/bank-feeds/field-mappings)
