Loading

Connecting a Feed Provider

A feed connection brings transactions in from outside: a bank statement file, a bank feed, or an accounting package such as Xero, QuickBooks or Sage. Each connection belongs to one company and one bank or ledger account, and everything it brings in waits in the feed queue to be coded and posted. Connections are set up on the Connections tab of the Bank Feeds & Reconciliation console.

Where to find it

Admin Panel → Finance:

  • Bank Feeds & Reconciliation — the Connections tab: connections, their settings, webhook and authorisation

Architect Panel → ERP - Finance:

  • Feed Queue — the same console for architects, where the site-wide provider settings are also changed
  • Feed Providers — the providers as a datastore
  • Feed Connections — the connections as a datastore
  • Feed Events — webhook deliveries as a datastore

The providers

Bank statement files (CSV / OFX / CAMT.053) works offline and is switched on out of the box. Xero, QuickBooks Online, Sage Accounting, Open Banking, Capita Integra 2 and Capita Integra Centros ship switched off and without credentials. Under Providers (site-wide) an architect switches a provider on and enters settings every connection inherits, such as an app's client ID and secret. On a shared installation this is done from the platform tenant. The live adapters have not yet been verified against real provider accounts, so test any live connection carefully before relying on it.

Creating a connection

  1. Open Bank Feeds & Reconciliation and choose Connections, then press New bank / feed connection (on a new install, Add a bank account).
  2. Give it a Name, choose the Company (fixed once created) and the Provider.
  3. Choose the Bank account in the ledger: bank lines post here, and the reconciliation proves this account. Nothing can post without one.
  4. Enter the Currency (a three-letter code) and, for a bank account, the Bank account number / IBAN: a statement for any other account is refused.
  5. For an accounting package, enter the Provider tenant / realm ID (the Xero connection, QuickBooks realm or Sage business). Leave it blank for statement files.
  6. Leave Status on Active, or Paused to stop it syncing, and press Create connection.

Settings, secrets and authorisation

  • Settings on a connection lists every setting by name with its key underneath, for example Statement drop folder, CSV layout, Mirror documents to this ledger. Settings are stored encrypted; a secret is never shown back. Leave its box empty to keep it, type to replace it, or tick Remove. A connection's own setting wins over the provider's site-wide one.
  • Server folder settings name places on the server, so only an architect can set or change them.
  • For QuickBooks and Sage, register the Redirect URI shown under Authorisation with the provider, put the app's client ID and secret in the settings, then press Authorise with QuickBooks (or Sage). The provider's consent page opens in a new tab. Xero connections use the platform's Xero authorisation; see Google Drive & Xero.

Webhooks

A provider that can push change notifications and sign them gets a Webhook section. Issue webhook URL creates a URL for this connection; the provider's signature, checked with the webhook signing secret or key, proves the sender. A verified notification triggers a sync unless Sync when notified is set to 0. Rotate replaces the URL at once; Revoke stops it. A statement-file connection reads its folder and has no webhook. The Events tab lists every delivery and whether its signature verified, including failures.

Syncing

Sync now on a connection fetches now. On a schedule, the Accounting and Bank Feed Sync task does it hourly once switched on. A sync only brings transactions into the queue; it never codes or posts them.

What goes wrong

  • "Connection created - its provider is switched off": an architect switches the provider on.
  • A sync refused because the connection "has to be authorised by a person first": complete the provider's authorisation.
  • A burst of failed signatures on Events: a wrong signing secret, or someone probing the URL. Rotate it.

Worked example

A company keeps three bank accounts at two banks and imports statement files. The controller creates three connections, all with the Bank statement files provider, each with its own ledger bank account and IBAN. Later the company connects QuickBooks to bring in a subsidiary's history: the architect switches QuickBooks on with the app credentials, and the controller creates a fourth connection, authorises it, and presses Sync now.

Recommendations

  • One connection per bank account, always: the connection decides which ledger account a line posts to.
  • Enter the IBAN, so a statement for the wrong account is refused.
  • Check Events after go-live for any connection with a webhook.
  • Pause a connection rather than deleting it when a bank account closes.