Skip to content
DevelopersGet an API key

Invoices

Customer invoices, with lines, amount paid and balance.

List invoices

GET/v1/invoices

Newest first, a page at a time. See Pagination and syncing.

curl "https://harlo-api-dev.pages.dev/v1/invoices?limit=10" \
  -H "Authorization: Bearer $HARLO_API_KEY"

Filters

ParameterWhat it does
statusopen, partial, paid, or void.
load_idThe invoice for one load.
customer_idOnly this customer's invoices.

Paging, order and format

ParameterWhat it does
limitHow many to return, 1 to 100.Default: 25
cursor`next_cursor` from the previous page.
sortOrder: newest first by default.Values: -created_at, created_at, -updated_at, updated_atDefault: -created_at
updated_sinceOnly records changed at or after this ISO 8601 time.
created_sinceOnly records created at or after this ISO 8601 time.
format`csv` returns the page as a spreadsheet: nested fields become columns like `customer.name`.Values: json, csvDefault: json

Retrieve a invoice

GET/v1/invoices/{id}

curl "https://harlo-api-dev.pages.dev/v1/invoices/a3b858d0-046b-4ded-8f6f-a5a4a5837114" \
  -H "Authorization: Bearer $HARLO_API_KEY"
Example response
{
  "id": "a3b858d0-046b-4ded-8f6f-a5a4a5837114",
  "object": "invoice",
  "number": "INV-L-00001",
  "status": "paid",
  "load": {
    "id": "d614de50-90e6-4ea5-ae14-c3c5f804a121",
    "number": "L-00001",
    "customer_reference": "BLL-55102"
  },
  "customer": {
    "id": "f96a1a46-3469-450a-8a70-4e16e433b248",
    "name": "Blue Lake Logistics LLC",
    "accounting_id": null,
    "billing_email": "loads@bluelake.example"
  },
  "bill_to": "Blue Lake Logistics LLC",
  "invoice_date": "2026-11-14",
  "due_date": "2026-12-14",
  "payment_terms": null,
  "currency": "USD",
  "amount": 2760,
  "amount_paid": 2760,
  "balance": 0,
  "lines": [
    {
      "type": "Linehaul",
      "description": "Linehaul",
      "notes": "From rate confirmation",
      "quantity": 1,
      "unit_price": 2450,
      "amount": 2450
    },
    {
      "type": "Fuel Surcharge",
      "description": "Fuel Surcharge",
      "notes": "From rate confirmation",
      "quantity": 1,
      "unit_price": 310,
      "amount": 310
    }
  ],
  "notes": null,
  "void_reason": null,
  "voided_at": null,
  "created_at": "2026-11-14T07:36:19.405319+00:00",
  "updated_at": "2026-11-14T07:42:56.089893+00:00"
}

The invoice object

FieldTypeWhat it is
ididUnique id of the invoice.
objectstringAlways "invoice".
numberstringe.g. INV-L-00042.
statusstringopen (issued, not fully paid), partial, paid, or void.
loadobject
idid
numberstring, nullable
customer_referencestring, nullable
customerobject
idstring, nullable
namestring, nullable
accounting_idstring, nullable
billing_emailstring, nullable
bill_tostring, nullable
invoice_datedate, nullable
due_datedate, nullable
payment_termsstring, nullable
currencystring
amountnumber
amount_paidnumber
balancenumberStill owed. 0 when void.
linesarray of objects
typestring
descriptionstring
notesstring, nullable
quantitynumber, nullable
unit_pricenumber, nullable
amountnumber, nullable
notesstring, nullable
void_reasonstring, nullable
voided_attimestamp, nullable
created_attimestamp, nullableWhen it was created.
updated_attimestamp, nullableWhen it last changed. Use with `updated_since` to sync.
NextPayments