Plataforma para la generación, gestión y exportación de declaraciones del Impuesto de Industria y Comercio (ICA) para municipios de Antioquia, Colombia. Sigue la estructura del Formulario Unico Nacional.
Sube un PDF del estatuto tributario municipal y Claude AI extrae automáticamente tarifas ICA, sobretasas, exenciones y parámetros fiscales con niveles de confianza (ALTA/MEDIA/BAJA).
Implementa la fórmula oficial línea por línea (Renglones 8-38):
- Sección B — Base gravable: ingresos totales - ingresos fuera del municipio - deducciones
- Sección C — Actividades: ingreso por actividad x tarifa por mil
- Sección D — Liquidación: ICA + Avisos y Tableros (15%) + Bomberil + Seguridad - retenciones
- Sección E — Pago: saldo a pagar - descuento pronto pago + intereses mora
BORRADOR > EN REVISION > REVISADA > APROBADA > PRESENTADA
Cada transición tiene validaciones, observaciones obligatorias en rechazos y auditoría completa.
Exportación como PDF que replica el formulario oficial ICA con casillas de dígitos para NIT/DANE, secciones, firmas y formato de moneda colombiana.
- Next.js 15 (App Router) + TypeScript
- React 19 + Tailwind CSS
- Anthropic SDK — Claude Sonnet para extracción de tarifas
- pdf-lib — Generación de PDFs
- pdf-parse — Lectura de estatutos tributarios
- xlsx (SheetJS) — Importación de balances Excel/CSV
- Zod — Validación de datos
npm install
# Configurar .env.local:
# ANTHROPIC_API_KEY=tu_api_key
npm run devapp/
api/
balance/ → Upload de balances Excel/CSV
declaraciones/ → CRUD de declaraciones
municipios/ → CRUD de municipios
extraer-tarifas/ → Extracción IA de tarifas desde PDF
pdf/ → Generación de PDF oficial
declaraciones/ → Wizard de generación y detalle
municipios/ → Listado y configuración
lib/
calculadora-ica.ts → Motor de cálculo del impuesto
claude-extractor.ts → Extracción con Claude API
pdf-generator.ts → Generador de PDF oficial
json-store.ts → Persistencia JSON con locking
Cristian Espinal — @Cespial