Skip to main content

Solution kit for the bill pay scenario

Simplify the deployment of the bill pay process to your app with our solution kit


What is it?

The Bill pay kit is our solution designed to help neobanks and B2B payment providers integrate a bill pay flow into their app as quickly as possible. It's ideal for facilitating essential bill payment processes within your SMB's accounting platforms.

We have streamlined and enhanced the logic in our kit's endpoints to focus on simplicity and efficiency, and not on complex procurement functionalities and use cases.

Why use it?

Crucially, the kit offers synchronous functionality, providing real-time updates between your platform and your SMBs' accounting systems. In today's fast-paced industry landscape, this enables you to meet user demands with a seamless, near-real-time experience. Have a look at the streamlined process below:

Supported integrations

Java client library

Use our comprehensive Java library to kick-start and simplify your implementation of the bill pay kit.


When using the Bill pay kit, you need to create your SMB customer as a

The fallback content to display on prerendering
in Codat before registering their accounting platform as a connection. You can do that when the customer starts interacting with your application.

  1. Create a company

A company represents your SMB customer that pays and manages their bills using your application. To create it, use our Create company endpoint. It returns the company schema containing the ID that you will use to establish a connection to an accounting platform.

  1. Create a connection

Next, use the Create connection endpoint to connect the company to an accounting data source via one of our integrations. This will allow you to synchronize data with that source, fetching or creating bills and payments.

Authorize your API calls

Remember to authenticate when making calls to our API. Navigate to Developers > API keys in the Portal to pick up your authorization header.

For a deeper dive into creating companies and connections, see how to Configure customer in Codat, or read more about the concepts of a company and a connection.

Pay a bill

With the Bill pay kit, your customer can create a new bill or view and choose a bill from a list of unpaid bills from their accounting platform.

Create a bill

Use the Create bill endpoint to create a new bill in your SMB customer's accounting software. Ensure you have the following detail:

  1. Tax rate and a nominal account

    You need to provide a tax rate and a nominal account that the bill will be recorded against. Call our Get bill mapping options endpoint to get this detail from your customer's accounting platform.

  2. Supplier record

    Bills should always correspond to a supplier that issued them. Use the List suppliers endpoint to check that the relevant supplier exists and then associate it with the bill. You can use querying to retrieve only suppliers with unpaid bills or suppliers created within a specific timeframe. If the supplier doesn't exist, you can create it using the Create supplier endpoint.

Use the Upload bill attachment endpoint to assign an attachment against a specific billId. This ensures your accounts payable flow has a full audit trail for your SMB and confirms the legitimacy and accuracy of the transaction in the accounting platform.

Retrieve a bill

When the List bills endpoint is called, you will receive a list of all outstanding bills. We define outstanding bills as those with the status of Open and Partially paid.

Alongside these bills, you can also view attachments for a specific bill using the List bill attachments endpoint and download them by calling the Download bill attachment endpoint.

Record a payment

When an SMB pays their bill in your application, use the Create bill payment endpoint to represent an allocation of money within any of your customer's accounts payable accounts.

To create the payment, your SMB customer must set the bank account used to process the payment. You can retrieve and display a list of relevant accounts using the Get payment mapping options endpoint.

Partial payments

The kit is built for the scenario where a single bill is paid in full. If you need to record a partial payment, use the same Create bill payment endpoint and adjust the values to reflect the amount of the partial payment.

Was this page useful?