GET Invoice
Retrieve a single invoice by its Coupa global unique identifier (UUID).
Endpoint
|
Endpoint |
|
|
Method |
GET |
|
Scope |
csp.invoices.read |
Headers
| Header | Argument |
|---|---|
|
Authorization |
Bearer token |
|
Content-Type |
application/json |
Parameters
| Parameter | Description |
|---|---|
|
id |
Coupa global unique identifier (UUID). |
Elements
The following elements are available in the response:
| Element | Data Type | Available Options | Description |
|---|---|---|---|
|
id |
string (GUID) |
Coupa global unique identifier UUID. |
|
|
invoice_number |
string |
Invoice number. |
|
|
original_invoice_number |
string |
Original invoice number used in case of a Credit Note. |
|
|
total_with_taxes |
decimal |
Total with taxes. |
|
|
status |
string |
approved, pending_approval |
Invoice status. |
|
invoice_date |
datetime |
Date of invoice. Format: YYYY-MM-DD HH:MM:SS in UTC. |
|
|
original_invoice_date |
datetime |
Original invoice date required when is-credit-note=true. Format: YYYY-MM-DD HH:MM:SS in UTC. |
|
|
line_level_taxation |
boolean |
true, false |
Flag indicating whether taxes are provided at line level in this invoice. |
|
paid |
boolean |
true, false |
Paid status. |
|
document_type |
string |
Invoice, Credit Note |
Invoice or Credit Note. |
|
enterprise_instance_url |
string |
Customer instance URL. |
|
|
created_at |
datetime |
Automatically created by Coupa in the format YYYY-MM-DD HH:MM:SS in UTC. |
|
|
updated_at |
datetime |
Automatically created by Coupa in the format YYYY-MM-DD HH:MM:SS in UTC. |
|
|
invoice_lines |
array |
Array of invoice line items. Each line item contains: id (GUID), description (string), line_num (integer), price (decimal), total (decimal), uom (string), status (string), quantity (decimal), tax_amount (decimal). |
|
|
tax_amount |
decimal |
Tax amount (not used if tax is provided at line level). |
|
|
currency |
string |
USD, EUR, INR |
Currency code. |
|
discount_due_date |
datetime |
Discount due date calculated based on the discount payment terms. Format: YYYY-MM-DD HH:MM:SS in UTC. |
|
|
net_due_date |
datetime |
Net due date calculated based on the net payment terms. Format: YYYY-MM-DD HH:MM:SS in UTC. |
|
|
dispute_reason |
string |
Dispute reason. |
Note: All datetime values are in UTC time zone.
Get invoice
- Endpoint
-
GET
/api/v1/invoices/:id - Example cURL request
-
curl --location 'https://supplier.coupahost.com/api/v1/invoices/680fa552-3ef1-576c-b531-b743ca208134' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ••••••' - Example response
-
{ "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.amazon.com", "created_at": "2024-02-28T05:46:29Z", "updated_at": "2025-08-14T12:30:55Z", "invoice_lines": [ { "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": "" } - Example error response (401 Unauthorized)
-
{ "status": 401, "error": "Unauthorized", "message": "Invalid or expired access token." } - Example error response (403 Forbidden)
-
{ "status": 403, "error": "Forbidden", "message": "Not enough Credits available." } - Example error response (404 Not Found)
-
{ "status": 404, "error": "Not Found", "message": "Invoice not found" } - Example error response (429 Too Many Requests)
-
{ "status": 429, "error": "Too Many Requests", "message": "The API call for this client has exceeded the maximum call rate limit of 100 per minute." } - Example error response (500 Internal Server Error)
-
{ "status": 500, "error": "Internal Server Error", "message": "An unexpected error occurred. Please try again later." } - Example error response (503 Service Unavailable)
-
{ "status": 503, "error": "Service Unavailable", "message": "Service Unavailable. Please try again later." }