Você quer evitar esquecer quando sua Netflix, Adobe ou outras assinaturas renovam a cada mês. Bancos de dados do Notion podem calcular datas de renovação e mostrar lembretes, mas escrever a fórmula pode ser confuso. O desafio principal é converter uma data de início e ciclo de cobrança em uma data futura de renovação e compará-la com hoje. Este artigo explica como construir uma fórmula no Notion que calcula a próxima data de renovação e sinaliza assinaturas que estão próximas do vencimento ou atrasadas.
Principais Conclusões: Fórmula Notion para Lembrete de Renovação de Assinatura
- dateAdd(Data de Início, Ciclo de Cobrança, ‘months’): Calcula a próxima data de renovação adicionando a duração do ciclo à data de início.
- if(dateBetween(Próxima Renovação, now(), ‘days’) <= 7, 'Vence', 'OK'): Sinaliza assinaturas como “Vence” quando a renovação está dentro de 7 dias.
- Propriedade Select para Ciclo de Cobrança: Use uma propriedade Select com opções como “Mensal” ou “Anual” para manter a fórmula limpa e evitar números fixos.
Entendendo a Estrutura da Fórmula de Renovação de Assinatura
A fórmula que você vai construir depende de três propriedades do banco de dados: uma propriedade Date para a data de início, uma propriedade Select para o ciclo de cobrança e uma propriedade Formula que exibe a próxima data de renovação e um status de lembrete. O Notion usa a função dateAdd para adicionar um número específico de dias, meses ou anos a uma data. A função dateBetween então calcula a diferença entre a data de renovação e hoje.
O ciclo de cobrança deve ser armazenado como um número que a fórmula possa usar. Uma propriedade Select funciona bem porque você pode atribuir um valor numérico a cada opção usando uma instrução if aninhada. Por exemplo, “Mensal” equivale a 1 mês, “Trimestral” equivale a 3 meses e “Anual” equivale a 12 meses. A fórmula então adicionará esse número à data de início usando a função dateAdd com a unidade ‘months’.
Para exibir um lembrete, a fórmula compara a data de renovação calculada com a data atual usando now(). Se a renovação estiver dentro dos próximos 7 dias, a fórmula exibe “Vence”. Se a data de renovação já passou, exibe “Atrasado”. Caso contrário, mostra “Próximo” ou a própria data de renovação. Essa lógica fornece um indicador visual claro no seu banco de dados.
Passos para Construir a Fórmula de Lembrete de Renovação de Assinatura
- Crie as propriedades do banco de dados
Crie três propriedades no seu banco de dados do Notion: uma propriedade Date chamada “Data de Início”, uma propriedade Select chamada “Ciclo de Cobrança” e uma propriedade Formula chamada “Próxima Renovação”. A Data de Início deve ser o dia em que a assinatura começou. As opções do Ciclo de Cobrança devem incluir “Mensal”, “Trimestral”, “Semestral” e “Anual”. - Configure as opções do Select Ciclo de Cobrança
Na propriedade Ciclo de Cobrança, adicione as seguintes opções: Mensal, Trimestral, Semestral, Anual. Não adicione números aos nomes das opções — a fórmula os converterá. Mantenha os nomes limpos para que o banco de dados permaneça legível. - Escreva a fórmula para calcular a próxima data de renovação
Clique na propriedade “Próxima Renovação” e selecione “Formula”. Insira a seguinte fórmula:dateAdd(prop("Data de Início"), if(prop("Ciclo de Cobrança") == "Mensal", 1, if(prop("Ciclo de Cobrança") == "Trimestral", 3, if(prop("Ciclo de Cobrança") == "Semestral", 6, if(prop("Ciclo de Cobrança") == "Anual", 12, 0)))), 'months')Esta fórmula verifica o valor do Ciclo de Cobrança e adiciona o número correspondente de meses à Data de Início. Se nenhum ciclo for selecionado, adiciona 0 meses e retorna a própria Data de Início.
- Adicione uma fórmula de status de lembrete
Crie uma segunda propriedade Formula chamada “Status do Lembrete”. Insira esta fórmula:if(dateBetween(prop("Próxima Renovação"), now(), 'days') < 0, "Atrasado", if(dateBetween(prop("Próxima Renovação"), now(), 'days') <= 7, "Vence", "Próximo"))Esta fórmula compara a data da Próxima Renovação com hoje. Se a diferença for menor que 0 dias, a renovação está Atrasada. Se estiver entre 0 e 7 dias, mostra "Vence". Caso contrário, mostra "Próximo".
- Teste com dados de exemplo
Adicione uma linha de teste. Defina a Data de Início como a data de hoje menos 30 dias e o Ciclo de Cobrança como "Mensal". A Próxima Renovação deve mostrar uma data cerca de 0 dias a partir de hoje. O Status do Lembrete deve mostrar "Vence". Altere a Data de Início para 60 dias atrás, e o Status do Lembrete deve mostrar "Atrasado". - Ajuste o limite do lembrete
Se 7 dias for muito curto ou muito longo, altere o número7na fórmula do Status do Lembrete para o número de dias desejado. Por exemplo, mude para14para um lembrete de duas semanas.
Erros Comuns e Limitações
A fórmula retorna "Atrasado" para assinaturas que renovam indefinidamente
A fórmula acima calcula apenas uma data de renovação a partir da data de início. Para assinaturas recorrentes, você precisa fazer um loop no cálculo. As fórmulas do Notion não suportam loops. Uma solução alternativa é adicionar uma propriedade "Próxima Data de Renovação" e atualizá-la manualmente após cada pagamento. Alternativamente, use uma fórmula que adiciona o ciclo de cobrança várias vezes com base em quantos ciclos já passaram. Por exemplo, dateAdd(prop("Data de Início"), month(now()) - month(prop("Data de Início")) + 12 * (year(now()) - year(prop("Data de Início"))), 'months') calcula a próxima renovação mensal adicionando o número de meses desde a data de início. Isso funciona apenas para ciclos mensais e se torna complexo para ciclos trimestrais ou anuais.
A propriedade Ciclo de Cobrança está vazia e a fórmula quebra
Se uma linha não tiver Ciclo de Cobrança selecionado, a fórmula retorna um erro porque a cadeia de if não lida com valores vazios. Adicione uma verificação inicial no topo da fórmula: if(empty(prop("Ciclo de Cobrança")), "", dateAdd(...)). Isso retorna uma string em branco quando o Ciclo de Cobrança não está definido.
A data de renovação não considera o mês atual
A fórmula simples sempre usa a Data de Início como base. Se você começou uma assinatura em 15 de janeiro e ela renova no dia 15 de cada mês, a fórmula funciona corretamente. Mas se você começou em 31 de janeiro e o mês tem apenas 28 dias, a função dateAdd do Notion pode retornar 3 de março em vez de 28 de fevereiro. Esta é uma limitação conhecida da aritmética de datas no Notion. Para evitar isso, use um número de dia fixo na fórmula, como o primeiro dia de cada mês, definindo a Data de Início para o dia 1.
O Status do Lembrete não atualiza automaticamente
As fórmulas do Notion recalculam apenas quando uma propriedade muda ou quando o banco de dados é carregado. O Status do Lembrete não será atualizado em tempo real. Para forçar uma atualização, edite qualquer célula na linha ou atualize a página. Para lembretes críticos, configure uma automação do Notion que envie uma notificação quando o Status do Lembrete mudar para "Vence".
Opções de Fórmula Notion para Lógica de Renovação Comparadas
| Abordagem da Fórmula | Prós | Contras |
|---|---|---|
| Único dateAdd a partir da Data de Início | Simples de escrever e entender | Válido apenas para um ciclo de renovação; não lida com renovações recorrentes |
| Contagem dinâmica de ciclos usando diferença de meses | Calcula a próxima renovação automaticamente para assinaturas mensais | Falha para ciclos trimestrais, semestrais e anuais; fórmula complexa |
| Propriedade manual de Próxima Data de Renovação | Funciona para qualquer ciclo de cobrança; sem erros de fórmula | Requer atualização manual após cada pagamento; não automatizado |
| Fórmula contínua com dateAdd e contagem de ciclos | Lida com múltiplos ciclos se você adicionar uma propriedade de contagem | Requer propriedade extra para contagem de ciclos; ainda complexo para ciclos irregulares |
Para a maioria dos usuários, a fórmula única dateAdd com atualização manual da Próxima Data de Renovação é o método mais confiável. Evita complexidade de fórmula e funciona com qualquer ciclo de cobrança. Se você deseja automação total, considere usar uma ferramenta de terceiros como Zapier para atualizar a Próxima Data de Renovação automaticamente quando um pagamento ocorrer.
Agora você pode construir um banco de dados no Notion que rastreia renovações de assinaturas e mostra lembretes. Comece criando as três propriedades: Data de Início, Ciclo de Cobrança e Próxima Renovação. Teste a fórmula com algumas assinaturas para confirmar se as datas estão corretas. Para uma configuração mais avançada, adicione uma propriedade Rollup que conta quantas vezes a assinatura foi renovada e use esse número na fórmula para calcular a próxima data de renovação com precisão.