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} , {_id} and {site_id} variables with the appropriate values.

GET
{base_url}/api/v4/site/{site_id}/invoice/{_id}
Request
No body is required for this API call
Response
Field
Type
Required
Description
_id
String
The id of the invoice. This field is auto generated by the system and is not required when creating a new invoice, but it is required when updating an existing invoice.
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. Validated against the sum of the line items found in `lines`.
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.
created_at
Date
--
The date the invoice was created.
updated_at
Date
--
The date the invoice was last updated.
attachment_refs
--
A list of attachments.
bill_to_customer
--
The customer to bill, if different than the customer.
bill_to
--
Optional overrides for the Bill To section of the invoice. If bill_to_customer is provided, this object will be merged with the customer's information and can be used to override specific fields. If bill_to_customer is not provided, the fields in this object will be used as the Bill To information on the invoice.
sold_to
--
Optional overrides for the Sold To / Customer section of the invoice.
Sample Response
			
				{
  "_id": "61f32dc2f62bdc6a48945067",
  "invoice_number": "12345",
  "description": "",
  "customer_memo": "",
  "internal_memo": "",
  "due_date": "2021-10-01",
  "totals": {
    "taxes": 2.85,
    "total": 30
  },
  "customer": {
    "_id": "61f32dc2f62bdc6a48951255",
    "first_name": "John",
    "last_name": "Doe",
    "mobile_phone": "111-222-3333",
    "email": "johndoe@abc.com"
  },
  "lines": [
    {
      "description": "",
      "product": {
        "_id": "62166eda3a8c0517866b9b46",
        "name": "Mens Large T-shirt",
        "unit_price": 15
      },
      "unit_price": 15,
      "qty": 2,
      "total": 30
    }
  ],
  "payments": [
    {
      "_id": "62166eda3a8c0517866b9r23",
      "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"
}