# Payment drafts

Use the Business API to create and [manage](#manage-payment-drafts) payment drafts, including updating draft metadata and adding, updating, or deleting individual payments.

When you're ready with your drafts, go to the Revolut Business app and [submit them as payments](#send-drafts-for-processing) to send them for processing.

## Use cases

- **Prepare payments for future processing:** Payment drafts allow you to prepare payments in advance and [send them for processing](#send-drafts-for-processing) later.
  For example, if you already have all the details for the payment, but don't want to send it just yet, you can create a draft payment for now and send it when you're ready.

- **Prepare payments for approval:** [Team members](/docs/guides/manage-accounts/teams/manage-team-members#about-team-members) subject to [approval processes](https://help.revolut.com/business/help/managing-my-business/users-and-employees/how-can-i-set-payment-approval-rules/) cannot make payments on their own.
  With payment drafts, they can still prepare payments, filling in all the necessary details, [send them for processing](#send-drafts-for-processing), and have them executed once a designated team member [approves](#send-drafts-for-processing) them.

- **Prepare scheduled payments:** Payment drafts let you specify when you want the payment to be executed once you [send it for processing](#send-drafts-for-processing).
  To prepare a scheduled payment, use the [`schedule_for`](#create-a-payment-draft) parameter and provide the date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.

- **Prepare bulk payments:** With payment drafts, you can draft up multiple payments with one request, and have them executed once you [send the draft for processing](#send-drafts-for-processing).
  All payments from a single bulk must be made from the same account (have the same `account_id`).

:::info
A payment draft stays a draft until you [send it for processing as payment](#send-drafts-for-processing) in the Revolut Business app.
:::

## Manage payment drafts

With the [Business API](/docs/api/business#tag-payment-drafts), you can:

- [Create a payment draft](#create-a-payment-draft)
- [Retrieve all payment drafts](#retrieve-all-payment-drafts) created with the API or via the Revolut Business app, or filter by source
- [Retrieve a specific payment draft](#retrieve-a-specific-payment-draft) with payment details
- [Update a payment draft](#update-a-payment-draft) — change the title or scheduled date
- [Add a payment to a draft](#add-a-payment-to-a-draft)
- [Update a payment in a draft](#update-a-payment-in-a-draft)
- [Delete a payment from a draft](#delete-a-payment-from-a-draft)
- [Delete a payment draft](#delete-a-payment-draft) that hasn't been [sent for processing](#send-drafts-for-processing)

:::tip
Alternatively, you can create and manage payment drafts in the [Revolut Business app](https://business.revolut.com/transfers).
To create a draft payment, proceed as for a regular payment, but instead of the **Continue** or **Send** button, click or tap **Save draft** at the top.
To manage your drafts, go to **Transfers** → **Draft**.
:::

### Create a payment draft

To create a payment draft, make a `POST` request to the `/payment-drafts` endpoint providing one or more payments to include in the draft.

:::details [Required details]

- **Payments**: One or more payments to include in the draft.
  A single payment must include the following:

  - **Account ID**: The ID of **your own** account from which you want to make the transfer.

    :::note
    All payments from a bulk must be executed from the same account (have the same account ID).
    :::

  - **Receiver**: The details of the transfer recipient, such as the counterparty ID.

    :::note
    If the counterparty has multiple payment methods available, for example, 2 accounts, or 1 account and 1 card, you must also specify the **ID of the account** to which you want to transfer the money.

    :::tip
    You can look up your counterparty's ID and account ID by [retrieving a list of your counterparties](/docs/api/business#get-counterparties) filtered by the counterparty's name.
    :::

  - **Amount**: The amount of money that you want to send.
  - **Currency**: The currency in which you want to make the transfer.
  - **Reference**: A short message which helps both you and the recipient to identify the payment.
    You can use it to include an invoice number, account or transaction ID, or any other reference meaningful to you.

  - **Transfer reason code** (conditionally required): The reason code for the transaction.
    Required for transactions to certain countries and currencies.
    Check available codes with the [`GET /transfer-reasons` operation](/docs/api/business#get-transfer-reasons).

:::

:::details [Optional details]

- **Title**: The title of the payment draft. It helps you identify the draft.
- **Schedule for**: The date on which you want the transfer to be executed.
  Use it if you want to schedule the payment(s) for a future date.

Additionally, for a single payment, you can specify:

- **Charge bearer**: The party that should bear the transaction fees related to the transaction route if applied.
  Possible options are:

  - `shared`: Also known as **SHA**. The transaction fees are shared by both the sender and recipient.
    The sender pays the fees charged by their bank, while the recipient pays the fees charged by the receiving and any intermediary banks.
  - `debtor`: Also known as **OUR**. All explicit transaction fees are borne by the sender.

  :::note
  - This field is not supported for [bulk payments](#use-cases).
  - Some transactions with fees might not be possible with charge bearer specified.
    If that's the case, the request returns an error.
    If you accept this and still want to proceed with the payment draft, remove charge bearer from your request and try again.
  :::

[See the API reference: Create a payment draft](/docs/api/business#create-payment-draft)

When you're ready with your draft, [send it for processing as payment](#send-drafts-for-processing) in the Revolut Business app.

### Retrieve all payment drafts

To get the list of all your payment drafts that you haven't [sent for processing](#send-drafts-for-processing) yet, make a `GET` request to the `/payment-drafts` endpoint.

By default, only payment drafts created with the API (including [Draft payment](/docs/api/open-banking#tag-draft-payment) endpoints) are returned. To retrieve drafts from other sources, use the `source` query parameter:

| Value | Behaviour |
|-------|-----------|
| `api` | Only drafts created with the API (excluding the [Draft payment](/docs/api/open-banking#tag-draft-payment) endpoints) |
| `integration` | Drafts created via integrations (e.g., Xero) and [Draft payment](/docs/api/open-banking#tag-draft-payment) endpoints |
| `email` | Only drafts created via email |
| `all` | All payment drafts, including drafts created in the Revolut Business app |

The response lists the drafts with their details, such as the number of payments included in a draft, but not the payment details.

To see example requests and responses:

[See the API reference: Retrieve a list of payment drafts](/docs/api/business#get-payment-drafts)
To get the payment details, use the returned draft ID to [retrieve a specific payment draft](#retrieve-a-specific-payment-draft).

### Retrieve a specific payment draft

To get information about a specific payment draft with the payment details, you must provide this draft's ID.
The endpoint returns drafts created with the API or via the Revolut Business app.

To see example requests and responses:

[See the API reference: Retrieve a payment draft](/docs/api/business#get-payment-draft)

### Update a payment draft

:::note
You can update drafts created with the API or via the Revolut Business app.
:::

To update the metadata of a payment draft — its `title` and/or `schedule_for` — make a `PATCH` request to the `/payment-drafts/{id}` endpoint providing the draft's ID as a path parameter.

:::note
The `schedule_for` date must be in the future.
:::

All fields are optional: omitting a field leaves it unchanged.

To see example requests and responses:

[See the API reference: Update a payment draft](/docs/api/business#update-payment-draft)

### Add a payment to a draft

:::note
You can add payments to drafts created with the API or via the Revolut Business app.
:::

To add a new payment to an existing draft, make a `POST` request to the `/payment-drafts/{id}/payments` endpoint providing the draft's ID as a path parameter and the payment details in the request body.

The payment uses the same shape as the payments in the [create payment draft](#create-a-payment-draft) request. 

To see example requests and responses:

[See the API reference: Add a payment to a payment draft](/docs/api/business#add-payment-draft-payment)

### Update a payment in a draft

:::note
You can update payments in drafts created with the API or via the Revolut Business app.
:::

To update the fields of a single payment within a draft, make a `PATCH` request to the `/payment-drafts/{id}/payments/{payment_id}` endpoint providing the draft's ID and the payment's ID as path parameters.

All fields are optional: omit what should not change. Other payments in the draft are unaffected. 

To see example requests and responses:

[See the API reference: Update a payment in a payment draft](/docs/api/business#update-payment-draft-payment)

### Delete a payment from a draft

:::note
You can delete payments from drafts created with the API or via the Revolut Business app.
:::

To delete a single payment from a draft, make a `DELETE` request to the `/payment-drafts/{id}/payments/{payment_id}` endpoint providing the draft's ID and the payment's ID as path parameters.

Other payments in the draft are unaffected. 

To see example requests and responses:

[See the API reference: Delete a payment from a payment draft](/docs/api/business#delete-payment-draft-payment)

### Delete a payment draft

If you no longer wish to execute the payments from a draft, and you haven't [sent it for processing](#send-drafts-for-processing) yet, you can delete this draft.
To do that, make a `DELETE` request to the `/payment-drafts` endpoint providing the draft's ID as a path parameter.

To see example requests and responses:

[See the API reference: Delete a payment draft](/docs/api/business#delete-payment-draft)

## Send drafts for processing

When you're ready with your draft, send it for processing as payment:

1. Go to the [Revolut Business app](https://business.revolut.com/).
2. Go to **Transfers** → **Draft**.
3. Select your draft and click or tap **Send**.

:::note
If you or the payment you're making is subject to an [approval process](https://help.revolut.com/business/help/managing-my-business/users-and-employees/how-can-i-set-payment-approval-rules/), the payment goes into the `Pending review` state.

Before it can be processed, a team member designated as an approver must approve it in the Revolut Business app.
:::

Payments scheduled for a future date will be processed on that date, other payments will be sent for processing right away.