Bill Pay Automation
Setting up an Accounts Payable (AP) workflow with Rutter
Introduction
Rutter's API enables you to handle all of the common workflows needed to offer an Accounts Payable (AP) product to your customers.
- Step 1.
Connect to a business entity’s accounting system using Rutter Link.
- Step 2.
Create or link the business entity’s Accounts used for logging Bills and Bill Payments.
- Step 3.
Create Bills and link Vendors, expense Accounts, Customers, Items, and Tracking Categories (Classes, Locations, and Departments).
- Step 4.
Upload Attachments to your logged Bills.
- Step 5.
Create and link Bill Payments and Bill Credit Memos to Vendors and unpaid Bills.
Connect to the Business Entity's Accounting System
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.
Make your first connection in minutes
Follow our guide to get up and running
Syncing bills to your app
To facilitate Bills and Bill Payments for your customers, you will need to ingest data about Bills into your platform. You can ingest existing bills from the accounting platform and/or create new bills from your application.
Pulling bills from the accounting platform
We recommend using the GET /bills endpoint to pull in any historical bills from an accounting platform. The Rutter Bill Object also references multiple other objects (such as Accounts, Vendors, Items), so you may also need to fetch all of these related objects to show a Bill in your application.
To receive the latest updates, we recommend polling the GET /bills endpoint and using the Bill webhooks from Rutter.
Rutter syncs the latest data for a connection at a scheduled interval. If you need to sync the latest bills on-demand, please use the POST /connections/incremental-sync endpoint.
Ingesting bills through your own application
If your application ingests bills, then you should use the POST /bills endpoint to create bills in your user's accounting system.
The POST /bills endpoint lets you create a bill. There are a couple of important required and optional components:
Companies vary in their accounting ledger design - some companies may contain an existing account in their chart of accounts for you to link bills and bill payments to, and other companies may require you to create a new account in their chart of accounts. The GET /accounts and POST /accounts endpoints let you link existing accounts or create new ones if they don’t exist.
Retrieving bill attachments
To retrieve any attachments or files linked to a Bill, you can use the POST /bills/:id/attachments endpoint. This is helpful if the attachments include a PDF representation of the bill and you would like to display this in your application, or verify that the PDF and digital representation of the bill are consistent.
Uploading an attachment to a bill
Typically a bill record has a PDF representation that is helpful to also save to the accounting software. The POST /bills/:id/attachments endpoint lets you upload the bill in PDF or image format and attach it to bills.
Reconciling bill payments
Typically, applications will show bills and facilitate payments for them. The payments must then be synced into the user's accounting software to ensure their financial records are up-to-date.
To create payment records for Bills in the accounting software, use the POST /bill_payments endpoint.
When logging bill payments, every bill payment credits an account that serves as the source of funds for the payment. This is usually an Account that reflects a credit card (category
= 'liability'
and account_type
= 'credit_card'
) or a bank (category
= 'asset'
and account_type
= 'bank'
).
Handling Credits
There are situations when a vendor provides credit that can be used for paying future bills.
Creating and applying bill credit memos
To create and link bill credit memos, you can use POST /bill_credit_memos and POST /bill_credit_applications endpoint. A Bill Credit Memo can be created with POST /bill_credit_memos and is attached to a Vendor. After the bill credit memo is created, it can be later applied to a Bill. You can apply the full amount or a partial amount of the bill credit memo.
Important Objects
Credit Account
This is the account being credited in the bill. This is an Account of category
= 'liability'
and account_type
= 'accounts_payable'
.
Vendor
This is the vendor linked to the bill. The GET /vendors and POST /vendors endpoints let you create and link vendors as you log bills.
Expense Account
Every bill contains multiple line items, each of which debit an Account of account_type
= 'expense'
. The GET /accounts endpoint lets you fetch all accounts, and you can fetch all expense accounts by adding the account_type: expense
query filter.
Customer
You may want to tie a bill to a Customer in order to better understand cost of goods sold. GET /accounting-customers lets you fetch all customers.
Item
You may want to tie a bill to an Item in order to better understand cost of goods sold. GET /items lets you fetch all items in the business entity’s catalog.
Tracking Categories
Tracking Categories are a way for a businesses to categorize bills. The three main dimensions used for categorization are Locations, Classes, and Departments. Use GET /locations, GET /classes, and GET /departments to fetch and attach the relevant categorizations.