Matching

Find Matching Invoices For A Purchase Order

HTTP Request

POST /api/v1/matching/purchase-order/{purchaseOrderId}/with-invoices

📋 Description: Returns a paginated list of invoices that are candidates for matching with the specified purchase order. The optional filter body can narrow results by invoice fields. Each result includes a match-score/status indicator.

Parameters

Name

In

Type

Required

Description

purchaseOrderId

path

integer(int64)

true

Purchase order ID to find matching invoices for

body

body

object

true

Request body containing the invoice details associated with the specified purchase order, including amounts, dates, and relevant identifiers for accurate processing and reconciliation.

» filter

body

InvoiceDtoFilter

false

Data transfer object representing the criteria for filtering invoices, enabling users to efficiently retrieve and manage invoice data based on specific parameters.

»» idIn

body

[integer]

false

Filter by multiple values of id

»» idEqual

body

integer(int64)

false

Filter by exact match of id

»» idLike

body

string

false

Filter by partial match of id

»» createdAtGreaterThanOrEqual

body

string(date-time)

false

Filter where created at is greater than or equal to specified value

»» createdAtLessThanOrEqual

body

string(date-time)

false

Filter where created at is less than or equal to specified value

»» createdByLike

body

string

false

Filter by partial match of created by

»» createdByEqual

body

string

false

Filter by exact match of created by

»» modifiedAtGreaterThanOrEqual

body

string(date-time)

false

Filter where modified at is greater than or equal to specified value

»» modifiedAtLessThanOrEqual

body

string(date-time)

false

Filter where modified at is less than or equal to specified value

»» modifiedByLike

body

string

false

Filter by partial match of modified by

»» modifiedByEqual

body

string

false

Filter by exact match of modified by

»» displayIdIn

body

[string]

false

Filter by multiple values of display id

»» displayIdLike

body

string

false

Filter by partial match of display id

»» uiSelector

body

string

false

String used to specify the user interface element selector for filtering invoices within the Invoice Data Transfer Object.

»» nameLike

body

string

false

Filter by partial match of name

»» stateEqual

body

string

false

Filter by exact match of state

»» stateIn

body

[string]

false

Filter by multiple values of state

»» externalDocumentNumberLike

body

string

false

Filter by partial match of external document number

»» invoiceDateGreaterThanOrEqual

body

string(date)

false

Filter where invoice date is greater than or equal to specified value

»» invoiceDateLessThanOrEqual

body

string(date)

false

Filter where invoice date is less than or equal to specified value

»» vendorIdEqual

body

integer(int64)

false

Filter by exact match of vendor id

»» vendorIdIn

body

[integer]

false

Filter by multiple values of vendor id

»» companyIdEqual

body

integer(int64)

false

Filter by exact match of company id

»» companyIdIn

body

[integer]

false

Filter by multiple values of company id

» pageable

body

Pageable

false

Data transfer object representing a paginated collection of results, enabling efficient navigation and retrieval of large datasets within the API. This schema supports enhanced user experience by facilitating organized data presentation and management.

»» page

body

integer(int32)

false

Page number for pagination

»» size

body

integer(int32)

false

Number of items per page

»» sort

body

[string]

false

Sort order specification

Enumerated Values

Attribute

Value

»» stateEqual

GOODS_RECEIPT_DRAFT, GOODS_RECEIPT_MATCHED, GOODS_RECEIPT_RECEIVED, GOODS_RECEIPT_REJECTED, INVOICE_PAYMENT_DRAFT, INVOICE_PAYMENT_JOURNALS_GENERATING, INVOICE_PAYMENT_POSTED, INVOICE_PAYMENT_POSTING, INVOICE_PAYMENT_REVIEW, INV_APPROVED, INV_DRAFT, INV_GENERATING_JOURNALS, INV_PAID, INV_POSTED, INV_POSTING, INV_REJECTED, INV_REVIEW, INV_WAITING_FOR_APPROVAL, PURCHASE_ORDER_APPROVED, PURCHASE_ORDER_DRAFT, PURCHASE_ORDER_REJECTED, PURCHASE_ORDER_WAITING_FOR_APPROVAL, PURCHASE_REQUISITION_APPROVED, PURCHASE_REQUISITION_DRAFT, PURCHASE_REQUISITION_REJECTED, PURCHASE_REQUISITION_WAITING_FOR_APPROVAL, VENDOR_REQUEST_APPROVED, VENDOR_REQUEST_DRAFT, VENDOR_REQUEST_PENDING_APPROVAL, VENDOR_REQUEST_REJECTED, WORKSPACE_CLOSED, WORKSPACE_JOURNALS_GENERATING, WORKSPACE_OPEN, WORKSPACE_POSTING, WORKSPACE_REVIEW

»» stateIn

