# Exigências do Tribunal Superior Eleitoral para validação de CPF em doações eleitorais

> Conheça as exigências do TSE para validação de CPF em doações eleitorais e como plataformas de financiamento podem garantir conformidade.

**Publicado:** 09/06/2025
**Autor:** Redação CPFHub.io
**URL:** https://cpfhub.io/blog/exigencias-do-tribunal-superior-eleitoral-para-validacao-de-cpf-em-doacoes-eleitorais

---


O [TSE](https://www.tse.jus.br) exige que todas as doações eleitorais sejam vinculadas ao CPF do doador e que o CPF seja válido e regular na Receita Federal: plataformas de arrecadação de campanhas devem validar o CPF do doador via API antes de processar qualquer contribuição, prevenindo doações com CPFs falsos, duplicados ou de pessoas jurídicas disfarçadas. O descumprimento pode levar à rejeição da prestação de contas e até à cassação do mandato do candidato.

## Introdução

O financiamento de campanhas eleitorais no Brasil é regulado por normas rigorosas da legislação eleitoral e pelas resoluções do Tribunal Superior Eleitoral (TSE). Desde a proibição de doações de empresas em 2015, as doações de pessoas físicas tornaram-se a principal fonte de financiamento privado de campanhas, e o CPF do doador é o elemento central de identificação e rastreabilidade dessas contribuições.

O TSE exige que toda doação eleitoral seja identificada pelo CPF do doador, com verificação de que o documento é válido, pertence a uma pessoa real e que o doador respeita os limites legais de contribuição. Para plataformas de financiamento coletivo eleitoral (vaquinhas eleitorais) e para as próprias campanhas que recebem doações online, a validação automatizada de CPF é obrigatória.

---

## Legislação eleitoral aplicável

### Lei das Eleições (Lei 9.504/1997)

A legislação eleitoral estabelece regras claras sobre doações:

- Apenas pessoas físicas podem doar para campanhas eleitorais.
- O limite de doação é de 10% dos rendimentos brutos do ano anterior.
- Toda doação deve ser identificada com nome completo, CPF e valor.
- Doações anônimas são proibidas.
- Os dados de doadores devem ser prestados ao TSE para publicação.

### Resoluções do TSE

O TSE complementa a legislação com resoluções específicas para cada ciclo eleitoral, detalhando:

- Procedimentos para recebimento de doações online.
- Requisitos técnicos para plataformas de financiamento coletivo.
- Formatos de prestação de contas com identificação por CPF.
- Prazos e obrigações de publicidade das doações recebidas.

---

## Exigências específicas de validação de CPF

### Identificação obrigatória

Cada doação, independentemente do valor, deve estar vinculada a um CPF válido e verificado. A campanha é responsável por garantir que o CPF informado pelo doador é legítimo.

### Verificação de titularidade

O nome vinculado ao CPF deve corresponder ao nome informado pelo doador. Divergências podem indicar uso de CPF de terceiros — prática ilegal que configura doação oculta.

### Limite de doação

O limite de 10% dos rendimentos brutos exige controle por CPF. A campanha deve manter registro de todas as doações por CPF para garantir que o limite não seja ultrapassado. Embora a API de CPF não forneça dados de renda, o CPF validado é o identificador que permite o controle.

### Vedação a menores

Menores de 16 anos não possuem título de eleitor e não podem realizar doações eleitorais. A data de nascimento retornada pela API permite verificar automaticamente a idade do doador.

---

## Implementação prática

### Exemplo com cURL

```bash
curl -X GET "https://api.cpfhub.io/cpf/77766655544" \
 -H "x-api-key: SUA_API_KEY" \
 -H "Accept: application/json" \
 --timeout 10
```

### Exemplo em Python para plataforma de doação eleitoral

```python
import requests
import os
from datetime import datetime, date
from decimal import Decimal

class DoacaoEleitoralValidator:
 """
 Valida doações eleitorais em conformidade com as exigências
 do Tribunal Superior Eleitoral.
 """

 API_URL = "https://api.cpfhub.io/cpf"
 IDADE_MINIMA_DOACAO = 16

 def __init__(self):
 self.api_key = os.environ.get("CPFHUB_API_KEY")
 self.doacoes_por_cpf = {} # CPF -> total doado

 def validar_cpf(self, cpf):
 headers = {
 "x-api-key": self.api_key,
 "Accept": "application/json",
 }
 try:
 response = requests.get(
 f"{self.API_URL}/{cpf}",
 headers=headers,
 timeout=10,
 )
 response.raise_for_status()
 return response.json()
 except requests.exceptions.Timeout:
 return {"error": "timeout"}
 except requests.exceptions.RequestException as e:
 return {"error": str(e)}

 def calcular_idade(self, data_nascimento_str):
 data_nasc = datetime.strptime(data_nascimento_str, "%Y-%m-%d").date()
 hoje = date.today()
 idade = hoje.year - data_nasc.year
 if (hoje.month, hoje.day) < (data_nasc.month, data_nasc.day):
 idade -= 1
 return idade

 def validar_doacao(self, cpf, nome_doador, valor_doacao):
 """
 Valida uma doação eleitoral segundo as regras do TSE.
 """
 resultado = {
 "cpf": cpf,
 "valor": float(valor_doacao),
 "timestamp": datetime.utcnow().isoformat(),
 "verificacoes": [],
 }

 # 1. Validar CPF via API
 dados_cpf = self.validar_cpf(cpf)

 if "error" in dados_cpf:
 resultado["aprovada"] = False
 resultado["motivo"] = "Erro na verificação do CPF"
 resultado["verificacoes"].append({
 "item": "cpf_valido",
 "resultado": False,
 })
 return resultado

 if not dados_cpf.get("success"):
 resultado["aprovada"] = False
 resultado["motivo"] = "CPF não encontrado — doação não pode ser aceita"
 resultado["verificacoes"].append({
 "item": "cpf_valido",
 "resultado": False,
 })
 return resultado

 dados = dados_cpf["data"]
 resultado["verificacoes"].append({
 "item": "cpf_valido",
 "resultado": True,
 })

 # 2. Verificar nome
 nome_api = dados["nameUpper"]
 nome_input = nome_doador.upper().strip()
 nome_confere = nome_api == nome_input

 resultado["verificacoes"].append({
 "item": "nome_confere",
 "resultado": nome_confere,
 "detalhe": f"API: {nome_api}" if not nome_confere else None,
 })

 if not nome_confere:
 resultado["aprovada"] = False
 resultado["motivo"] = (
 "Nome divergente — possível doação oculta (vedada pelo TSE)"
 )
 return resultado

 # 3. Verificar idade mínima
 idade = self.calcular_idade(dados["birthDate"])
 idade_ok = idade >= self.IDADE_MINIMA_DOACAO

 resultado["verificacoes"].append({
 "item": "idade_minima",
 "resultado": idade_ok,
 "idade": idade,
 })

 if not idade_ok:
 resultado["aprovada"] = False
 resultado["motivo"] = "Doador menor de 16 anos — doação vedada"
 return resultado

 # 4. Verificar acúmulo de doações
 total_anterior = self.doacoes_por_cpf.get(cpf, Decimal("0"))
 novo_total = total_anterior + Decimal(str(valor_doacao))

 resultado["verificacoes"].append({
 "item": "acumulo_doacoes",
 "total_anterior": float(total_anterior),
 "novo_total": float(novo_total),
 })

 # 5. Aprovar e registrar
 self.doacoes_por_cpf[cpf] = novo_total

 resultado["aprovada"] = True
 resultado["motivo"] = "Doação aprovada"
 resultado["doador"] = {
 "cpf": dados["cpf"],
 "nome": dados["name"],
 "idade": idade,
 "total_doado_campanha": float(novo_total),
 }

 return resultado

 def gerar_prestacao_contas(self):
 """
 Gera relatório no formato exigido pelo TSE.
 """
 registros = []
 for cpf, total in self.doacoes_por_cpf.items():
 dados_cpf = self.validar_cpf(cpf)
 if dados_cpf.get("success"):
 registros.append({
 "cpf_doador": dados_cpf["data"]["cpf"],
 "nome_doador": dados_cpf["data"]["name"],
 "valor_total": float(total),
 })
 return {
 "data_geracao": datetime.utcnow().isoformat(),
 "total_doadores": len(registros),
 "valor_total": sum(r["valor_total"] for r in registros),
 "doadores": registros,
 }

# Uso
validator = DoacaoEleitoralValidator()

# Processar doação
resultado = validator.validar_doacao(
 cpf="77766655544",
 nome_doador="Sandra Maria Rocha",
 valor_doacao=500.00,
)

if resultado["aprovada"]:
 print(f"Doação aprovada: R$ {resultado['valor']}")
 print(f"Doador: {resultado['doador']['nome']}")
 print(f"Total doado na campanha: R$ {resultado['doador']['total_doado_campanha']}")
else:
 print(f"Doação recusada: {resultado['motivo']}")
 for v in resultado["verificacoes"]:
 print(f" {v['item']}: {'OK' if v['resultado'] else 'FALHA'}")
```

---

## Plataformas de financiamento coletivo eleitoral

As "vaquinhas eleitorais" — plataformas digitais que intermediam doações de múltiplos cidadãos para campanhas — possuem obrigações específicas:

### Requisitos técnicos do TSE

- Cadastro junto ao TSE como plataforma autorizada.
- Identificação obrigatória do doador por CPF.
- Emissão de recibo eleitoral digital para cada doação.
- Transmissão dos dados ao sistema de prestação de contas do TSE.
- Garantia de que cada CPF corresponde a um eleitor real.

### Validação em tempo real

A validação de CPF via API permite que a plataforma verifique a identidade do doador em tempo real, antes de processar a doação. Isso evita que doações irregulares entrem no sistema e precisem ser devolvidas posteriormente — um processo burocraticamente custoso.

---

## Transparência e publicidade

A legislação eleitoral exige que as doações recebidas sejam públicas. Os dados de CPF dos doadores (parcialmente mascarados) são publicados no site do TSE. A validação prévia garante que:

- Os dados publicados são precisos.
- Não há doadores fictícios inflando artificialmente o número de apoiadores.
- O nome publicado corresponde ao real titular do CPF.

---

## Sanções por descumprimento

O descumprimento das normas de identificação de doadores pode resultar em:

- Rejeição da prestação de contas da campanha.
- Devolução compulsória de doações não identificadas.
- Multa ao candidato e ao partido.
- Em casos graves, cassação do registro de candidatura ou do mandato.

A validação automatizada de CPF via API minimiza o risco dessas sanções ao garantir que cada doação é devidamente identificada no momento do recebimento.

---

## Custos e viabilidade

O volume de doações por campanha varia enormemente. A CPFHub.io oferece planos adequados:

- **Gratuito (50 consultas/mês)**: para campanhas menores ou em fase de preparação.
- **Pro (R$ 149/mês, 1.000 consultas)**: para campanhas de médio porte.
- **Corporativo (sob consulta)**: para plataformas de financiamento coletivo que atendem múltiplas campanhas.

A API opera com 99,9% de uptime e tempo de resposta de aproximadamente 900 milissegundos, garantindo que o processo de doação seja rápido e confiável para o cidadão que deseja contribuir. Quando o limite do plano é atingido, a API não bloqueia — cobra R$0,15 por consulta adicional para manter o fluxo de doações sem interrupção.

---

## Perguntas frequentes

### Quais são as obrigações do TSE sobre CPF em doações eleitorais?

A legislação eleitoral (Lei 9.504/1997 e resoluções do TSE) determina que doações a campanhas políticas devem ser identificadas com CPF do doador, limitadas a valores legais por pessoa física e vedadas para estrangeiros, empresas e entidades sem fins lucrativos. O TSE fiscaliza a regularidade do CPF nas prestações de contas.

### O que acontece se uma campanha aceitar doação com CPF inválido?

A doação pode ser classificada como irregular pelo TSE, obrigando sua devolução ao doador ou ao fundo partidário. Em casos de CPFs falsos sistemáticos, a campanha pode ser multada e os responsáveis sujeitos a sanções eleitorais. A validação de CPF no momento da doação é a proteção mais eficaz.

### Plataformas digitais de arrecadação eleitoral precisam de CNPJ e compliance específico?

Sim. Plataformas que processam doações eleitorais operam em ambiente regulado pelo TSE e precisam de autorização formal. Além da validação de CPF, devem implementar controles de limite de doação por CPF, rejeição de estrangeiros e emissão de recibos eleitorais vinculados ao CPF validado.

### Como a validação de CPF previne doações eleitorais ilegais via laranja?

A API retorna o nome vinculado ao CPF. Se o nome do doador declarado divergir do nome oficial, a doação pode ser de um "laranja" — alguém que doa em nome de outro para contornar limites. A consistência entre CPF, nome e valor da doação é o sinal básico de legalidade que a validação via API fornece.

### Leia também

- [KYC no Brasil: quais setores são obrigados a validar CPF por lei](https://cpfhub.io/blog/kyc-no-brasil-quais-setores-sao-obrigados-a-validar-cpf-por-lei)
- [LGPD: CPF é dado pessoal sensível ou não? Entenda a classificação correta](https://cpfhub.io/blog/lgpd-cpf-e-dado-pessoal-sensivel-ou-nao-entenda-a-classificacao-correta)
- [Como proteger informações sensíveis de CPF ao consumir APIs](https://cpfhub.io/blog/como-proteger-informacoes-sensiveis-de-cpf-ao-consumir-apis)
- [Diferença entre validação de CPF e consulta de CPF: quando usar cada uma](https://cpfhub.io/blog/diferenca-entre-validacao-de-cpf-e-consulta-de-cpf-quando-usar-cada-uma)

---

## Conclusão

As exigências do TSE para identificação de doadores eleitorais por CPF são rigorosas e essenciais para a transparência do processo democrático. Campanhas e plataformas de financiamento coletivo que implementam validação automatizada de CPF garantem conformidade legal, protegem-se contra sanções e contribuem para a integridade do sistema eleitoral brasileiro. A API da [CPFHub.io](https://www.cpfhub.io/) oferece a validação em tempo real necessária para atender esses requisitos, com disponibilidade garantida durante períodos eleitorais de alta demanda.

Cadastre-se em [cpfhub.io](https://www.cpfhub.io/) — 50 consultas mensais gratuitas, sem cartão de crédito.

