Aprum

Por que o app de banco mostra saldo desatualizado

· 4 min de leitura

Extrato parado há dois dias com três sincronizações "bem-sucedidas" na mesma manhã. O app lia cache velho e nunca pedia coleta nova ao banco.

O aplicativo mostra "sincronizado agora" no canto da tela. O saldo embaixo é de dois dias atrás. As duas informações estão na mesma tela, e só uma delas é verdade.

Esse tipo de falha não avisa de si mesma. Ela se disfarça de sucesso, porque tecnicamente alguma sincronização aconteceu. Só que não trouxe nada novo.

O caso: três sincronizações "bem-sucedidas", saldo parado há dois dias

Numa investigação de um caso real, o extrato de uma conta corrente estava parado há dois dias. No mesmo período, o log do aplicativo registrava três sincronizações marcadas como bem-sucedidas, todas na mesma manhã.

As três terminaram sem erro. Nenhuma trouxe lançamento novo. O saldo mostrado continuava sendo o de dois dias antes, e a interface não fazia distinção nenhuma entre "sincronizei e não achei nada novo porque não tinha nada novo" e "sincronizei sem pedir dado novo nenhum".

O mecanismo: ler cache não é coletar de novo

A causa, uma vez encontrada, era simples. O aplicativo, ao sincronizar, consultava um cache guardado pelo provedor de dados, que às vezes já tinha a informação da última coleta real. Quando esse cache respondia rápido, o aplicativo tratava aquilo como sincronização completa e marcava sucesso, sem de fato pedir ao banco uma coleta nova.

Isso funciona bem quando o cache é recente. O problema aparece quando o cache está parado, porque a coleta original que o alimentou também parou, por qualquer motivo, um erro silencioso do lado do provedor, uma instabilidade momentânea. Nesse cenário, o aplicativo segue lendo o mesmo cache velho, marcando sucesso a cada tentativa, e o saldo nunca muda porque nunca houve pedido de dado novo de verdade.

Por que "sucesso" no log não provava nada

O defeito de fundo é de definição, não só de código. "Sincronização bem-sucedida" estava definido como "a chamada ao provedor respondeu sem erro", não como "trouxe dado novo, ou confirmou que não havia dado novo desde a última coleta real".

São duas garantias diferentes. A primeira só prova que a comunicação técnica funcionou. A segunda prova que o saldo mostrado reflete o estado atual da conta. Um log que só registra a primeira e chama isso de sucesso está descrevendo bem menos do que a palavra sugere.

Esse é o mesmo tipo de problema, olhado de outro ângulo, do que faz um aplicativo afirmar coisa sobre um dado que já não é atual: veja o caso de um app de finanças mostrando dado antigo, onde o número não mudava, mas a frase em volta dele afirmava presente.

Quando o atraso é do banco, não do aplicativo

Nem todo saldo parado é culpa de quem agrega o dado. Bancos às vezes atrasam a própria atualização interna, por manutenção programada, instabilidade pontual, ou processamento em lote que só roda de madrugada. Nesses casos, mesmo consultando o aplicativo oficial do banco, direto, o saldo mostrado também está desatualizado, e quem agrega está apenas refletindo fielmente um atraso que já existia na origem.

A forma de diferenciar os dois casos é a comparação descrita mais abaixo: se o aplicativo do próprio banco também mostra a data antiga, o atraso é do banco. Se o aplicativo do banco já mostra o lançamento novo e o outro aplicativo ainda não, o atraso é da sincronização entre os dois.

Por que forçar sincronização manual nem sempre resolve

Numa falha de leitura de cache como a descrita neste caso, forçar uma nova sincronização manual pode não ajudar, porque o problema não está na frequência da tentativa, está no que a tentativa efetivamente pede. Se a lógica de sincronização continuar consultando o mesmo cache parado, tentar de novo, mais rápido, só repete o mesmo resultado errado, mais vezes.

É por isso que a comparação direta contra o aplicativo do banco é mais confiável do que simplesmente apertar o botão de atualizar várias vezes seguidas: ela testa a fonte original, não o caminho que pode estar com defeito no meio.

Como conferir na sua conta

  1. Abra o extrato dentro do aplicativo e anote a data do lançamento mais recente.
  2. Abra o aplicativo do banco, direto, sem passar por agregador nenhum, e veja a data do

lançamento mais recente por lá.

  1. Compare as duas datas. Se o banco tem lançamento mais novo que o aplicativo, existe

atraso de sincronização, independente do que o status da tela diga.

  1. Force uma nova sincronização manual, se o aplicativo tiver essa opção, e repita a

comparação depois de alguns minutos.

  1. Se o status seguir marcando sucesso sem o saldo mudar, e o banco mostrar lançamento

mais novo, trate como uma falha de coleta, não como conta parada de verdade.

  1. Ao reportar o problema, informe a data do lançamento que falta, não só "está

desatualizado". Isso poupa uma etapa inteira de diagnóstico de quem for investigar.

Antes de confiar cegamente num extrato consolidado, vale entender também como conciliar extrato com planilha: o extrato do banco é a prova, qualquer outra fonte é cópia, e cópia pode ficar para trás sem avisar.

O resumo em quatro linhas

banco a cada tentativa.

está atual.

data no banco, direto, sem intermediário.

Veja isso na sua conta

O Aprum conecta suas instituições por Open Finance e separa o que foi provado do que ainda não foi. Ele não move dinheiro, e não recomenda ativo.

Conhecer o Aprum

Leia também