> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Formatos de plantilla

> Diseña plantillas de Reporter para salidas en HTML, XML, CSV, PDF o TXT — ejemplos prácticos para empezar a construir reportes para tu caso de uso.

El producto **Reporter** soporta múltiples formatos de salida, para que puedas generar exactamente el tipo de archivo que necesitas, ya sea HTML, XML, CSV, PDF o texto plano.

En esta sección, encontrarás ejemplos prácticos de cómo estructurar tus archivos `.tpl` para cada formato. Estos ejemplos son un excelente punto de partida para ayudarte a diseñar plantillas que se ajusten a tu caso de uso, sigan reglas de formato y se analicen correctamente durante la generación.

<Danger>
  El contenido del archivo **debe** seguir el formato de salida que necesitas (HTML, XML, CSV, PDF o TXT), pero asegúrate de guardarlo con una extensión `.tpl`. **Esto es requerido para que la plantilla funcione correctamente.**
</Danger>

## Ejemplos disponibles

***

<div className="space-y-6 w-full sm:max-w-4xl">
  <Columns cols={3}>
    <Card title="Plantilla HTML" icon="code" href="/es/reporter/reporter-html-template">
      Informe financiero analítico con análisis de transacciones por cuenta.
    </Card>

    <Card title="Plantilla XML" icon="file-code" href="/es/reporter/reporter-xml-template">
      Informe financiero analítico en XML con lógica personalizada y resúmenes.
    </Card>

    <Card title="Plantilla TXT" icon="file-lines" href="/es/reporter/reporter-txt-template">
      Plantilla de recibo de transacción en formato de texto plano.
    </Card>
  </Columns>
</div>

Cada página incluye el código completo de la plantilla, explicaciones campo por campo y ejemplos de salida que puedes generar a través de Reporter.

## Consejo para renderizar un recibo de transacción

***

Para generar un recibo de transacción usando Reporter, puedes enviar una solicitud como esta al endpoint [Crear un Reporte](/es/reference/reporter/create-report):

<CodeGroup>
  ```json JSON theme={null}
  {
    "templateId": "0196f99c-4d3e-73bc-b5d3-2a5bb1efbee4",
    "ledgerId": [
      "0196d97e-587e-76d8-a458-9d2517ed9aba"
    ],
    "filters": {
      "midaz_transaction": {
        "transaction": {
          "id": ["0196d983-a2c2-7d5a-a5b7-029fe0dcb710"]
        }
      }
    }
  }
  ```
</CodeGroup>

### ¿Qué hace este filtro?

El campo `filters` te permite limitar los datos usados al renderizar la plantilla. En este caso, le estás diciendo al sistema que use **solo** la transacción con el ID `0196d983-a2c2-7d5a-a5b7-029fe0dcb710`.

Eso significa que tu recibo incluirá solo esa transacción — y las operaciones vinculadas a ella — manteniendo la salida limpia y enfocada.

### ¿Qué sucede después?

Una vez que se envía la solicitud:

* La API devuelve un `reportId`.
* Puedes usar este ID para verificar el estado del reporte.
* Cuando esté listo, el reporte estará disponible para descarga.

### Por qué es importante

Este enfoque te brinda claridad y control. Cada recibo se genera de forma aislada, usando los filtros y plantillas que defines.
