---
id: agencias/saldo-contas-de-anuncio
industria: Agências de marketing
uso: específico
esforco: baixo
grao: Cliente x conta, numa foto atual e num histórico diário
---

# Saldo das contas de anúncio

Quantos dias úteis de anúncio cada conta pré-paga ainda tem, com o pedido de recarga saindo a tempo de o Pix ou o boleto do cliente compensar antes de a campanha parar.

## Resumo executivo

**Para quem:** Agências que operam contas de anúncio pré-pagas pagas pelo cliente por Pix ou boleto.

**O que resolve**

- A recarga é pedida enquanto ainda dá tempo de o pagamento compensar.
- O saldo informado é o que a plataforma declara, e não uma conta entre limite e gasto.
- Conta pós-paga aparece como valor devido, sem misturar com saldo.

**Por que importa:** Conta pré-paga sem saldo para de veicular na hora, e o cliente descobre pela queda de leads. Entre pedir a recarga, o cliente aprovar, pagar e o valor compensar, passam dias úteis. Um alerta que conta dias corridos ou lê o campo errado avisa tarde ou avisa sempre, e o time deixa de ler.

**Perguntas de negócio que responde**

- Quais contas vão ficar sem saldo esta semana?
- Qual o saldo atual da conta do cliente X e até quando ele dura?
- Quanto cada cliente precisa recarregar para chegar ao fim do mês?
- Quais contas pós-pagas estão com valor devido alto?
- O orçamento configurado nas campanhas cabe no saldo líquido da última recarga?

**O que você precisa**

- Meta Ads e Google Ads conectados na Nekt, com a tabela de contas e o log de atividades
- O registro conta para cliente com as contas oficiais de cada um
- A janela de pagamento combinada com cada cliente (em dias úteis) e a taxa sobre a recarga, se houver

**O que você recebe**

- Uma tabela atual por cliente e conta com modelo de pagamento, saldo, valor devido e dias úteis até zerar
- Um histórico diário do saldo para ver tendência e conferir o alerta
- Alertas de saldo baixo e crítico, com estado, para o time e para o cliente
- Um agente de IA que responde sobre saldo lendo o campo certo de cada tipo de conta

## Detalhado

### O problema

A tabela de contas da Meta traz balance, spend_cap e amount_spent, mas nenhum deles é o saldo de uma conta pré-paga: o saldo disponível só vem escrito num texto de forma de pagamento. Em conta pós-paga, balance é o que se deve. O Google guarda limite e consumo do orçamento como texto em micros. Quem calcula saldo como limite menos gasto, ou conta dias corridos até zerar, manda o pedido de recarga numa sexta à tarde e a conta para no sábado.

### Regras de negócio

