The Chase "internal error" in Plaid is almost always a Chase-side setting, not an ExpenseBot bug. Plaid attempts the connection but Chase never hands back a valid token — usually because Third-Party Access is disabled on the Chase account.
Fix for 95% of users:
- Sign into chase.com in a browser (not the Chase mobile app)
- Go to Profile & Settings → Security → Account Access
- Make sure "Third-Party Access" is ENABLED for the accounts you want to connect
- Sign out of Chase everywhere, then clear Chase cookies:
- Chrome/Edge: Settings → Privacy and security → Cookies → See all site data → search "chase" → delete all Chase entries
- Safari: Settings → Privacy → Manage Website Data → search "chase" → Remove
- Firefox: Settings → Privacy & Security → Cookies and Site Data → Manage Data → search "chase" → Remove Selected
- Come back to ExpenseBot, open the reconciliation modal, and try Chase again
If Chase still fails after that, skip Plaid entirely and use the direct upload instead.
Uploading a Chase statement directly (no Plaid needed):
- Go to expensebot.ai and sign in
- Click the "My Reports" tab
- Click "Review expenses"
- Click "Match card activity"
In the Match receipts, refunds & credits window, below the Connect Credit Card option, you'll see OR UPLOAD MANUALLY:
📄 PDF Statement — or the Upload CSV link beneath it
Pick your Chase statement PDF (or CSV export from Chase's site), and ExpenseBot will parse it, cross-check it against your scanned receipts, and flag any missing ones. Upload one statement at a time, month by month. Same reconciliation result — no Plaid required.
