# BankSync BankSync syncs bank transactions, balances, holdings, trades, and loans from 11,000+ banks to Google Sheets, Notion, Airtable, and Excel, or to AI agents via the BankSync MCP server (https://mcp.banksync.io). Every docs page is available as Markdown — append `.md` to any /docs URL, or send `Accept: text/markdown`. ## Documentation ### Account & billing - [Managing Your Plan & Billing](https://banksync.io/docs/account-billing/managing-your-plan.md): View your plan and usage, upgrade or downgrade, update your payment method, and manage workspace members and roles in BankSync Settings. - [Changing or canceling your plan](https://banksync.io/docs/account-billing/changing-your-plan.md): Upgrade, downgrade, or cancel your BankSync plan, including the downgrade checklist and how plan caps change. - [Deleting your account](https://banksync.io/docs/account-billing/deleting-your-account.md): Request account deletion, the 14-day grace period, how to cancel, and exactly what is permanently removed. ### API - [REST API Guide](https://banksync.io/docs/api/rest-api.md): Orientation for the BankSync REST API: base URL, authentication, resources, errors, and rate limits by plan. - [Authentication](https://banksync.io/docs/api/authentication.md): Learn how to authenticate with the BankSync API using API keys or bearer tokens. Understand scopes and permissions. - [API keys](https://banksync.io/docs/api/api-keys.md): Create scoped BankSync API keys, copy the secret once, authenticate requests, and revoke keys. - [Resources & Data Types](https://banksync.io/docs/api/resources.md): Understand the BankSync data model: banks, accounts, transactions, balances, investments, loans, enrichments, feeds, jobs, and more. - [Error Handling](https://banksync.io/docs/api/errors.md): HTTP status codes, error response format, and troubleshooting guide for the BankSync API. - [Register an OAuth app](https://banksync.io/docs/api/registering-an-app.md): Register an OAuth app in BankSync, generate public or confidential client credentials, manage redirect URIs, and rotate secrets. - [App branding & logo](https://banksync.io/docs/api/app-branding.md): Add a logo, homepage, privacy policy, terms, and support email to your OAuth app so it looks trustworthy on the BankSync consent screen. - [Portals & Cross-Workspace Queries](https://banksync.io/docs/api/portals.md): Manage multiple client portals from one parent workspace. Query banks, feeds, integrations, and jobs across all portals with the scope=family parameter. - [Webhooks developer reference](https://banksync.io/docs/api/webhooks-reference.md): The webhook payload contract: the signed envelope, event types, per-data-type field schemas, signature verification, retries, and idempotency. ### Ask Penny - [Ask Penny](https://banksync.io/docs/ask-penny/ask-penny.md): Ask Penny questions about your synced financial data in plain language, get insight charts inline, and let Penny build dashboards and configure feeds for you. ### Bank feeds - [Creating Your First Feed](https://banksync.io/docs/bank-feeds/creating-first-feed.md): Step-by-step guide to setting up your first data feed from bank accounts to Google Sheets, Notion, or Airtable. - [How to Sync Balance Data](https://banksync.io/docs/bank-feeds/sync-balances.md): Learn how to set up balance feeds to track your account balances over time in Notion, Google Sheets, or Airtable. - [How to Sync Holdings Data](https://banksync.io/docs/bank-feeds/sync-holdings.md): Learn how to set up holdings feeds to track your investment portfolio positions and values. - [How to Sync Loan Data](https://banksync.io/docs/bank-feeds/sync-loans.md): Learn how to set up loan feeds to track mortgage, auto loan, and other liability balances. - [How to Sync Trade Data](https://banksync.io/docs/bank-feeds/sync-trades.md): Learn how to set up trade feeds to sync your investment transactions from brokerage accounts. - [How to Sync Transaction Data](https://banksync.io/docs/bank-feeds/sync-transactions.md): Learn how to set up and configure transaction feeds to sync your bank transaction data to Notion, Google Sheets, or Airtable. - [Configuring Field Mappings](https://banksync.io/docs/bank-feeds/field-mappings.md): Learn how to map bank data fields to the columns in your sheet, table, or database for precise data synchronization. - [Setting Up Scheduled Feeds](https://banksync.io/docs/bank-feeds/scheduling-feeds.md): Automate your feeds with hourly, daily, or weekly schedules, in your own time zone, with email notifications when a run fails. - [Managing Sync Jobs](https://banksync.io/docs/bank-feeds/managing-sync-jobs.md): Learn how to manage, monitor, and troubleshoot your sync jobs for smooth data processing. - [Managing Your Feeds](https://banksync.io/docs/bank-feeds/managing-feeds.md): Learn how to create, configure, and manage your feeds effectively. - [Troubleshooting Guide](https://banksync.io/docs/bank-feeds/troubleshooting-guide.md): Solutions for common issues with bank connections, feed syncs, integrations, and data problems. ### CLI - [Install the CLI](https://banksync.io/docs/cli/installation.md): Install the BankSync CLI on macOS, Linux, and Windows with the one-line installer. It is a self-contained binary that needs no Node, verify it, and keep it up to date. - [Quickstart](https://banksync.io/docs/cli/cli-quickstart.md): Install the BankSync CLI, log in with an API key, list your banks, and pull transactions in under a minute. - [Authentication](https://banksync.io/docs/cli/cli-authentication.md): Sign in to the BankSync CLI with a browser OAuth flow or an API key, use the BANKSYNC_API_KEY env var, manage profiles, and understand where credentials are stored. - [Output formats](https://banksync.io/docs/cli/output-formats.md): Render BankSync CLI output as a table, JSON, NDJSON, CSV, YAML, or TOON, with a TTY-aware default and column control via --fields and --sort. - [Syncing and jobs](https://banksync.io/docs/cli/syncing-and-jobs.md): Trigger a feed sync from the CLI, watch it to completion, and inspect or cancel the sync jobs it produces. - [Connecting banks](https://banksync.io/docs/cli/connecting-banks.md): Connect a new bank from the CLI through the web app, reauthenticate an existing connection, and search the institution catalog. - [Scripting and CI](https://banksync.io/docs/cli/scripting-and-ci.md): Run the BankSync CLI non-interactively in scripts and CI: API key auth, JSON output, stable exit codes, and machine-readable errors. - [For agents](https://banksync.io/docs/cli/for-agents.md): Give an AI agent the BankSync CLI and an API key: a stable JSON contract, machine-readable errors and exit codes, runtime command and schema discovery, and a raw API escape hatch. - [Telemetry](https://banksync.io/docs/cli/telemetry.md): What anonymous usage analytics the BankSync CLI collects, what it never collects, and how to opt out. ### Client portals - [Set up a client portal](https://banksync.io/docs/client-portals/setup.md): Create branded client portals so each client connects their own bank accounts while you manage the feeds and data from one workspace. - [What your clients see](https://banksync.io/docs/client-portals/client-experience.md): What an invited client sees and can do inside a BankSync client portal, including connecting their own banks. ### Connecting banks - [Connect a bank](https://banksync.io/docs/connecting-banks/connect-a-bank.md): Search for your bank, sign in through your provider, choose which accounts to share, and confirm the connection in BankSync. - [Connecting US banks](https://banksync.io/docs/connecting-banks/us-banks.md): Connect US bank, card, loan, and investment accounts through Plaid, including OAuth bank logins and account selection. - [Connecting Canadian banks](https://banksync.io/docs/connecting-banks/canadian-banks.md): Connect Canadian chequing, savings, credit, and investment accounts through Plaid. - [Connecting Australian banks](https://banksync.io/docs/connecting-banks/australian-banks.md): Connect Australian bank accounts through Fiskil and the Consumer Data Right (CDR) open banking consent flow. - [Connecting UK banks](https://banksync.io/docs/connecting-banks/uk-banks.md): Connect United Kingdom bank accounts through Salt Edge and the UK Open Banking consent flow, including the 90-day consent cycle. - [Connecting European banks](https://banksync.io/docs/connecting-banks/european-banks.md): Connect bank accounts across 30 EEA countries through Salt Edge and the PSD2 open banking consent flow, including 180-day consents and SCA. - [Connecting brokerages](https://banksync.io/docs/connecting-banks/brokerages.md): Connect brokerage and investment accounts through SnapTrade to sync holdings, trades, and balances. - [Managing your CDR consents and data sharing](https://banksync.io/docs/connecting-banks/managing-cdr-consents.md): View, renew, and withdraw the Consumer Data Right (CDR) consents behind your Australian bank connections, and understand what happens to data you share. - [Managing your open banking consents (UK and Europe)](https://banksync.io/docs/connecting-banks/managing-psd2-consents.md): How PSD2 and UK Open Banking consents work in BankSync: tracking expiry dates, renewing before they lapse, and revoking access. - [Reconnecting a bank](https://banksync.io/docs/connecting-banks/reconnecting-a-bank.md): Reauthenticate a bank whose connection has expired or errored so data syncs again, without losing history. - [Removing a bank](https://banksync.io/docs/connecting-banks/removing-a-bank.md): Remove or disconnect a bank, what happens to its feeds and provider credentials, and how to reactivate within the grace window. ### Dashboards - [Dashboards & Widgets Overview](https://banksync.io/docs/dashboards/dashboards-overview.md): Build charts, KPIs, and richly formatted tables from your synced bank data on an always-editable canvas, then publish or embed them. - [Creating Your First Dashboard](https://banksync.io/docs/dashboards/creating-a-dashboard.md): Start from a blank canvas, a template, or an AI agent, learn the editor layout and keyboard shortcuts, and understand how autosave and drafts work. - [Customizing Home](https://banksync.io/docs/dashboards/customizing-home.md): Turn the dynamic Home page into a protected workspace dashboard, add native BankSync widgets, arrange the layout, and reset it safely. - [Organizing Dashboards with Folders](https://banksync.io/docs/dashboards/organizing-dashboards.md): Use the content tree to rename, duplicate, search, reorder, and file dashboards into folders, and understand exactly what deleting a dashboard or a folder does. - [Adding Widgets](https://banksync.io/docs/dashboards/adding-widgets.md): Add charts, KPIs, and tables to a dashboard: browse the full widget catalog, reuse a widget you already built, or ask an AI agent. - [The Chart Kind Catalog](https://banksync.io/docs/dashboards/chart-kinds.md): Browse every chart kind BankSync can render, grouped by what they are good at, with a quick start for the everyday kinds and how switching kinds reuses your data binding. - [Binding Data: Group By, Value, Aggregation & Bucketing](https://banksync.io/docs/dashboards/binding-data.md): Point a widget at a feed and shape it with the Group by, Value, and Split into series channels, time bucketing, and aggregation, with no formulas for the everyday path. - [KPI, Table & Gauge Widgets](https://banksync.io/docs/dashboards/kpi-table-gauge.md): Configure the three non-chart widget types: a KPI big-number with comparison, target and sparkline, a richly-formatted table with per-column control, and a gauge with a needle and color bands. - [Dashboard Filters & Cross-Filtering](https://banksync.io/docs/dashboards/filters-and-cross-filtering.md): Add dashboard-wide controls like a date range so every widget narrows at once, choose where the filter applies, lock data per viewer, and wire a chart click to cross-filter the rest. - [Dashboard Templates](https://banksync.io/docs/dashboards/dashboard-templates.md): Start from a prebuilt dashboard, connect it to your feeds in a couple of clicks, and save your own dashboards as reusable, shareable templates. - [Publishing, Sharing & Embedding](https://banksync.io/docs/dashboards/publishing-and-sharing.md): Control who can see a dashboard with four visibility levels, and (where it is switched on) share a read-only link or embed a dashboard or a single widget in your own site. - [Dashboards Troubleshooting & FAQ](https://banksync.io/docs/dashboards/dashboards-troubleshooting.md): Fix the common dashboard issues: empty widgets, the broken-binding nudge, disabled chart kinds, mis-formatted table columns, blank non-standard charts, and dashboards that will not load. - [Concepts & Glossary](https://banksync.io/docs/dashboards/dashboards-concepts.md): The handful of nouns the dashboards docs lean on: query, widget, pin, dashboard, scope, snapshot, and publish mode, defined once and tied together. - [Channels & Encoding: how the inspector binds each chart family](https://banksync.io/docs/dashboards/dashboards-channels.md): Why the inspector's binding chips change when you switch chart kinds, what required, axis, bucket, aggregate, and top-N mean, and which families re-total your numbers. - [Chart Kind Gallery](https://banksync.io/docs/dashboards/dashboards-chart-gallery.md): A per-kind reference for all ~56 chart kinds: what each one shows, the data fields it needs, and one line on when to reach for it. - [Table Cell Types](https://banksync.io/docs/dashboards/dashboards-table-cell-types.md): Every way a Table widget can format a column, from plain text and currency to status pills, progress bars, in-cell sparklines, heatmaps, and saved views. - [Layout & Composition Widgets](https://banksync.io/docs/dashboards/dashboards-layout-widgets.md): Use combo charts, stat grids, dividers, and tabs to overlay measures, group KPIs, add section structure, and fit more onto one dashboard. - [Actions & Interactivity](https://banksync.io/docs/dashboards/dashboards-actions.md): Add buttons, row-clicks, and chart-clicks that navigate, set filters, export, refresh, or trigger a sync, enrichment, webhook, or workflow. - [Shaping Data](https://banksync.io/docs/dashboards/dashboards-shaping-data.md): Use the Shape data pipeline to filter, summarize, sort, compute, and join feeds before a chart draws, plus reuse the result as a query other widgets share. - [Theming & Time Zones](https://banksync.io/docs/dashboards/dashboards-theming.md): Set the colors a dashboard uses, change a chart's palette, and choose the time zone that dates and 'this month' totals are read in. - [Building Dashboards with an AI Agent](https://banksync.io/docs/dashboards/dashboards-agent-authoring.md): Ask Claude or another AI agent to build, edit, and publish dashboards for you through BankSync's dashboard authoring tools (a non-production beta). ### Document Extractor - [Extract and sync document data](https://banksync.io/docs/document-extractor/sync-receipts.md): Use the Document Extractor to pull structured data from receipts, invoices, and bank statements and sync it to your connected destinations. - [Set up the Document Extractor](https://banksync.io/docs/document-extractor/extractor-setup.md): Set up the Document Extractor to automatically process receipts, invoices, and bank statements from email forwarding or direct uploads. - [Map extracted fields to your destination](https://banksync.io/docs/document-extractor/field-mapping.md): Configure how extracted document fields map to columns and properties in Notion, Google Sheets, or Airtable, including row layouts. - [Sending documents by email](https://banksync.io/docs/document-extractor/sending-documents-by-email.md): Forward receipts, invoices, and statements to your Document Extractor inbox address, with sender whitelisting and manual upload. ### Enrichments - [Creating Enrichments](https://banksync.io/docs/enrichments/creating-enrichments.md): Build a rule that auto-fills fields like category on your synced bank data, preview it against real records, then apply it to a feed. - [Alert Enrichments: Get Notified on Matching Data](https://banksync.io/docs/enrichments/alerts.md): Set up an Alert enrichment that emails you when synced records match your conditions, with a cooldown to prevent notification floods. - [Memory: Auto-Learn Your Categorizations](https://banksync.io/docs/enrichments/memory.md): Turn on the Memory enrichment so BankSync learns how you categorize records in your sheet or database and auto-fills those values on future syncs. ### Getting started - [Getting Started with BankSync](https://banksync.io/docs/getting-started/quickstart.md): Complete guide to setting up BankSync and syncing your financial data to Notion, Airtable, or Google Sheets. ### Home - [Home](https://banksync.io/docs/home/home.md): Use the Home page as a workspace-level dashboard for onboarding, connected accounts, integrations, feeds, portals, enrichments, and recent sync activity. ### Integrations - [Connecting Google Sheets](https://banksync.io/docs/integrations/google-sheets.md): Connect your Google account, pick a spreadsheet in a feed's Destination tab, and configure how BankSync writes rows into Google Sheets. - [Connecting Excel (Microsoft 365 / OneDrive)](https://banksync.io/docs/integrations/excel.md): Connect Microsoft OneDrive, pick an Excel workbook and worksheet in a feed's Destination tab, and sync bank data into it. - [Connecting Notion](https://banksync.io/docs/integrations/notion.md): Connect your Notion workspace, share the right databases, and configure how BankSync writes bank data into Notion. - [Connecting Airtable](https://banksync.io/docs/integrations/airtable.md): Connect your Airtable workspace, grant access to the right bases, and configure how BankSync writes bank data into a table. - [Database integrations (PostgreSQL, MySQL, MongoDB)](https://banksync.io/docs/integrations/databases.md): Connect your own PostgreSQL, MySQL, or MongoDB database and sync bank data straight into a table or collection. - [Webhook destinations](https://banksync.io/docs/integrations/webhooks.md): Send synced bank data as signed JSON to your own HTTPS endpoint. Connect an endpoint once, point a feed at it, and verify deliveries with your signing secret. - [Managing your integrations](https://banksync.io/docs/integrations/managing-integrations.md): Rename, reorder, reconnect, and delete the integrations (Google Sheets, Excel, Notion, Airtable, databases) that feeds write to. - [Google Sheets Add-on: Feeds & Sidebar](https://banksync.io/docs/integrations/google-sheets-add-on.md): Install and use the BankSync Google Workspace Add-on to set up, run, and monitor bank data syncs directly from within Google Sheets. ### MCP - [MCP Server Guide](https://banksync.io/docs/mcp/overview.md): Connect AI agents like Claude Code, Claude Desktop, and Cursor to your BankSync data through the remote MCP server at mcp.banksync.io. ### Workspaces - [Workspaces and team members](https://banksync.io/docs/workspaces/members-and-roles.md): Create workspaces, invite teammates, assign Owner, Admin, Editor, and Viewer roles, transfer ownership, and switch between workspaces. - [Deleting a workspace](https://banksync.io/docs/workspaces/deleting-a-workspace.md): What deleting a workspace removes (banks, feeds, integrations, API keys, portals, and billing) and how to do it safely. - [Connected apps](https://banksync.io/docs/workspaces/connected-apps.md): Review and disconnect the third-party apps and AI tools you've authorized to access a BankSync workspace.