GOODS_RECEIPT_DRAFT, GOODS_RECEIPT_MATCHED, GOODS_RECEIPT_RECEIVED, GOODS_RECEIPT_REJECTED, INVOICE_PAYMENT_DRAFT, INVOICE_PAYMENT_JOURNALS_GENERATING, INVOICE_PAYMENT_POSTED, INVOICE_PAYMENT_POSTING, INVOICE_PAYMENT_REVIEW, INV_APPROVED, INV_DRAFT, INV_GENERATING_JOURNALS, INV_PAID, INV_POSTED, INV_POSTING, INV_REJECTED, INV_REVIEW, INV_WAITING_FOR_APPROVAL, PURCHASE_ORDER_APPROVED, PURCHASE_ORDER_DRAFT, PURCHASE_ORDER_REJECTED, PURCHASE_ORDER_WAITING_FOR_APPROVAL, PURCHASE_REQUISITION_APPROVED, PURCHASE_REQUISITION_DRAFT, PURCHASE_REQUISITION_REJECTED, PURCHASE_REQUISITION_WAITING_FOR_APPROVAL, VENDOR_REQUEST_APPROVED, VENDOR_REQUEST_DRAFT, VENDOR_REQUEST_PENDING_APPROVAL, VENDOR_REQUEST_REJECTED, WORKSPACE_CLOSED, WORKSPACE_JOURNALS_GENERATING, WORKSPACE_OPEN, WORKSPACE_POSTING, WORKSPACE_REVIEW

Parameter Constraints

Parameter

Constraints

»» page

Min: 0

»» size

Min: 1

Responses

Status

Meaning

Description

Schema

200

OK

OK

PagePayableMatchResultInvoiceDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Unmatch Purchase Orders From An Invoice

HTTP Request

POST /api/v1/matching/invoice/{invoiceId}/with-purchase-orders/unmatch

📋 Description: Removes the match associations between the given invoice and the specified purchase orders. Idempotent: purchase orders that were not matched are silently ignored.

Parameters

Name

In

Type

Required

Description

invoiceId

path

integer(int64)

true

Invoice ID

body

body

array[integer]

true

Request body containing the details of the unmatching operation, including the invoice ID and associated purchase order identifiers, to facilitate the disassociation of invoices from their corresponding purchase orders.

Responses

Status

Meaning

Description

Schema

200

OK

OK

ResponseVoid

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Match Purchase Orders To An Invoice

HTTP Request

POST /api/v1/matching/invoice/{invoiceId}/with-purchase-orders/match

📋 Description: Creates persistent match associations between the given invoice and one or more purchase orders. Idempotent: already-matched purchase orders are silently ignored.

Parameters

Name

In

Type

Required

Description

invoiceId

path

integer(int64)

true

Invoice ID

body

body

array[integer]

true

Request body containing the matching criteria and parameters necessary to align the specified invoice with relevant purchase orders for accurate reconciliation.

Responses

Status

Meaning

Description

Schema

200

OK

OK

ResponseVoid

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Find Matching Purchase Orders For An Invoice

HTTP Request

POST /api/v1/matching/invoice/{invoiceId}/with-purchase-orders

📋 Description: Returns a paginated list of purchase orders that are candidates for matching with the specified invoice. The optional filter body can narrow results by PO fields. Each result includes a match-score/status indicator.

Parameters

Name

In

Type

Required

Description

invoiceId

path

integer(int64)

true

Invoice ID to find matching purchase orders for

body

body

object

true

Request body containing the purchase order details associated with the specified invoice, facilitating the matching process for enhanced financial reconciliation.

» filter

body

PurchaseOrderExtendedDtoFilter

false

Data transfer object representing a filter for extended purchase order queries, enabling users to refine search criteria based on specific attributes and business requirements.

»» idIn

body

[integer]

false

Filter by multiple values of id

»» idEqual

body

integer(int64)

false

Filter by exact match of id

»» idLike

body

string

false

Filter by partial match of id

»» createdAtGreaterThanOrEqual

body

string(date-time)

false

Filter where created at is greater than or equal to specified value

»» createdAtLessThanOrEqual

body

string(date-time)

false

Filter where created at is less than or equal to specified value

»» createdByLike

body

string

false

Filter by partial match of created by

»» createdByEqual

body

string

false

Filter by exact match of created by

»» modifiedAtGreaterThanOrEqual

body

string(date-time)

false

Filter where modified at is greater than or equal to specified value

»» modifiedAtLessThanOrEqual

body

string(date-time)

false

Filter where modified at is less than or equal to specified value

»» modifiedByLike

body

string

false

Filter by partial match of modified by

»» modifiedByEqual

body

string

false

Filter by exact match of modified by

»» displayIdIn

body

[string]

false

Filter by multiple values of display id

»» displayIdLike

body

string

false

Filter by partial match of display id

»» stateEqual

body

string

false

Filter by exact match of state

»» stateIn

body

[string]

false

Filter by multiple values of state

»» issueDateEqual

body

string(date)

false

Filter by exact match of issue date

»» expectedDeliveryDateEqual

body

string(date)

false

Filter by exact match of expected delivery date

»» nameLike

body

string

false

Filter by partial match of name

»» shippingAddressLike

