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

> Crie um template de recibo de transação em texto simples com o Reporter, em um arquivo .tpl simples que é renderizado como um comprovante de pagamento TXT para impressão.

Esta página mostra como criar um template de recibo de transação com o Reporter no formato `.txt`.

## Código do template

***

```text Text expandable theme={null}
##########################################
#            PROOF OF PAYMENT            #
##########################################

Generation Date: {% date_time "dd/MM/YYYY HH:mm" %}
Ledger Name: {{ midaz_onboarding.ledger.0.name }}

{%- for transaction in midaz_transaction.transaction %}
-----------------------------------------
Transaction ID: {{ transaction.id }}
Transaction Date: {{ transaction.created_at }}
Total Amount: {{ transaction.amount }}
Transaction Status: {{transaction.status}}
------------------------------------------

Source Accounts:
{%- for operation in filter(midaz_transaction.operation, "transaction_id", transaction.id) %} 
{%- if operation.type == "DEBIT" %} 
- Alias: {{operation.account_alias }} 
- Debit Amount: {{ operation.amount }} 
{%- endif %}
{%- endfor %}

Target Accounts:
{%- for operation in filter(midaz_transaction.operation, "transaction_id", transaction.id) %} 
{%- if operation.type == "CREDIT" %} 
- Alias: {{operation.account_alias }} 
- Credit Value: {{operation.amount }} 
{%- endif %}
{%- endfor %}

{%- endfor %}
------------------------------------------
Automatically generated document.
```

## Detalhamento do código

***

\*\* `Generation Date: {% date_time "dd/MM/YYYY HH:mm" %}`\*\*

Renderiza a data e hora atuais durante o processamento do template.

* Usa o formato `dd/MM/YYYY HH:mm` (por exemplo, `26/05/2025 11:45`).

\*\* `Ledger Name: {{ midaz_onboarding.ledger.0.name }}`\*\*

Mostra o nome do ledger associado a este relatório.

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

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

Esse loop itera sobre cada transação na lista `midaz_transaction.transaction`. Para cada transação, o código abaixo roda uma vez para mostrar as informações dela.

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

Cada transação imprime os seguintes detalhes:

```txt Text theme={null}
-----------------------------------------
Transaction ID: {{ transaction.id }}
Transaction Date: {{ transaction.created_at }}
Total Amount: {{ transaction.amount }}
Transaction Status: {{ transaction.status }}
------------------------------------------
```

* `transaction.id`: ID único da transação.
* `transaction.created_at`: timestamp de criação da transação.
* `transaction.amount`: o valor bruto da transação.
* `transaction.status`: status atual, como `APPROVED`, `PENDING` ou `CANCELED`.

### Seção de contas de origem

```txt Text theme={null}
Source Accounts:
{% for operation in filter(midaz_transaction.operation, "transaction_id", transaction.id) %}
  {% if operation.type == "DEBIT" %}
    - Alias: {{ operation.account_alias }}
    - Debit Amount: {{ operation.amount }}
  {% endif %}
{% endfor %}
```

* Filtra a lista de operações para incluir apenas as operações vinculadas à transação atual.
* Filtra ainda mais para mostrar apenas operações com `type == "DEBIT"` (fundos saindo de uma conta).
* Para cada débito correspondente:
  * Mostra o alias da conta.
  * Mostra o valor do débito.

### Seção de contas de destino

```txt Text theme={null}
Target Accounts:
{% for operation in filter(midaz_transaction.operation, "transaction_id", transaction.id) %}
  {% if operation.type == "CREDIT" %}
    - Alias: {{ operation.account_alias }}
    - Credit Value: {{ operation.amount }}
  {% endif %}
{% endfor %}
```

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

### Texto de rodapé

```text Text theme={null}
------------------------------------------
Automatically generated document.
```

* Rodapé de texto simples que marca o fim do relatório.
* Indica a geração automática do arquivo, geralmente para fins de rastreabilidade.

## Saída do template

***

```text Text expandable theme={null}
##########################################
#            PROOF OF PAYMENT            #
##########################################

Generation Date: 23/05/2025 14:08
Ledger Name: Rice, Rowe and O'Hara

-----------------------------------------
Transaction ID: 75906707-8c31-479c-b354-aa805c4cefbc
Transaction Date: 2025-05-22T14:15:22.123Z
Total Amount: 5000
Transaction Status: APPROVED
------------------------------------------

Source Accounts:
- Alias: @external|USD 
- Debit Amount: 1500

Target Accounts:
- Alias: @wallet_12345 
- Credit Value: 1500

------------------------------------------
Automatically generated document.
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.