Receivable

A Receivable is an inbound payment you request from a customer Company.

A Receivable is a payment you request from one of your customer Companies. With Routable, you can send a Receivable to your customer immediately or schedule it to be sent on a future date. You can specify the bank account to accept the payment, and your customer will be routed to a secure external flow hosted by Routable where they can complete an ACH payment to you. You can even mark a Receivable as having been paid externally, and use Routable as the bridge between your application and your accounting software.

When a Receivable is processed, funds are withdrawn from a PaymentMethod that the customer creates in the external flow, and transferred via ACH to the bank Account referenced in the deposit_into_account field of the Receivable.

If you have turned on Approval Rules for your account, Routable will automatically identify the appropriate TeamMembers to request approvals from depending on the Receivable amount, and notify them of a request for approval. All you need to do is set up your approval rules, and the API takes it from there. Receivables will be created in a needs_approval state if they are being held pending one or more approvals.

🚧

A note on status codes

Please note that it is possible for POST requests to return a 202 Accepted response that indicates that we are still processing the request. To ensure that the Receivable has been successfully created, you may attempt to retrieve it using the returned ID or self link.

Types of Receivables

Routable supports creating two types of Receivables:

Invoice (type=invoice) - Default
- Create this Receivable when you want your customer to pay you via Routable.
- Your customer will receive an email inviting them to visit Routable's hosted, branded external flow to make payment. Payments will be delivered via ach_standard.

External (type=external)
- Create this Receivable when you want to track a payment that was received outside of Routable.

Receivable Lifecycle

Receivables have a lifecycle consisting of several statuses that change as the payment is created, processed and ultimately delivered. You can listen for webhook events to be notified when a Receivable is created or changes state. This is a good idea when you are maintaining a copy of Receivable data in your application, for example, in a data warehouse.

πŸ“˜

Best Practice: Use Idempotency Keys

Routable supports the use of Idempotency Keys to help protect against inadvertent repeated transactions. We strongly recommend using this optional feature when automating Receivables.

Adding Attachments to Receivables

You may want to track File Attachments alongside your Receivables, for example, a CSV of the inventory received on a purchase order or a PDF of an invoice. You can attach one or more files, and they will be attached to the invoice in both Routable and your integrated accounting software.

Scheduling Receivables

Routable supports 3 different ways of scheduling your Receivables based on the value supplied for send_on:

Sending a Receivable Today
- To send a Receivable today, set it to today's date in Pacific time.
- Use this when you want to send a Receivable request ASAP.
- The Payable will immediately transition into the pending status.
- This is the default.

Sending a Receivable on a Defined Date in the Future
- To create a scheduled Receivable on a defined date in the future, set send_on to a future date in Pacific time.
- Use this when you want to send a Receivable request in the future.

Sending a Receivable with no defined date
- To create a Receivable in a ready_to_send status, explicitly set send_on to a value of null.
- Use this when you want to prepare a Receivable to be sent but not send it yet. This can be useful when testing out your integration. This strategy is also helpful when you intend to add additional line items over time to "snowball" a Receivable with many small amounts, for example with microtransactions, and then allow your customer to pay for them with a single transfer of funds.

Customer Notification

When sending Receivables via our API, we will notify all contacts associated with the company based on the values specified for their default_contact_for_payable_and_receivable field.

Accounting Software Integration

If you have an accounting application such as QuickBooks Online or Oracle NetSuite integrated with your Routable account, you will need to provide some extra data when creating a Receivable. The ledger object is reserved for this purpose. Each application requires different fields on the Receivable, and in some cases, the Receivable's line items as well.

Visit the API Reference for a full listing of fields required for your accounting application. If you need to import configured and customized fields in Accounting Software from your accounting application, you'll need to contact the Routable Developer Experience team to assist.


What’s Next