Expense Management
Setting up a credit or prepaid card expense management workflow with Rutter
Rutter allows fintechs to easily build and maintain accounting integrations and an end-to-end expense management process that customers love.
More than half of small businesses choose one spending solution over another based on quality of their accounting integrations, making the accounting integrations a critical part of an expense management product.
Rutter exposes APIs so you can easily handle all of the complexities of expense reconciliation, such as refunds, accounting for multiple currencies, and allowing users to correct errors.
Corporate card providers, expense management providers, and neobanks can easily embed accounting automation features in their solution that would take months to design, build, and maintain from scratch.
Workflow Overview
Data Sync Configuration
Enable the data types relevant to expense management in your Rutter Dashboard.
Webhooks Configuration
If you are using webhooks to receive updates to data or connection status, enable the relevant webhook topics in your Rutter Dashboard.
Connect to the 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
Set up accounting mappings
Once your SMB user has authorized a connection to their accounting platform, they are ready to start creating their expense transactions. However, each expense needs to be associated with the correct accounts, customer, and vendor from the accounting software to ensure the financial workflow works from an financial perspective.
In many cases, company employees are not very familiar with accounting categorizations, so the finance team will help configure the expense management tool to map employee expense categories with accounting software accounts or vendors.
Typically in your product's UX you will expose an accounting integrations settings page where your customers can map fields like the type of expense to an accounting system chart of accounts category.
In this step we will review some important objects that are relevant to creating expenses that you may want your users to map.
Bank or Credit Card Account
A bank or credit card is required to show where purchases have been made from. You can choose to create a new account or retrieve a list of existing accounts from your customer's accounting software.
To create a new account, use the Create an Account endpoint.
Use the List Accounts endpoint to fetch a list of your customer's existing accounts from their accounting software and display these to them. You can also use query parameters to narrow down the list of results to query only for bank or credit card accounts.
Line Item Accounts
An expense account is typically required in the expense line items to show what the purchase is for.
For example, if the expense is a travel-related expense like a car ride, in the accounting system there will be an expense account related to transportation or travel-related costs.
Use the List Accounts endpoint to fetch a list of your customer's existing accounts from their accounting software and display these to them. You can also use query parameters to narrow down the list of results to query only for expense accounts.
Vendors
An expense typically has a specific vendor associated with it. For example, Google is the vendor for Google Ads expenses. Finance teams wish to report on specific vendors to assess spend, so mapping expenses to the correct vendor is helpful.
To create a new vendor, use the Create Vendor endpoint.
Use the List Vendors endpoint to fetch a list of your customer's vendors.
Tracking Categories
An expense may have a specific department or location associated with it. Finance teams also use these tracking categories to construct reports, and may want to sync expenses correctly mapped to these categories.
Use the List Classes , List Departments, or List Locations endpoint to fetch a list of your customer's common tracking categories.
Taxes
In many countries, expenses involve a purchases tax, and finance teams need to correctly track the tax code & rates for reporting purposes.
Use the List Tax Rates endpoint to fetch a list of your customer's tax rates.
Create Expense Transactions
To create a new expense transaction, use the Create Expenses endpoint.
Below is an example request created following the 2024-04-30 API version:
1{
2 "expense":{
3 "account_id": "72884b51-935f-4910-a35c-7b841947eb36", // Bank or credit card account ID
4 "expense_date": "2023-02-10T00:00:00.000Z", // Date of the expense in ISO format
5 "memo": "Example expense", // Description of the expense
6 "currency_code": "USD",
7 "line_items": [
8 {
9 "amount": 1.00, // Tax-exclusive amount of the expense
10 "account_id": "e7a142f4-74d3-4210-bfa6-8ff18f6a343e", // Expense or other chart of accounts ID
11 "class_id": "cd57e078-54f6-4e3a-b7ee-b9807ed4bb95", // Tracking category ID for class
12 "department_id": "b415ce95-9b34-45de-8120-202f2650e926" // Tracking category ID for department,
13 "tax_rate_id": "1b9d8c17-3c49-4387-883d-4246ed5783fe", // Tax rate ID associated with line item, e.g. for VAT
14 }
15 ]
16 }
17}
Upload Attachments
To upload an attachment for an expense, use the Create Expense Attachment endpoint.
Please ensure that you are using multipart/form-data
type data in the request body.
Edge Cases
- Ensure that you do not attempt to create expenses before the accounting books closing date, because when the books are closed most platforms do not allow further modifications to transactions before the closing date.
FAQs
Am I able to update an attachment when I have already synced the expense transaction?
Rutter pushes attachments synchronously to the expense transactions. To update any of these documents, you need to remove the attachment directly from the accounting platform. Next, you need to upload the correct document either directly to the accounting platform or using the Rutter API.