Invoice API

Get detailed invoice information for orders placed with ABC Supply. Receive invoice history, invoice details, invoice PDFs, and invoice webhooks.

The Get Invoice History endpoint returns invoice information for a speficied datetime range. The response includes details from the original order, the accounts associated with the invoice, and applicable invoice amounts.

INVOICE API

Get Invoice History

GET /invoice/v1/invoices/{invoiceId}

Get invoice information by invoice ID

Authorization

For Individuals and Businesses, use OAuth 2.0 server or user token with the invoice.history.read scope.

For Third-Party Aggregators, use OAuth 2.0 user token with the invoice.history.read scope.

Request

URI Parameters

The unique identifier {billToAccount} for a Bill-To account number to which the user has access.

Query Parameters for Get Invoice History

Name

Type

Description

startDate

string

The earliest date requested for orders in response, based on order creation date, formatted as YYYY-MM-DDThh:mm:ssZ (e.g., 2024-01-31T00:00:00Z).

endDate

string

The latest date requested for orders in response, based on order creation date, formatted as YYYY-MM-DDThh:mm:ssZ (e.g., 2024-12-31T00:00:00Z).

itemsPerPage

integer

The number of items per page to return in the response.

pageNumber

integer

The requested page number to return in the response.

Example Request

Get Invoice History request.

GET /api/invoice/v1/invoices/history/:billToAccount?startDate=2025-11-01T00:00:00Z&endDate=2025-11-30T00:00:00Z&itemsPerPage=20&pageNumber=1
HTTP/1.1
Host: partners.abcsupply.com
Authorization: Bearer <TOKEN>
Expand

Response

Example Response

Get Invoice by Invoice ID response payload.

{
    "pagination": {
        "pageNumber": 1,
        "itemsPerPage": 20,
        "totalPages": 1,
        "totalItems": 2
    },
    "items": [

        {
            "invoiceNumber": "2002682539-001",
            "invoiceDate": "2025-11-12T00:00:00.000Z",
            "orderNumber": "2002682539",
            "orderName": "Test CP 2 Order",
            "orderDate": "2025-11-12T00:00:00.000Z",
            "purchaseOrderNumber": "123445533",
            "salesType": "DELIVERY",
            "isCreditMemo": false,
            "orginalInvoiceReference": null,
            "salesRep": {
                "userId": "JD012345",
                "fullName": "Doe, John A"
            },
            "shipTo": {
                "number": "2011865-2",
                "name": "Team Dm Constructionshop"
            },
            "branchNumber": "118",
            "shipment": {
                "shipmentNumber": "2002682539-001",
                "shipmentDate": "2025-11-12T00:00:00.000Z"
            },
            "subTotal": 732.41,
            "taxAmount": 75.07,
            "total": 807.48
        },
        {
            "invoiceNumber": "2002669473-001",
            "invoiceDate": "2025-11-09T00:00:00.000Z",
            "orderNumber": "2002669473",
            "orderName": "Test CP 2 Demo CPU",
            "orderDate": "2025-11-09T00:00:00.000Z",
            "purchaseOrderNumber": "123445533",
            "salesType": "CPU",
            "isCreditMemo": false,
            "orginalInvoiceReference": null,
            "salesRep": {
                "userId": null,
                "fullName": "House - Murray"
            },
            "shipTo": {
                "number": "2011865-2",
                "name": "Team Dm Constructionshop"
            },
            "branchNumber": "118",
            "shipment": {
                "shipmentNumber": "2002669473-001",
                "shipmentDate": "2025-11-09T00:00:00.000Z"
            },
            "subTotal": 206.7,
            "taxAmount": 15.81,
            "total": 222.51
        }
    ]
}
Expand

Name

Type

Description

pagination

object

The object describing the pagination details.

pagination.pageNumber

integer

The current page number returned in the response.

pagination.itemsPerPage

integer

The number of items per page of the response.

pagination.totalPages

integer

The total number of pages meeting the request criteria.

pagination.totalItems

integer

The total number of items meeting the request criteria.

items

object

The list of invoices meeting the request criteria.

items[].invoiceNumber

string

The ABC Supply invoice number.

items[].invoiceDate

string

The date the order was invoiced.

items[].orderNumber

string

The ABC Supply order number.

items[].orderName

string

The customer-specified order or job name.

items[].orderDate

string

The date the order was placed.

items[].purchaseOrderNumber

string

The customer-specified purchase order number.

items[].salesType

string

The delivery type for the order.

items[].isCreditMemo

boolean

The boolean specifying whether or not the invoice is a credit memo.

items[].orginalInvoiceReference

string

The reference to the original ABC Supply invoice number, if applicable.

items[].salesRep

object

The object containing ABC Supply sales representative information.

items[].salesRep.userId

string

The userId for the sales rep.

items[].salesRep.fullName

string

The full name of the sales rep.

items[].shipTo

object

The object containing details about the ABC Supply customer Ship-To account.

items[].shipTo.number

string

The Ship-To account number.

items[].shipTo.name

string

The Ship-To account name.

items[].branchNumber

string

The ABC Supply branch number where the order was placed.

items[].shipment

object

The object containing shipment information.

items[].shipment.shipmentNumber

string

The shipment number.

items[].shipment.shipmentDate

string

The date the order was shipped.

items[].subTotal

float

The subtotal for the invoice.

items[].taxAmount

float

The tax amount for the invoice.

items[].total

float

The total for the invoice.

HTTP Status Codes

Code

Status

Description

200

OK

The request and response were successfully sent.

400

Bad Request

Confirm the request body and parameters are formatted correctly.

403

Forbidden

The user account does not have access to view data based on provided request parameters.

404

Not Found

The data requested was not found. Please verify the request parameters are correct.

502

Bad Gateway

The server was unable to complete the request due to upstream errors. Try again shortly.