GET Invoices

Use the Coupa Supplier Portal (CSP) REST API to access invoice data in the CSP.

Endpoint

MethodEndpoint

GET

/api/v1/invoices

Headers

Header

Argument

Authorization

Bearer token

Content-Type

application/json

Parameters

Table 1. Query parameters

Parameter

Description

Data Type
sort_byOrder of response values. Available options: invoice_number:ASC.string
pagePage of results to display.integer
limitMaximum 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 stringYesYesfe6490ca-9647-59de-b030-0a94e99496bd
invoice_number

Invoice number.

varchar(255)YesYes8146, R43100, PTPCODAT21
original_invoice_number

Original invoice number used in case of a Credit Note.

varchar(255)YesYes8215
total_with_taxes

Total with taxes.

decimalYesYes2300.10
status

Invoice Status.

For more information about invoice statuses, see Invoice Progression through Statuses.

varchar(255)YesYesapproved
invoice_date

Date of Invoice.

Format: YYYY-MM-DD HH:MM:SS in UTC.

datetimeYesYes2026-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.

datetimeYesYes2026-01-30 20:39:12
line_level_taxation

Flag indicating whether taxes are provided at line level in this invoice.

booleanYesYestrue
paid

Whether the invoice is paid.

booleanYesYestrue
document_type

Invoice or Credit Note.

varchar(255)YesYesInvoice
enterprise_instance_url

URL for your (customer) core instance.

varchar(255)YesYes
created_at

Automatically created by Coupa.

Format: YYYY-MM-DD HH:MM:SS in UTC.

datetimeYesYes2026-01-30 20:39:12
updated_at

Automatically created by Coupa.

Format: YYYY-MM-DD HH:MM:SS in UTC.

datetimeYes2026-01-30 20:39:12
invoice_lines

Array of invoice lines associated with the invoice.

Array of Invoice Line objectsNoArray of Invoice Line
status

Invoice status

varchar(255)YesYesapproved, pending_approval
tax_amount

Tax amount (not used if tax is provided at line level)

decimalYesYes110.00
currency

Currency code

CurrencyYesYesUSD, EUR, INR
discount_due_date

Discount Due Date calculated based on the discount payment terms.

Format: YYYY-MM-DD HH:MM:SS in UTC.

datetimeYesYes2026-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.

datetimeYesYes2026-01-30 20:39:12
dispute_reason

Dispute reasons.

stringNo

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
  1. Get all invoices having status=pending_approval and sorted by invoice_number in 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 ••••••'
    
  2. Get all invoices having currency=USD or paid=true:

    curl --location 'https://supplier.coupahost.com/api/v1/invoices?currency=USD&paid=true' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer ••••••'
    
  3. Get all invoices having currency=USD or status=pending_approval:

    curl --location
    'https://supplier.coupahost.com/api/v1/invoices?currency=USD&status=pending_approval' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer ••••••'