1. **Pré-paga e pós-paga respondem perguntas diferentes.** Classifique cada conta por is_prepay_account. Na pré-paga, a pergunta é saldo disponível. Na pós-paga, é valor devido, guardado como número positivo e mostrado com sinal negativo só na apresentação. Nunca some saldo de pré-paga com valor devido de pós-paga. (Evite: Uma coluna 'saldo' única para todas as contas.)
2. **Saldo disponível é o que a Meta declara.** Na conta pré-paga, leia o valor do texto 'Saldo disponível (...)' em funding_source_details.display_string. O campo balance não é o saldo da pré-paga, e spend_cap - amount_spent também não: spend_cap é limite de gasto e amount_spent é o gasto acumulado da vida da conta. Se o texto não puder ser lido com segurança (outra moeda, outro idioma), o saldo é nulo, nunca zero. Guarde balance bruto com nome neutro para auditoria. (Evite: Saldo = spend_cap - amount_spent, ou balance da conta pré-paga.)
3. **Valores da Meta em centavos, do Google em micros.** balance, amount_spent e spend_cap da Meta vêm na menor unidade da moeda: divida por 100. No Google, adjusted_spending_limit_micros e amount_served_micros vêm como texto em micros: converta para número e divida por 1.000.000. Cada conta tem a sua moeda; não some moedas diferentes. (Evite: Ler balance como reais e somar contas em real e em dólar.)
4. **No Google, saldo é o orçamento aprovado mais recente.** Use a linha de account_budget com status APPROVED e approved_start_date_time mais recente da conta. Saldo = adjusted_spending_limit_micros - amount_served_micros, em reais. O conector não traz recargas individuais: o orçamento é o total aprovado e o consumo acumulado. (Evite: Somar todas as linhas de orçamento da conta.)
5. **Sem saldo na API, use um livro-razão.** Quando a plataforma não expõe o saldo, parta de um saldo de referência conferido na tela num instante conhecido. Saldo atual = referência + recargas confirmadas depois dele (event_type funding_event_successful no log de atividades) - gasto depois dele (insights por hora, a partir da primeira hora cheia após a referência). Refaça a referência sempre que o valor divergir da tela. (Evite: Estimar o saldo pelo gasto do mês sem ponto de partida.)
6. **Taxa sobre a recarga sai do saldo.** Se a recarga por Pix sofre imposto (por exemplo, 12,15%), o saldo líquido é o valor pago x (1 - taxa). Compare o orçamento diário configurado nas campanhas com o saldo líquido, não com o valor que o cliente transferiu. (Evite: Planejar o mês com o valor do Pix cheio.)
7. **Autonomia em dias úteis, pelo gasto recente.** Gasto médio = média dos últimos 3 dias completos (hoje fica fora, porque o dia está pela metade). Dias até zerar = saldo / gasto médio. Converta para dias úteis, sem fins de semana e feriados, porque o cliente paga em dia útil. Sem gasto médio válido, o status é indeterminado, não infinito. (Evite: Dividir o saldo pelo gasto de hoje e contar dias corridos.)
8. **As faixas seguem a janela de pagamento do cliente.** Crítico quando faltam até 5 dias úteis, o mínimo para pedir, aprovar, pagar e compensar a recarga; baixo com 6 a 7 dias úteis; ok acima disso. A janela é de cada cliente e fica no contexto dele. Mensagem ao cliente e alerta interno são textos diferentes. (Evite: Um limite fixo em reais para todas as contas.)
9. **Só contas oficiais, e a origem não define o dono.** A tabela de contas de uma fonte lista tudo o que a credencial enxerga no Business Manager. Filtre pelo account_id oficial do registro. A fonte que trouxe o dado financeiro pode estar na camada de outro cliente: nunca deduza o dono da conta pela camada de origem. Some saldos de contas diferentes só na mesma foto e na mesma moeda. (Evite: Atribuir a conta ao cliente cuja camada trouxe a tabela.)
10. **Foto atual, histórico e alerta com estado.** A tabela atual tem uma linha por cliente e conta e diz quando foi gerada; ela não responde saldo de ontem. Grave em paralelo um histórico diário por anexação. O alerta guarda o último status enviado por conta e só dispara de novo quando o status muda ou piora, com registro de envio. (Evite: Ler tendência na tabela atual e mandar o mesmo alerta todo dia.)

### Qual campo responde o saldo

Por plataforma e tipo de conta.

- **Meta, pré-paga** → Saldo disponível (`funding_source_details.display_string`)
- **Meta, pós-paga** → Valor devido, em centavos (`balance / 100`)
- **Meta, limite de gasto** → Limite, não é saldo (`spend_cap`)
- **Meta, gasto acumulado** → Gasto da vida da conta, não do período (`amount_spent`)
- **Meta, recarga** → Entrada no livro-razão (`funding_event_successful`)
- **Google, orçamento aprovado** → Saldo do orçamento (`adjusted_spending_limit_micros - amount_served_micros`)

### Definições

| Métrica | Definição |
|---|---|
| Saldo disponível | valor do texto 'Saldo disponível' da forma de pagamento da conta pré-paga, na foto atual, na moeda da conta |
| Valor devido | balance / 100 da conta pós-paga, positivo, na foto atual |
| Saldo líquido de recarga | valor pago x (1 - taxa sobre a recarga) |
| Gasto médio recente | soma do gasto dos últimos 3 dias completos / 3, por conta |
| Dias até zerar | saldo disponível / gasto médio recente |
| Dias úteis até zerar | dias úteis (sem fins de semana e feriados) entre hoje e a data estimada em que o saldo zera |
| Status do saldo | crítico até 5 dias úteis, baixo de 6 a 7, ok acima de 7, indeterminado sem gasto médio válido (faixas ajustáveis por cliente) |

