Gestão de caixa
A funcionalidade de Gestão de Caixa permite realizar o acompanhamento e a gestão das contas bancárias da empresa. Através desta tela, é possível visualizar os saldos e extratos das filiais, realizar filtros de movimentações e obter um consolidado diário das transações.
Processo de Autorização (Consentimento) com o Banco BTG
Quando uma filial é selecionada para consulta de saldo e extrato, o sistema verifica as seguintes condições:
- Consentimento: O sistema verifica se o CNPJ da filial possui consentimento com o banco BTG para os escopos Saldo e Extrato.
- Consentimento ausente: Se o CNPJ não tiver o consentimento para o escopo Saldo e Extrato, o sistema exibe uma mensagem que direciona para a tela de Onboarding do BTG (Banking > BTG > Onboarding), onde é possível incluir o consentimento.
- Consentimento parcial: Caso já exista um consentimento para o mesmo CNPJ, mas sem o escopo Saldo e Extrato, o sistema permite incluir esse escopo através da opção Refazer consentimento. Todos os escopos previamente autorizados permanecem ativos. Obs.: O escopo Saldo e Extrato vem desativado por padrão.
- Carga inicial: O sistema também verifica se existe alguma carga inicial em andamento ou com erro:
- Carga inicial em processamento: Se a carga inicial estiver sendo processada, o sistema exibe uma mensagem informando que há uma carga em andamento. Ao finalizar, uma notificação é gerada na plataforma e, caso a carga seja concluída com sucesso, é possível recarregar a página para prosseguir com a consulta.
- Erro na carga inicial: Se a carga inicial apresentar erro, o sistema exibe uma mensagem que direciona para a tela de Onboarding do BTG (Banking > BTG > Onboarding), onde é possível refazer o consentimento. Em seguida, o processo de carga pode ser reiniciado.
- Após a finalização do Onboarding, o sistema realiza automaticamente o carregamento de contas, saldos e extratos para o CNPJ consentido.
- Se uma mensagem de erro ou de carga em andamento for exibida, o botão Filtrar será desativado até a resolução do problema.
- Uma vez concluída com sucesso, a carga inicial não será repetida, mesmo que o processo de Onboarding seja realizado novamente.
Listagens de Saldos e Movimentações
A tela Gestão de Caixa permite gerar listagens detalhadas dos saldos e movimentações das contas bancárias. Para isso, é necessário primeiro aplicar um filtro, informando os campos Empresa, Filial e Contas. Ao preencher o campo Contas, o sistema exibe sugestões de registros correspondentes automaticamente.
Após realizar o filtro, é possível acessar as guias abaixo:
A listagem por banco exibe as seguintes informações:
- Banco: Nome do banco.
- Valor disponível: Saldo disponível para movimentação.
- Valor bloqueado: Saldo que está bloqueado ou não disponível para movimentação.
Ao expandir a grid, é exibida uma sublistagem com as seguintes colunas:
- Agência: Número da agência bancária.
- Conta: Número da conta bancária.
- Valor disponível: Saldo disponível por conta.
- Valor bloqueado: Saldo bloqueado por conta.
Esta listagem mostra o saldo consolidado diário das movimentações, com as seguintes colunas:
- Data: Data da movimentação.
- Saldo: Saldo consolidado para o dia.
Ao expandir a grid, a sublistagem inclui:
- Operação: Tipo de operação realizada.
- Descrição: Descrição da movimentação.
- Banco: Banco relacionado à movimentação.
- Agência: Número da agência bancária relacionada.
- Conta: Número da conta bancária envolvida.
- Movimentação: Valor da movimentação.
A listagem de movimentações das contas bancárias exibe 7 colunas:
- Data: Data da movimentação.
- Operação: Tipo da operação.
- Descrição: Descrição da operação.
- Banco: Banco associado à operação.
- Agência: Número da agência bancária.
- Conta: Número da conta bancária.
- Movimentação: Valor da movimentação.
Filtros de Período
Nas listagens de valor Consolidado Diário e de Movimentações, é possível filtrar os dados por período, com as seguintes opções:
- Hoje (valor padrão).
- Último dia.
- Últimos 3, 7 ou 30 dias.
- Personalizado: Permite a inclusão manual de datas inicial e final (ambas obrigatórias).
Importação de Extratos
A importação de extratos permite que você carregue movimentações bancárias a partir de um arquivo gerado pelo seu banco, sem necessidade de integração automática via Open Finance. É particularmente útil para empresas que ainda não dispõem dessa integração ou que usam bancos que não aderem ao Open Finance.
O processo é guiado em cinco etapas sequenciais, onde você confirma os dados do arquivo, vincula a filial às contas identificadas, configura o saldo inicial (quando necessário), ajusta as movimentações e, por fim, importa tudo para o ERP.
Utilizar a guia Importação de Extratos
- Na tela de Gestão de Caixa, clique na guia Importação de Extratos;
- O assistente de importação abre as etapas a seguir, conforme o preenchimento:
O que fazer:
Nesta etapa você envia o arquivo OFX para o sistema.
- Na área de Arrastar e soltar, arraste o arquivo .ofx ou clique para selecioná-lo do seu computador;
- O arquivo é enviado para análise;
- O sistema faz a leitura do arquivo, identifica as contas e movimentações, e apresenta um resumo por conta;
- Clique em Próximo para seguir para a etapa Resumo.
Importante
Apenas arquivos no formato OFX com extensão .ofx são aceitos. Se o arquivo vier de um banco que ainda usa OFX 1.x (SGML), será necessário convertê-lo para o padrão XML (OFX 2.x).
O que aparece:
Uma tabela com as contas identificadas no arquivo, mostrando:
- Banco, Agência, Número: identificação da conta
- Tipo: tipo de conta (Conta Corrente, Poupança, etc.)
- Período: data inicial e final do extrato
- Movimentações: quantidade de lançamentos
- Total de Créditos e Débitos: soma dos valores
O que fazer:
Para cada conta listada, você deve informar qual filial (CNPJ) ela pertence. Isso associa a conta ao seu CNPJ para que os lançamentos sejam registrados corretamente no ERP.
- Clique no campo Filial de cada conta;
- Selecione a filial correspondente na lista;
- Se a conta já teve uma importação anterior concluída com sucesso, o campo de filial não é solicitado - a filial já está vinculada;
- Após informar a filial de todas as contas, clique em Próximo para seguir para a Saldo Inicial.
Atenção: contas sem filial vinculada serão ignoradas na importação definitiva. Se você pular esta etapa para alguma conta, ela não será importada.
Quando aparece:
Esta etapa aparece apenas para contas sem histórico prévio no ERP Banking, ou seja, contas novas que estão sendo importadas pela primeira vez.
Atenção: se a conta já existe no ERP Banking (de importações anteriores ou do Open Finance), o saldo inicial informado nessa etapa não substituirá o saldo existente.
Nesse caso, a importação somará o líquido do arquivo sobre o saldo já registrado.
O que fazer:
Para cada conta nova, você informa o saldo inicial e a data de referência (data-base). Esses valores são a âncora para o cálculo do saldo acumulado.
- Preencha o Saldo Inicial com o saldo da conta no dia da data de referência;
- Preencha a Data de Referência com a mesma data da primeira movimentação do arquivo ou a data em que você deseja começar o histórico.
- Após preencher todas as contas, clique em Próximo para seguir para a etapa Conferência.
Importante: a data de referência não pode ser uma data futura. Ela deve ser igual ou anterior à data do primeiro lançamento do arquivo.
Se o sistema detectar contas sem saldo inicial configurado ao acessar a Gestão de Caixa, um pop-up sequencial e bloqueante aparecerá pedindo o preenchimento de:
- Data Inicial (Data-base): a data em que você quer começar a contar o histórico
- Saldo Inicial: o saldo que a conta tinha naquela data
Essa configuração é obrigatória para que:
- O saldo acumulado seja calculado corretamente nas movimentações.
- O Consolidado Diário mostre saldo inicial e final por conta.
- A coluna Acumulado de Movimentações funcione.
A conta é configurada uma única vez - não é possível alterar essas informações posteriormente. Se não preencher e fechar o pop-up, ele aparecerá novamente no próximo acesso à Gestão de Caixa.
Sem essa informação, a coluna Acumulado em Movimentações, o Saldo Final no Consolidado Diário e o Saldo por Banco aparecem vazios para essa conta.
O que aparece:
Uma listagem das movimentações agrupadas por conta, mostrando:
- Data, Operação: data e tipo do lançamento (crédito ou débito)
- Valor, Descrição: montante e detalhamento do lançamento
- Saldo Acumulado: evolução do saldo após cada movimentação
O que você pode fazer:
Nesta etapa você pode excluir lançamentos que não devem ser importados e incluir lançamentos manuais que não constam do arquivo.
Para excluir um lançamento:
- Localize o lançamento na tabela;
- Clique no ícone de exclusão na linha do lançamento;
- O lançamento é removido da listagem e não será importado.
Para incluir um lançamento manual:
- Clique no botão Incluir Lançamento Manual.
- Preencha:
- Conta: selecione a conta bancária
- Data: data do lançamento
- Operação: crédito (entrada) ou débito (saída)
- Valor: montante (deve ser maior que zero)
- Descrição: detalhamento do lançamento (máximo 255 caracteres)
- Clique em Salvar;
- O lançamento é adicionado à listagem.
- Após revisar e ajustar as movimentações, clique em Próximo para seguir para a etapa Importação.
Observação: todas as movimentações (do arquivo e manuais) são exibidas em ordem cronológica e participam do cálculo do saldo acumulado.
O que acontece:
Ao confirmar nesta etapa, o sistema:
- Valida todos os dados (contas, movimentações, saldos iniciais);
- Grava as movimentações nas tabelas de extrato do ERP Banking;
- Atualiza o saldo de cada conta;
- Envia as movimentações para o ERP automaticamente;
- Exibe o status de processamento com contadores de sucesso.
O que fazer:
- Clique em Confirmar Importação Definitiva;
- O sistema inicia o processamento;
- Uma barra de progresso mostra o andamento;
- Após a conclusão, uma mensagem é exibida confirmando o sucesso ou alertando sobre possíveis erros.
- Importação concluída com sucesso: todas as movimentações foram gravadas e enviadas ao ERP. Os dados passam a compor normalmente a Gestão de Caixa (abas Bancos, Consolidado Diário e Movimentações).
- Importação concluída com erro: alguns lançamentos não foram enviados ao ERP. Ver Reenviar importações com erro abaixo da mensagem.
Acompanhamento e Reenvio
- Dentro da guia Importação de Extratos, clique em Histórico de Importações ou role para baixo.
- Uma lista mostra todas as importações já realizadas, com data, arquivo, status e contadores.
- Localize a importação na lista;
- Verifique a mensagem de erro exibida;
- Clique no botão Reenviar ao ERP;
- O sistema republica as movimentações para o seu ERP.
Importante
A ação de Reenviar, republica todas as movimentações da importação, não apenas as que falharam.
Isso garante a consistência, mas cuidado com possíveis duplicações.
Uma vez que a importação é concluída e as movimentações são enviadas ao ERP:
- Os lançamentos aparecem nas guias Movimentações, Consolidado Diário e Banco da Gestão de Caixa.
- O saldo das contas é atualizado e pode ser consultado em Saldo por Conta.
- Os dados são tratados como qualquer outra movimentação do ERP Banking, sem diferenciação visual de que vieram de arquivo OFX.
Primitivas para atualizar extrato e atualizar saldo
Veja abaixo os detalhes das primitivas atualizarExtrato e atualizarSaldo, que são responsáveis por gerenciar e sincronizar as informações bancárias entre o sistema e o banco BTG.
A primitiva atualizarExtrato é responsável por processar a atualização do extrato no BTG. Quando essa primitiva é executada, o evento statementUpdated é disparado, enviando as informações do extrato atualizado para o ERP.
"API responsável por atualizar o extrato de acordo com as movimentações financeiras da conta" action atualizarExtrato { in movimentoConta out {} } "Evento público responsável por informar a atualização do extrato de acordo com as movimentações financeiras da conta" public event statementUpdated { payload accountMovement } "Dados da movimentação" record movimentoConta { "Id do webhook" webhookId: string? "Evento publicado" ^event: string? "Detalhes da movimentação" data: detalhesMovimentacao } "Dados da movimentação" record accountMovement { "Dados da conta" account: recAccount "Data da movimentação" movementDate: dateTime "Indica se é crédito ou débito" creditDebitIndicator: enumCreditDebitIndicator "Valor da movimentação" amount: money "Moeda" currency: string "Número do documento" documentNumber: string? "Tipo de pagamento/cobrança" movementType: enumMovementType? "Razão" reason: string? "Dados da parte relacionada" relatedParty: recRelatedParty? "Dados de transação" transaction: recTransaction? "Descrição" description: string? "Código de ocorrência" febrabanCode: string? } "Dados da parte relacionada" record recRelatedParty { "Número do documento" taxId : string? "Código do banco" bankCode : string? "Nome" name : string? "Moeda" currency : string? "Agência" branchCode : string? "Número da conta" number : string? } "Dados de transação" record recTransaction { "Id da transação" txId : string? "Id da transação pix" endToEndId : string? "Código de barras" barCode : string? "Nosso número" ourNumber : string? }
CURL de exemplo da chamada da primitiva atualizarExtrato
curl --location 'https://cloud-leaf.senior.com.br/t/senior.com.br/bridge/1.0/rest/erpx_bnk_tes/contas/actions/atualizarExtrato' \ --header 'authority: cloud-leaf.senior.com.br' \ --header 'accept: application/json, text/plain, */*' \ --header 'accept-language: en-US,en;q=0.9' \ --header 'content-type: application/json' \ --header 'cookie: _ga=GA1.4.587465384.1711023471; _gid=GA1.4.412339593.1711023471; com.senior.domain=.senior.com.br; com.senior.services.url=https%3A%2F%2Fcloud-leaf.senior.com.br%2Ft%2Fsenior.com.br%2Fbridge%2F1.0%2F; com.senior.x.services.url=https%3A%2F%2Fcloud-leaf.senior.com.br%2Ft%2Fsenior-x%2F; com.senior.token=%7B%22version%22%3A1%2C%22scope%22%3A%22desktop+device_90e3e115-5d54-4415-9305-4c6a1560faa4%22%2C%22expires_in%22%3A21600%2C%22username%22%3A%22admin%40matheusw.com.br%22%2C%22token_type%22%3A%22bearer%22%2C%22access_token%22%3A%22Ag6g66Mc8GaITaIwz6C0MtkHbx86rEyO%22%2C%22refresh_token%22%3A%227LMsPHVVgW4YA7PxGJ7gh0zlDP1fjRMc%22%2C%22type%22%3A%22internal%22%2C%22email%22%3A%22matheus.werner%40senior.com.br%22%2C%22fullName%22%3A%22admin+matheusw%22%2C%22tenantName%22%3A%22matheusw%22%2C%22locale%22%3A%22pt-BR%22%7D; com.senior.base.url=https%3A%2F%2Fcloud-leaf.senior.com.br; com.senior.portal.url=https%3A%2F%2Fcloud-leaf.senior.com.br%2Ftecnologia%2Fplatform%2Fsenior-x%2F; _gid=GA1.3.412339593.1711023471; _hjSessionUser_3478075=eyJpZCI6IjUyYzJhYTBlLTFiOGQtNTU5Ny05ZjZlLWM5YTJmNTFkOTU1ZiIsImNyZWF0ZWQiOjE3MTEwMjM0ODcwNTgsImV4aXN0aW5nIjpmYWxzZX0=; _hjSession_3478075=eyJpZCI6ImY2Y2YwNThmLWYzZTAtNGJjZS05ZWMyLWEyYTk0N2U2Yjc3MCIsImMiOjE3MTEwMjM0ODcwNTksInMiOjAsInIiOjAsInNiIjowLCJzciI6MCwic2UiOjAsImZzIjoxLCJzcCI6MH0=; _ga=GA1.1.587465384.1711023471; _ga_97FJ1SLB15=GS1.1.1711023471.1.1.1711023541.50.0.0; _ga_1400JXY1D1=GS1.1.1711023471.1.1.1711023541.0.0.0; _ga_3761W091CF=GS1.1.1711023536.1.1.1711023553.0.0.0' \ --header 'origin: https://cloud-leaf.senior.com.br' \ --header 'referer: https://cloud-leaf.senior.com.br/gestao-empresarial/erpx_bnk_cob/pix/cobranca-item-pix' \ --header 'sec-ch-ua: "Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"' \ --header 'sec-ch-ua-mobile: ?0' \ --header 'sec-ch-ua-platform: "Windows"' \ --header 'sec-fetch-dest: empty' \ --header 'sec-fetch-mode: cors' \ --header 'sec-fetch-site: same-origin' \ --header 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36' \ --header 'trusted: true' \ --header 'Authorization: Bearer DLQ4NIQ68dP4Dy4tRF4tj73OTQnYLszp' \ --data '{ "webhookId": "156d4fds5f48d7sf98sd7f8", "event": "update-atualizarextrato", "data": { "accountId": "72936e01-208-1122-94321", "date": "2025-04-04T00:00:00.000Z", "creditDebitIndicator": "DEBIT", "amount": "80", "currency": "BRL", "transactionId": "112233445566", "type": "BOLETO", "reason": "Comprado Pen Drive 64gb", "relatedParty": { "taxId": "f698fd2e-60f4-43d1-b84b-8e841521194b", "bankCode": "208", "name": "BTG_PACTUAL", "currency": "BRL", "branchCode": "1", "number": "1" }, "payload": { "txId": "96344a39-18b8-4de9-8ebb-1228ec23c42c", "endToEndId": "123456", "barCode": "545456412122123100002154511564651005181987891205618940", "ourNumber": "12345" }, "description": "Pen Drive 64gb", "febrabanCode": "189015" } }
A primitiva atualizarSaldo é responsável por processar a atualização do saldo ocorrido no BTG.
"API responsável por atualizar o saldo da conta" action atualizarSaldo { in accountBalance out {} } "Dados da movimentação" record accountBalance { "Id do evento" eventId: string? "Id dos metadados" metadataId: string? "Id do tenant" tenantId : string? "Dados do saldo da conta" message: recMessage } "Dados do saldo da conta" record recMessage { "Id da conta" accountId : string "Cóigo do banco" bankCode : string "Documento CNPJ/CPF" taxId : string "Agência" branchCode : string "Número da conta" number : string "Data/hora da atualização do saldo" timestamp : string "Dados do valor disponível" available: recAvailable }
CURL de exemplo da chamada da primitiva atualizarSaldo
curl --location 'https://cloud-leaf.senior.com.br/t/senior.com.br/bridge/1.0/rest/erpx_bnk_tes/contas/actions/atualizarSaldo' \ --header 'Authorization: bearer xHERh31Dy8jUFOqO4nwmV7Y2gxxdGw2X' \ --header 'Content-Type: application/json' \ --data '{ "eventId": "32946124-4ddb-4f62-9554-4ab75352940a", "message": { "accountId": "32946124-4ddb-4f62-9554-4ab75352940a", "bankCode": "CITIBANK", "branchCode": "4", "number": "234436784", "available": { "amount": "7000" } } }'
English
Español
English
Español


