Retrieve Purchase Payments: /purchase-payments
Purpose
This API retrieves a paginated list of purchase payment records within the system. A purchase payment represents the settlement of outstanding amounts on purchase invoices using one or more payment methods linked to a supplier account. Supported payment methods include cash, cheque, bank deposit, and credit notes, depending on what has been enabled for the account. Each record provides details about the payment amount, method, processor, and the associated purchase orders and invoices, ensuring transparency in how invoices are settled and credits are applied.
Use Case
This endpoint is used to review and reconcile supplier payments. It supports workflows such as displaying supplier payment history in dashboards or reports, tracking payments linked to purchase orders and invoices, verifying payment methods and processors, and auditing who created or last updated payments. By exposing both applied payments and applied credits, the API helps organizations maintain accurate records of invoice settlements and supports compliance in financial reporting.
Path Parameters
This endpoint does not have any path parameters.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| limit | Integer | Number of records to return per page (pagination control). |
| offset | Integer | Starting index for paginated records. |
Request Body
No data is required for the request body.
Response
On success, the API returns a purchase_payments array containing multiple payment records. Each record includes metadata such as payment status, payment ID, payment date, total amount applied, associated purchase order ID, and any notes. It also provides details of applied payments (purchase_payment_applied), showing the distribution of amounts across methods, processors, and references, as well as applied credits (purchase_credit_applied) when credit notes are used. Linked invoices are included with information such as applied amounts, outstanding balances, issue and due dates, and totals. Additional metadata such as creator details, timestamps, UUID, versioning, and custom attributes are also provided. Pagination metadata is included to facilitate navigation across large datasets, ensuring efficient access to payment histories for reconciliation and reporting.
Response Body
{
"purchase_payments": [
{
"status": "status",
"id": "purchase_payment_id",
"origin": "origin_source",
"purchase_payment_date": "payment_date",
"total_applied": "total_applied_amount",
"purchase_order_id": "purchase_order_id",
"purchase_payment_note": "payment_note",
"purchase_payment_applied": [
{
"id": "applied_id",
"amount": "applied_amount",
"method": "payment_method",
"processor": "payment_processor",
"reference": "reference_number"
}
],
"purchase_credit_applied": [
{
"id": "credit_id",
"amount": "credit_amount"
}
],
"purchase_invoices": [
{
"applied": "invoice_applied_amount",
"id": "invoice_id",
"due_date": "invoice_due_date",
"issue_date": "invoice_issue_date",
"outstanding": "invoice_outstanding_amount",
"total": "invoice_total_amount"
}
],
"created_by": "created_by_user",
"created_on": "created_timestamp",
"last_updated_by": "last_updated_user",
"last_updated_on": "last_updated_timestamp",
"uuid": "uuid",
"version": "version_number",
"custom_attributes": [],
"custom_objects": []
}
],
"pagination": {
"records": "total_records",
"limit": "page_limit",
"offset": "page_offset",
"previous_page": "previous_page_url",
"next_page": "next_page_url"
}
}
| Attribute | Type | Description |
|---|---|---|
| status | String | Current status of the purchase payment record. |
| id | String | Unique system-generated identifier for the purchase payment. |
| origin | String | Source or origin of the payment entry. |
| purchase_payment_date | String (DateTime) | The date when the purchase payment was recorded. |
| total_applied | String (Decimal) | Total amount applied across all invoices or credits. |
| purchase_order_id | String | Identifier of the associated purchase order. |
| purchase_payment_note | String | Additional notes related to the payment (if provided). |
| purchase_payment_applied | Array | List of payment application details showing how the payment amount was applied. |
| purchase_credit_applied | Array | List of applied credits associated with the purchase payment. |
| purchase_invoices | Array | List of invoices linked to this purchase payment, including amounts, dates, and balances. |
| created_by | String | Name of the user who created the payment record. |
| created_on | String (DateTime) | Timestamp of when the payment record was created. |
| last_updated_by | String | Name of the user who last modified the record. |
| last_updated_on | String (DateTime) | Timestamp of the last update to the record. |
| uuid | String | Unique universal identifier of the purchase payment record. |
| version | String | Version number of the record, incremented upon updates. |
| custom_attributes | Array | Custom attributes defined for the payment record. |
| custom_objects | Array | Custom objects linked to the payment record. |
Retrieve Purchase Payment Details: /purchase-payments/{purchase_payment_id}
Purpose
This API retrieves detailed information about a specific purchase payment using its unique identifier. A purchase payment represents the settlement of outstanding amounts on purchase invoices through one or more payment methods linked to a supplier account. Supported methods include cash, cheque, bank deposit, and credit notes. The endpoint provides visibility into payment status, applied amounts, associated invoices, credits, and transaction methods, ensuring accurate tracking of invoice settlements.
Use Case
This endpoint is used to review or validate the details of a specific purchase payment. It supports workflows such as auditing payment records, confirming invoice settlement, verifying payment processing details (method, processor, and references), and reconciling credits applied against invoices. By exposing transaction-level details, the API ensures transparency in financial operations and supports compliance in reporting and reconciliation processes.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| purchase_payment_id | String | Unique identifier of the purchase payment to be retrieved. |
Query Parameters
This endpoint does not accept any query parameters.
Request Body
No data is required for the request body.
Response
On success, the API returns a purchase_payment object containing comprehensive details of the specified payment. High-level attributes include payment status, ID, payment date, total applied amount, and any linked purchase order. Nested structures provide granular information:
- purchase_payment_applied: lists the distribution of amounts across payment methods, processors, and references.
- purchase_credit_applied : shows credits applied from purchase credit notes.
- purchase_invoices : details invoice-level data such as applied amounts, totals, outstanding balances, issue dates, and due dates.
Additional metadata includes creator details, timestamps, UUID, versioning, and any custom attributes or objects. This structure provides a complete audit trail of the payment transaction, enabling organizations to track how each payment was processed and applied across related invoices and credits.
Response Body
{
"purchase_payment": {
"status": "status",
"id": "purchase_payment_id",
"origin": "origin_source",
"purchase_payment_date": "purchase_payment_date",
"total_applied": "total_applied_amount",
"purchase_order_id": "purchase_order_id",
"purchase_payment_note": "note",
"purchase_payment_applied": [
{
"id": "applied_id",
"amount": "applied_amount",
"method": "payment_method",
"processor": "payment_processor",
"reference": "reference_number"
}
],
"purchase_credit_applied": [
{
"id": "credit_id",
"amount": "credit_amount"
}
],
"purchase_invoices": [
{
"applied": "applied_amount",
"id": "invoice_id",
"due_date": "invoice_due_date",
"issue_date": "invoice_issue_date",
"outstanding": "outstanding_amount",
"total": "invoice_total"
}
],
"created_by": "created_by_user",
"created_on": "created_timestamp",
"last_updated_by": "last_updated_user",
"last_updated_on": "last_updated_timestamp",
"uuid": "purchase_payment_uuid",
"version": "version_number",
"custom_attributes": [],
"custom_objects": []
}
}
| Attribute | Type | Description |
|---|---|---|
| purchase_payment | Object | Root object containing all purchase payment details. |
| status | String | Current status of the purchase payment (example: ACTIVE). |
| id | String | Unique identifier of the purchase payment. |
| origin | String | Source or origin of the payment record. |
| purchase_payment_date | String (ISO 8601) | Date when the payment was made. |
| total_applied | String | Total amount applied across all related invoices. |
| purchase_order_id | String | Identifier of the related purchase order, if applicable. |
| purchase_payment_note | String | Additional notes or comments related to the payment. |
| purchase_payment_applied | Array | List of payment application details, including method and reference. |
| id | Integer | Unique identifier for each applied payment entry. |
| amount | Number | Amount applied in the specific transaction. |
| method | String | Payment method used (example: Cash, Bank Transfer). |
| processor | String | Processor or handler of the payment. |
| reference | String | Reference number or identifier associated with the payment. |
| purchase_credit_applied | Array | List of credit notes applied to this payment. |
| id | String | Identifier of the applied credit note. |
| amount | Number | Amount of credit applied. |
| purchase_invoices | Array | List of invoices associated with the payment. |
| applied | Number | Amount applied to the invoice from this payment. |
| id | String | Unique identifier of the invoice. |
| due_date | String | Due date of the invoice. |
| issue_date | String | Date the invoice was issued. |
| outstanding | Number | Remaining outstanding amount after the payment. |
| total | Number | Total invoice amount. |
| created_by | String | Name of the user who created the record. |
| created_on | String (ISO 8601) | Timestamp when the payment record was created. |
| last_updated_by | String | Name of the user who last updated the record. |
| last_updated_on | String (ISO 8601) | Timestamp when the record was last updated. |
| uuid | String | Unique system-generated identifier for the payment record. |
| version | String | Current version of the payment record. |
| custom_attributes | Array | List of custom fields defined for the purchase payment (if any). |
| custom_objects | Array | List of custom objects linked to the purchase payment (if any). |
Retrieve Purchase Payments by Account: /accounts/{account_id}/purchase-payments
Purpose
This API retrieves a paginated list of all purchase payments associated with a specific supplier account. A purchase payment represents the settlement of outstanding amounts on purchase invoices using one or more payment methods linked to the account, such as cash, cheque, bank deposit, or credit notes. The endpoint provides detailed information for each payment, including payment date, applied amounts, related invoices, credits, and audit metadata. It ensures transparency in account-level payment activity and supports reconciliation across invoices, credits, and purchase orders.
Use Case
This endpoint is used to monitor and reconcile payments made under a specific account. It supports workflows such as reviewing payment details, validating applied credits, confirming invoice settlement, and tracking who created or updated payments. The API is also useful for displaying payment histories in account dashboards, generating financial reports, and supporting audit processes. By exposing both applied payments and applied credits, the endpoint ensures accurate tracking of invoice settlements and provides a complete view of account-level financial activity.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| account_id | String | Unique identifier of the account for which purchase payments are to be retrieved. |
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| limit | Integer | Number of records to return per page (pagination limit). |
| offset | Integer | Number of records to skip before starting to return results. |
Request Body
No data is required for the request body.
Response
On success, the API returns an account object containing a purchase_payments array. Each payment record includes metadata such as payment ID, status, payment date, total applied amount, and any linked purchase order. Nested structures provide granular details:
- purchase_payment_applied: lists the distribution of amounts across payment methods, processors, and references.
- purchase_credit_applied: shows credits applied from purchase credit notes.
- purchase_invoices: details invoice-level data such as applied amounts, totals, outstanding balances, issue dates, and due dates.
Additional metadata includes creator details, timestamps, UUID, versioning, and any custom attributes or objects. Pagination metadata is also included, providing information about the total number of records, applied limit, current offset, and navigation links for previous and next pages. This structure ensures efficient navigation across large datasets and maintains traceability between invoices, credits, and payments at the account level.
Response Body
{
"account": {
"purchase_payments": [
{
"status": "status",
"id": "purchase_payment_id",
"origin": "origin_source",
"purchase_payment_date": "purchase_payment_date",
"total_applied": "total_applied_amount",
"purchase_order_id": "purchase_order_id",
"purchase_payment_note": "note",
"purchase_payment_applied": [
{
"id": "applied_id",
"amount": "applied_amount",
"method": "payment_method",
"processor": "payment_processor",
"reference": "reference_number"
}
],
"purchase_credit_applied": [
{
"id": "credit_id",
"amount": "credit_amount"
}
],
"purchase_invoices": [
{
"applied": "applied_amount",
"id": "invoice_id",
"due_date": "invoice_due_date",
"issue_date": "invoice_issue_date",
"outstanding": "outstanding_amount",
"total": "invoice_total"
}
],
"created_by": "created_by_user",
"created_on": "created_timestamp",
"last_updated_by": "last_updated_user",
"last_updated_on": "last_updated_timestamp",
"uuid": "purchase_payment_uuid",
"version": "version_number",
"custom_attributes": [],
"custom_objects": []
}
],
"pagination": {
"records": "total_records",
"limit": "limit_value",
"offset": "offset_value",
"previous_page": "previous_page_url",
"next_page": "next_page_url"
}
}
}
| Attribute | Type | Description |
|---|---|---|
| account | Object | Root object containing account-level purchase payment data. |
| purchase_payments | Array | List of all purchase payments associated with the account. |
| status | String | Current status of the purchase payment (example: ACTIVE). |
| id | String | Unique identifier of the purchase payment. |
| origin | String | Source or origin of the payment record. |
| purchase_payment_date | String (ISO 8601) | Date when the payment was made. |
| total_applied | String | Total amount applied across all related invoices. |
| purchase_order_id | String | Identifier of the related purchase order, if applicable. |
| purchase_payment_note | String | Additional notes or comments related to the payment. |
| purchase_payment_applied | Array | List of payment application details, including method and reference. |
| id | Integer | Unique identifier for each applied payment entry. |
| amount | Number | Amount applied in the specific transaction. |
| method | String | Payment method used (example: Cash, Bank Transfer). |
| processor | String | Processor or handler of the payment. |
| reference | String | Reference number or identifier associated with the payment. |
| purchase_credit_applied | Array | List of credit notes applied to this payment. |
| id | String | Identifier of the applied credit note. |
| amount | Number | Amount of credit applied. |
| purchase_invoices | Array | List of invoices associated with the payment. |
| applied | Number | Amount applied to the invoice from this payment. |
| id | String | Unique identifier of the invoice. |
| due_date | String | Due date of the invoice. |
| issue_date | String | Date the invoice was issued. |
| outstanding | Number | Remaining outstanding amount after the payment. |
| total | Number | Total invoice amount. |
| created_by | String | Name of the user who created the record. |
| created_on | String (ISO 8601) | Timestamp when the payment record was created. |
| last_updated_by | String | Name of the user who last updated the record. |
| last_updated_on | String (ISO 8601) | Timestamp when the record was last updated. |
| uuid | String | Unique system-generated identifier for the payment record. |
| version | String | Current version of the payment record. |
| custom_attributes | Array | List of custom fields defined for the purchase payment (if any). |
| custom_objects | Array | List of custom objects linked to the purchase payment (if any). |
| pagination | Object | Contains pagination details for managing record sets. |
| records | Integer | Total number of records available. |
| limit | Integer | Number of records returned per page. |
| offset | Integer | Starting point for the returned records. |
| previous_page | String | URL for the previous page of results. |
| next_page | String | URL for the next page of results. |
Retrieve Purchase Payments by Purchase Order: /purchase-orders/{purchase_order_id}/purchase-payments
Purpose
This API retrieves all purchase payments associated with a specific purchase order. A purchase payment represents the settlement of outstanding amounts on purchase invoices linked to that order, using one or more payment methods such as cash, cheque, bank deposit, or credit notes. The endpoint provides detailed information about each payment, including applied amounts, payment methods, linked invoices, credits, and audit metadata. It ensures visibility into how purchase orders are financially settled and supports reconciliation across procurement transactions.
Use Case
This endpoint is used to track payments made against a particular purchase order. It supports workflows such as reconciling purchase order balances against applied payments, validating payment methods and processors, reviewing invoice settlement details, and generating reports for auditing supplier transactions. The API also enables integration of payment details into procurement and accounting dashboards, ensuring accurate financial visibility at the purchase order level.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| purchase_order_id | String | Unique identifier of the purchase order whose related payments are to be retrieved. |
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| limit | Integer | Number of records to return per page (pagination limit). |
| offset | Integer | Number of records to skip before starting to return results. |
Request Body
No data is required for the request body.
Response
On success, the API returns a purchase_order object containing a purchase_payments array. Each payment record includes metadata such as payment ID, status, payment date, total applied amount, and any linked purchase order ID. Nested structures provide granular details:
- purchase_payment_applied: lists the distribution of amounts across payment methods, processors, and references.
- purchase_credit_applied: shows credits applied from purchase credit notes, if any.
- purchase_invoices: details invoice-level data such as applied amounts, totals, outstanding balances, issue dates, and due dates.
Additional metadata includes creator details, timestamps, UUID, versioning, and any custom attributes or objects. Pagination metadata is also included, providing information about the total number of records, applied limit, current offset, and navigation links for previous and next pages. This structure ensures efficient navigation across large datasets and provides a complete audit trail of payments applied to a purchase order.
Response Body
{
"purchase_order": {
"purchase_payments": [
{
"status": "status",
"id": "purchase_payment_id",
"origin": "origin_source",
"purchase_payment_date": "purchase_payment_date",
"total_applied": "total_applied_amount",
"purchase_order_id": "purchase_order_id",
"purchase_payment_note": "payment_note",
"purchase_payment_applied": [
{
"id": "applied_id",
"amount": "applied_amount",
"method": "payment_method",
"processor": "payment_processor",
"reference": "reference_number"
}
],
"purchase_credit_applied": [
{
"id": "credit_id",
"amount": "credit_amount"
}
],
"purchase_invoices": [
{
"applied": "applied_amount",
"id": "invoice_id",
"due_date": "invoice_due_date",
"issue_date": "invoice_issue_date",
"outstanding": "outstanding_amount",
"total": "invoice_total"
}
],
"created_by": "created_by_user",
"created_on": "created_timestamp",
"last_updated_by": "last_updated_user",
"last_updated_on": "last_updated_timestamp",
"uuid": "purchase_payment_uuid",
"version": "version_number",
"custom_attributes": [],
"custom_objects": []
}
],
"pagination": {
"records": "total_records",
"limit": "limit_value",
"offset": "offset_value",
"previous_page": "previous_page_url",
"next_page": "next_page_url"
}
}
}
| Attribute | Type | Description |
|---|---|---|
| purchase_order | Object | Root object containing the purchase order and its associated payments. |
| purchase_payments | Array | List of all purchase payments linked to the purchase order. |
| status | String | Current status of the purchase payment (example: ACTIVE). |
| id | String | Unique identifier of the purchase payment. |
| origin | String | Indicates the source or origin of the payment entry. |
| purchase_payment_date | String (ISO 8601) | Date when the payment was made. |
| total_applied | String | Total payment amount applied to invoices related to the order. |
| purchase_order_id | String | Identifier of the purchase order this payment is associated with. |
| purchase_payment_note | String | Additional note or comment added to the payment record. |
| purchase_payment_applied | Array | Details of the payment applications (method, amount, and reference). |
| id | Integer | Unique identifier for the payment application record. |
| amount | Number | Amount applied in the specific transaction. |
| method | String | Method used for the payment (example: Cash, Bank Transfer). |
| processor | String | Payment processor handling the transaction. |
| reference | String | Reference number related to the payment method. |
| purchase_credit_applied | Array | Details of any credit notes applied against the payment. |
| id | String | Unique identifier for the applied credit note. |
| amount | Number | Amount of credit applied to the payment. |
| purchase_invoices | Array | Details of the invoices associated with the payment. |
| applied | Number | Amount from the payment applied to this invoice. |
| id | String | Unique identifier of the linked invoice. |
| due_date | String | Due date of the linked invoice. |
| issue_date | String | Issue date of the linked invoice. |
| outstanding | Number | Remaining amount due after the payment was applied. |
| total | Number | Total invoice amount. |
| created_by | String | Name of the user who created the record. |
| created_on | String (ISO 8601) | Timestamp indicating when the record was created. |
| last_updated_by | String | Name of the user who last updated the record. |
| last_updated_on | String (ISO 8601) | Timestamp indicating when the record was last updated. |
| uuid | String | Unique system-generated identifier for the purchase payment. |
| version | String | Version number of the purchase payment record. |
| custom_attributes | Array | Custom fields defined for the purchase payment (if any). |
| custom_objects | Array | Custom objects linked to the purchase payment (if any). |
| pagination | Object | Object containing pagination details for the retrieved data. |
| records | Integer | Total number of purchase payments found for the order. |
| limit | Integer | Number of records displayed per page. |
| offset | Integer | Number of records skipped before fetching results. |
| previous_page | String | URL for the previous page of data (if available). |
| next_page | String | URL for the next page of data (if available). |