Quiero que crees un sistema de facturación electrónica con Google Sheets, Google Apps Script y ARCA, que pueda instalar en mi propia cuenta siguiendo tus instrucciones, aunque no sepa programar.

La idea es simple: cargo una venta en una planilla, completo los datos del cliente y marco “Lista para facturar”. El sistema procesa la venta y guarda el resultado en esa misma fila.

Construí la solución completa con este pedido. Investigá la documentación oficial vigente, revisá que todas las partes sean compatibles y corregí los problemas que encuentres antes de entregarla.

1. QUÉ DEBE HACER

La planilla debe incluir:

- Datos del cliente: nombre o razón social, CUIT, condición frente al IVA, domicilio y correo opcional.
- Datos de la venta: identificador único, fecha, conceptos, cantidades y precios.
- Una casilla “Lista para facturar”, para que nunca se procese una venta mientras todavía la estoy cargando.
- Estado y observaciones: pendiente, procesando, revisar, verificando o facturado en pruebas.
- Resultados: neto, IVA, total, tipo de comprobante, punto de venta, número, CAE, vencimiento y enlace al PDF.

Debe validar los datos antes de procesar, explicar qué falta cuando encuentra un problema y evitar que una misma venta se facture dos veces.

También debe generar un resumen mensual exportable para revisar con el contador, sin presentarlo como un libro IVA ni una declaración fiscal.

2. ALCANCE DE ESTA VERSIÓN

Trabajá exclusivamente en homologación de ARCA, sin emitir facturas reales ni incluir una opción para activar producción.

Para mantener el ejemplo acotado, usá este caso: emisor y receptor responsables inscriptos, factura A común, venta de bienes gravados al 21 % y moneda pesos. Mostrá el IVA discriminado. Otros casos deben quedar para revisar; no asumas que esta regla sirve para cualquier empresa ni que validar el formato de un CUIT confirma su inscripción.

Los comprobantes de prueba deben indicar claramente “HOMOLOGACIÓN · SIN VALIDEZ FISCAL”.

No implementes todavía el envío por Gmail. La configuración de producción y el correo serán una segunda etapa.

3. CÓMO QUIERO INSTALARLO Y USARLO

Todo debe funcionar con Google Sheets y un proyecto vinculado de Google Apps Script, sin GitHub, servidores propios, servicios pagos ni programas que tenga que instalar.

Entregá estos cuatro archivos completos y compatibles:

- Arca.gs: conexión con los servicios de homologación.
- Setup.gs: preparación de la planilla y configuración.
- Ventas.gs: validaciones, procesamiento, estados, PDF y resumen mensual.
- Configuracion.html: asistente visual para conectar ARCA.

Creá un menú en la planilla para prepararla, configurar ARCA, probar la conexión, procesar ventas y activar o desactivar la revisión automática cada minuto.

La instalación debe ser repetible sin borrar datos. El procesamiento automático debe quedar desactivado inicialmente.

4. CONEXIÓN CON ARCA Y PROTECCIÓN DE DATOS

Incluí un asistente que me permita configurar mi CUIT, certificado y punto de prueba. Guiame desde el portal de ARCA hacia WSASS, la creación del certificado de homologación y su autorización para el servicio correspondiente.

La generación de la clave y la solicitud de certificado debe poder hacerse desde el asistente, sin terminal ni programas externos. Implementá la autenticación real que requiere ARCA; no reemplaces el conector por una simulación.

Guardá las credenciales en las propiedades de usuario del proyecto, nunca en celdas ni dentro del código compartido. No me pidas claves fiscales, claves privadas ni certificados en esta conversación. Los ingresos y autorizaciones los haré en las pantallas correspondientes.

“Probar conexión” debe realizar consultas reales, sin emitir comprobantes, y mostrar lo que efectivamente pudo verificar.

5. CONTROLES QUE NO PUEDEN FALTAR

- Identificar las ventas de forma estable aunque ordene las filas.
- Impedir ejecuciones simultáneas y ventas duplicadas.
- Guardar el intento antes de solicitar autorización.
- Si se corta la conexión, consultar y comprobar el resultado antes de intentar otra emisión. Si sigue siendo incierto, dejarlo para revisión.
- Generar el PDF privado solo después de una autorización confirmada. Un error al crear el PDF nunca debe provocar otra factura.
- Calcular importes con precisión de centavos y conservar los datos de la venta autorizada.
- No mostrar un éxito, un CAE o una conexión que no se hayan confirmado.

6. QUÉ NECESITO QUE ME ENTREGUES

Entregá los cuatro archivos completos, preferiblemente descargables y juntos en un ZIP. Sin pseudocódigo, funciones vacías ni partes importantes pendientes de implementar.

Explicá para qué sirve cada archivo en una sola línea.

Después prepará una guía para principiantes que muestre:

Crear la planilla → abrir Extensiones y Apps Script → agregar y guardar los archivos → volver a Sheets → autorizar permisos → configurar ARCA → probar conexión → cargar una venta → comprobar el resultado → activar y desactivar la automatización.

En cada paso indicá dónde estoy, dónde hago clic, qué completo y qué resultado debería ver. Explicá completo cómo instalar el primer archivo y cómo repetir el procedimiento con los demás. No necesito una explicación del código línea por línea.

Incluí pruebas de una venta incompleta, una válida, una repetida y una respuesta incierta. Ejecutá las verificaciones que tengas disponibles y distinguí claramente cuáles probaste y cuáles requieren mi cuenta de Google y ARCA.

Para evitar incompatibilidades: no uses nombres base repetidos entre archivos, no encadenes setSpreadsheetLocale con setSpreadsheetTimeZone, no uses literales BigInt con sufijo n en los archivos .gs y no confundas las casillas vacías con ventas cargadas.

Terminá con las fuentes oficiales consultadas, los límites de esta versión y los pasos manuales pendientes. No frenes la construcción para pedirme datos personales: los completaré después en el asistente.
