How to Sync Transaction Data

Learn how to set up and configure transaction feeds to sync your bank transaction data to Notion, Google Sheets, or Airtable.

3 min read

On this page

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

Every feed carries exactly one data type.

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.
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. 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

Configure Field Mappings

Use this page with your AI assistant

Every BankSync doc is available as plain Markdown for agents and LLMs.