Uma conta poupança não possui verdadeiramente um único saldo. Numa mesma conta, existem até 28 valores distintos, que são gerenciados separadamente. O valor total que o banco mostra é uma soma de todos os saldos existentes. Os 28 valores correspondem aos dias do mês — não são 30 ou 31 porque 28 é o número mínimo de dias que um mês pode ter. Quando um depósito é feito, o valor é acrescentado no dia base correspondente à data do depósito. Naquele mesmo dia, todo mês, o depósito faz aniversário e rende um percentual.

O dia base de um depósito é determinado do seguinte modo. Parte-se da data em que o depósito foi feito; se foi feito num dia feriado, considera-se o próximo dia útil. Toma-se o número do dia dentro do mês; se for maior que 28, considera-se 28. Este é o dia base de um depósito. Se já houver algum valor naquele dia base, o depósito é acrescentado. Nos meses subsequentes, o valor total depositado gerará rendimentos a serem recebidos no aniversário do depósito, ou seja, no dia base dentro de cada mês. Um depósito feito no dia do aniversário só afeta os rendimentos a serem recebidos no próximo aniversário.

O rendimento é sempre recebido num dia útil. Se o aniversário cair num dia feriado, a data de recebimento é deslocada para um dia útil. Uma implicação é a possibilidade de que na mesma data sejam recebidos rendimentos de dias bases diferentes. Independentemente da data do recebimento, os dias bases continuam independentes e seus aniversários futuros não são afetados por eventuais deslocamentos.

O Banco do Brasil, até 31 de julho de 2015, deslocava a data de recebimento dos rendimentos, quando necessário, para o próximo dia útil. Os extratos mostravam, até essa data, o dia base correspondente a cada rendimento. A partir de 1º de agosto de 2015, contudo, as datas dos aniversários que caem em dias feriados estão sendo deslocados para o dia útil anterior, e os extratos não mostram mais qual recebimento corresponde a qual dia base.

O valor do rendimento recebido no aniversário depende do depósito e de uma taxa, que está disponível, por exemplo, aqui. Existem dois tipos de taxa: aquela da poupança antiga e aquela da poupança nova; mas não vale a pena entrar em detalhes aqui. Esta taxa é a soma de duas outras que, aparentemente, são calculadas e somadas de forma independente, já que a maior diferença que eu encontrei entre o valor esperado do rendimento e aquele de fato pago pelo Banco do Brasil foi 2 centavos: imagino que um centavo para cada taxa componente.

Quando uma retirada é feita da poupança, o banco precisa escolhar de qual dia base (ou de quais dias bases) o dinheiro precisa ser subtraído. O dia base a ser escolhido é aquele cujo próximo aniversário está mais distante do dia da retirada, ou, o que é equivalente, aquele cujo rendimento foi recebido mais recentemente. Se o valor a ser retirado é maior que o depósito daquele dia base, um outro dia base é escolhido de acordo com o mesmo critério, e assim por diante até que a soma total seja subtraída da poupança. Uma retirada feita no aniversário de um depósito não anula o rendimento a ser recebido naquele aniversário.

Não faz sentido que o depósito de um dia base fique negativo, de forma que, se se quer verificar que uma série de lançamentos está correta, é preciso que os rendimentos sejam considerados antes das retiradas. Não está claro neste momento se as aplicações e as retiradas são consideradas individualmente ou se é o saldo delas que é utilizado ao fim do dia pelo banco. No primeiro caso, uma retirada alteraria o depósito de um dia base, potencialmente diferente do dia corrente, e uma aplicação subsequente acrescentaria fundos ao dia base correspondente a hoje; no segundo caso, o saldo final, se positivo, simplesmente seria acrescentado ao dia base de hoje. Existe alguma evidência de que a alternativa praticada pelo Banco do Brasil é a segunda, mas não tenho certeza.

O rendimento é calculado com base no valor presente na data do aniversário. Valores que estavam presentes no aniversário anterior mas que tenham sido retirados desde então produzem rendimento nulo. O único jeito de não perder dinheiro ao retirar fundos da poupança é realizar a operação num aniversário de depósito e limitar o valor àquele do depósito.