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

# Template TXT

> Construa um template de comprovante de transação em texto puro com o Reporter — um .tpl simples que gera um comprovante de pagamento em TXT.

Esta página orienta você na criação de um template de comprovante de transação usando o **Reporter** no formato `.txt`.

## Código do template

***

<CodeGroup>
  ```text Text expandable theme={null}
  ##########################################
  #        COMPROVANTE DE PAGAMENTO        #
  ##########################################

  Data de Geração: {% date_time "dd/MM/YYYY HH:mm" %}
  Nome do Livro-Razão: {{ midaz_onboarding.ledger.0.name }}

  {%- for transaction in midaz_transaction.transaction %}
  -----------------------------------------
  ID da Transação: {{ transaction.id }}
  Data da Transação: {{ transaction.created_at }}
  Valor Total: {{ transaction.amount }}
  Status da Transação: {{transaction.status}}
  ------------------------------------------

  Contas de Origem:
  {%- for operation in filter(midaz_transaction.operation, "transaction_id", transaction.id) %}
  {%- if operation.type == "DEBIT" %}
  - Alias: {{operation.account_alias }}
  - Valor do Débito: {{ operation.amount }}
  {%- endif %}
  {%- endfor %}

  Contas de Destino:
  {%- for operation in filter(midaz_transaction.operation, "transaction_id", transaction.id) %}
  {%- if operation.type == "CREDIT" %}
  - Alias: {{operation.account_alias }}
  - Valor do Crédito: {{operation.amount }}
  {%- endif %}
  {%- endfor %}

  {%- endfor %}
  ------------------------------------------
  Documento gerado automaticamente.
  ```
</CodeGroup>

## Detalhamento do código

***

\*\* `Data de Geração: {% date_time "dd/MM/YYYY HH:mm" %}`\*\*

Renderiza a **data e hora atuais** quando o template é processado.

* Utiliza o formato `dd/MM/YYYY HH:mm` (ex.: `26/05/2025 11:45`).

\*\* `Nome do Livro-Razão: {{ midaz_onboarding.ledger.0.name }}`\*\*

Exibe o **nome do ledger** associado a este relatório.

* `midaz_onboarding.ledger` é uma lista, e `[0]` seleciona o **primeiro ledger**.
* `.name` obtém a propriedade nome, como `"Corporate Ledger"`.

\*\* `{% for transaction in midaz_transaction.transaction %}`\*\*

Este loop itera sobre **cada transação** na lista `midaz_transaction.transaction`. Para cada transação, o código abaixo será executado uma vez para exibir suas informações.

### Bloco de cabeçalho da transação

Cada transação imprime os seguintes detalhes:

<CodeGroup>
  ```txt Text theme={null}
  -----------------------------------------
  ID da Transação: {{ transaction.id }}
  Data da Transação: {{ transaction.created_at }}
  Valor Total: {{ transaction.amount }}
  Status da Transação: {{ transaction.status }}
  ------------------------------------------
  ```
</CodeGroup>

* `transaction.id`: ID único da transação.
* `transaction.created_at`: Timestamp de quando a transação foi criada.
* `transaction.amount`: O valor bruto da transação.
* `transaction.status`: Status atual, como `COMPLETED`, `PENDING` ou `FAILED`.

### Seção de contas de origem

<CodeGroup>
  ```txt Text theme={null}
  Contas de Origem:
  {% for operation in filter(midaz_transaction.operation, "transaction_id", transaction.id) %}
    {% if operation.type == "DEBIT" %}
      - Alias: {{ operation.account_alias }}
      - Valor do Débito: {{ operation.amount }}
    {% endif %}
  {% endfor %}
  ```
</CodeGroup>

* Filtra a lista de operações para incluir apenas operações vinculadas à **transação atual**.
* Aplica um filtro adicional para exibir apenas operações com `type == "DEBIT"` (fundos saindo de uma conta).
* Para cada débito correspondente:
  * Exibe o **alias da conta**.
  * Exibe o **valor do débito**.

### Seção de contas de destino

<CodeGroup>
  ```txt Text theme={null}
  Contas de Destino:
  {% for operation in filter(midaz_transaction.operation, "transaction_id", transaction.id) %}
    {% if operation.type == "CREDIT" %}
      - Alias: {{ operation.account_alias }}
      - Valor do Crédito: {{ operation.amount }}
    {% endif %}
  {% endfor %}
  ```
</CodeGroup>

* Mesma lógica do bloco de débito, mas filtra por `type == "CREDIT"` (fundos recebidos).
* Para cada crédito correspondente:
  * Exibe o **alias da conta**.
  * Exibe o **valor do crédito**.

### Texto do rodapé

<CodeGroup>
  ```text Text theme={null}
  ------------------------------------------
  Documento gerado automaticamente.
  ```
</CodeGroup>

* Rodapé de texto simples que marca o final do relatório.
* Indica que o arquivo foi gerado automaticamente, normalmente para fins de rastreabilidade.

## Saída do template

***

<CodeGroup>
  ```text Text expandable theme={null}
  ##########################################
  #        COMPROVANTE DE PAGAMENTO        #
  ##########################################

  Data de Geração: 23/05/2025 14:08
  Nome do Livro-Razão: Rice, Rowe and O'Hara

  -----------------------------------------
  ID da Transação: 75906707-8c31-479c-b354-aa805c4cefbc
  Data da Transação: 2025-05-22T14:15:22.123Z
  Valor Total: 5000.00
  Status da Transação: ACTIVE
  ------------------------------------------

  Contas de Origem:
  - Alias: @external|USD
  - Valor do Débito: 1500.00

  Contas de Destino:
  - Alias: @wallet_12345
  - Valor do Crédito: 1500.00

  ------------------------------------------
  Documento gerado automaticamente.
  ```
</CodeGroup>
