> ## Documentation Index
> Fetch the complete documentation index at: https://developers.routable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Your First Payable

It's time to move some money!

💸 [Create your first Payable](https://developers.routable.com/v1/recipes/create-your-first-payable)

**Fantastic**! Your Company is invited, accepted, and ready to be paid! Great job!

## Determining Payment Type

The first thing to consider in a Payment is how you'd like to pay the Vendor. Routable has a variety of payment options, each with their own requirements. Each of these types includes type-specific configuration options, some of which may alter the fees you pay to Routable.

> 📘 International Payments
>
> Note that the below payment types are available for **domestic** (US to US) payments. Payments from US clients to vendors outside the US must use the [International Payments](https://developers.routable.com/docs/cross-border-payments) types and workflows.

**ACH (type=`ach`)\***

Create this payable when you explicitly want to pay your vendor via automated clearing house (ACH) or [Real-Time Payments](https://developers.routable.com/docs/real-time-payments). Your vendor must have an existing [Payment Method](https://developers.routable.com/reference/payment-methods) where `type` = `bank`, which they will configure as part of the [Collecting Payment Information](https://developers.routable.com/docs/collecting-payment-information) step.

[Learn more about ACH transfer options at Routable.](https://docs.routable.com/hc/en-us/articles/21511464675853-Bank-Transfer-payment-delivery-options)

**Check (type=`check`)**

Create this payable when you explicitly want to pay your vendor via a physically-mailed check.\
Your vendor must have an existing [Payment Method](https://developers.routable.com/reference/payment-methods) where `type` = `address`, which they will configure as part of the [Collecting Payment Information](https://developers.routable.com/docs/collecting-payment-information) step.

[Learn more about check delivery options at Routable.](https://docs.routable.com/hc/en-us/search/click?data=BAh7DjoHaWRsKwiNpjuCkBM6D2FjY291bnRfaWRpBOnTBQE6CXR5cGVJIgxhcnRpY2xlBjoGRVQ6CHVybEkiXmh0dHBzOi8vZG9jcy5yb3V0YWJsZS5jb20vaGMvZW4tdXMvYXJ0aWNsZXMvMjE1MTEzODExNjU3MDktQ2hlY2stcGF5bWVudC1kZWxpdmVyeS1vcHRpb25zBjsIVDoOc2VhcmNoX2lkSSIpYjBkYWMzNGQtY2JkYi00YjVmLTlmYTgtMWNjMDY0Zjc5NjI5BjsIRjoJcmFua2kIOgtsb2NhbGVJIgplbi11cwY7CFQ6CnF1ZXJ5SSIKY2hlY2sGOwhUOhJyZXN1bHRzX2NvdW50aRc%3D--2388ecca585acec6b383045a80476e75a6e27a7a)

**Vendor Choice (type=`vendor_choice`)**

Create this payable when you want your vendor to be able to choose their preferred payment method.\
You may use this payment type even when your vendor has no existing payment methods; they will be prompted to submit a payment method via our onboarding flow.

**External (type=`external`)**

Create this payable type when you have made a payment to the vendor outside of Routable and wish to submit it to your Routable payment history and/or your accounting software ledger. Note that **no payment will be sent** as a result of creating this payable type.

## Payment Send Date

Okay! So we know :white\_check\_mark:  **who** to pay (as defined in our [Onboarding Your Vendors](https://developers.routable.com/docs/onboarding-your-vendors) section), :white\_check\_mark: **where** they will receive the payment (as defined by [Collecting Payment Information](https://developers.routable.com/docs/collecting-payment-information)) and now, :white\_check\_mark:\
**how** we'd like to pay them. We'll now need to determine **when** to send the payment.

The `send_on` field in a Payable is used to determine when you would like the payable to **begin** processing (more on what that entails below.) You have a few options for this field:

* If you want to send the payment **today**, set the `send_on` field to today's date.

* If you want to send the payment **on a specific date in the future**, set the `send_on` field to that date.

* You can also specify a `send_on` of `null`. Doing so means the payment **will not be sent at all** until you trigger it via a subsequent API call or action on the [Routable Dashboard](https://app.routable.com).

*Note that any dates you set in the `send_on` field should be supplied in the Pacific time zone.*

## Line Items

That's **who, when, where, and how** defined, so all that's left is **why** we're sending the payment -- or, more directly, what we're paying for -- and those are our **Line Items**. You must add at least one Line Item to a Payable to indicate what the payment is for, but you may add as many as you choose. Line items contain very basic information: a `quantity`, `unit_price`, `amount` (a subtotal for the line item), and a text `description`. There's also a `style` field, which is used by some accounting software integrations. Because this Payable is for a Routable client with no accounting software integrated, we'll use the default `item` in our example.

## Creating the Payable

Alright! We've got all the information we need to [Create a Payable](https://developers.routable.com/reference/create-payable), so let's do it! We'll use a `vendor_choice` Payable here, as it's the easiest example to follow. Remember, this will be a **US to US** transaction; international transactions sometimes require a bit of additional configuration.

> 📘 Accounting Software Integrations
>
> If you have integrated your accounting software with Routable, additional fields may be required to submit a Payable. See [Create a Payable](https://developers.routable.com/reference/create-payable) for details for your specific accounting application. The example below is for a Routable client that does **not** have an integrated accounting application.

We'll define a `type` of `vendor_choice`. Like all Payable types, it has a `type_details` object that defines configuration specific to vendor choice Payables. In this case, all we need is to tell the system which delivery method choices we want to make available to the vendor.

As with most Routable API calls, we'll need an `acting_team_member` ID, which you should have cached. We'll include a `withdraw_from_account` that corresponds to an [Account](https://developers.routable.com/docs/accounts) in your Routable account settings (these can be added via the [Routable Dashboard](https://app.routable.com) and listed via the [List Accounts](https://developers.routable.com/reference/list-accounts) endpoint, if you need to.) We'll need our `line_items` we defined in the previous step, and we add the ID of the [Company](https://developers.routable.com/docs/company) we want to pay in the `pay_to_company` field. Finally, we'll include the `send_on` date we talked about above. Send the request, and away we go!

```json
{
	"type": "vendor_choice",
	"type_details": {
		"delivery_method_choices": ["ach", "check"]
	},
	"acting_team_member": "03b7dc7b-f2c5-45cc-9ba3-3884be267c56",
	"amount": "49.98",
	"withdraw_from_account": "80093ba8-8997-4537-9764-b2452a03b0e0",
	"line_items": [{
		"amount": "49.98",
		"description": "Refrigerator Hose",
		"quantity": "2",
		"style": "item",
		"unit_price": "24.99"
	}],
	"pay_to_company": "ec60d364-9100-4728-a3cb-0f200a8a0f5d",
	"send_on": "2022-01-12"
}
```

> 📘 Protect your transaction with Idempotency Keys
>
> Routable supports [Idempotency Keys](https://developers.routable.com/docs/idempotency-keys) for Payables. You can provide an ID - either stored by your system or randomly generated, for your Payable. Subsequent requests with the same Idempotency Key will be rejected as duplicate by our system, preventing payments from accidentally or maliciously being sent multiple times. Routable strongly recommends use of the Idempotency-Key header when submitting Payables.

## Payment Processing

Once a payment is created and the `send_on` date is reached, the following steps will occur:

**Approvals**\
If your Payable requires approvals per your approval settings, we will automatically notify the appropriate team members. We do this by finding all applicable levels of approval and requesting approvals from all team members. Payment processing will be paused until sufficient approvals have been given for a payable.

**Payment Acceptance**\
The [Contacts](https://developers.routable.com/reference/contacts) on the [Company](https://developers.routable.com/docs/company) that are defined as `default_contact_for_payable_and_receivable` will receive an email notifying them that a payment is pending. If you did not specify a \[Payment Method] as part of the Payable request, they will need to accept the payment and select a Payment Method for the funds to begin transferring.

**That's it! You've just sent your first payment with Routable! Congratulations!** :rocket:

> 📘 Know When to Scale Up
>
> As you begin to automate **hundreds to thousands of items per month**, we recommend that you and your product team explore fully embedding Routable into your product by managing the full vendor interaction, including collection of payment information and viewing of payment history. At a large enough scale, we've found that embedding banking information collection forms and payment history inside your product can result in a better overall experience for your vendors and a reduced support burden for your business.