Sage Bank Feeds

Back to Bank Feeds

Setting up a Sage Bank Feeds Workflow with Rutter

Introduction

Rutter API enables you to support setting up bank feeds for your customers' accounting instances. This allows you to sync bank transaction data into the instance to enable reconciliation for an accountant which ensures the accuracy and validity of your customers' books.

  1. Connect to a business entity’s accounting system using Rutter Link. See Getting Started for more info on creating your first connection.
  2. Get listed as a bank within all Sage products (including Sage Intacct and Sage Business Cloud).
  3. Onboard your customers to Sage Bank Feeds to establish a connection between their bank account and their accounting instance.
  4. Continuously sync transaction data into the accounting instance to enable reconciliation.

Create a Connection

Embed Rutter Link into your application and walk through an end to end business authentication flow in order to create a new Connection. This Connection represents the business accounting system and contains an access_token used to read and write data for that instance.

See our Getting Started guide for more information on creating your first Connection.

Get listed as a bank within Sage products

When your customer wants to set up a Bank Feed between their accounting instance and their bank account, they will need to select you from a list of banks within Sage's "Connect Your Bank" flow. To get listed as a bank, you will need to follow the steps below:

  1. Contact your Rutter Success Team to begin onboarding.

  2. Once you have completed onboarding with your Success Team, you may set up your Sage Bank Feeds Configuration. From within Rutter Dashboard, go to the “Platforms” tab, and select “Sage Intacct” from the “Accounting” section.

  3. Input your information into the “Bank Feeds Configuration” form: Bank Feeds Config Form

    • Name: The name you would like displayed for your organization in the “Connect Your Bank” page within Sage’s Bank Feed set up process. Please include the string "(powered by Rutter)" to the end of your name (a Sage requirement).

    • Company Logo URL: A link to your logo. This will be used to white label the Rutter-powered bank feed authentication flow your customer will go through within Sage’s Bank Feed set up process.

    • Company Country Code: The region your company supports.

    • One-Time Password Intructions: The instructions you would like displayed for how your customer should obtain their One-Time password from you. This will be shown on the white labeled authentication page hosted by Rutter within Sage’s Bank Feed set up process. You can generate a One-Time password for your customer through Rutter’s POST /bank_feeds/otp API. You should plan how you will expose this password to your customer. We recommend a button within your UI that allows your customer to generate and copy the OTP. A password will expire 1 hour after generation.

Onboard Your Customer to Sage Bank Feeds

Supply the Customer Bank Accounts

You now can use Rutter’s POST /bank_feeds/accounts API to supply the bank accounts your customer would like to set up with a Bank Feed. Your customer will be able to select any of the accounts you supply through this endpoint during the Sage Bank Feed authentication flow. The feed_status field of the posted Bank Feed Accounts will be inactive to start. Once a customer has gone through the authentication flow and successfully selected banks to pull from, the feed_status field will be set to active.

Once your customer is ready to go through Sage’s Bank Feed flow, you can instruct them to go to Sage’s “Banking” section, select an account for which they’d like to set up a feed, and select “Connect To a Bank”. This set of actions may vary slightly depending on the Sage product. They will then be prompted to select you from a list of banks.

Enable the Bank Feed Authentication Flow

Next, a Rutter-powered authentication page will request your customer's One-Time password with the instructions you provided in your Rutter Dashboard Bank Feeds Configuration form to authenticate their session. In order to securely authenticate an end user without access to their actual credentials, Rutter generates a One-Time password (OTP) that you can use to identify an end user. To create a One-Time password for your customer, please use Rutter’s POST /bank_feeds/otp API.

Here is an example of a white labeled authentication page hosted by Rutter within Sage’s Bank Feed set up process: OTP page example

Upon the One-Time password successfully authenticating, your customer will be prompted with the list of accounts you supplied through POST /bank_feeds/accounts API. They will be asked to select which one they’d like to connect, as well as the date from which they’d like the Bank Feed's transaction history to start.

Sync Transaction Data

  1. In order for you to start syncing transaction data for a Bank Feed Account, your customer must have authenticated and set up the Bank Feed through their Sage product. To check the authentication status of a Bank Feed Account, use GET /bank_feeds/accounts API. Once the feed_status field is active, transactions can start being synced for this account.

  2. To sync transaction data for a Bank Feed Account, use POST /bank_feeds/transactions API. We suggest syncing transactions every 24 hours.

    • If no Bank Feed Transactions have been synced yet for the Bank Feed Account, use the transaction_start_date field to know which date to start syncing transactions from. You can fetch successfully synced transactions through GET /bank_feeds/transactions API.
    • If the Bank Feed Transaction input you provide is valid, the response will include a job id which can be used to check the status of the POST request using Fetch a Job API. Please store this job id for reference. You cannot post another batch of transactions until the previous job has completed.
      • If the job completes successfully, the transactions have synced into the accounting system. You can now post the next batch of transactions to sync. Find the date at which to start the next batch of transactions by looking at the last transaction’s date in the last successful batch.
      • If the job fails, the transactions have not synced into the accounting system. You should retry the POST request with the input amended to fix the error described in the job response.

    Transaction Syncing Rules

    1. You can only submit transactions for one Bank Feed Account at a time.
    2. You can only submit one batch of transactions at a time. You must wait for the previous batch to complete before submitting another batch.
    3. You can only submit transactions for a Bank Feed Account that has been authenticated and set up through the Sage product (i.e. the feed_status field is active).
    4. Only posted transactions should be submitted.
    5. Transactions must be in chronological order.
    6. You must provide at least one transaction per sync request, and at max 1000.
    7. Each transaction must have a unique identifier (transaction_id). The identifier for a transaction must never change. The same transaction identifier should not occur more than one time for a Bank Feed Account.