# List Invoices

`lawmatics_list-invoices` · Lawmatics MCP tool · Invoices

List invoices from Lawmatics with optional pagination and sorting. Each invoice includes its status, amounts in integer cents, payment terms, billed contact, and a `relationships` envelope of to-one {id,type} pointers (matter, invoice type, creator, forwarding target); use get-invoice for the full envelope including to-many relationships (time entries, expenses, transactions).

## Input

- **page** `integer` (> 0) — Page number (1-based)
- **sortBy** `string` (enum: "id", "created_at", "updated_at") — Column to sort by
- **sortOrder** `string` (enum: "asc", "desc") — Sort direction; ascending or descending

## Output

- **invoices** `array` (required) — Invoices on this page of results
  - **[]** `object`
    - **id** `string` (required) — Lawmatics invoice ID
    - **number** `number` (required) — Sequential invoice number assigned by Lawmatics
    - **status** `string` (required) — Invoice status as reported by Lawmatics (e.g. "sent")
    - **targetAccountType** `string | null` (required) — Bank account type the invoice is billed against (e.g. "operating", "trust"); null if unset
    - **paymentTerms** `string | null` (required) — Payment terms setting for the invoice (e.g. "due_date"); null if unset
    - **includeBalanceForward** `boolean` (required) — Whether the invoice includes the client's prior balance forward
    - **enableOnlinePayment** `boolean` (required) — Whether online payment is enabled for this invoice
    - **includeStatementOfAccounts** `boolean` (required) — Whether the invoice includes a statement of accounts
    - **invoicedAt** `string | null` (required) — Date the invoice was issued, as a YYYY-MM-DD date string; null if unset
    - **dueAt** `string | null` (required) — Date the invoice payment is due, as a YYYY-MM-DD date string; null if unset
    - **voidedAt** `string | null` (required) — Date the invoice was voided, as a date string; null when the invoice is not voided
    - **contactableAddress** `string | null` (required) — Billing address of the associated contact; null if unset
    - **contactableName** `string | null` (required) — Name of the contact the invoice is billed to; null if unset
    - **note** `string | null` (required) — Free-text note attached to the invoice; null if unset
    - **amountCents** `integer` (required) — Total invoiced amount in integer cents (never divided to dollars)
    - **amountPaidCents** `integer` (required) — Amount already paid, in integer cents
    - **outstandingAmountCents** `integer` (required) — Amount still outstanding, in integer cents
    - **pdfUrl** `string | null` (required) — URL to download the rendered invoice PDF; null when not generated
    - **createdAt** `string` (required) — When the invoice was created, as an ISO 8601 timestamp
    - **updatedAt** `string` (required) — When the invoice was last updated, as an ISO 8601 timestamp
    - **relationships** `object` (required) — To-one JSON:API relationship pointers as {id,type} stubs. Not materialized — follow a pointer by calling that resource's own tool. List rows carry to-one pointers only; use get-invoice for the full envelope incl. to-many (time entries, expenses, adjustments, transactions, forwarding links).
      - **invoiceType** `object | null` (required) — Invoice-type pointer; null when none
        - **id** `string` (required) — ID of the referenced Lawmatics record
        - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
      - **prospect** `object | null` (required) — Matter (Lawmatics 'prospect') this invoice belongs to; null when unlinked
        - **id** `string` (required) — ID of the referenced Lawmatics record
        - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
      - **createdBy** `object | null` (required) — Creating user pointer; null if not reported
        - **id** `string` (required) — ID of the referenced Lawmatics record
        - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
      - **forwardedTo** `object | null` (required) — Pointer to the invoice this one was forwarded to; null when not forwarded
        - **id** `string` (required) — ID of the referenced Lawmatics record
        - **type** `string` (required) — JSON:API record class of the reference (e.g. "user", "contact", "prospect", "firm"); resolve it by calling that resource's own get/find tool — this pointer is not materialized
- **pagination** `object` (required) — Pagination metadata derived from the API `meta` envelope
  - **totalPages** `number` (required) — Total number of pages available
  - **limitPerPage** `number` (required) — Maximum invoices returned per page
  - **totalEntries** `number` (required) — Total number of invoices across all pages
