WorkestraDocs
ModulesFinance

Banking

Connect bank accounts, sync transactions, and reconcile with invoices and expenses.

Connect your business bank accounts to sync transactions, reconcile with invoices and expenses, and track your cash position in real time.

Supported Providers

ProviderCoverageConnection
PlaidUS, Canada, UK, FR, ES, NL, IELink token + OAuth
Salt EdgeEU, UK, GlobalConnect session
Tink18 EU countries, 6,300+ banksOAuth2
PontoBelgium / BeneluxOAuth2

Connecting a Bank Account

  1. Navigate to Finance → Banking
  2. Click Connect Bank
  3. Select your provider
  4. Authenticate with your bank via the secure OAuth flow
  5. Select the accounts to connect
  6. Transactions begin syncing automatically

Connected accounts appear as cards showing account name, institution, balance, and last sync time.

Bank Accounts View

The Banking page has two tabs:

Accounts Tab

  • Account cards — Each connected account shows balance, institution, and account type
  • Sync status — Last sync time per account
  • Disconnect — Remove a bank connection

Transactions Tab

  • Transaction list — All synced transactions across connected accounts
  • Filters — Filter by date range, account, amount, category
  • Search — Find transactions by description or reference
  • Categorization — Assign categories to transactions for reporting

Transaction Reconciliation

Navigate to Finance → Banking → Reconciliation (/finance/banking/reconciliation) or click the Reconcile button on the Banking page.

Auto-Match

The reconciliation engine automatically matches bank transactions to invoices and expenses based on:

  • Amount matching
  • Date proximity
  • Reference/description matching
  • Client name matching

Manual Reconciliation

For transactions that aren't auto-matched:

  1. Open the reconciliation page
  2. Review unmatched transactions
  3. Use the Match to Invoice dialog to link a transaction to a specific invoice
  4. Or categorize as a standalone expense

Reconciliation Status

StatusDescription
MatchedTransaction linked to an invoice or expense
UnmatchedNo match found — needs manual review
ExcludedMarked as not applicable (e.g., internal transfers)

Cash Position

Your total cash position (sum of all connected account balances) appears on the Finance dashboard as one of the 4 KPI cards.

Real-Time Updates

Bank data updates via:

  • Automatic sync — Periodic sync per provider schedule
  • Manual sync — Click sync on any account
  • Webhooks — Real-time updates from supported providers
  • Real-time subscriptions — UI updates automatically when new transactions arrive

Security

  • Bank credentials are handled entirely by the provider (Plaid, Tink, Salt Edge, Ponto) via OAuth — Workestra never sees your bank password
  • Connection tokens are encrypted at rest with AES-256-GCM before they hit the database, and decrypted in-memory only at sync time
  • Provider webhooks are signature-verified — Plaid uses JWKS (ES256 / RS256), so we cryptographically prove the webhook came from Plaid before acting on it
  • Read-only access — Workestra cannot initiate payments or transfers
  • Disconnect at any time from the Banking page; tokens are wiped on disconnect

Next Steps