> ## 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 template

> Desenhe templates do Reporter para saídas em HTML, XML, CSV, PDF ou TXT — exemplos práticos para começar a montar relatórios para seu caso de uso.

O produto **Reporter** suporta múltiplos formatos de saída, permitindo que você gere exatamente o tipo de arquivo que precisa, seja HTML, XML, CSV, PDF ou texto puro.

Nesta seção, você encontrará exemplos práticos de como estruturar seus arquivos `.tpl` para cada formato. Esses exemplos são um ótimo ponto de partida para ajudá-lo a projetar templates que se adequem ao seu caso de uso, sigam as regras de formatação e sejam processados corretamente durante a geração.

<Danger>
  O conteúdo do arquivo **deve** seguir o formato de saída desejado (HTML, XML, CSV, PDF ou TXT), mas certifique-se de salvá-lo com a extensão `.tpl`. **Isso é obrigatório para que o template funcione corretamente.**
</Danger>

## Exemplos disponíveis

***

<div className="space-y-6 w-full sm:max-w-4xl">
  <Columns cols={3}>
    <Card title="Template HTML" icon="code" href="/pt/reporter/reporter-html-template">
      Relatório financeiro analítico com análise de transações por conta.
    </Card>

    <Card title="Template XML" icon="file-code" href="/pt/reporter/reporter-xml-template">
      Relatório financeiro analítico em XML com lógica customizada e resumos.
    </Card>

    <Card title="Template TXT" icon="file-lines" href="/pt/reporter/reporter-txt-template">
      Template de comprovante de transação em formato texto puro.
    </Card>
  </Columns>
</div>

Cada página inclui o código completo do template, explicações campo a campo e exemplos de saída que você pode gerar pelo Reporter.

## Dica para gerar um comprovante de transação

***

Para gerar um comprovante de transação usando o Reporter, você pode enviar uma requisição como esta para o endpoint [Create a Report](/pt/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>

### O que esse filtro faz?

O campo `filters` permite limitar os dados utilizados ao renderizar o template. Neste caso, você está instruindo o sistema a usar **apenas** a transação com o ID `0196d983-a2c2-7d5a-a5b7-029fe0dcb710`.

Isso significa que seu comprovante incluirá apenas essa transação — e as operações vinculadas a ela — mantendo a saída limpa e objetiva.

### O que acontece em seguida?

Após o envio da requisição:

* A API retorna um `reportId`.
* Você pode usar esse ID para verificar o status do relatório.
* Quando estiver pronto, o relatório estará disponível para download.

### Por que isso é importante

Essa abordagem oferece clareza e controle. Cada comprovante é gerado de forma isolada, utilizando os filtros e templates que você define.
