---
title: "Cancel a Receivable"
method: POST
path: "/v1/receivables/{id}/cancel"
tags: ["Receivables"]
---

# Cancel a Receivable

`POST /v1/receivables/{id}/cancel`

Cancel an Receivable. For full details on when you can cancel Receivables, see our
[help docs](https://docs.routable.com/en/articles/4798143-canceling-a-payable-or-receivable).

## Path parameters

- `id` string, uuid, required

## Request body

- ItemsCommonCancelItemAction
  - `acting_team_member` string, uuid, required — The TeamMember ID performing this action. This will be displayed in the Routable Dashboard and also used in any emails sent as a result of this cancellation.
  - `cancel_in_accounting_software` boolean — Determines whether to post this action in your accounting software (`true`) or Routable only (`false`).

## Response `200`

OK

- union
  - object
    - `id` string, uuid, required — The resource ID.
    - `amount` string, decimal, required — The total amount for this payment.
    - `amount_due` string, decimal, required — The total amount remaining due for this payment.
    - `amount_recipient` number, double — The amount that will be sent to the recipient.
    - `amount_sender` number, double — The amount paid by the sender.
    - `amount_paid` string, decimal, required — The total amount paid for this payment.
    - `approved_at` string, date-time, nullable, required — The date the payment was approved.
    - `bill_number` string, nullable, required — The bill number for this item. If you have integrated your accounting software, this will match the bill number in that application.
    - `created_at` string, date-time, required — The creation date and time of the Item.
    - `currency_code` 'AED' | 'AUD' | 'BHD' | 'BRL' | 'BSD' | 'CAD' | 'CHF' | 'CNY' | 'COP' | 'CRC' | 'CZK' | 'DKK' | 'DOP' | 'EGP' | 'EUR' | 'GBP' | 'GTQ' | 'HKD' | 'HNL' | 'HUF' | 'IDR' | 'INR' | 'ILS' | 'JPY' | 'KES' | 'KRW' | 'KWD' | 'KZT' | 'MXN' | 'MYR' | 'NGN' | 'NIO' | 'NOK' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PHP' | 'PKR' | 'PLN' | 'QAR' | 'RON' | 'SAR' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UGX' | 'USD' | 'UYU' | 'VND' | 'ZAR', nullable — An ISO 4217 currency code. Only currencies currently supported by Routable are available.
    - `currency_code_recipient` 'AED' | 'AUD' | 'BHD' | 'BRL' | 'BSD' | 'CAD' | 'CHF' | 'CNY' | 'COP' | 'CRC' | 'CZK' | 'DKK' | 'DOP' | 'EGP' | 'EUR' | 'GBP' | 'GTQ' | 'HKD' | 'HNL' | 'HUF' | 'IDR' | 'INR' | 'ILS' | 'JPY' | 'KES' | 'KRW' | 'KWD' | 'KZT' | 'MXN' | 'MYR' | 'NGN' | 'NIO' | 'NOK' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PHP' | 'PKR' | 'PLN' | 'QAR' | 'RON' | 'SAR' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UGX' | 'USD' | 'UYU' | 'VND' | 'ZAR', nullable — The currency that the recipient will receive.
    - `currency_code_sender` 'AED' | 'AUD' | 'BHD' | 'BRL' | 'BSD' | 'CAD' | 'CHF' | 'CNY' | 'COP' | 'CRC' | 'CZK' | 'DKK' | 'DOP' | 'EGP' | 'EUR' | 'GBP' | 'GTQ' | 'HKD' | 'HNL' | 'HUF' | 'IDR' | 'INR' | 'ILS' | 'JPY' | 'KES' | 'KRW' | 'KWD' | 'KZT' | 'MXN' | 'MYR' | 'NGN' | 'NIO' | 'NOK' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PHP' | 'PKR' | 'PLN' | 'QAR' | 'RON' | 'SAR' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UGX' | 'USD' | 'UYU' | 'VND' | 'ZAR', nullable — The currency of the funds being withdrawn from the sender's bank account.
    - `due_on` string, date, required — The date the payment is due.
    - `exchange_rate` string — The exchange rate used to convert the amount_sender into the amount_recipient.
    - `expected_on` string, date, nullable, required — The date the payment is expected to hit the receiving account.
    - `external_id` string, nullable, required — An external ID that you have assigned to this transaction - for example, an invoice or payment number in your application.
    - `fixed_side` 'sender' | 'recipient' — Which amount associated with the Item is fixed and will be used to determine the other side's amount.
    - `issued_on` string, date, required — The date the invoice was issued.
    - `is_exchange_rate_locked` boolean — Designate whether or not the exchange_rate value is actually the one that will be used to perform the currency conversion (true) or if it is an estimate based on the current rate (false).
    - `reference` string, nullable — This field is used as an additional reference number for the item when Routable is **not** integrated with your accounting software. If you have integrated your accounting software with Routable, this field is not used.
    - `sent_on` string, date, nullable, required — The date the payment or invoice was sent to the receiving Company. If the Payable or Receivable is created after the [cut-off time](https://docs.routable.com/en/articles/5149655-bank-transfer-payment-delivery-options) for the chosen `delivery_method`, the `sent_on` date will reflect the date the transaction was actually sent, which may be the following business day after the requested `send_on` date.
    - `status` 'canceled' | 'completed' | 'compliance_hold' | 'created' | 'externally_paid' | 'failed' | 'initiated' | 'issue' | 'needs_approval' | 'new' | 'pending' | 'po_discrepancy_hold' | 'processing' | 'ready_to_send' | 'scheduled', required — The status of the payment: | Value | Description | | `canceled` | The payment was canceled. No funds were sent to the **receiver**. | | `completed` | The payment was completed. The **receiver** has received the funds at the specified `pay_to_payment_method`. | | `compliance_hold` | The payment has been held pending resolution of a **compliance hold.** See the `Company`'s `compliance_checks` for details. | | `created` | The payment is newly created. | | `externally_paid` | The payment is a record of a payment made outside of Routable. | `failed` | The payment failed at some point on its journey through the banking system. See `failure_detail` for details and resolutions. | | `initiated` | The transfer of funds has begun. This corresponds to the "In Transit" state in the Routable UI. | | `issue` | The payment failed at some point while Routable was creating it. See `failure_detail` for details and resolutions. | | `needs_approval` | The payment has been paused until it receives approval from all required approvers. | | `pending` | The payment is held pending the `pay_to_company`'s selection of a payment and/or `type` (`vendor_choice` `Payables`). | | `po_discrepancy_hold` | The payment has been held pending resolution of a purchase order discrepancy. | | `processing` | The payment is currently being processed in Routable. (**Note:** As payment are only in this status for a few seconds, `payable.status_changed` webhooks are **not fired** for it.) | | `ready_to_send` | The payment is waiting to be manually sent, either through the Routable Dashboard or an update to `send_on`. | | `scheduled` | The payment is scheduled to be sent on the future date referenced in `send_on`. |
    - `status_changed_at` string, date-time, required — The datetime of the last status change.
    - `status_changes` ItemsCommonStatusChangeItem[], required — The status timeline, sorted from oldest to newest.
      - `changed_at` string, date-time, required — The datetime associated with this status change.
      - `status` 'analyzing' | 'canceled' | 'completed' | 'compliance_hold' | 'created' | 'externally_paid' | 'failed' | 'import' | 'initiated' | 'issue' | 'needs_approval' | 'new' | 'ocr' | 'pending' | 'po_discrepancy_hold' | 'processing' | 'ready_to_send' | 'scheduled', required — The new status of the `Payable` as of the date/time indicated in `changed_at`. | Value | Description | | `analyzing` | Routable is processing payment data for a payment created via OCR in the Routable Dashboard. | | `canceled` | The payment was canceled. No funds were sent to the **receiver**. | | `completed` | The payment was completed. The **receiver** has received the funds at the specified `pay_to_payment_method`. | | `compliance_hold` | The payment has been held pending resolution of a **compliance hold.** See the `Company`'s `compliance_checks` for details. | | `created` | The payment is newly created. | | `externally_paid` | The payment is a record of a payment made outside of Routable. | `failed` | The payment failed at some point on its journey through the banking system. See `failure_detail` for details and resolutions. | | `initiated` | The transfer of funds has begun. This corresponds to the "In Transit" state in the Routable UI. | | `issue` | The payment failed at some point while Routable was creating it. See `failure_detail` for details and resolutions. | | `needs_approval` | The payment has been paused until it receives approval from all required approvers. | | `new` | The payment is newly created. | | `ocr` | Routable is processing payment data for a payment created via OCR in the Routable Dashboard. | | `pending` | The payment is held pending the `pay_to_company`'s selection of a payment and/or `type` (`vendor_choice` `Payables`). | | `po_discrepancy_hold` | The payment has been held pending resolution of a purchase order discrepancy. | | `processing` | The payment is currently being processed in Routable. (**Note:** As payment are only in this status for a few seconds, `payable.status_changed` webhooks are **not fired** for it.) | | `ready_to_send` | The payment is waiting to be manually sent, either through the Routable Dashboard or an update to `send_on`. | | `scheduled` | The payment is scheduled to be sent on the future date referenced in `send_on`. |
    - `links` ItemsCommonItemLinks, required — Related links.
      - `self` string, uri-reference, required — Link to this object.
      - `confirmation` string, nullable — Link to download payment confirmation document as a PDF.
    - `version` integer — The current version of the Receivable that is incremental per change, starting at 1 at the moment of creation.
    - `object` 'Receivable', required — The object’s type (`Receivable`).
    - `deposit_into_account` AccountsCompactAccountBank, required
      - `object` 'Account', required — The object’s type (`Account`).
      - `id` string, uuid, required — The Account ID.
      - `links` AccountsAccountLinks, required — Related links.
        - `self` string, uri-reference, required — Link to this object.
      - `type` 'bank', required — The type of Account
      - `type_details` AccountsAccountBankTypeDetails, required
        - `account_number` string, required — The bank account number. In responses, all but the last four digits will be masked for security.
        - `account_type` 'checking' | 'savings', required — The type of bank account.
        - `institution_name` string, required — The bank's name.
        - `logo` string, uri — The URL of the bank's logo in PNG format.
        - `primary_color` string — The bank's primary color hex code.
        - `routing_number` string, required — The bank's nine-digit routing number.
    - `due_from_company` CompaniesCompactCompany, required
      - `object` 'Company', required — The object’s type (`Company`).
      - `id` string, uuid, required — The Company ID.
      - `display_name` string, required — The Company's name for display in the Routable Dashboard.
      - `links` CompaniesCompanyLinks, required — Related links.
        - `self` string, uri-reference, required — Link to this object.
        - `compliance_checks` string, uri-reference, required — Link to this Company's Compliance Reports.
        - `contacts` string, uri-reference, required — Link to this Company's Contacts.
        - `payables` string, uri-reference, required — Link to this Company's Payables.
        - `payment_methods` string, uri-reference, required — Link to this Company's Payment Methods.
        - `receivables` string, uri-reference, required — Link to this Company's Receivables.
        - `tax_forms` string, uri-reference, required — Link to this Company's most recent TaxForm.
    - `send_on` string, date, nullable — The date that the Receivable should be sent **in Pacific Time**. - When set to today, the Receivable will be sent immediately. - When set to `null`, the Receivable will be put in a `ready_to_send` status. - When set to a date in the future, the Receivable will be scheduled for a future date. No email communications will go out until that date.
    - `terms` 'net30' | 'net60' | 'see_invoice' | 'upon_receipt' — The payment terms for this Receivable. * `net30` - The Receivable is due 30 days from today. * `net60` - The Receivable is due 60 days from today. * `see_invoice` - The Receivable is due on the date specified in the `due_on` request field. * `upon_receipt` - The Receivable is due immediately.
    - `type` 'external', required — The type of Receivable.
    - `attachments` object, required — A list of file attachments to this resource.
      - `object` 'List', required — The object’s type (`List`).
      - `results` SharedAttachment[], required
        - `object` 'Attachment', required
        - `id` string, uuid, required — The Attachment ID.
        - `name` string, required — The filename.
        - `mime_type` string, required — The file's MIME type.
        - `url` string, uri, required — A publicly accessibly URL that expires in 1 month.
    - `ledger` union — Fields specific to your accounting suite integration.
      - object
        - `memo` string — A message (or notes) about the transaction. Included on the invoice in **Xero** as a Note.
        - `tax_style` 'exclusive' | 'inclusive' | 'none' — Specifies how **Xero** calculates and records the tax on this transaction. See the [Xero documentation](https://developer.xero.com/documentation/api-guides/tax-in-xero#TaxInclusiveVsExclusive) for more details.
        - `id` string, nullable — The Payable's unique ID in your accounting software.
        - `status` 'canceled' | 'deleted' | 'draft' | 'error' | 'needs_approval' | 'needs_import' | 'no_ledger' | 'not_synced' | 'paid' | 'pending' — The status of the Payable in your accounting software.
      - object
        - `class` LedgersQboQBOClass — The class ID to associate this Payable, Receivable or line item with in **QuickBooks Online**. You must enable classes in **QuickBooks Online** to use this attribute.
          - `id` string, required
        - `department` LedgersQboQBODepartment — The department or location ID to associate this Payable, Receivable or line item with in **QuickBooks Online**.
          - `id` string, required
        - `discount` number — The percentage or amount of the discount. If this value is present in your request, both `discount_calculation` and `discount_style` are also required. If `discount_calculation` is `amount`, this value determines the amount of discount in the `Receivable's` `currency_code`. If `discount_calculation` is `percentage`, this percentage of the `amount` will be discounted.
        - `discount_calculation` 'amount' | 'percentage' — Determines the way in which `discount` is applied to the total `amount`. If this value is present in your request, both `discount` and `discount_style` are also required.
        - `discount_style` string — Determines whether the discount is applied before or after applying tax. If this value is present, in your request, both `discount_calculation` and `discount_style` are required.
        - `memo` string — A message (or notes) about the transaction. Included in **QuickBooks Online** as a Private Note.
        - `tax_auto` boolean — Determines whether the tax is applied automatically (true) or manually (false).
        - `tax_code` object — References the Tax Code object in **QuickBooks Online** that was used to determine the tax calculation. This field is required if the line item's `is_taxable` field is `true`. You can query for this value from the [Accounting Software Objects endpoint](https://developers.routable.com/reference/list-accounting-software-objects).
          - `id` string, required — The ID of the **QuickBooks Online** Tax Code that was applied.
        - `id` string, nullable — The Payable's unique ID in your accounting software.
        - `status` 'canceled' | 'deleted' | 'draft' | 'error' | 'needs_approval' | 'needs_import' | 'no_ledger' | 'not_synced' | 'paid' | 'pending' — The status of the Payable in your accounting software.
      - object
        - `department` LedgersNetsuiteNetSuiteDepartment — The **NetSuite** department (such as 'Engineering', 'Sales') to associate with this line item. [View the **NetSuite** documentation for Departments for details](https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2020_2/script/record/department.html).
          - `id` string, required — The department ID to associate with this line item. Find these IDs on the Routable Dashboard under Accounting Software Objects or by calling [/v1/accounting-software/objects/departments](https://developers.routable.com/reference/list-accounting-software-objects).
        - `posting_period` LedgersNetsuiteNetSuitePostingPeriod — The Posting Period (such as 'Fiscal Year 2002') to associate with this Payable or Receivable. [View the **NetSuite** documentation for Posting Periods for details](https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2020_2/script/record/accountingperiod.html).
          - `id` string, required — The posting period ID to associate with this Payable or Receivable. Find these IDs on the Routable Dashboard under Accounting Software Objects or by calling [/v1/accounting-software/objects/accounting_periods](https://developers.routable.com/reference/list-accounting-software-objects).
        - `id` string, nullable — The Payable's unique ID in your accounting software.
        - `status` 'canceled' | 'deleted' | 'draft' | 'error' | 'needs_approval' | 'needs_import' | 'no_ledger' | 'not_synced' | 'paid' | 'pending' — The status of the Payable in your accounting software.
      - object
        - `id` string, nullable — The Payable's unique ID in your accounting software.
        - `status` 'canceled' | 'deleted' | 'draft' | 'error' | 'needs_approval' | 'needs_import' | 'no_ledger' | 'not_synced' | 'paid' | 'pending' — The status of the Payable in your accounting software.
    - `line_items` object
      - `object` 'List', required — The object’s type (`List`).
      - `results` ItemsReceivablesCommonReceivableLineItem[], required
        - `account` object — When working with **Xero**, you must supply an account ID to track this line item against your chart of accounts. **Use this only when integrated with Xero.**
          - `id` string, required
        - `amount` string, decimal — The line item's total amount.
        - `description` string — The line item's description.
        - `is_taxable` boolean — When working with **QuickBooks Online**, specifies whether tax should be collected for this line item. To mark a line item as taxable, the `billable` field must be `billable`.
        - `item` object — When working with **NetSuite**, **QuickBooks Online**, and **Xero**, you must supply an item ID to track this line item against inventory items.
          - `id` string, required
        - `quantity` string, decimal — The line item's quantity.
        - `style` 'item' — The line item's style. When working without an accounting software integration, or when integrated with Xero, you must use `item`. To attach the line item to an account in your accounting software's chart of accounts, use `account`. Or, omit this field and we'll populate it for you.
        - `tax` object — When working with **NetSuite** and **Xero**, you may supply a tax code ID to specify the tax rate to apply to this line item. Required for **Xero** users.
          - `id` string, required
        - `unit_price` string, decimal — The line item's price per unit.
        - `object` 'LineItem', required — The object’s type (`LineItem`).
        - `id` string, uuid, nullable — The ID of the line item.
        - `discount` number — The amount of the discount in the currency specified by the `Receivable's` `currency_code`. **Use this only when integrated with Xero.**
        - `ledger` union — Fields specific to your accounting software integration.
          - LedgersXeroXeroNewReceivableLineItemMeta
          - LedgersQboQBONewReceivableLineItemMeta
            - `class` LedgersQboQBOClass — The class ID to associate this Payable, Receivable or line item with in **QuickBooks Online**. You must enable classes in **QuickBooks Online** to use this attribute.
              - …
          - LedgersNetsuiteNetSuiteNewReceivableLineItemMeta
            - `class` LedgersNetsuiteNetSuiteClass — The **NetSuite** Class (such as 'Furniture', 'Hardware', 'Accessories') to associate with this Payable, Receivable, or line item. [View the **NetSuite** documentation for Classes for details](https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2020_2/script/record/classification.html).
              - …
            - `location` LedgersNetsuiteNetSuiteLocation — The Location (such as 'San Francisco', 'Store #1234') to associate with this Payable, Receivable or line item. [View the **NetSuite** documentation for Locations for details](https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2020_2/script/record/location.html).
              - …
          - LedgersSageSageNewPayableLineItemMeta — Configuration for a line item which may be optional or required depending on your Sage configuration.
            - `account` LedgersSageSageAccount — An Account in your **Sage Intacct** chart of accounts (such as '1040 - Office Supplies') in which to track this line item.
              - …
            - `class` LedgersSageSageClass — A Class (also called a *Channel*) in your **Sage Intacct** chart of accounts (such as 'Furniture') in which to track this line item.
              - …
            - `contract` LedgersSageSageContract — A Contract in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `customer_ref` string — The reference number for the customer that you would like to track this line item against.
            - `department` LedgersSageSageDepartment — A Department in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `employee` LedgersSageSageEmployee — An Employee in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `item` LedgersSageSageItem — An Item in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `location` LedgersSageSageLocation — A Location in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `project` LedgersSageSageProject — A Project in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `task` LedgersSageSageTask — A Task in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `vendor_ref` string — The reference number for the vendor that you would like to track this line item against.
            - `warehouse` LedgersSageSageWarehouse — A Warehouse in your **Sage Intacct** implementation against which to track this line item.
              - …
    - `type_details` object, nullable — Specific details relating to the type of Receivable being returned.
      - `paid_on` string, date, required — The date that the company paid you outside of Routable.
      - `payment_method` 'ach' | 'check' | 'credit_card' | 'debit_card' | 'other' | 'payment_platform' | 'paypal' | 'wire_domestic' | 'wire_international', required — The method the company used to pay you outside of Routable.
      - `reference` string, required — The reference associated with this external payment.
  - object
    - `id` string, uuid, required — The resource ID.
    - `amount` string, decimal, required — The total amount for this payment.
    - `amount_due` string, decimal, required — The total amount remaining due for this payment.
    - `amount_recipient` number, double — The amount that will be sent to the recipient.
    - `amount_sender` number, double — The amount paid by the sender.
    - `amount_paid` string, decimal, required — The total amount paid for this payment.
    - `approved_at` string, date-time, nullable, required — The date the payment was approved.
    - `bill_number` string, nullable, required — The bill number for this item. If you have integrated your accounting software, this will match the bill number in that application.
    - `created_at` string, date-time, required — The creation date and time of the Item.
    - `currency_code` 'AED' | 'AUD' | 'BHD' | 'BRL' | 'BSD' | 'CAD' | 'CHF' | 'CNY' | 'COP' | 'CRC' | 'CZK' | 'DKK' | 'DOP' | 'EGP' | 'EUR' | 'GBP' | 'GTQ' | 'HKD' | 'HNL' | 'HUF' | 'IDR' | 'INR' | 'ILS' | 'JPY' | 'KES' | 'KRW' | 'KWD' | 'KZT' | 'MXN' | 'MYR' | 'NGN' | 'NIO' | 'NOK' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PHP' | 'PKR' | 'PLN' | 'QAR' | 'RON' | 'SAR' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UGX' | 'USD' | 'UYU' | 'VND' | 'ZAR', nullable — An ISO 4217 currency code. Only currencies currently supported by Routable are available.
    - `currency_code_recipient` 'AED' | 'AUD' | 'BHD' | 'BRL' | 'BSD' | 'CAD' | 'CHF' | 'CNY' | 'COP' | 'CRC' | 'CZK' | 'DKK' | 'DOP' | 'EGP' | 'EUR' | 'GBP' | 'GTQ' | 'HKD' | 'HNL' | 'HUF' | 'IDR' | 'INR' | 'ILS' | 'JPY' | 'KES' | 'KRW' | 'KWD' | 'KZT' | 'MXN' | 'MYR' | 'NGN' | 'NIO' | 'NOK' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PHP' | 'PKR' | 'PLN' | 'QAR' | 'RON' | 'SAR' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UGX' | 'USD' | 'UYU' | 'VND' | 'ZAR', nullable — The currency that the recipient will receive.
    - `currency_code_sender` 'AED' | 'AUD' | 'BHD' | 'BRL' | 'BSD' | 'CAD' | 'CHF' | 'CNY' | 'COP' | 'CRC' | 'CZK' | 'DKK' | 'DOP' | 'EGP' | 'EUR' | 'GBP' | 'GTQ' | 'HKD' | 'HNL' | 'HUF' | 'IDR' | 'INR' | 'ILS' | 'JPY' | 'KES' | 'KRW' | 'KWD' | 'KZT' | 'MXN' | 'MYR' | 'NGN' | 'NIO' | 'NOK' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PHP' | 'PKR' | 'PLN' | 'QAR' | 'RON' | 'SAR' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UGX' | 'USD' | 'UYU' | 'VND' | 'ZAR', nullable — The currency of the funds being withdrawn from the sender's bank account.
    - `due_on` string, date, required — The date the payment is due.
    - `exchange_rate` string — The exchange rate used to convert the amount_sender into the amount_recipient.
    - `expected_on` string, date, nullable, required — The date the payment is expected to hit the receiving account.
    - `external_id` string, nullable, required — An external ID that you have assigned to this transaction - for example, an invoice or payment number in your application.
    - `fixed_side` 'sender' | 'recipient' — Which amount associated with the Item is fixed and will be used to determine the other side's amount.
    - `issued_on` string, date, required — The date the invoice was issued.
    - `is_exchange_rate_locked` boolean — Designate whether or not the exchange_rate value is actually the one that will be used to perform the currency conversion (true) or if it is an estimate based on the current rate (false).
    - `reference` string, nullable — This field is used as an additional reference number for the item when Routable is **not** integrated with your accounting software. If you have integrated your accounting software with Routable, this field is not used.
    - `sent_on` string, date, nullable, required — The date the payment or invoice was sent to the receiving Company. If the Payable or Receivable is created after the [cut-off time](https://docs.routable.com/en/articles/5149655-bank-transfer-payment-delivery-options) for the chosen `delivery_method`, the `sent_on` date will reflect the date the transaction was actually sent, which may be the following business day after the requested `send_on` date.
    - `status` 'canceled' | 'completed' | 'compliance_hold' | 'created' | 'externally_paid' | 'failed' | 'initiated' | 'issue' | 'needs_approval' | 'new' | 'pending' | 'po_discrepancy_hold' | 'processing' | 'ready_to_send' | 'scheduled', required — The status of the payment: | Value | Description | | `canceled` | The payment was canceled. No funds were sent to the **receiver**. | | `completed` | The payment was completed. The **receiver** has received the funds at the specified `pay_to_payment_method`. | | `compliance_hold` | The payment has been held pending resolution of a **compliance hold.** See the `Company`'s `compliance_checks` for details. | | `created` | The payment is newly created. | | `externally_paid` | The payment is a record of a payment made outside of Routable. | `failed` | The payment failed at some point on its journey through the banking system. See `failure_detail` for details and resolutions. | | `initiated` | The transfer of funds has begun. This corresponds to the "In Transit" state in the Routable UI. | | `issue` | The payment failed at some point while Routable was creating it. See `failure_detail` for details and resolutions. | | `needs_approval` | The payment has been paused until it receives approval from all required approvers. | | `pending` | The payment is held pending the `pay_to_company`'s selection of a payment and/or `type` (`vendor_choice` `Payables`). | | `po_discrepancy_hold` | The payment has been held pending resolution of a purchase order discrepancy. | | `processing` | The payment is currently being processed in Routable. (**Note:** As payment are only in this status for a few seconds, `payable.status_changed` webhooks are **not fired** for it.) | | `ready_to_send` | The payment is waiting to be manually sent, either through the Routable Dashboard or an update to `send_on`. | | `scheduled` | The payment is scheduled to be sent on the future date referenced in `send_on`. |
    - `status_changed_at` string, date-time, required — The datetime of the last status change.
    - `status_changes` ItemsCommonStatusChangeItem[], required — The status timeline, sorted from oldest to newest.
      - `changed_at` string, date-time, required — The datetime associated with this status change.
      - `status` 'analyzing' | 'canceled' | 'completed' | 'compliance_hold' | 'created' | 'externally_paid' | 'failed' | 'import' | 'initiated' | 'issue' | 'needs_approval' | 'new' | 'ocr' | 'pending' | 'po_discrepancy_hold' | 'processing' | 'ready_to_send' | 'scheduled', required — The new status of the `Payable` as of the date/time indicated in `changed_at`. | Value | Description | | `analyzing` | Routable is processing payment data for a payment created via OCR in the Routable Dashboard. | | `canceled` | The payment was canceled. No funds were sent to the **receiver**. | | `completed` | The payment was completed. The **receiver** has received the funds at the specified `pay_to_payment_method`. | | `compliance_hold` | The payment has been held pending resolution of a **compliance hold.** See the `Company`'s `compliance_checks` for details. | | `created` | The payment is newly created. | | `externally_paid` | The payment is a record of a payment made outside of Routable. | `failed` | The payment failed at some point on its journey through the banking system. See `failure_detail` for details and resolutions. | | `initiated` | The transfer of funds has begun. This corresponds to the "In Transit" state in the Routable UI. | | `issue` | The payment failed at some point while Routable was creating it. See `failure_detail` for details and resolutions. | | `needs_approval` | The payment has been paused until it receives approval from all required approvers. | | `new` | The payment is newly created. | | `ocr` | Routable is processing payment data for a payment created via OCR in the Routable Dashboard. | | `pending` | The payment is held pending the `pay_to_company`'s selection of a payment and/or `type` (`vendor_choice` `Payables`). | | `po_discrepancy_hold` | The payment has been held pending resolution of a purchase order discrepancy. | | `processing` | The payment is currently being processed in Routable. (**Note:** As payment are only in this status for a few seconds, `payable.status_changed` webhooks are **not fired** for it.) | | `ready_to_send` | The payment is waiting to be manually sent, either through the Routable Dashboard or an update to `send_on`. | | `scheduled` | The payment is scheduled to be sent on the future date referenced in `send_on`. |
    - `links` ItemsCommonItemLinks, required — Related links.
      - `self` string, uri-reference, required — Link to this object.
      - `confirmation` string, nullable — Link to download payment confirmation document as a PDF.
    - `version` integer — The current version of the Receivable that is incremental per change, starting at 1 at the moment of creation.
    - `object` 'Receivable', required — The object’s type (`Receivable`).
    - `deposit_into_account` AccountsCompactAccountBank, required
      - `object` 'Account', required — The object’s type (`Account`).
      - `id` string, uuid, required — The Account ID.
      - `links` AccountsAccountLinks, required — Related links.
        - `self` string, uri-reference, required — Link to this object.
      - `type` 'bank', required — The type of Account
      - `type_details` AccountsAccountBankTypeDetails, required
        - `account_number` string, required — The bank account number. In responses, all but the last four digits will be masked for security.
        - `account_type` 'checking' | 'savings', required — The type of bank account.
        - `institution_name` string, required — The bank's name.
        - `logo` string, uri — The URL of the bank's logo in PNG format.
        - `primary_color` string — The bank's primary color hex code.
        - `routing_number` string, required — The bank's nine-digit routing number.
    - `due_from_company` CompaniesCompactCompany, required
      - `object` 'Company', required — The object’s type (`Company`).
      - `id` string, uuid, required — The Company ID.
      - `display_name` string, required — The Company's name for display in the Routable Dashboard.
      - `links` CompaniesCompanyLinks, required — Related links.
        - `self` string, uri-reference, required — Link to this object.
        - `compliance_checks` string, uri-reference, required — Link to this Company's Compliance Reports.
        - `contacts` string, uri-reference, required — Link to this Company's Contacts.
        - `payables` string, uri-reference, required — Link to this Company's Payables.
        - `payment_methods` string, uri-reference, required — Link to this Company's Payment Methods.
        - `receivables` string, uri-reference, required — Link to this Company's Receivables.
        - `tax_forms` string, uri-reference, required — Link to this Company's most recent TaxForm.
    - `send_on` string, date, nullable — The date that the Receivable should be sent **in Pacific Time**. - When set to today, the Receivable will be sent immediately. - When set to `null`, the Receivable will be put in a `ready_to_send` status. - When set to a date in the future, the Receivable will be scheduled for a future date. No email communications will go out until that date.
    - `terms` 'net30' | 'net60' | 'see_invoice' | 'upon_receipt' — The payment terms for this Receivable. * `net30` - The Receivable is due 30 days from today. * `net60` - The Receivable is due 60 days from today. * `see_invoice` - The Receivable is due on the date specified in the `due_on` request field. * `upon_receipt` - The Receivable is due immediately.
    - `type` 'invoice', required — The type of Receivable.
    - `attachments` object, required — A list of file attachments to this resource.
      - `object` 'List', required — The object’s type (`List`).
      - `results` SharedAttachment[], required
        - `object` 'Attachment', required
        - `id` string, uuid, required — The Attachment ID.
        - `name` string, required — The filename.
        - `mime_type` string, required — The file's MIME type.
        - `url` string, uri, required — A publicly accessibly URL that expires in 1 month.
    - `ledger` union — Fields specific to your accounting suite integration.
      - object
        - `memo` string — A message (or notes) about the transaction. Included on the invoice in **Xero** as a Note.
        - `tax_style` 'exclusive' | 'inclusive' | 'none' — Specifies how **Xero** calculates and records the tax on this transaction. See the [Xero documentation](https://developer.xero.com/documentation/api-guides/tax-in-xero#TaxInclusiveVsExclusive) for more details.
        - `id` string, nullable — The Payable's unique ID in your accounting software.
        - `status` 'canceled' | 'deleted' | 'draft' | 'error' | 'needs_approval' | 'needs_import' | 'no_ledger' | 'not_synced' | 'paid' | 'pending' — The status of the Payable in your accounting software.
      - object
        - `class` LedgersQboQBOClass — The class ID to associate this Payable, Receivable or line item with in **QuickBooks Online**. You must enable classes in **QuickBooks Online** to use this attribute.
          - `id` string, required
        - `department` LedgersQboQBODepartment — The department or location ID to associate this Payable, Receivable or line item with in **QuickBooks Online**.
          - `id` string, required
        - `discount` number — The percentage or amount of the discount. If this value is present in your request, both `discount_calculation` and `discount_style` are also required. If `discount_calculation` is `amount`, this value determines the amount of discount in the `Receivable's` `currency_code`. If `discount_calculation` is `percentage`, this percentage of the `amount` will be discounted.
        - `discount_calculation` 'amount' | 'percentage' — Determines the way in which `discount` is applied to the total `amount`. If this value is present in your request, both `discount` and `discount_style` are also required.
        - `discount_style` string — Determines whether the discount is applied before or after applying tax. If this value is present, in your request, both `discount_calculation` and `discount_style` are required.
        - `memo` string — A message (or notes) about the transaction. Included in **QuickBooks Online** as a Private Note.
        - `tax_auto` boolean — Determines whether the tax is applied automatically (true) or manually (false).
        - `tax_code` object — References the Tax Code object in **QuickBooks Online** that was used to determine the tax calculation. This field is required if the line item's `is_taxable` field is `true`. You can query for this value from the [Accounting Software Objects endpoint](https://developers.routable.com/reference/list-accounting-software-objects).
          - `id` string, required — The ID of the **QuickBooks Online** Tax Code that was applied.
        - `id` string, nullable — The Payable's unique ID in your accounting software.
        - `status` 'canceled' | 'deleted' | 'draft' | 'error' | 'needs_approval' | 'needs_import' | 'no_ledger' | 'not_synced' | 'paid' | 'pending' — The status of the Payable in your accounting software.
      - object
        - `department` LedgersNetsuiteNetSuiteDepartment — The **NetSuite** department (such as 'Engineering', 'Sales') to associate with this line item. [View the **NetSuite** documentation for Departments for details](https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2020_2/script/record/department.html).
          - `id` string, required — The department ID to associate with this line item. Find these IDs on the Routable Dashboard under Accounting Software Objects or by calling [/v1/accounting-software/objects/departments](https://developers.routable.com/reference/list-accounting-software-objects).
        - `posting_period` LedgersNetsuiteNetSuitePostingPeriod — The Posting Period (such as 'Fiscal Year 2002') to associate with this Payable or Receivable. [View the **NetSuite** documentation for Posting Periods for details](https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2020_2/script/record/accountingperiod.html).
          - `id` string, required — The posting period ID to associate with this Payable or Receivable. Find these IDs on the Routable Dashboard under Accounting Software Objects or by calling [/v1/accounting-software/objects/accounting_periods](https://developers.routable.com/reference/list-accounting-software-objects).
        - `id` string, nullable — The Payable's unique ID in your accounting software.
        - `status` 'canceled' | 'deleted' | 'draft' | 'error' | 'needs_approval' | 'needs_import' | 'no_ledger' | 'not_synced' | 'paid' | 'pending' — The status of the Payable in your accounting software.
      - object
        - `id` string, nullable — The Payable's unique ID in your accounting software.
        - `status` 'canceled' | 'deleted' | 'draft' | 'error' | 'needs_approval' | 'needs_import' | 'no_ledger' | 'not_synced' | 'paid' | 'pending' — The status of the Payable in your accounting software.
    - `line_items` object
      - `object` 'List', required — The object’s type (`List`).
      - `results` ItemsReceivablesCommonReceivableLineItem[], required
        - `account` object — When working with **Xero**, you must supply an account ID to track this line item against your chart of accounts. **Use this only when integrated with Xero.**
          - `id` string, required
        - `amount` string, decimal — The line item's total amount.
        - `description` string — The line item's description.
        - `is_taxable` boolean — When working with **QuickBooks Online**, specifies whether tax should be collected for this line item. To mark a line item as taxable, the `billable` field must be `billable`.
        - `item` object — When working with **NetSuite**, **QuickBooks Online**, and **Xero**, you must supply an item ID to track this line item against inventory items.
          - `id` string, required
        - `quantity` string, decimal — The line item's quantity.
        - `style` 'item' — The line item's style. When working without an accounting software integration, or when integrated with Xero, you must use `item`. To attach the line item to an account in your accounting software's chart of accounts, use `account`. Or, omit this field and we'll populate it for you.
        - `tax` object — When working with **NetSuite** and **Xero**, you may supply a tax code ID to specify the tax rate to apply to this line item. Required for **Xero** users.
          - `id` string, required
        - `unit_price` string, decimal — The line item's price per unit.
        - `object` 'LineItem', required — The object’s type (`LineItem`).
        - `id` string, uuid, nullable — The ID of the line item.
        - `discount` number — The amount of the discount in the currency specified by the `Receivable's` `currency_code`. **Use this only when integrated with Xero.**
        - `ledger` union — Fields specific to your accounting software integration.
          - LedgersXeroXeroNewReceivableLineItemMeta
          - LedgersQboQBONewReceivableLineItemMeta
            - `class` LedgersQboQBOClass — The class ID to associate this Payable, Receivable or line item with in **QuickBooks Online**. You must enable classes in **QuickBooks Online** to use this attribute.
              - …
          - LedgersNetsuiteNetSuiteNewReceivableLineItemMeta
            - `class` LedgersNetsuiteNetSuiteClass — The **NetSuite** Class (such as 'Furniture', 'Hardware', 'Accessories') to associate with this Payable, Receivable, or line item. [View the **NetSuite** documentation for Classes for details](https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2020_2/script/record/classification.html).
              - …
            - `location` LedgersNetsuiteNetSuiteLocation — The Location (such as 'San Francisco', 'Store #1234') to associate with this Payable, Receivable or line item. [View the **NetSuite** documentation for Locations for details](https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2020_2/script/record/location.html).
              - …
          - LedgersSageSageNewPayableLineItemMeta — Configuration for a line item which may be optional or required depending on your Sage configuration.
            - `account` LedgersSageSageAccount — An Account in your **Sage Intacct** chart of accounts (such as '1040 - Office Supplies') in which to track this line item.
              - …
            - `class` LedgersSageSageClass — A Class (also called a *Channel*) in your **Sage Intacct** chart of accounts (such as 'Furniture') in which to track this line item.
              - …
            - `contract` LedgersSageSageContract — A Contract in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `customer_ref` string — The reference number for the customer that you would like to track this line item against.
            - `department` LedgersSageSageDepartment — A Department in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `employee` LedgersSageSageEmployee — An Employee in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `item` LedgersSageSageItem — An Item in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `location` LedgersSageSageLocation — A Location in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `project` LedgersSageSageProject — A Project in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `task` LedgersSageSageTask — A Task in your **Sage Intacct** implementation against which to track this line item.
              - …
            - `vendor_ref` string — The reference number for the vendor that you would like to track this line item against.
            - `warehouse` LedgersSageSageWarehouse — A Warehouse in your **Sage Intacct** implementation against which to track this line item.
              - …
    - `type_details` object, nullable — Specific details relating to the type of Receivable being returned.
      - `payment_delivery_method` 'ach_standard', nullable — If the Receivable has been paid, the delivery method that was employed to pay it.
      - `payment_type` 'ach' — The type of payment that was used to pay this Receivable.
      - `transaction_id` string, nullable — If the Receivable has been paid, the ACH ID from the customer's bank account.

---

[API](https://skmtc.net/routable/apis/routable-api.md) · [All operations](https://skmtc.net/routable/apis/routable-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/routable/routable-api/versions/9f17a8bc982a/schema)
