← Blog

·

WhatsApp para escritórios de contabilidade: documentos, guias e prazos

Atualizado em 25/10/2026

Com a API oficial do WhatsApp, um escritório de contabilidade pode enviar guias de impostos em PDF direto do sistema, com o PDF no cabeçalho de um template de utilidade, mandar lembretes de vencimento e de entrega de documentos de forma automática e receber notas fiscais, extratos e comprovantes que chegam por webhook e são salvos na pasta do cliente. A diferença para o app é que tudo fica registrado, sai do sistema do escritório e não depende do celular de um funcionário.

Este guia mostra os três fluxos principais (guias, lembretes e coleta de documentos), os payloads da Cloud API, a categoria certa de cada template e os cuidados com dados fiscais.

Por que sair do celular do escritório

Em muitos escritórios, as guias saem do sistema contábil, são baixadas uma a uma e enviadas pelo WhatsApp de um funcionário. Os problemas são conhecidos: guia enviada para o cliente errado, documentos perdidos em conversas, ninguém sabe se o cliente recebeu e, quando o funcionário sai, o histórico vai junto.

Com a API, o fluxo passa a ser:

HojeCom a API
Baixar o PDF e anexar manualmenteSistema envia o PDF da pasta do cliente
Conferir no olho se o cliente leuWebhook de status registra entregue e lido
Documentos espalhados em conversasArquivos recebidos vão para a pasta do cliente
Lembrete depende de alguém lembrarLembretes agendados por vencimento
Um celular por pessoaVários atendentes no mesmo número

O número do escritório pode continuar no app WhatsApp Business com a coexistência, enquanto o sistema usa a API.

Fluxo 1: envio de guias em PDF

A guia mensal é uma mensagem iniciada pelo escritório, normalmente fora da janela de 24 horas, então precisa de template. O formato que funciona é um template de utilidade com cabeçalho do tipo documento.

Criação do template:

{
  "name": "guia_disponivel",
  "language": "pt_BR",
  "category": "UTILITY",
  "components": [
    { "type": "HEADER", "format": "DOCUMENT",
      "example": { "header_handle": ["HANDLE_DO_PDF_DE_EXEMPLO"] } },
    { "type": "BODY",
      "text": "Olá, {{1}}. A guia de {{2}} da empresa {{3}}, competência {{4}}, está em anexo. Valor: {{5}}. Vencimento: {{6}}.",
      "example": { "body_text": [["Marina", "DAS", "Padaria Exemplo LTDA", "09/2026", "R$ 1.284,55", "20/10/2026"]] } },
    { "type": "FOOTER", "text": "Contabilidade Exemplo" },
    { "type": "BUTTONS", "buttons": [
      { "type": "QUICK_REPLY", "text": "Recebi" },
      { "type": "QUICK_REPLY", "text": "Tenho uma dúvida" } ] }
  ]
}

Envio com o PDF real de cada cliente:

{
  "messaging_product": "whatsapp",
  "to": "5584999999999",
  "type": "template",
  "template": {
    "name": "guia_disponivel",
    "language": { "code": "pt_BR" },
    "components": [
      { "type": "header", "parameters": [
        { "type": "document", "document": { "id": "MEDIA_ID_DO_PDF", "filename": "DAS-09-2026-Padaria-Exemplo.pdf" } } ] },
      { "type": "body", "parameters": [
        { "type": "text", "text": "Marina" },
        { "type": "text", "text": "DAS" },
        { "type": "text", "text": "Padaria Exemplo LTDA" },
        { "type": "text", "text": "09/2026" },
        { "type": "text", "text": "R$ 1.284,55" },
        { "type": "text", "text": "20/10/2026" } ] }
    ]
  }
}

Por que esse texto tende a ser utilidade: ele traz dados específicos de um serviço contratado pelo cliente (empresa, competência, valor, vencimento) e não tem oferta. A Meta classifica como utilidade alertas e atualizações sobre produtos ou serviços contratados, desde que não promovam, recomendem ou tentem renovar nada (diretrizes de categorização). Se o mesmo template oferecer “consultoria de planejamento tributário com desconto”, vira marketing. Veja como a Meta classifica seu template.

