Create Bank Transaction for Payable

Creates one or more bank transactions to pay a payable. This endpoint handles the creation of bank transfers from your company's bank account to a recipient's account, linking them to a specific payable.

Important Notes

  • The payable id is passed as a URL parameter in /v1/erp/payouts/payables/{id}/create_transactions
  • Multiple transactions may be created if the amount exceeds bank limits
  • Transactions are automatically linked to the payable for tracking

Prerequisites

  1. Bank Account (sender_id): Your company must have a bank account configured
  2. Bank Recipient (recipient_id): The recipient must be registered and approved
  3. Bank Key: User must have authorization to operate the bank account
  4. Payable: The payable must exist and not be overpaid

Authorization Flow

After creating transactions, they typically follow this status flow (may vary depending on bank):

  • draftenqueuedpreauthorizedapproved

approved is the terminal success state — there is no authorized or completed status.
(authorize is the name of the transition that lands a transfer in approved.) A rejected
transfer ends in dequeued or declined; a leg paid inside a payroll ends in
payroll_authorized. Poll on status, not on transition.

Example Workflow

1. GET /v1/banking/bank_accounts to find your sender account
2. GET /v1/banking/bank_recipients to find or create recipient
3. POST /v1/erp/payouts/payables/{id}/create_transactions to create payment
4. Use banking authorization endpoints in /v1/banking/bank_accounts to approve the transaction
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
uuid
required

The UUID of the payable to pay

Body Params

Transaction details for paying the payable

uuid
required

The UUID of your company's bank account (sender).
Get this from GET /v1/banking/bank_accounts filtering by your company's RUT

uuid
required

The UUID of the bank recipient who will receive the payment.
Get this from GET /v1/banking/bank_recipients or create one if needed

string
required

Description that will appear in the bank transfer. The base rule validates it
against /\A[A-zÀ-ú0-9 ]+\Z/#, -, ., ,, /, ( and ) are rejected
with 422 "Validation failed: Description is invalid", and there is no length
limit at that layer.

The sending bank narrows it, so a value that passes the base rule can still
fail: 14 characters and letters/digits only at BICE (which strips and truncates
silently rather than rejecting), 30 and no accents at BCI, 70 at Banco de Chile,
Santander, Scotiabank, Itaú and the Cardda wallet. Over the cap you get
422 "Validation failed: Description is too long (maximum is N characters)".
See the description field on
Create a bank transfer
for the full table. Independently of that, Banco Security, the BICE Connect path
and STP print only the first 40 characters.

The example below (31 characters, with spaces) is accepted everywhere except
BICE, which would store it as Pagofactura012.

integer
required
≥ 1

Amount to pay, as an integer in the minor unit of the sending account's
currency
. CLP has no subunit, so 180000 is $180.000 — not $1.800. See
Amounts and currency.

uuid

Optional - Link transaction to a payroll for batch processing

boolean
Defaults to false

Optional - Use LBTR (Large Value Transfer System) for same-day high-value transfers

Headers
uuid
required

UUID of the company on whose behalf the request is made. Required for every Pay endpoint.
See The company-id header for details on how to obtain
a value for this header and the error responses to expect when it is missing or invalid.

If the deprecated company_id query parameter is also sent, both values must match;
the API returns 422 Unprocessable Entity when they disagree.

Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json