*MCP › Referencia › Finanzas › Facturas*

# Listar las líneas de una factura

> Devuelve lo que se facturó, línea por línea, con su cantidad y su precio.

Los nombres son los CONGELADOS cuando se emitió la factura y pueden diferir del catálogo actual: el documento es una instantánea. No emite la configuración de impuestos por línea; los totales de la factura ya incluyen los impuestos calculados. Las líneas vienen en el orden del documento.

HERRAMIENTA `filmo_invoices_lines_list` · `invoices:read` · 120/min · Anotación del servidor: Solo lectura · Anotación del servidor: Idempotente

## Argumentos

| Nombre | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `invoiceId` | string | Sí | Identificador de la factura. |
| `limit` | integer | No | Tamaño de página (1-500). Por defecto es 50. = `50` |
| `cursor` | string | No | Cursor opaco de la página que se devuelve. Pasa el valor de `pagination.nextCursor` de la respuesta anterior; trátalo como opaco. |
| `sort` | string | No | Orden: hasta 3 campos separados por comas, cada uno con un "-" inicial para descendente (p. ej. "-updatedAt,name"). Campos ordenables: position, itemName, quantity, startDate, endDate, rentalDays, unitPrice, linePrice, resourceType, transactionType. Por defecto, "position". Los empates se resuelven por id, así que el orden es estable entre páginas, y un cursor queda ligado al orden con el que se emitió. |
| `includeTotal` | boolean | No | Ponlo en true para incluir `pagination.total`, el número de resultados que coinciden con los filtros en todas las páginas. Desactivado por defecto. = `false` |

## Resultado

En un éxito el resultado lleva `structuredContent` con `data` y `meta`. Estos son los atributos de `data`.

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `id` | string | Identificador único de la línea dentro del documento. |
| `resourceType` | string | Tipo de recurso de la línea. Las líneas de tipo section y type_group son agrupaciones de presentación sin recurso asociado. `item`, `kit`, `space`, `vehicle`, `personnel`, `service`, `custom`, `section`, `type_group` |
| `transactionType` | string | Naturaleza de la línea: rental o sale. `rental`, `sale` |
| `position` | integer | Posición de visualización de la línea dentro del documento, empezando en 0. |
| `itemId` | string | Identificador del artículo del catálogo; null si la línea no es de tipo artículo. |
| `itemName` | string | Nombre del artículo tal como era CUANDO SE EMITIÓ EL DOCUMENTO. Puede diferir del nombre actual del artículo en el catálogo: el documento es una instantánea. |
| `variantId` | string | Identificador de la variante; null si no aplica. |
| `variantName` | string | Nombre de la variante congelado en la instantánea; null si no aplica. |
| `quantity` | number | Unidades facturadas o presupuestadas en la línea. |
| `orderId` | string | Pedido del que procede la línea; null si se añadió directamente al documento. |
| `orderNumber` | string | Número de ese pedido; null si la línea no procede de uno. |
| `startDate` | string<date-time> | Inicio del periodo facturado en ISO 8601 UTC; null si la línea no tiene periodo. |
| `endDate` | string<date-time> | Fin del periodo facturado en ISO 8601 UTC; null si la línea no tiene periodo. |
| `rentalDays` | number | Días de alquiler facturados; null si no aplica. |
| `unitPrice` | string | Precio unitario neto como cadena decimal "1234.50"; null si la línea no tiene precio propio. |
| `linePrice` | string | Importe neto de la línea como cadena decimal "1234.50"; null si no se ha calculado. |
| `free` | boolean | true si la línea se factura explícitamente a cero. |
| `notes` | string | Notas de la línea; null si no hay. |

*Llamada · filmo_invoices_lines_list*

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

*Resultado (generado desde el esquema)*

```json
{
  "structuredContent": {
    "data": [
      {
        "id": "id_8f2a1c",
        "resourceType": "item",
        "transactionType": "rental",
        "position": 1,
        "itemId": "item_8f2a1c",
        "itemName": "Example",
        "variantId": "vari_8f2a1c",
        "variantName": "Example",
        "quantity": 1,
        "orderId": "orde_8f2a1c",
        "orderNumber": "<orderNumber>",
        "startDate": "2026-09-01T08:00:00Z",
        "endDate": "2026-09-01T08:00:00Z",
        "rentalDays": 1,
        "unitPrice": "1234.50",
        "linePrice": "1234.50",
        "free": true,
        "notes": "<notes>"
      }
    ],
    "pagination": {
      "nextCursor": "eyJvIjo1MH0",
      "hasMore": true,
      "total": 1
    },
    "meta": {
      "rateLimit": {
        "limit": 120,
        "remaining": 119,
        "reset": 42
      },
      "etag": "\"3sT3d9pBvZq4h2N0w8x1YkLmQ7c\""
    }
  }
}
```

## La misma operación por REST

Esta herramienta ejecuta [`GET /api/v1/invoices/{invoiceId}/lines`](https://docs.filmo.io/es/rest-api/endpoint-reference/invoices/list-the-lines-of-an-invoice).

---

URL canónica: https://docs.filmo.io/es/mcp/tools/invoices/filmo-invoices-lines-list  
Última actualización: 2026-10-25