Skip to main content
Este exemplo mostra como estruturar um Relatório Financeiro Analítico focado na análise de transações no nível de conta, em formato HTML. O relatório inclui:
  • Informações de Organização e Ledger.
  • Detalhamento por conta.
  • Lista detalhada de operações.

Código do template


Detalhamento do código


Informações de Organização e Ledger

<p><strong>Generation Date:</strong> {% date_time "dd/MM/YYYY HH:mm" %}</p> Essa função aplica a data e a hora no momento da renderização, no formato dd/MM/YYYY HH:mm. <p><strong>Organization:</strong> {{ midaz_onboarding.organization.0.legal_name }}</p> Esta linha renderiza o nome legal da primeira Organização associada aos dados do onboarding.
  • midaz_onboarding.organization: a lista de Organizações no sistema.
  • 0: busca o primeiro item da lista.
  • legal_name: busca o valor do campo legal_name.
<p><strong>Ledger:</strong> {{ midaz_onboarding.ledger.0.name }}</p> Esta linha renderiza o nome do primeiro Ledger associado aos dados do onboarding.
  • midaz_onboarding.ledger: a lista de Ledgers no sistema.
  • 0: busca o primeiro item da lista.
  • name: busca o valor do campo name.

Iterando pelas contas

{% for account in midaz_onboarding.account %} Este loop percorre cada conta na lista midaz_onboardTing.account.
  • Esta lista representa todas as contas vinculadas a um cliente ou associadas a um fluxo de onboarding.
  • A cada iteração, é criado um novo escopo em que account se refere a um item específico dessa lista.
{% with balance = filter(midaz_transaction.balance, "account_id", account.id)[0] %} Dentro do loop, esta linha:
  • Usa a função filter para encontrar um saldo na lista midaz_transaction.balance cujo account_id corresponda ao ID da conta atual.
  • O [0] pega o primeiro saldo correspondente (supondo que exista apenas um por conta).
  • O resultado vai para uma variável temporária chamada balance, com escopo restrito a este bloco.

Informações da conta

<div class="section-title">Account: {{ account.alias }}</div> Exibe um título de seção com o alias da conta (um nome amigável ou legível para a conta). <p><strong>ID:</strong> {{ account.id }}</p> Mostra o identificador único da conta. <p><strong>Currency:</strong> {{ balance.asset_code }}</p> Exibe o código da moeda (como “BRL” ou “USD”) associado ao saldo da conta. <p><strong>Current Balance:</strong> {{ balance.available }} Mostra o saldo disponível atual.

Informações das operações

{% for operation in midaz_transaction.operation %} Este loop percorre todas as operações da lista midaz_transaction.operation. {% if operation.account_id == account.id %} Esta linha verifica se a operação atual está relacionada à conta atual no loop externo (do bloco anterior). Ela prossegue apenas se:
  • O account_id da operação corresponder ao account.id em foco.
{% set original_amount = operation.amount %} Esta linha define uma variável temporária chamada original_amount e atribui a ela o valor do campo amount no objeto da operação. {% set discount_amount = original_amount * 0.03 %} Esta linha calcula um desconto de 3% sobre o valor original.
  • A linha salva o resultado como discount_amount.
{% set final_amount = original_amount - discount_amount %} Esta linha subtrai o desconto do valor original.
  • A linha armazena o resultado final em final_amount, que você pode renderizar depois.

Colunas da tabela

Este bloco gera uma linha de tabela para cada operação, incluindo as seguintes informações: <td>{{ operation.id }}</td> Identificador único da operação. <td>{{ operation.type }}</td> Tipo de operação, como credit ou debit. <td>{{ original_amount|floatformat:2 }}</td> Mostra o valor original (sem ajustes), formatado com 2 casas decimais. <td>{{ discount_amount|floatformat:2 }}</td> Exibe o desconto calculado, também com 2 casas decimais. <td>{{ final_amount|floatformat:2 }}</td> Mostra o valor final após aplicar o desconto de 3%. <td>{{ operation.description }}</td> Renderiza a descrição ou o rótulo da operação, como “Transferência para poupança”.

Rodapé do relatório

Esta linha renderiza um rodapé na parte inferior do documento. O rodapé informa que o Reporter da Lerian gerou o conteúdo automaticamente.
  • Ele também inclui o número do documento legal da primeira organização vinculada aos dados do onboarding, obtido dinamicamente usando o placeholder {{ midaz_onboarding.organization.0.legal_document }}.

Saída do template


Saída renderizada


Exemplo de relatório financeiro renderizado a partir do código do template HTML mostrado acima

Figura 1. Um exemplo de relatório financeiro renderizado a partir do código HTML do exemplo.