GET Invoices
Use the Coupa Supplier Portal (CSP) REST API to access invoice data in the CSP.
Endpoint
| Method | Endpoint |
|---|---|
GET |
|
Headers
Header | Argument |
|---|---|
Authorization | Bearer token |
Content-Type | application/json |
Parameters
Parameter | Description | Data Type |
|---|---|---|
| sort_by | Order of response values. Available options: invoice_number:ASC. | string |
| page | Page of results to display. | integer |
| limit | Maximum number of items in the response. Default: 15, Max: 50. | integer |
Elements
The following elements are available for the Invoices API:
Element | Description | Data Type | Filterable | Sortable | Example values |
|---|---|---|---|---|---|
| id | Coupa global unique identifier UUID. | UUID string | Yes | Yes | fe6490ca-9647-59de-b030-0a94e99496bd |
| invoice_number | Invoice number. | varchar(255) | Yes | Yes | 8146, R43100, PTPCODAT21 |
| original_invoice_number | Original invoice number used in case of a Credit Note. | varchar(255) | Yes | Yes | 8215 |
| total_with_taxes | Total with taxes. | decimal | Yes | Yes | 2300.10 |
| status | Invoice Status. For more information about invoice statuses, see Invoice Progression through Statuses. | varchar(255) | Yes | Yes | approved |
| invoice_date | Date of Invoice. Format: YYYY-MM-DD HH:MM:SS in UTC. | datetime | Yes | Yes | 2026-01-30 20:39:12 |
| original_invoice_date | Original invoice date required when is-credit-note=true. Format: YYYY-MM-DD HH:MM:SS in UTC. | datetime | Yes | Yes | 2026-01-30 20:39:12 |
| line_level_taxation | Flag indicating whether taxes are provided at line level in this invoice. | boolean | Yes | Yes | true |
| paid | Whether the invoice is paid. | boolean | Yes | Yes | true |
| document_type | Invoice or Credit Note. | varchar(255) | Yes | Yes | Invoice |
| enterprise_instance_url | URL for your (customer) core instance. | varchar(255) | Yes | Yes | |
| created_at | Automatically created by Coupa. Format: YYYY-MM-DD HH:MM:SS in UTC. | datetime | Yes | Yes | 2026-01-30 20:39:12 |
| updated_at | Automatically created by Coupa. Format: YYYY-MM-DD HH:MM:SS in UTC. | datetime | Yes | 2026-01-30 20:39:12 | |
| invoice_lines | Array of invoice lines associated with the invoice. | Array of Invoice Line objects | No | Array of Invoice Line | |
| status | Invoice status | varchar(255) | Yes | Yes | approved, pending_approval |
| tax_amount | Tax amount (not used if tax is provided at line level) | decimal | Yes | Yes | 110.00 |
| currency | Currency code | Currency | Yes | Yes | USD, EUR, INR |
| discount_due_date | Discount Due Date calculated based on the discount payment terms. Format: YYYY-MM-DD HH:MM:SS in UTC. | datetime | Yes | Yes | 2026-01-30 20:39:12 |
| net_due_date | Net Due Date calculated based on the net payment terms. Format: YYYY-MM-DD HH:MM:SS in UTC. | datetime | Yes | Yes | 2026-01-30 20:39:12 |
| dispute_reason | Dispute reasons. | string | No |
Get invoices
- Endpoint
GET
/api/v1/invoices- Example cURL request
curl --location 'https://supplier.coupahost.com/api/v1/invoices?status=pending_approval' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ••••••'- Example response
Response
200 OK
{ "data": [ // ... invoice data objects ... { "id": "680fa552-3ef1-576c-b531-b743ca208134", "invoice_number": "feb27_e2e_1_update2", "original_invoice_number": "fdelc-dchrl-qisty-xeskl", "total_with_taxes": 100, "status": "approved", "invoice_date": "2024-02-27T00:00:00Z", "original_invoice_date": "2024-02-27T11:42:15Z", "line_level_taxation": true, "paid": false, "document_type": "Invoice", "enterprise_instance_url": "https://www.website.com", "created_at": "2024-02-28T05:46:29Z", "updated_at": "2025-08-14T12:30:55Z", "invoice_lines": [ // ... invoice_lines data objects ... { "id": "684dd604-77e1-55c1-939e-4aebd152fd0a", "description": "Impressivo 1000 motherboard", "line_num": 1, "price": 10, "total": 100, "uom": "EA", "status": "missing_po", "quantity": 10, "tax_amount": 0 } ], "tax_amount": 0, "currency": "USD", "discount_due_date": "2024-03-18T23:59:59Z", "net_due_date": null, "dispute_reason": "" }, ..., ..., ..., ..., ..., ], "total": 25, "limit": 20, "current": 1, "num_pages": 2 }- GET request examples
Get all invoices having
status=pending_approvaland sorted byinvoice_numberin ascending order:curl --location 'https://supplier.coupahost.com/api/v1/invoices?status=pending_approval&sort_by= invoice_number:ASC' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ••••••'Get all invoices having
currency=USDorpaid=true:curl --location 'https://supplier.coupahost.com/api/v1/invoices?currency=USD&paid=true' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ••••••'Get all invoices having
currency=USDorstatus=pending_approval:curl --location 'https://supplier.coupahost.com/api/v1/invoices?currency=USD&status=pending_approval' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ••••••'