Get Invoice


The following endpoint can be used to retrieve the details of an invoice within the Hyfin application.


Endpoint

The following endpoint can be used to retrieve an invoice. You must replace the {base_url} , {external_id} and {site_id} variables with the appropriate values.

GET
{base_url}/api/v3/site/{site_id}/invoice/{external_id}
Request
No body is required for this API call
Response
Field
Type
Required
Description
external_id
String
The unique invoice id from the source system/database. If we detect a record with the same `external_id`, it will be updated, otherwise it will be added.
invoice_number
String
The unique number assigned from the source system and displayed to the customer on the invoice.
totals
The total amounts on the invoice.
customer
--
A reference to the customer record. Omit this field to receive a link to the invoice.
invoice_term_name
String
--
The invoice term name for the invoice. Defaults to the customer invoice term if it exists, unless `null` is passed in.
lines
--
A list of line items on the invoice. Required if `description` is not passed in.
description
String
--
A short description of the products/services on the invoice. Required if `lines` are not passed in.
invoice_date
Date
--
The date of the invoice. If set in the future, the request will not be sent until that date. Defaults to today if left blank. Format = YYYY-MM-DD
due_date
Date
--
The date the invoice is due. Will be overwritten if `invoice_term_name` is set and returns a different due date.
Default = `Today (2026-05-11)`
Format = YYYY-MM-DD
expire_at
Date
--
The date the invoice will expire. The request will be cancelled if it hasn't been completed. Format = YYYY-MM-DD
po_number
String
--
The unique purchase order number assigned from the source system and displayed to the customer on the invoice.
customer_memo
String
--
A note presented to the customer on the bottom of the invoice.
internal_memo
String
--
A memo added to the bottom of the invoice. Only visible to internal staff, never displayed to customers.
active
Boolean
--
This flag represents whether the invoice record is active and available to be used or not.
Default = `true`
payments
--
A list of payments made on the invoice.
webhook_url
String
--
The url to post to when certain actions are performed on the invoice. Notifications will be sent when a text/email fails, a customer clicks a link, or they make a payment.
attachments
String [ ]
--
A list of attachment urls.
created_at
Date
--
The date the invoice was created.
updated_at
Date
--
The date the invoice was last updated.
Sample Response
			
				{
  "_id": "61f32dc2f62bdc6a48945067",
  "external_id": "439772921",
  "invoice_number": "12345",
  "description": "",
  "customer_memo": "",
  "internal_memo": "",
  "due_date": "2021-10-01",
  "totals": {
    "taxes": 2.85,
    "total": 30
  },
  "customer": {
    "external_id": "39772634",
    "first_name": "John",
    "last_name": "Doe",
    "mobile_phone": "111-222-3333",
    "email": "johndoe@abc.com"
  },
  "lines": [
    {
      "description": "",
      "product": {
        "external_id": "62331255",
        "name": "Mens Large T-shirt",
        "unit_price": 15
      },
      "unit_price": 15,
      "qty": 2,
      "total": 30
    }
  ],
  "payments": [
    {
      "external_id": "72345322",
      "payment_type": "payment_card",
      "payment_sub_type": "amex",
      "display_name": "AMEX ****** 3422",
      "last_4": "3422",
      "total": 30,
      "paid_on": "2021-03-15T16:32:11Z",
      "status": "captured",
      "active": true
    }
  ],
  "notifications": [
    {
      "error": false,
      "value": "test@test.com",
      "description": "Email to test@test.com sent",
      "at": "2021-03-15T13:32:11Z"
    },
    {
      "error": false,
      "value": "999-123-4567",
      "description": "Text to 999-123-4567 sent",
      "at": "2021-03-15T13:32:11Z"
    }
  ],
  "webhook_url": "https://yourcompany.com/webhook",
  "created_at": "2025-05-30T19:19:44.143Z",
  "updated_at": "2025-05-30T19:19:44.143Z"
}