← Blog

·

WhatsApp para estudios contables: documentos, boletas de impuestos y plazos

Actualizado el 25/10/2026

Con la API oficial de WhatsApp, un estudio contable puede enviar las boletas de pago de impuestos en PDF directamente desde su sistema, con el PDF en el encabezado de una plantilla de utilidad, mandar recordatorios automáticos de vencimientos y de entrega de documentos, y recibir facturas, extractos y comprobantes que llegan por webhook y se guardan en la carpeta del cliente. La diferencia con la app es que todo queda registrado, sale del sistema del estudio y no depende del celular de un empleado.

Esta guía muestra los tres flujos principales (boletas, recordatorios y recepción de documentos), los payloads de la Cloud API, la categoría correcta de cada plantilla y los cuidados con datos fiscales. (Contexto: en Brasil, los estudios envían cada mes guías de impuestos como el DAS, la guía única de las pequeñas empresas del régimen Simples Nacional.)

Por qué dejar el celular del estudio

En muchos estudios, las boletas salen del sistema contable, se descargan una a una y se envían desde el WhatsApp de un empleado. Los problemas son conocidos: boleta enviada al cliente equivocado, documentos perdidos en chats, nadie sabe si el cliente la recibió y, cuando el empleado se va, el historial se va con él.

Con la API, el flujo pasa a ser:

HoyCon la API
Descargar el PDF y adjuntarlo a manoEl sistema envía el PDF desde la carpeta del cliente
Revisar a ojo si el cliente lo leyóEl webhook de estado registra entregado y leído
Documentos dispersos en chatsLos archivos recibidos van a la carpeta del cliente
El recordatorio depende de que alguien se acuerdeRecordatorios programados por vencimiento
Un celular por personaVarios agentes en el mismo número

Con la coexistencia, el número del estudio puede seguir en la app WhatsApp Business mientras el sistema usa la API.

Flujo 1: envío de boletas en PDF

La boleta mensual es un mensaje iniciado por el estudio, normalmente fuera de la ventana de atención de 24 horas, así que necesita plantilla. Lo que funciona es una plantilla de utilidad con encabezado de tipo documento.

Creación de la plantilla:

{
  "name": "guia_disponivel",
  "language": "pt_BR",
  "category": "UTILITY",
  "components": [
    { "type": "HEADER", "format": "DOCUMENT",
      "example": { "header_handle": ["HANDLE_PDF_DE_EJEMPLO"] } },
    { "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" } ] }
  ]
}

Envío con el 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_DEL_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 qué este texto suele ser utilidad: trae datos específicos de un servicio contratado por el cliente (empresa, período, monto, vencimiento) y no tiene oferta. Meta clasifica como utilidad las alertas y actualizaciones sobre productos o servicios contratados, siempre que no promocionen, recomienden ni intenten renovar nada (pautas de categorización). Si la misma plantilla ofrece «asesoría de planificación tributaria con descuento», pasa a marketing. Vea cómo Meta clasifica su plantilla.

Detalles prácticos:

  • Nombre del archivo. Use filename con tipo de boleta, período y empresa. Es lo que el cliente ve en el chat y en el celular.
  • Subida o enlace. El PDF puede ir por enlace HTTPS público o por id de medio tras subirlo. Para boletas, prefiera la subida: un enlace público expone un documento fiscal en internet. Los IDs de medios devueltos por la API duran 30 días (documentación de medios).
  • Tamaño. Los documentos admiten hasta 100 MB, de sobra para boletas.
  • Opt-in. Meta exige que el cliente haya aceptado recibir mensajes del estudio, con el nombre de la empresa claro (Get opt-in for WhatsApp). Incluya esa aceptación en el contrato o en el alta del cliente y guarde el registro.
  • Varias boletas. Envíe un mensaje por boleta. Juntar varios impuestos en un solo mensaje confunde al cliente y a su control de entregas.

El artículo sobre cómo enviar imagen, PDF, audio y video por la API cubre la subida y los tipos de archivo.

Flujo 2: recordatorios de vencimientos y plazos

Hay dos tipos de recordatorio en un estudio, y ambos pueden ser utilidad:

RecordatorioEjemploPor qué es utilidad
Vencimiento de boleta«La boleta {{1}} de la empresa {{2}} vence mañana, {{3}}. Si ya pagó, ignore este mensaje.»Alerta sobre un servicio contratado, sin oferta
Entrega de documentos«Para cerrar el período {{1}} de {{2}}, necesitamos las facturas y extractos hasta el {{3}}. Envíelos por aquí.»Pedido de acción para completar un servicio
Pendiente de registro«Falta el estatuto actualizado de {{1}} para completar el cambio. Envíelo por aquí.»Actualización específica de la cuenta

Meta usa un caso parecido como ejemplo de utilidad: un aviso de que, para terminar de configurar un perfil, el usuario debe subir una foto. Pedir un documento para completar un servicio sigue la misma lógica.

Reglas para los recordatorios de plazos:

  • Un recordatorio por plazo, con como máximo un refuerzo cerca de la fecha. El contador que manda tres avisos al día termina bloqueado.
  • Deténgase cuando se resuelva. Si los documentos llegaron o la boleta se pagó, cancele los recordatorios de ese período.
  • El calendario del cliente, no el del estudio. Cada empresa tiene su régimen y su calendario de obligaciones. Genere los recordatorios a partir de las obligaciones registradas de cada una.

Para los honorarios del propio estudio, la lógica es la de un flujo de cobranza de facturas; vea flujo de cobranza por WhatsApp.

Flujo 3: recepción de documentos

