# Retrieve a single invoice by invoice number

Returns complete invoice details including headers, line items, payments, and totals for a specific invoice number.

Endpoint: GET /v1/{countryCode}/invoices/{invoiceNumber}
Version: 0.0.1
Security: jwt-authorizer

## Path parameters:

  - `countryCode` (string, required)
    Enum: "au", "nz"

  - `invoiceNumber` (string, required)

## Response 200 fields (application/json):

  - `number` (string, required)
    Unique invoice number.
    Example: "INV-2025-00123"

  - `type` (string, required)
    The type of invoice document.
    Enum: "CASH_SALE_INVOICE", "CUSTOMER_ORDER_DEPOSIT", "TAX_INVOICE", "CASH_ON_DELIVERY_INVOICE", "CREDIT_NOTE", "CASH_REFUND"

  - `date` (string)
    Date the invoice was issued.
    Example: "2025-07-15"

  - `dueDate` (string)
    Payment due date for the invoice.
    Example: "2025-08-15"

  - `orderedDate` (string)
    Date the order was placed.
    Example: "2025-07-14"

  - `orderNumber` (string)
    Associated order number.
    Example: "ORD-98765"

  - `originalNumber` (string)
    Reference to the original invoice (e.g., for credit notes).
    Example: "INV-2025-00100"

  - `originalType` (string)
    Invoice type of the original document.
    Example: "TAX_INVOICE"

  - `quoteNumber` (string)
    Associated quote number.
    Example: "QTE-2025-00010"

  - `jobNumber` (string)
    Associated job number.
    Example: "JOB-001"

  - `orderStage` (string)
    Current stage of the order.
    Example: "COMPLETE"

  - `fulfillmentType` (string)
    How the order was or will be fulfilled.
    Enum: "PICKUP", "DELIVERY"

  - `isSuppressed` (boolean)
    Whether the invoice is suppressed from standard outputs.

  - `isToolHire` (boolean)
    Whether this invoice relates to a tool hire transaction.

  - `handlingFeeRate` (number)
    Handling fee rate applied to the invoice.
    Example: 0.02

  - `purchaseOrderNumber` (string)
    Customer's purchase order reference number.
    Example: "PO-2025-XYZ"

  - `departmentType` (string)
    Department type associated with the invoice.
    Example: "PLUMBING"

  - `salesPersonName` (string)
    Name of the salesperson who processed the invoice.
    Example: "Jane Smith"

  - `salesPersonNumber` (string)
    Identifier of the salesperson.
    Example: "SP-001"

  - `receivedByName` (string)
    Name of the person who received the order.
    Example: "John Doe"

  - `customerCardId` (string)
    Customer identity card reference.
    Example: "CID-001"

  - `reeceId` (string)
    Reece-specific internal identifier for the contact who placed the order.
    Example: "REECE-001"

  - `comments` (array)
    Free-text comments on the invoice.

  - `customer` (object)

  - `customer.number` (string)
    Example: "C001234"

  - `customer.name` (string)
    Example: "Acme Plumbing"

  - `customer.abn` (string)
    Australian Business Number.
    Example: "12345678901"

  - `customer.homeBranchNumber` (string)
    Example: "MEL01"

  - `customer.homeBranch` (object)

  - `customer.homeBranch.number` (string)
    Example: "MEL01"

  - `customer.homeBranch.name` (string)
    Example: "Melbourne CBD"

  - `customer.homeBranch.phoneNumber` (string)
    Example: "03 9000 0000"

  - `customer.isGstExempt` (boolean)

  - `customer.tradeType` (string)
    Example: "TRADE"

  - `customer.gstRate` (number)
    Example: 0.1

  - `customer.paymentTermsDays` (integer)
    Number of days allowed for payment.
    Example: 30

  - `customer.invoiceType` (string)
    Example: "TAX_INVOICE"

  - `customerContact` (object)

  - `customerContact.firstName` (string)
    Example: "John"

  - `customerContact.lastName` (string)
    Example: "Doe"

  - `customerContact.preferredPhoneNumber` (string)
    Example: "03 9000 0000"

  - `customerContact.mobilePhoneNumber` (string)
    Example: "0400 000 000"

  - `customerContact.emailAddress` (string)
    Example: "john.doe@acme.com"

  - `supplier` (object)

  - `supplier.id` (integer)
    Example: 1

  - `supplier.shortName` (string)
    Example: "REECE"

  - `supplier.name` (string)
    Example: "Reece Pty Ltd"

  - `supplier.abnPrefix` (string)
    Label prefix for ABN display.
    Example: "ABN"

  - `supplier.abn` (string)
    Example: "98765432101"

  - `supplier.acnPrefix` (string)
    Label prefix for ACN display.
    Example: "ACN"

  - `supplier.acn` (string)
    Example: "123456789"

  - `supplier.telephoneNumber` (string)
    Example: "03 9000 0000"

  - `supplier.websiteUrl` (string)
    Example: "https://www.reece.com.au"

  - `sellingBranch` (object)

  - `invoiceAddress` (object)

  - `invoiceAddress.line1` (string)
    Example: "123 Main Street"

  - `invoiceAddress.line2` (string)
    Example: "Level 2"

  - `invoiceAddress.suburb` (string)
    Example: "Melbourne"

  - `invoiceAddress.state` (string)
    Example: "VIC"

  - `invoiceAddress.postcode` (string)
    Example: "3000"

  - `deliveryDetails` (object)

  - `deliveryDetails.type` (string)
    Enum: "BY_SUPPLIER", "BY_COURIER", "CUSTOMER_PICKUP", "BY_REECE"

  - `deliveryDetails.address` (object)

  - `deliveryDetails.siteContactName` (string)
    Example: "John Doe"

  - `deliveryDetails.siteContactPhoneNumber` (string)
    Example: "0400 000 000"

  - `deliveryDetails.requiredDeliveryDate` (string)
    Example: "2025-07-16"

  - `deliveryDetails.deliveredDate` (string)
    Example: "2025-07-16"

  - `totals` (object)

  - `totals.net` (object)
    An amount with GST breakdown.

  - `totals.net.excludingGst` (number)
    Example: 450

  - `totals.net.gst` (number)
    Example: 45

  - `totals.net.includingGst` (number)
    Example: 495

  - `totals.document` (object)
    An amount with GST breakdown.

  - `totals.subtotal` (object)
    An amount with GST breakdown.

  - `totals.handlingFee` (object)
    An amount with GST breakdown.

  - `totals.deliveryFee` (object)
    An amount with GST breakdown.

  - `totals.creditCardSurcharge` (object)

  - `totals.creditCardSurcharge.cardType` (string)
    Example: "VISA"

  - `totals.creditCardSurcharge.amount` (object)
    An amount with GST breakdown.

  - `totals.rounding` (number)
    Example: 0.01

  - `totals.settlementDiscount` (number)
    Example: 5

  - `lineItems` (array)
    Line items on the invoice.

  - `lineItems.number` (integer, required)
    Line number on the invoice.
    Example: 1

  - `lineItems.lineItemType` (string)
    Type of line item.
    Enum: "KIT_HEADER", "KIT_COMPONENT", "STANDARD"

  - `lineItems.productNumber` (string, required)
    Product code.
    Example: "P987654"

  - `lineItems.productDescription` (string)
    Description of the product.
    Example: "Copper Pipe 15mm"

  - `lineItems.unitOfMeasure` (string)
    Unit of measure for the product.
    Example: "EA"

  - `lineItems.quantity` (number, required)
    Quantity ordered.
    Example: 10

  - `lineItems.priceBasis` (integer)
    Pricing basis code.
    Example: 1

  - `lineItems.priceOrigin` (string,null)
    Pricing origin code indicating the source of the price.
    Example: "BC"

  - `lineItems.priceOverriddenFlag` (string)
    Indicates whether the price was overridden and by what means.
    Example: "B"

  - `lineItems.unitPriceExcludingGst` (number)
    Unit price excluding GST.
    Example: 45

  - `lineItems.lineTotal` (object)
    Total amount for this line (excluding and including GST).

  - `lineItems.lineTotal.excludingGst` (number)
    Example: 450

  - `lineItems.lineTotal.gst` (number)
    Example: 45

  - `lineItems.lineTotal.includingGst` (number)
    Example: 495

  - `lineItems.isGstExempt` (boolean)
    Whether this line is GST exempt.

  - `lineItems.unitCost` (number)
    Unit cost of the product.
    Example: 32

  - `lineItems.branchSupplyingStock` (string)
    Branch that supplied the stock for this line.
    Example: "MEL01"

  - `lineItems.catalogueNumber` (string)
    Catalogue reference number.
    Example: "CAT-001"

  - `lineItems.chargeType` (string)
    Charge type code applied to this line.
    Example: "STANDARD"

  - `lineItems.sourceDocument` (object)

  - `lineItems.sourceDocument.reference` (string)
    Reference identifier from the source document.
    Example: "ORD-98765"

  - `lineItems.sourceDocument.type` (string)
    Type of the source document.
    Example: "SALES_ORDER"

  - `lineItems.sourceDocument.lineNumber` (integer)
    Line number on the source document.
    Example: 1

  - `lineItems.originalInvoiceNumber` (string)
    Original invoice number this line relates to (e.g., for credits).
    Example: "INV-2025-00100"

  - `lineItems.kitComponents` (array)
    Kit components for KIT_HEADER line items.

  - `lineItems.kitComponents.number` (integer)
    Line number of the kit component.
    Example: 2

  - `lineItems.kitComponents.productNumber` (string)
    Product code of the kit component.
    Example: "P111111"

  - `lineItems.kitComponents.productDescription` (string)
    Description of the kit component product.
    Example: "Fitting 15mm"

  - `lineItems.kitComponents.unitOfMeasure` (string)
    Unit of measure.
    Example: "EA"

  - `lineItems.kitComponents.quantity` (number)
    Quantity of this component.
    Example: 2

  - `lineItems.kitComponents.unitCost` (number)
    Unit cost of the component.
    Example: 5

  - `lineItems.kitComponents.priceBasis` (integer)
    Pricing basis code.
    Example: 1

  - `lineItems.kitComponents.sourceDocument` (object)

  - `payments` (array)
    Payments applied to this invoice.

  - `payments.type` (string)
    Example: "CREDIT_CARD"

  - `payments.typeCode` (string)
    Example: "CC"

  - `payments.creditCardType` (string)
    Example: "VISA"

  - `payments.baseAmount` (number)
    Base payment amount (before surcharges).
    Example: 495

  - `payments.amexSurcharge` (number)

  - `payments.totalAmount` (number)
    Total payment amount (including surcharges).
    Example: 495

  - `customerOrderBalance` (object)

  - `customerOrderBalance.customerOrderNumber` (string)
    Example: "CO-2025-001"

  - `customerOrderBalance.customerOrderValue` (number)
    Example: 1000

  - `customerOrderBalance.paymentsReceived` (number)
    Example: 495

  - `customerOrderBalance.adjustment` (number)

  - `customerOrderBalance.balanceOwing` (number)
    Example: 505

  - `customerOrderBalance.balanceOwingFormatted` (string)
    Human-readable formatted balance.
    Example: "$505.00"

  - `customerOrderBalance.asOf` (string)
    Example: "2025-07-15"

  - `customFields` (object)

  - `customFields.costCentre` (string)
    Example: "CC-001"

  - `transactionRequirements` (array)
    Additional customer transaction requirements.

  - `transactionRequirements.label` (string)
    Example: "Cost Centre"

  - `transactionRequirements.value` (string)
    Example: "CC-001"

## Response 400 fields (application/json):

  - `errorCode` (string, required)
    Stable machine-readable error identifier.
    Example: "RESOURCE_NOT_FOUND"

  - `message` (string, required)
    Human-readable error description.
    Example: "The requested invoice was not found."

  - `status` (integer)
    HTTP status code.
    Example: 404

  - `timestamp` (string)
    Example: "2026-06-04T10:15:30Z"

  - `instance` (string)
    The request path that caused the error.
    Example: "/v1/au/invoices/INV-2025-00123"

  - `details` (array, required)

  - `details.field` (string)
    Example: "invoiceNumber"

  - `details.issue` (string)
    Example: "Must not be empty"

## Response 401 fields (application/json):

  - `errorCode` (string, required)
    Stable machine-readable error identifier.
    Example: "RESOURCE_NOT_FOUND"

  - `message` (string, required)
    Human-readable error description.
    Example: "The requested invoice was not found."

  - `status` (integer)
    HTTP status code.
    Example: 404

  - `timestamp` (string)
    Example: "2026-06-04T10:15:30Z"

  - `instance` (string)
    The request path that caused the error.
    Example: "/v1/au/invoices/INV-2025-00123"

  - `details` (array)