### Armadilhas

- **Saldo que era limite.** Saldo calculado como limite de gasto menos gasto acumulado fica negativo nas contas sem limite (spend_cap zero) e, nas outras, não tem relação com o crédito disponível. Como evitar: Leia o saldo declarado pela Meta; limite e gasto acumulado não formam saldo.
- **Saldo zero que não era zero.** Nas contas pré-pagas, balance vem zero e o saldo só está escrito no texto da forma de pagamento. Um monitor que lê balance acusa todas as pré-pagas como zeradas. Como evitar: Extraia o valor do texto 'Saldo disponível' e deixe nulo quando não conseguir.
- **Aviso de sexta para conta que parou no sábado.** A autonomia era contada em dias corridos. O pedido de recarga saía com dois dias de folga, que caíam no fim de semana. Como evitar: Conte em dias úteis, com a janela de pagamento do cliente.
- **Orçamento maior que o Pix.** O orçamento configurado nas campanhas foi planejado com o valor cheio do Pix, mas a recarga chegava descontada da taxa e a verba acabava antes do fim do mês. Como evitar: Compare o orçamento configurado com o saldo líquido.
- **Média puxada pelo dia de hoje.** A média de gasto incluía o dia corrente pela metade e subestimava o ritmo, empurrando a data de esgotamento para frente. Como evitar: Use só dias completos na média.
- **Gasto contado antes da referência.** Com o saldo de referência conferido no meio de uma hora, o gasto daquela hora inteira entra no livro-razão e o saldo fica abaixo do que a tela mostra. Como evitar: Conte o gasto a partir da primeira hora cheia após a referência.

Validado em dados reais: Na conta de Meta Ads da própria Nekt, a tabela de contas trouxe 9 contas em três moedas, duas encerradas. Nas contas pré-pagas, balance veio zero e o saldo só aparecia no texto 'Saldo disponível (...)' de funding_source_details.display_string. Na conta pós-paga com cartão, balance era o valor devido, em centavos.

### Teste de aceitação

- [ ] Para cada conta pré-paga, o saldo disponível da tabela é igual ao mostrado no Gerenciador no momento da foto.
- [ ] Nenhuma conta pré-paga tem saldo calculado a partir de spend_cap ou amount_spent.
- [ ] A tabela atual tem uma linha por cliente e conta oficial, e nenhuma conta fora do registro.
- [ ] Dias úteis até zerar nunca é menor que zero e é indeterminado quando não há 3 dias completos de gasto.
- [ ] Cada conta recebe no máximo um alerta por mudança de status.

### Context document

```text
Saldo das contas de anúncio
- Conta pré-paga (is_prepay_account verdadeiro): 'saldo' = valor do texto 'Saldo disponível' em funding_source_details.display_string. Se não estiver disponível, diga que o saldo não foi obtido. Nunca use balance, spend_cap ou amount_spent como saldo.
- Conta pós-paga: balance / 100 é o valor devido. Mostre com sinal negativo só se pedirem 'saldo positivo e negativo'.
- Valores da Meta em centavos; do Google em micros. Não some moedas diferentes.
- Google: saldo = adjusted_spending_limit_micros - amount_served_micros do orçamento APPROVED mais recente.
- Dias úteis até zerar = saldo / média de gasto dos últimos 3 dias completos, contados em dias úteis.
- Status: crítico até 5 dias úteis, baixo de 6 a 7, ok acima. Sem média válida: indeterminado.
- A tabela atual não responde saldo de datas passadas. Use o histórico diário.
- Só contas do registro de cada cliente. A camada de origem da fonte não define o dono da conta.
Exceções por cliente:
- <cliente>: recarga por Pix com taxa de <x>%; saldo líquido = pago x (1 - taxa).
- <cliente>: janela de pagamento de <n> dias úteis; crítico abaixo de <n>.
```

### Variações

- **Recarga sugerida:** Valor para chegar ao fim do mês = gasto médio x dias restantes - saldo, já somada a taxa da recarga.
- **Ritmo contra o plano:** Compare o gasto médio com a verba diária do plano de mídia para saber se a recarga cobre o planejado.
- **Conta pós-paga:** Alerte quando o valor devido se aproxima do limite de cobrança ou quando a conta muda de status por falha de pagamento.
