Frequently Asked Questions
Answers to the most common questions about billing, security, bank connections, and troubleshooting.
Billing & plans
| Plan | Monthly | Annual | History |
|---|---|---|---|
| Free | $0 forever | – | Last 7 days |
| Pro | $4.99/mo | $39.99/yr (~$3.33/mo) | 2 years |
| Max | $10.99/mo | $99/yr (~$8.25/mo) | 2 years |
What does the Free tier include?
The Free tier is free forever and includes:
- 1 bank connection via Plaid
- Last 7 days of transactions
- Manual sync (you control when it runs)
- Google Sheets integration
- Open source Chrome extension
What does Pro add over Free?
Pro adds:
- Unlimited bank connections (vs 1 on Free)
- Full 2-year transaction history (vs 7 days on Free)
- Historical backfill: pull up to 2 years of past transactions on first connect
- Excel add-in (Microsoft AppSource)
- Priority email support
- Early access to new features
What does Max add over Pro?
Max adds everything in Pro, plus:
- CLI automation (
npm install -g sheetlink, thensheetlink syncon a schedule) - API key authentication (never expires; use for cron)
- Postgres and SQLite output from the CLI
- Investments: holdings and activity, with cost basis and gain or loss
- Claude, through the SheetLink MCP server
- Unattended cron sync: run
sheetlink syncon a schedule without logging in
Max is designed for developers, data analysts, and anyone who wants to pipe bank data into their own infrastructure.
How do I upgrade or downgrade?
Upgrades take effect immediately. Downgrades take effect at the end of the current billing period.
- From the dashboard: go to sheetlink.app/dashboard/billing
- From the Chrome extension: open the popup → Settings → Billing
- From the web: go to sheetlink.app/pricing
Billing is handled by Stripe. You can update your payment method, see invoices, and cancel in the Stripe customer portal.
Can I cancel anytime?
Yes. There are no contracts or cancellation fees. Cancel from the Stripe customer portal, accessible from the dashboard billing page or via Settings → Billing in the extension. Your subscription stays active until the end of the paid period. After cancellation, you’re automatically dropped to the Free tier.
Do you offer refunds?
We offer refunds within 7 days of a charge if SheetLink didn’t work as expected. Email support@sheetlink.app with your order details.
Security & privacy
How your data flows
Your Bank
Plaid
SOC 2 Type II
SheetLink API
Transactions only
Your Browser
Extension / Add-in
Your Sheet
Rows appended
What data does SheetLink store?
SheetLink stores:
- Plaid access tokens: encrypted at rest. These are tokens issued by Plaid, not your banking passwords.
- Your Google account email: used to identify your account.
- Your SheetLink configuration: linked sheet URL, plan tier, connected items.
SheetLink does not store your transaction data on its servers. Transactions are fetched from Plaid and written directly to your spreadsheet in real time during a sync. They are not retained in the SheetLink backend.
Does SheetLink read my Google Sheets?
Only the tabs it writes. SheetLink reads its Transactions and Accounts tabs to skip rows that are already there. It doesn’t read or change your other tabs, and your formulas are left alone.
Is SheetLink open source?
Yes. The Chrome extension is fully open source on GitHub. You can audit every line of code that runs on your machine before installing.
The SheetLink backend is closed source. The extension, which is the part that touches your bank connection and Google Sheets, is completely open, and so are the CLI and the MCP server.
How does Plaid protect my bank credentials?
Plaid is a regulated financial data network that is SOC 2 Type II certified. When you connect a bank:
- Your bank username and password are entered directly into Plaid’s interface, not SheetLink’s
- SheetLink never sees, logs, or stores your banking credentials
- Plaid issues SheetLink an access token, a credential that can only read transaction data
- This access is read-only: Plaid access tokens cannot move money or make transactions
Does SheetLink ever sync in the background?
No. SheetLink is manual sync only. Nothing runs in the background without you explicitly clicking “Sync Now” in the extension popup or running sheetlink sync from the CLI.
The Chrome extension’s service worker only handles token refresh; it never initiates a sync. Max users can set up cron jobs via the CLI if they want scheduled automation, but this is opt-in.
How do I report a security vulnerability?
Email security@sheetlink.app. Please include a description of the issue, steps to reproduce, and any relevant details. We aim to respond within 48 hours.
See our full Security Policy for more details.
Plaid & banks
Which banks are supported?
SheetLink uses Plaid, which supports over 10,000 financial institutions in the United States, including all major banks and credit unions:
- Chase
- Bank of America
- Wells Fargo
- Citibank
- US Bank
- Capital One
- TD Bank
- PNC
- American Express
- Discover
Most credit unions and smaller regional banks are also supported. Search for your institution in the Plaid Link flow to confirm availability.
Can I connect multiple banks?
Yes, with a Pro or Max subscription. The Free tier is limited to 1 bank connection. Pro and Max users can add unlimited bank connections, each going through a separate Plaid Link flow. All connected banks sync simultaneously when you click Sync Now.
Why does my bank connection show 'Re-authentication required'?
Plaid access tokens can expire or become invalid in several situations:
- Your bank password was changed
- Your bank updated its security settings
- Multi-factor authentication was triggered
- Some banks periodically expire tokens (~90 days)
To fix: go to the Bank tab in the extension, click Re-authenticate next to the affected institution, and complete the Plaid Link flow again. Your existing transaction history in your sheet is not affected.
Does connecting through Plaid give SheetLink access to move money?
No. Plaid provides read-only access to transaction data. The access token SheetLink receives cannot initiate transfers, make payments, or modify your bank account in any way. It can only read your transaction and account balance history.
How do I disconnect a bank?
In the extension: Bank tab → click the trash or disconnect icon next to the institution. This removes the Plaid connection from SheetLink and revokes the access token. Your historical transaction data in your Google Sheet is not affected: rows are never deleted from your sheet.
How far back does transaction history go?
- Free tier: Last 7 days of transactions
- Pro tier: Up to 2 years of transactions
- Max tier: Up to 2 years of transactions
Historical data availability also depends on what Plaid can retrieve from your specific bank. Some banks make fewer months of history available via the Plaid API.
Troubleshooting
Sync completed but nothing appeared in my sheet
A few things to check:
- All transactions already exist: SheetLink deduplicates by
transaction_id. If you’ve already synced all available transactions, the sheet won’t change. - Free tier window: The Free tier only fetches the last 7 days. If there were no transactions in that window, nothing is added.
- Wrong sheet linked: Check the Sheet tab to confirm the correct spreadsheet URL is linked.
- Sheet permissions: Make sure you have edit access to the linked sheet. Shared sheets where you have view-only access won’t work.
I'm getting a 'Sheet permission denied' error
This means SheetLink can’t write to your linked sheet. Possible causes:
- You’re signed into a different Google account than the one that owns the sheet
- The sheet was shared with you as view-only
- The sheet was moved to a different Google Drive account
Fix: sign out of SheetLink (Settings → Sign Out) and sign back in with the Google account that owns the sheet.
The extension popup is blank or won't load
Try these steps in order:
- Right-click the SheetLink icon → Reload extension
- Go to
chrome://extensions, find SheetLink, and click the reload button - Remove and reinstall the extension from the Chrome Web Store
- Check if you’re running the latest version of Chrome (SheetLink requires Chrome 100+)
Sync is taking a very long time
Typical sync times are 5–30 seconds depending on the number of connected banks, the volume of transactions, and Plaid response times. If a sync takes longer than 2 minutes:
- Close the popup and reopen it. If the sync completed, you’ll see the last sync time updated
- Check your internet connection
- Try syncing one bank at a time using the CLI with
--itemto isolate the slow institution - Check the Plaid status page for any ongoing incidents
My transactions are duplicated in the sheet
SheetLink deduplicates by transaction_id and will not add a transaction that already exists. Duplicates in your sheet usually happen when:
- The same transaction was added manually before SheetLink was set up
- You copied rows between sheets, and then synced into the destination sheet for the first time
- A previous version of SheetLink before deduplication was implemented
To fix existing duplicates: use a Google Sheets formula or macro to find and remove rows with duplicate transaction_id values. Future syncs will not create new duplicates.
The CLI says my login expired (or authentication failed) after running sheetlink auth
Logins from sheetlink auth last 4 hours. Run sheetlink auth again to sign in.
If you need credentials that don’t expire, for example for a cron job, upgrade to Max and use an API key: sheetlink auth --api-key sl_...
How do I contact support?
Email support@sheetlink.app. Pro and Max users receive priority support. Please include:
- Your plan tier
- What you were trying to do
- The error message you’re seeing (screenshot is helpful)
- Which bank/institution is affected (if relevant)
We aim to respond within 24 hours on business days.