Detalhes práticos:

  • Nome do arquivo. Use filename com tipo da guia, competência e empresa. É o que o cliente vê na conversa e no celular.
  • Upload ou link. O PDF pode ir por link HTTPS público ou por id de mídia após o upload. Para guias, prefira o upload: o link público expõe um documento fiscal na internet. IDs de mídia enviados pela API valem 30 dias (documentação de mídia).
  • Tamanho. Documentos aceitam até 100 MB, folgado para guias.
  • Opt-in. A Meta exige que o cliente tenha aceitado receber mensagens do escritório, com o nome da empresa claro (Get opt-in for WhatsApp). Inclua esse aceite no contrato ou no cadastro do cliente e guarde o registro.
  • Várias guias. Mande uma mensagem por guia. Juntar DAS, FGTS e pró-labore numa mensagem só confunde o cliente e o seu controle de entrega.

O artigo sobre como enviar imagem, PDF, áudio e vídeo pela API cobre upload e tipos de arquivo.

Quer testar enquanto lê? Crie sua conta na Vectalk e envie a primeira mensagem pela API oficial. Criar conta grátis →

Fluxo 2: lembretes de vencimento e de prazos

Há dois tipos de lembrete no escritório, e os dois podem ser utilidade:

LembreteExemploPor que é utilidade
Vencimento de guia“A guia {{1}} da empresa {{2}} vence amanhã, {{3}}. Se já pagou, desconsidere.”Alerta sobre um serviço contratado, sem oferta
Entrega de documentos“Para fecharmos a competência {{1}} da empresa {{2}}, precisamos das notas fiscais e extratos até {{3}}. Envie por aqui.”Pedido de ação para concluir um serviço
Pendência cadastral“Falta o contrato social atualizado da empresa {{1}} para concluirmos a alteração. Envie por aqui.”Atualização específica da conta

A Meta usa um caso parecido como exemplo de utilidade: um aviso de que, para concluir a configuração de um perfil, o usuário precisa enviar uma foto. Pedir um documento para concluir um serviço segue a mesma lógica.

Algumas regras para a régua de prazos:

  • Um lembrete por prazo, com, no máximo, um reforço perto da data. Contador que manda três avisos por dia vira contato bloqueado.
  • Pare quando a pendência for resolvida. Se os documentos chegaram ou a guia foi paga, cancele os lembretes daquela competência.
  • Calendário do cliente, não do escritório. Cada empresa tem um regime e um calendário próprio de obrigações. Gere os lembretes a partir das obrigações cadastradas de cada uma.

Para o caso de honorários do próprio escritório, a lógica é a de uma régua de cobrança de fatura; veja régua de cobrança pelo WhatsApp.

Fluxo 3: coleta de documentos

Quando o cliente responde com fotos de notas, PDFs de extrato ou planilhas, o webhook entrega o tipo da mensagem e um ID de mídia, não o arquivo. O sistema baixa o arquivo e salva na pasta certa.

Dois prazos importam, segundo a documentação de mídia da Meta: a URL de download expira em 5 minutos, e o ID de mídia recebido por webhook só pode ser baixado por 7 dias. Baixe na hora e guarde no seu armazenamento.

Exemplo em Node.js que recebe um documento, baixa pela Vectalk e salva na pasta do cliente:

import fs from 'node:fs/promises';
import path from 'node:path';

const TOKEN = process.env.VECTALK_TOKEN;

async function baixarMidia(mediaId) {
  const r = await fetch(`https://apis.vectalk.com.br/api/media/${mediaId}/download`, {
    headers: { Authorization: `Bearer ${TOKEN}` },
  });
  if (!r.ok) throw new Error(`Falha no download: ${r.status}`);
  return Buffer.from(await r.arrayBuffer());
}

export async function tratarMensagem(msg, db) {
  const midia = msg.document || msg.image;
  if (!midia) return;

  const cliente = await db.clientePorTelefone(msg.from);
  if (!cliente) return db.encaminharParaAtendente(msg); // número desconhecido

  const competencia = await db.competenciaAberta(cliente.id);
  const nome = midia.filename || `${msg.type}-${msg.id.slice(-8)}.${msg.type === 'image' ? 'jpg' : 'bin'}`;
  const destino = path.join('/dados/clientes', cliente.pasta, competencia, 'recebidos', nome);

  await fs.mkdir(path.dirname(destino), { recursive: true });
  await fs.writeFile(destino, await baixarMidia(midia.id));
  await db.registrarDocumento(cliente.id, competencia, destino, msg.id);
}

