Skip to content

Create payment batch for run

POST/payroll/runs/{run_id}/payment-batches

Creates a new payment batch grouping employee net-pay disbursements for a specific payroll run. A single run may have multiple batches (e.g. separated by bank or department). Batches must be submitted to the payment processor via the /submit action.

Request

Path parameters

NameTypeRequiredDescription
run_idintegerYes

The numeric ID of the approved payroll run to batch payments for.

Request body

Content type application/json (required).

FieldTypeRequiredDescription
namestringYes

Max length: 255

payment_methodstringYes

One of: "bank_transfer", "mobile_money", "cheque", "cash"

bank_account_idinteger, nullableNo

ID of the employer bank account to disburse from.

employee_idsarray of integerNo

IDs of employees to include in this batch. Omit to include all employees in the run.

Example

{
  "name": "April 2026 — Main Bank Transfer",
  "payment_method": "bank_transfer",
  "bank_account_id": 3,
  "employee_ids": [
    42,
    43,
    44,
    45
  ]
}

Responses

201 Payment batch created

Content type application/json, object · PaymentBatchV1.

FieldTypeRequiredDescription
idintegerNo
run_idintegerNo
namestringNo
payment_methodstringNo

One of: "bank_transfer", "mobile_money", "cheque", "cash"

statusstringNo

One of: "draft", "submitted", "processing", "completed", "failed"

employee_countinteger, nullableNo
total_amountnumber (float), nullableNo
currencystringNo

Max length: 3

created_atstring (date-time)No

Example request

curl -X POST "https://{tenant}.faciotech.net/api/v1/payroll/runs/{run_id}/payment-batches" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"name": "April 2026 — Main Bank Transfer", "payment_method": "bank_transfer", "bank_account_id": 3, "employee_ids": [42, 43, 44, 45]}'
Loading