Cuando el cliente responde con fotos de facturas, PDF de extractos o planillas, el webhook entrega el tipo de mensaje y un ID de medio, no el archivo. El sistema descarga el archivo y lo guarda en la carpeta correcta.

Dos plazos importan, según la documentación de medios de Meta: la URL de descarga vence a los 5 minutos, y el ID de medio recibido por webhook solo puede descargarse durante 7 días. Descargue en el momento y guárdelo en su propio almacenamiento.

Ejemplo en Node.js que recibe un documento, lo descarga por Vectalk y lo guarda en la carpeta del cliente:

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

const TOKEN = process.env.VECTALK_TOKEN;

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

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

  const cliente = await db.clientePorTelefono(msg.from);
  if (!cliente) return db.derivarAAgente(msg); // número desconocido

  const periodo = await db.periodoAbierto(cliente.id);
  const nombre = medio.filename || `${msg.type}-${msg.id.slice(-8)}.${msg.type === 'image' ? 'jpg' : 'bin'}`;
  const destino = path.join('/datos/clientes', cliente.carpeta, periodo, 'recibidos', nombre);

  await fs.mkdir(path.dirname(destino), { recursive: true });
  await fs.writeFile(destino, await descargarMedio(medio.id));
  await db.registrarDocumento(cliente.id, periodo, destino, msg.id);
}

Después de guardar, responda dentro de la ventana confirmando la recepción («Recibimos 3 archivos del período 09/2026»). Esa respuesta es un mensaje de servicio, y cada número tiene 1.000 mensajes de servicio gratuitos al mes (página de precios).

Dos mejoras que reducen el retrabajo:

  • Identifique la empresa. El mismo socio puede tener tres empresas. Si el teléfono está vinculado a más de una, pregunte con una lista interactiva a cuál pertenecen los archivos.
  • Revise el archivo. Una foto de factura borrosa no sirve. Un agente, o una rutina de lectura de documentos, valida y pide reenvío cuando hace falta.

Datos sensibles, LGPD y política de WhatsApp

Los documentos contables contienen datos personales y financieros. Tres cuidados:

  • Política de WhatsApp. La Política de Mensajes de WhatsApp Business pide no divulgar ni pedir que las personas divulguen números completos de tarjetas de pago, números de cuentas financieras, números de documentos de identidad u otra información confidencial. Para contraseñas, certificados digitales y datos bancarios, use un portal seguro y envíe solo el enlace.
  • Persona correcta. Confirme que el teléfono pertenece a alguien autorizado a recibir las boletas de esa empresa. Un cambio de socio o de responsable financiero debe actualizar el registro.
  • LGPD. El tratamiento de estos datos está sujeto a la ley brasileña de protección de datos (Ley 13.709/2018), con base legal, finalidad y plazo de conservación definidos. Vea LGPD y WhatsApp; este texto no sustituye asesoría legal.

Active también la verificación en dos pasos del número y controle quién accede al portafolio comercial de Meta. El artículo sobre seguridad de la cuenta business enumera los puntos clave.

Organización de la atención

Los estudios atienden decenas o cientos de empresas con un equipo pequeño. Con la API, todos atienden en el mismo número desde una herramienta de atención, con colas por cartera de clientes. Vea varios agentes en un número. Los botones «Recebi» (recibido) y «Tenho uma dúvida» (tengo una duda) ayudan a la cola: el primero solo registra la confirmación y el segundo abre una atención para el contador responsable.

Cómo hacerlo con Vectalk

Vectalk es un proxy de la WhatsApp Cloud API oficial de Meta: las plantillas con documento, el envío por POST https://apis.vectalk.com.br/api/messages y los webhooks siguen los payloads de Meta. La documentación muestra el envío de documentos, la subida de medios y la descarga de medios. Los cargos de Meta llegan en la factura de Vectalk, sin tarjeta registrada en Meta, y la coexistencia mantiene el número en la app WhatsApp Business. Cree su cuenta en apps.vectalk.com.br/register.

Preguntas frecuentes

¿El envío de una boleta de impuestos es plantilla de utilidad?

Suele serlo, cuando el texto trae solo datos de la boleta (empresa, período, monto, vencimiento) y no ofrece servicios. Meta puede recategorizarla si hay contenido promocional.

¿Puedo enviar la boleta como enlace en lugar de adjunto?

Puede, pero el adjunto es mejor: el cliente lo abre sin salir del chat y usted no deja un documento fiscal en un enlace público. Si usa enlace, prefiera un portal con inicio de sesión.

¿Por cuánto tiempo puedo descargar un documento que envió el cliente?

El ID de medio recibido por webhook puede descargarse durante 7 días, y cada URL de descarga dura 5 minutos. Descargue en cuanto llegue el webhook.

¿Necesito una plantilla por tipo de boleta?

No necesariamente. Una plantilla con variables para tipo de boleta, empresa, período, monto y vencimiento cubre la mayoría de los impuestos. Cree plantillas separadas solo cuando el texto realmente cambie.

¿El contador puede responder desde su celular?

Sí. Con la coexistencia, el número sigue en la app WhatsApp Business mientras el sistema usa la API.


Fuentes oficiales consultadas el 25/10/2026: Categorización de plantillas, Plantillas de utilidad, Medios en la Cloud API, Precios, Política de Mensajes de WhatsApp Business, Get opt-in for WhatsApp, Documentación de Vectalk.

Integre o WhatsApp oficial ao seu sistema

A Vectalk entrega a Cloud API da Meta com os mesmos payloads e webhooks, um token para todas as contas e documentação completa.