Depois de salvar, responda dentro da janela confirmando o recebimento (“Recebemos 3 arquivos para a competência 09/2026”). Essa resposta é mensagem de serviço, e cada número tem 1.000 mensagens de serviço gratuitas por mês (página de preços).

Duas melhorias que reduzem retrabalho:

  • Identifique a empresa. O mesmo sócio pode ter três CNPJs. Se o telefone estiver ligado a mais de uma empresa, pergunte com uma lista interativa a qual delas os arquivos pertencem.
  • Confira o tipo. Foto de nota fiscal tremida não serve. Um atendente, ou uma rotina de leitura de documento, valida e pede reenvio quando necessário.

Dados sensíveis, LGPD e política do WhatsApp

Documentos contábeis carregam dados pessoais e financeiros. Três cuidados:

  • Política do WhatsApp. A Política de Mensagens do WhatsApp Business pede que a empresa não divulgue nem peça às pessoas que divulguem números completos de cartão de pagamento, números de conta financeira, números de documentos de identidade ou outras informações confidenciais. Para senhas, certificados digitais e dados bancários, use um portal seguro e envie apenas o link.
  • Pessoa certa. Confirme que o telefone pertence a quem pode receber a guia daquela empresa. Troca de sócio ou de responsável financeiro precisa atualizar o cadastro.
  • LGPD. O tratamento desses dados está sujeito à Lei nº 13.709/2018, com base legal, finalidade e prazo de guarda definidos. Veja LGPD e WhatsApp; este texto não substitui a orientação de um advogado.

Ative também a verificação em duas etapas do número e controle quem tem acesso ao portfólio da Meta. O artigo sobre segurança da conta business lista os pontos.

Organização do atendimento

Escritórios atendem dezenas ou centenas de empresas com uma equipe pequena. Com a API, todos atendem no mesmo número por uma ferramenta de atendimento, com fila por carteira de clientes. Veja vários atendentes no mesmo número. As respostas dos botões “Recebi” e “Tenho uma dúvida” ajudam a fila: “Recebi” só registra a confirmação, e “Tenho uma dúvida” abre um atendimento para o contador responsável.

Como fazer isso com a Vectalk

A Vectalk é um proxy da WhatsApp Cloud API oficial: os templates com documento, o envio por POST https://apis.vectalk.com.br/api/messages e os webhooks seguem os payloads da Meta. A documentação mostra o envio de documento, o upload de mídia e o download de mídia. A cobrança da Meta vem na fatura da Vectalk, sem cartão cadastrado na Meta, e a coexistência mantém o número no app WhatsApp Business. Crie sua conta em apps.vectalk.com.br/register e veja o guia da API oficial do WhatsApp e o artigo sobre templates.

Perguntas frequentes

Envio de guia de imposto é template de utilidade?

Tende a ser, quando o texto traz só dados da guia (empresa, competência, valor, vencimento) e não oferece serviços. A Meta pode recategorizar se houver conteúdo promocional.

Posso mandar a guia como link em vez de anexo?

Pode, mas o anexo é melhor: o cliente abre sem sair da conversa, e você não deixa um documento fiscal num link público. Se usar link, prefira um portal com login.

Por quanto tempo consigo baixar um documento que o cliente enviou?

O ID de mídia recebido por webhook pode ser baixado por 7 dias, e cada URL de download vale 5 minutos. Baixe assim que o webhook chegar.

Preciso de um template por tipo de guia?

Não necessariamente. Um template com variáveis para tipo de guia, empresa, competência, valor e vencimento atende DAS, FGTS e outras. Crie templates separados só quando o texto mudar de verdade.

O contador pode responder pelo celular?

Sim. Com a coexistência, o número continua no app WhatsApp Business enquanto o sistema usa a API.


Fontes oficiais consultadas em 25/10/2026: Categorização de templates, Templates de utilidade, Mídia na Cloud API, Preços, Política de Mensagens do WhatsApp Business, Get opt-in for WhatsApp, Documentação da Vectalk.

Coloque o WhatsApp oficial da sua empresa para funcionar

Crie sua conta, conecte seu número à API oficial (dá para manter o app com coexistência) e comece a atender e enviar mensagens.