Un bot de WhatsApp que interactúa con los servicios web de ARCA (Agencia de Recaudación y Control Aduanero) de Argentina para realizar consultas y operaciones fiscales.
- Consulta de puntos de venta habilitados
- Consulta de tipos de comprobantes, conceptos, documentos e IVA
- Consulta de tipos de monedas y cotizaciones
- Consulta de último comprobante autorizado
- Emisión de facturas electrónicas (Facturación Electrónica)
- Node.js (versión 16 o superior)
- npm
- Cuenta de WhatsApp vinculada a un número telefónico
- Certificados digitales de AFIP (.crt y .key)
- CUIT válido habilitado para facturación electrónica
- Clona el repositorio:
git clone https://github.com/tu-usuario/whatsapp-afip-bot.git
cd whatsapp-afip-bot
- Instala las dependencias:
npm install
- Crea un archivo
.env
en la raíz del proyecto con las siguientes variables:
TESTMODE=true # o false para entorno de producción
WEBSERVICEDIR=webservice/ # directorio para almacenar archivos
COOLDOWNTIME=2000 # tiempo de espera entre mensajes en ms
- Inicia el bot:
npm start
-
Escanea el código QR que aparece en la terminal con WhatsApp en tu teléfono.
-
Configura tus credenciales enviando los siguientes mensajes al bot:
configuracion cuit TU_CUIT
(reemplaza TU_CUIT con tu número de CUIT)- Envía tu certificado
.crt
con el mensajeconfiguracion crt
(como archivo adjunto) - Envía tu clave privada
.key
con el mensajeconfiguracion key
(como archivo adjunto)
Envía cualquiera de estos comandos al bot:
puntos venta
: Lista tus puntos de venta habilitadostipos comprobante
: Muestra los tipos de comprobantes disponiblestipos documento
: Muestra los tipos de documentos aceptadostipos iva
: Muestra las alícuotas de IVAcotizacion [moneda] [fecha]
: Consulta cotización de moneda (ej:cotizacion DOL 20230501
)ultimo comprobante
: Consulta el último comprobante autorizadofacturar [pto_venta] [tipo] [concepto] [doc_tipo] [doc_nro] [importe] [iva]
: Emite una facturaayuda
: Muestra todos los comandos disponibles
main.ts
: Lógica principal del bot de WhatsApparca.ts
: Cliente para los servicios web de AFIPfile.ts
: Utilidades para manejo de archivos YAML y base64webservice/
: Directorio donde se almacenan certificados y datos de usuarios
El bot funciona en entorno de prueba (homologación) por defecto. Para cambiar a producción:
- Establece
TESTMODE=false
en el archivo.env
- Asegúrate de tener certificados válidos para producción
Las contribuciones son bienvenidas. Por favor abre un issue o pull request para sugerir mejoras.