body

string

false

Filter by partial match of shipping address

»» notesLike

body

string

false

Filter by partial match of notes

»» externalPurchaseOrderDisplayIdLike

body

string

false

Filter by partial match of external purchase order display id

»» vendorIdEqual

body

integer(int64)

false

Filter by exact match of vendor id

»» vendorIdIn

body

[integer]

false

Filter by multiple values of vendor id

»» vendorDisplayIdLike

body

string

false

Filter by partial match of vendor display id

»» currencyIdEqual

body

integer(int64)

false

Filter by exact match of currency id

»» companyIdEqual

body

integer(int64)

false

Filter by exact match of company id

»» companyIdIn

body

[integer]

false

Filter by multiple values of company id

»» workspaceFilterMode

body

string

false

Specifies the mode of filtering applied to workspaces within the purchase order context, allowing for tailored data retrieval based on user-defined criteria.

»» workspaceId

body

integer(int64)

false

Unique identifier for the workspace

»» matchFilterMode

body

string

false

Specifies the criteria used to filter purchase orders, enabling targeted retrieval of relevant data for efficient order management.

» pageable

body

Pageable

false

Data transfer object representing a paginated collection of results, enabling efficient navigation and retrieval of large datasets within the API. This schema supports enhanced user experience by facilitating organized data presentation and management.

»» page

body

integer(int32)

false

Page number for pagination

»» size

body

integer(int32)

false

Number of items per page

»» sort

body

[string]

false

Sort order specification

Enumerated Values

Attribute

Value

»» matchFilterMode

ALL, IN_MATCH, NOT_IN_MATCH

»» stateEqual

GOODS_RECEIPT_DRAFT, GOODS_RECEIPT_MATCHED, GOODS_RECEIPT_RECEIVED, GOODS_RECEIPT_REJECTED, INVOICE_PAYMENT_DRAFT, INVOICE_PAYMENT_JOURNALS_GENERATING, INVOICE_PAYMENT_POSTED, INVOICE_PAYMENT_POSTING, INVOICE_PAYMENT_REVIEW, INV_APPROVED, INV_DRAFT, INV_GENERATING_JOURNALS, INV_PAID, INV_POSTED, INV_POSTING, INV_REJECTED, INV_REVIEW, INV_WAITING_FOR_APPROVAL, PURCHASE_ORDER_APPROVED, PURCHASE_ORDER_DRAFT, PURCHASE_ORDER_REJECTED, PURCHASE_ORDER_WAITING_FOR_APPROVAL, PURCHASE_REQUISITION_APPROVED, PURCHASE_REQUISITION_DRAFT, PURCHASE_REQUISITION_REJECTED, PURCHASE_REQUISITION_WAITING_FOR_APPROVAL, VENDOR_REQUEST_APPROVED, VENDOR_REQUEST_DRAFT, VENDOR_REQUEST_PENDING_APPROVAL, VENDOR_REQUEST_REJECTED, WORKSPACE_CLOSED, WORKSPACE_JOURNALS_GENERATING, WORKSPACE_OPEN, WORKSPACE_POSTING, WORKSPACE_REVIEW

»» stateIn

GOODS_RECEIPT_DRAFT, GOODS_RECEIPT_MATCHED, GOODS_RECEIPT_RECEIVED, GOODS_RECEIPT_REJECTED, INVOICE_PAYMENT_DRAFT, INVOICE_PAYMENT_JOURNALS_GENERATING, INVOICE_PAYMENT_POSTED, INVOICE_PAYMENT_POSTING, INVOICE_PAYMENT_REVIEW, INV_APPROVED, INV_DRAFT, INV_GENERATING_JOURNALS, INV_PAID, INV_POSTED, INV_POSTING, INV_REJECTED, INV_REVIEW, INV_WAITING_FOR_APPROVAL, PURCHASE_ORDER_APPROVED, PURCHASE_ORDER_DRAFT, PURCHASE_ORDER_REJECTED, PURCHASE_ORDER_WAITING_FOR_APPROVAL, PURCHASE_REQUISITION_APPROVED, PURCHASE_REQUISITION_DRAFT, PURCHASE_REQUISITION_REJECTED, PURCHASE_REQUISITION_WAITING_FOR_APPROVAL, VENDOR_REQUEST_APPROVED, VENDOR_REQUEST_DRAFT, VENDOR_REQUEST_PENDING_APPROVAL, VENDOR_REQUEST_REJECTED, WORKSPACE_CLOSED, WORKSPACE_JOURNALS_GENERATING, WORKSPACE_OPEN, WORKSPACE_POSTING, WORKSPACE_REVIEW

»» workspaceFilterMode

ALL, IN_SPECIFIC_WORKSPACE, IN_WORKSPACE, NOT_IN_WORKSPACE

Parameter Constraints

Parameter

Constraints

»» page

Min: 0

»» size

Min: 1

Responses

Status

Meaning

Description

Schema

200

OK

OK

PagePayableMatchResultPurchaseOrderDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto