Update Purchase Payment Information: /purchase-payments/{purchase_payment_id}/information
Purpose
This endpoint allows updating specific information for an existing Purchase Payment record. It supports updating fields such as the origin, note, custom attributes, and other non-financial metadata. This ensures that users can maintain accurate recordkeeping, attach additional contextual information, or integrate workflow-related notes without altering financial postings already applied.
Use Case
- Updating the note on a purchase payment to reflect internal comments, audit requirements, or post-processing steps.
- Setting or modifying the origin field for tracking how/where a purchase payment was created.
- Adding or updating custom attributes linked with workflows or business-specific metadata.
- Maintaining data consistency when purchase payment details evolve over time.
- Enhancing reporting accuracy by enriching payment records with contextual metadata.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| purchase_payment_id | string | Identifier of the Purchase Payment record to update. Required. |
Query Parameters
This endpoint does not accept query parameters.
Request Body
{
"purchase_payment": {
"origin": "ORIGIN_PLACEHOLDER",
"note": "NOTE_PLACEHOLDER",
"custom_attributes": []
}
}
| Attribute | Type | Description |
|---|---|---|
| purchase_payment | object | Object containing fields to update for the purchase payment. |
| origin | string | Source or reference describing where the payment originated from (optional). |
| note | string | Additional user-defined note or comment for documentation purposes. |
| custom_attributes | array | List of custom attribute values to update (empty array means no updates). |
Response
The response returns the fully updated Purchase Payment object, including system fields, timestamps, applied payment details, linked purchase orders and invoices, and metadata such as created and last-updated user information. Even if only minimal fields are modified, the response contains the entire refreshed payment object, ensuring complete visibility into the current state of the Purchase Payment after the update.
Response Body
{
"purchase_payment": {
"status": "STATUS_PLACEHOLDER",
"id": "PURCHASE_PAYMENT_ID_PLACEHOLDER",
"origin": "ORIGIN_PLACEHOLDER",
"purchase_payment_date": "PURCHASE_PAYMENT_DATE_PLACEHOLDER",
"total_applied": "TOTAL_APPLIED_PLACEHOLDER",
"purchase_order_id": "PURCHASE_ORDER_ID_PLACEHOLDER",
"purchase_payment_note": "PURCHASE_PAYMENT_NOTE_PLACEHOLDER",
"purchase_payment_applied": [
{
"id": PAYMENT_APPLIED_ID_PLACEHOLDER,
"amount": PAYMENT_AMOUNT_PLACEHOLDER,
"method": "PAYMENT_METHOD_PLACEHOLDER",
"processor": "PAYMENT_PROCESSOR_PLACEHOLDER",
"reference": "PAYMENT_REFERENCE_PLACEHOLDER"
}
],
"purchase_credit_applied": [],
"purchase_invoices": [
{
"applied": APPLIED_AMOUNT_PLACEHOLDER,
"id": "PURCHASE_INVOICE_ID_PLACEHOLDER",
"due_date": "DUE_DATE_PLACEHOLDER",
"issue_date": "ISSUE_DATE_PLACEHOLDER",
"outstanding": OUTSTANDING_AMOUNT_PLACEHOLDER,
"total": TOTAL_AMOUNT_PLACEHOLDER
}
],
"created_by": "CREATED_BY_PLACEHOLDER",
"created_on": "CREATED_ON_PLACEHOLDER",
"last_updated_by": "LAST_UPDATED_BY_PLACEHOLDER",
"last_updated_on": "LAST_UPDATED_ON_PLACEHOLDER",
"uuid": "PURCHASE_PAYMENT_UUID_PLACEHOLDER",
"version": "VERSION_PLACEHOLDER",
"custom_attributes": [],
"custom_objects": []
}
}
| Attribute | Type | Description |
|---|---|---|
| purchase_payment | object | Complete purchase payment record after update. |
| status | string | Status of the purchase payment (example: ACTIVE). |
| id | string | System-generated purchase payment identifier. |
| origin | string | Updated origin value for the purchase payment. |
| purchase_payment_date | string | Date when the purchase payment was created or applied (ISO format). |
| total_applied | string | Total payment amount applied to invoices. |
| purchase_order_id | string | Related purchase order identifier. |
| purchase_payment_note | string | Updated note associated with the purchase payment. |
| purchase_payment_applied | array | List of payment application details. |
| id | integer | Identifier of the applied payment entry. |
| amount | number | Applied amount. |
| method | string | Payment method used. |
| processor | string | Payment processor used. |
| reference | string | Reference information for the applied payment. |
| purchase_credit_applied | array | List of applied purchase credits (empty if none). |
| purchase_invoices | array | List of invoices associated with the payment. |
| applied | number | Amount applied to the invoice. |
| id | string | Purchase invoice identifier. |
| due_date | string | Invoice due date. |
| issue_date | string | Invoice issue date. |
| outstanding | number | Remaining outstanding amount on the invoice. |
| total | number | Total invoice amount. |
| created_by | string | User who created the purchase payment. |
| created_on | string | Timestamp of when the payment was created (ISO format). |
| last_updated_by | string | User who last updated the payment. |
| last_updated_on | string | Timestamp of last update (ISO format). |
| uuid | string | UUID of the purchase payment record. |
| version | string | Version number of the record after update. |
| custom_attributes | array | Custom attributes attached to the record. |
| custom_objects | array | Custom objects attached to the record. |
Update a Purchase Payment: /purchase-payments/{id}
Purpose
Update the date and/or note of an existing purchase payment. This endpoint supports partial updates to a purchase payment's metadata, specifically the payment date and the descriptive note field. It does not modify financial fields such as payment amounts, allocations, or payment method details, which remain unchanged from their original values. This design ensures that corrections to administrative metadata can be made safely without affecting the financial integrity of the payment record. Only the fields provided in the request body are updated; omitted fields retain their current values.
Use Case
This endpoint is used to correct the payment date after a purchase payment has been created, or to add and update a note on an existing purchase payment. It allows modifying payment metadata without affecting payment amounts or allocations. A common scenario is correcting a payment date that was entered incorrectly during initial creation, ensuring that financial reports and aging schedules reflect the actual date the payment was made. The note field can be used to add annotations such as payment references, approval details, or explanations for date corrections, creating a clearer audit trail for the payment. Finance teams also use this endpoint to add context to payments after the fact, such as noting a reason for a partial payment or linking it to a specific purchase order dispute resolution.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| purchase_payment_id | String | The unique ID of the purchase payment (e.g., PPT-5Q22OS-0014) |
Query Parameters
No query parameters required.
Request Body
{
"purchase_payment": {
"date": "PAYMENT_DATE",
"note": "PAYMENT_NOTE"
}
}
Response
Returns the full purchase payment object with all fields reflecting the current state after the update. The response includes the payment status, human-readable ID, updated payment date, total applied amount, associated purchase order ID, and the updated note text. The purchase_payment_applied array provides a breakdown of each payment application including the amount, payment method, processor, and reference number, while the purchase_invoices array shows which invoices the payment is applied to along with their applied amounts, outstanding balances, and totals. The version field is incremented to reflect the modification, and the activity_logs array captures the history of changes made to the payment for audit and tracking purposes.
Response Body
{
"purchase_payment": {
"status": "PAYMENT_STATUS",
"id": "PAYMENT_ID",
"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": "PAYMENT_APPLIED_ID",
"amount": "APPLIED_AMOUNT",
"method": "PAYMENT_METHOD",
"processor": "PAYMENT_PROCESSOR",
"reference": "PAYMENT_REFERENCE"
}
],
"purchase_invoices": [
{
"applied": "INVOICE_APPLIED_AMOUNT",
"id": "INVOICE_ID",
"outstanding": "INVOICE_OUTSTANDING",
"total": "INVOICE_TOTAL"
}
],
"uuid": "PAYMENT_UUID",
"version": "PAYMENT_VERSION",
"activity_logs": []
}
}
| Attribute | Type | Description |
|---|---|---|
| status | String | Payment status (e.g., ACTIVE) |
| id | String | Human-readable payment ID |
| purchase_payment_date | String (ISO 8601) | The payment date |
| total_applied | String | Total amount applied in the payment |
| purchase_order_id | String | ID of the associated purchase order |
| purchase_payment_note | String | Note or description for the payment |
| purchase_payment_applied | Array | List of payment applications |
| purchase_payment_applied[].amount | Number | Amount applied per payment method |
| purchase_payment_applied[].method | String | Payment method name |
| purchase_payment_applied[].processor | String | Payment processor name |
| purchase_payment_applied[].reference | String | Payment reference number |
| purchase_invoices | Array | List of invoices the payment is applied to |
| purchase_invoices[].applied | Number | Amount applied to the invoice |
| purchase_invoices[].id | String | Invoice ID |
| purchase_invoices[].outstanding | Number | Remaining outstanding amount |
| purchase_invoices[].total | Number | Total invoice amount |
| uuid | String (UUID) | UUID of the payment |
| version | String | Version number of the payment |
| activity_logs | Array | Activity log entries for the payment |
