B2B payments are one of the most important financial workflows – virtually every business engages in these transactions to buy and sell goods or services with other companies. With a growing volume expected to be $51 Trillion in 2022, moving money in and out of a business and tracking those payments are critical to business success, regardless of size.
Although many businesses have transitioned to more modern and efficient payment methods (ACH, RTP, Crypto, etc), finance teams still have to deal with manual data entry and reconciliation in their accounting software. These workflows are incredibly painful, leading to wasted time, reporting errors, and payment delays that can damage vendor or customer relationships.
One of the biggest investments that companies can make is streamlining B2B payment workflows by using software that integrates into accounting systems so all transactions are automatically logged properly. We’re seeing this change firsthand – tech-forward Fintechs like Ramp, Airwallex, and Ritmo are building products to automate B2B payments so businesses don’t need to worry about maintaining their accounting system.
Power Payment Automation with Rutter Write Accounting
With Rutter Write Accounting, we help you build accounting automation features faster by using our universal API to read and write data from your customers’ accounting system. Below we outline how you can use Rutter’s API endpoints to enable two-way sync for an Accounts Payable (AP) automation use case.
Step 1: Business signs up & connects accounting system to your product
When a business signs up, you need to connect to their accounting system so you can read and write payment data.
To do this, use Rutter Link, which is our white-labeled authentication component that makes it easy to embed an OAuth flow into your application. Rutter will take care of managing any platform-specific tokens and authentication patterns.
Once a business authenticates, you probably want to get data on their vendors, chart of accounts, and bills already in their system so you can display that information in your product. To do this, use Rutter’s GET endpoints for /vendors, /accounts, and /bills. Here’s an example:
Send a request to our GET /Accounts endpoint:
Step 2: Business uploads a new Bill or selects an existing bill to pay
Depending on your product flow, a user might select an existing bill that needs to be paid or uploads a new bill. These bills are typically PDFs that are sent by vendors. If the business uploads a new bill, your software could automatically extract the relevant fields (ex. bill number, line items, total amount, etc.) or have the user enter in this info.
Step 3: [If Needed] Create a New Vendor in the Accounting System
Suppose a bill is uploaded by the user and has a NEW vendor that doesn’t exist in the business's accounting system (maybe they’re working with a new company). In that case, you need to make sure that the new vendor is properly created so you can track future bills and bill payments.
To do this, use our POST /vendors endpoint to create a new vendor. This will return a vendor_id that you need to create new bills and bill payments.
Step 3: Create a New Bill in the Accounting System
Now that you have all the bill information, your customer wants to automatically push that data into their accounting system so they don’t need to waste time doing manual entry.
To do this, use the POST /bills endpoint and pass in all the relevant fields for the bill:
This request will return an id for the bill that is needed to create a bill payment.
Step 4: Log a Bill Payment in the Accounting System
When a business is ready to pay the bill, they will initiate a payment from their bank account (likely through your product) to the vendor. Now, the bill needs to be marked as paid in the accounting system to ensure that the transaction data is up to date.
To do this, use the POST /bill_payments endpoints to log a new transaction for the bill id that was generated in step 3. This will apply any payments to the bill (partial payments are allowed in cases businesses can pay a bill in installments) or mark the bill as fully paid in the accounting system.
With four easy steps, you can use Rutter to quickly build accounting automation functionality! And what’s cool is that you can integrate once with Rutter and all of these steps work the same way, with the same data model regardless of the accounting system that your customer is using. That’s the magic of Rutter’s universal API built for business financial data!