---
title: "Record a supplier payment"
method: POST
path: "/api/v1/iqbooks/organisations/{organisationId}/supplier-payments"
tags: ["IQ Books — Settlements"]
---

# Record a supplier payment

`POST /api/v1/iqbooks/organisations/{organisationId}/supplier-payments`

## Request

- Base URL: `https://api.reconcileiq.com`
- URL: `https://api.reconcileiq.com/api/v1/iqbooks/organisations/{organisationId}/supplier-payments`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Records a supplier payment and posts the settlement journal (bank to AP, plus FX where applicable). Optional `allocations` apply the payment to open purchase invoices. Requires scope `iqbooks:write`.

## Path parameters

- `organisationId` integer, required

## Request body

- SettlementCreate
  - `contact_id` integer, required
  - `bank_account_id` integer, required
  - `amount` number, required
  - `date` string, date
  - `currency` string
  - `reference` string
  - `description` string
  - `allocations` object[]
    - `invoice_id` integer, required: Sales invoice id (receipts) or purchase invoice id (payments).
    - `amount` number, required

## Response `201`

A single receipt/payment (with allocations).

- object
  - `data` Settlement, required
    - `id` integer
    - `organisation_id` integer
    - `contact_id` integer
    - `contact_name` string, nullable
    - `bank_account_id` integer
    - `bank_account_name` string, nullable
    - `journal_entry_id` integer, nullable
    - `date` string, date, nullable
    - `currency` string
    - `amount` number
    - `reference` string, nullable
    - `description` string, nullable
    - `created_at` string, date-time
    - `allocations` object[]
      - `id` integer
      - `invoice_id` integer
      - `invoice_number` string, nullable
      - `amount` number

## Other responses

- `400`: The request body is not syntactically valid JSON. Returned in the standard envelope with an X-Request-Id, before authentication runs.
- `401`: Missing, invalid, or revoked API key.
- `403`: Authenticated but the key lacks the required scope.
- `404`: Resource not found, or not visible to the caller (no existence leak).
- `409`: Conflict with current resource state (e.g. duplicate code, already voided).
- `422`: CodeIQ / IQ Books strict-format contract violation.

---

[API](https://skmtc.dev/reconcileiq/apis/reconcileiq-public-api.md) · [All operations](https://skmtc.dev/reconcileiq/apis/reconcileiq-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/reconcileiq/apis/reconcileiq-public-api/revisions/5401beef8653?raw)
