*MCP › Reference › Finance › Supplier invoices*

# List supplier invoices

> Returns the invoices received from suppliers, cursor-paginated, with the same compact card as the detail read.

Filter by status within the purchasing cycle, supplier contact, linked sales order, project, invoice date and due date. Sorted by invoice date, most recent first.

TOOL `filmo_supplier_invoices_list` · `supplier-invoices:read` · 120/min · May need an add-on · Server annotation: Read-only · Server annotation: Idempotent

## Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | integer | No | Page size (1-500). Defaults to 50. = `50` |
| `cursor` | string | No | Opaque cursor of the page to return. Pass the value of `pagination.nextCursor` from the previous response; treat it as opaque. |
| `sort` | string | No | Sort order: up to 3 comma-separated fields, each with a leading "-" for descending (e.g. "-updatedAt,name"). Sortable fields: createdAt, updatedAt, invoiceDate, dueDate. Defaults to "-invoiceDate". Ties are broken by id, so the order is stable across pages, and a cursor is bound to the sort it was issued with. |
| `status` | string | No | Filter by status within the purchasing cycle: draft, validated or voided. `draft`, `validated`, `voided` |
| `statuses` | string[] | No | Filter by status, as a list: repeat the parameter or separate the values with commas. Accepts up to 50 values and returns whatever matches any of them. `draft`, `validated`, `voided` |
| `contactId` | string | No | Filter by identifier of the supplier contact that issued the invoice. |
| `contactIds` | string[] | No | Filter by contactId, as a list: repeat the parameter or separate the values with commas. Accepts up to 50 values and returns whatever matches any of them. |
| `orderId` | string | No | Filter by identifier of the sales order the invoice is linked to. |
| `orderIds` | string[] | No | Filter by orderId, as a list: repeat the parameter or separate the values with commas. Accepts up to 50 values and returns whatever matches any of them. |
| `projectId` | string | No | Filter by identifier of the project linked to the invoice, directly or through its order. |
| `projectIds` | string[] | No | Filter by projectId, as a list: repeat the parameter or separate the values with commas. Accepts up to 50 values and returns whatever matches any of them. |
| `includeTotal` | boolean | No | Set it to true to include `pagination.total`, the number of results that match the filters across all pages. Off by default. = `false` |
| `dateFilters` | object | No | Date filters by field. A bare day (YYYY-MM-DD) is read in the business timezone; an ISO 8601 instant with offset is applied as is by gte, lte, gt and lt, while on widens it to the whole business day that contains it. Fields: created, due, invoiceDate, updated. |
| `dateFilters.created` | object | No |  |
| `dateFilters.created.gte` | string | No | From this day or instant, inclusive. |
| `dateFilters.created.lte` | string | No | Up to this day or instant, inclusive. |
| `dateFilters.created.gt` | string | No | Strictly after; a bare day means after the end of that day. |
| `dateFilters.created.lt` | string | No | Strictly before; a bare day means before the start of that day. |
| `dateFilters.created.on` | string | No | Exactly that day; an instant means the whole business day that contains it. |
| `dateFilters.due` | object | No |  |
| `dateFilters.due.gte` | string | No | From this day or instant, inclusive. |
| `dateFilters.due.lte` | string | No | Up to this day or instant, inclusive. |
| `dateFilters.due.gt` | string | No | Strictly after; a bare day means after the end of that day. |
| `dateFilters.due.lt` | string | No | Strictly before; a bare day means before the start of that day. |
| `dateFilters.due.on` | string | No | Exactly that day; an instant means the whole business day that contains it. |
| `dateFilters.invoiceDate` | object | No |  |
| `dateFilters.invoiceDate.gte` | string | No | From this day or instant, inclusive. |
| `dateFilters.invoiceDate.lte` | string | No | Up to this day or instant, inclusive. |
| `dateFilters.invoiceDate.gt` | string | No | Strictly after; a bare day means after the end of that day. |
| `dateFilters.invoiceDate.lt` | string | No | Strictly before; a bare day means before the start of that day. |
| `dateFilters.invoiceDate.on` | string | No | Exactly that day; an instant means the whole business day that contains it. |
| `dateFilters.updated` | object | No |  |
| `dateFilters.updated.gte` | string | No | From this day or instant, inclusive. |
| `dateFilters.updated.lte` | string | No | Up to this day or instant, inclusive. |
| `dateFilters.updated.gt` | string | No | Strictly after; a bare day means after the end of that day. |
| `dateFilters.updated.lt` | string | No | Strictly before; a bare day means before the start of that day. |
| `dateFilters.updated.on` | string | No | Exactly that day; an instant means the whole business day that contains it. |

## Result

On success the result carries `structuredContent` with `data` and `meta`. These are the attributes of `data`.

| Name | Type | Description |
| --- | --- | --- |
| `id` | string | Supplier invoice identifier. |
| `supplierInvoiceNumber` | string | Number the supplier put on the invoice; null if it was not recorded. |
| `status` | string | Status of the invoice within the purchasing cycle. |
| `createdAt` | string<date-time> | Creation date in ISO 8601 UTC. |
| `updatedAt` | string<date-time> | Last modification date in ISO 8601 UTC. |

*Call · filmo_supplier_invoices_list*

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_supplier_invoices_list",
    "arguments": {
      "limit": 20
    }
  }
}
```

*Result (generated from the schema)*

```json
{
  "structuredContent": {
    "data": [
      {
        "id": "id_8f2a1c",
        "supplierInvoiceNumber": "<supplierInvoiceNumber>",
        "status": "<status>",
        "createdAt": "2026-09-01T08:00:00Z",
        "updatedAt": "2026-09-01T08:00:00Z"
      }
    ],
    "pagination": {
      "nextCursor": "eyJvIjo1MH0",
      "hasMore": true,
      "total": 1
    },
    "meta": {
      "rateLimit": {
        "limit": 120,
        "remaining": 119,
        "reset": 42
      }
    }
  }
}
```

## The same operation by REST

This tool runs [`GET /api/v1/supplier-invoices`](https://docs.filmo.io/rest-api/endpoint-reference/supplier-invoices/list-supplier-invoices).

---

Canonical URL: https://docs.filmo.io/mcp/tools/supplier-invoices/filmo-supplier-invoices-list  
Last updated: 2026-10-25