dgii_facturacion_electronica

📋 DGII Facturación Electrónica para Odoo 18 - Enterprise Grade con Sistema de Orientación Inteligente

Version License Python Odoo ERPly Quality Testing Guidance System Intelligent Assistant

Módulo completo de Facturación Electrónica para la Dirección General de Impuestos Internos (DGII) de República Dominicana, totalmente integrado con Odoo 18. Enterprise-grade con validación XSD robusta, testing completo y Sistema de Orientación Inteligente que guía a los usuarios paso a paso.

🌟 NUEVAS CARACTERÍSTICAS: Sistema de Orientación Inteligente

📚 Guías Integradas Completas

🔧 Asistente de Configuración Inteligente

🚀 Wizard de Primera Configuración

📊 Dashboard Inteligente con Métricas

🏆 Enterprise-Grade Features

Soporte Completo de Todos los e-CF

�🔬 Validación XSD de Calidad Industrial

🧪 Testing Completo y Automatizado

🏗️ Arquitectura Escalable

🚀 Características Principales

Integración Completa con DGII

📄 Tipos de Comprobantes Soportados

🤖 Automatización Inteligente

🔒 Seguridad y Cumplimiento

📊 Reportes y Análisis

🛠️ Instalación

Prerequisitos

  1. Odoo 18.0+ instalado y funcionando
  2. Python 3.8+ con las siguientes librerías:
    pip install lxml jinja2 qrcode Pillow cryptography requests
    
  3. Certificado digital DGII válido (.p12 o .pfx)
  4. Credenciales de acceso DGII (usuario y contraseña)

Pasos de Instalación

  1. Clonar el repositorio:
    git clone https://github.com/rob-erply/dgii_facturacion_electronica.git
    cd dgii_facturacion_electronica
    
  2. Copiar al directorio de addons de Odoo:
    cp -r dgii_facturacion_electronica /path/to/odoo/addons/
    
  3. Reiniciar Odoo:
    sudo systemctl restart odoo
    
  4. Instalar el módulo:
    • Ir a Apps → Buscar “DGII Facturación Electrónica”
    • Hacer click en Install

⚙️ Configuración

1. Configuración Inicial

  1. Navegar a: ContabilidadDGII FacturaciónConfiguración

  2. Completar los campos obligatorios:

    • RNC Emisor: RNC de tu empresa (formato: 000-0000000-0)
    • Usuario DGII: Tu usuario de acceso a DGII
    • Contraseña DGII: Tu contraseña de acceso a DGII
    • Ambiente: Seleccionar Pruebas para testing o Producción

2. Configuración del Certificado Digital

  1. Subir tu certificado:
    • Ruta del Certificado: /ruta/completa/al/certificado.p12
    • Contraseña del Certificado: Contraseña de tu certificado digital
  2. Probar la conexión:
    • Hacer click en 🔗 Probar Conexión
    • Verificar que aparezca: “✅ Conexión exitosa con DGII”

3. Configuración de Automatización

📖 Uso del Sistema

💼 Creación de Facturas Electrónicas

  1. Crear una nueva factura:
    • Ir a ContabilidadClientesFacturas
    • Crear nueva factura normalmente
  2. El sistema automáticamente:
    • 🔍 Detecta el tipo de e-CF según el cliente
    • 📋 Asigna estado “Pendiente de Envío”
    • 🎯 Habilita el botón “📤 Enviar a DGII”
  3. Envío a DGII:
    • Manual: Click en “📤 Enviar a DGII”
    • Automático: Se envía automáticamente si está configurado

📊 Seguimiento de Estados

Los comprobantes pueden tener estos estados:

🔍 Consulta de Estados

  1. Manual: Click en “🔍 Consultar Estado” en la factura
  2. Automático: El sistema consulta cada 30 minutos automáticamente

📱 Códigos QR

🔧 Funcionalidades Avanzadas

📊 Dashboard DGII

Acceder via ContabilidadDGII FacturaciónDashboard

Métricas disponibles:

📋 Logs y Trazabilidad

Acceder via ContabilidadDGII FacturaciónLogs y Trazabilidad

Información registrada:

🔄 Reintentos Automáticos

El sistema reintenta automáticamente:

🧹 Limpieza Automática

📄 Reportes Disponibles

📋 Factura Electrónica con Formato DGII

📝 XML Firmado

📊 Resumen de Envíos

🧪 Testing

Ambiente de Pruebas

  1. Configurar ambiente:
    • Seleccionar “🧪 Ambiente de Pruebas (TesteCF)”
    • Usar credenciales de testing de DGII
  2. URLs de prueba:
    • API: https://ecf.dgii.gov.do/TesteCF
    • Consultas: https://dgii.gov.do/...TesteCF
  3. Certificados de prueba:
    • Usar certificados de testing proporcionados por DGII
    • Validar que no sean certificados de producción

Casos de Prueba Recomendados

  1. ✅ Envío exitoso: Factura de crédito fiscal
  2. ❌ Envío con error: RNC inválido
  3. 🔄 Reintento: Simular timeout de conexión
  4. 📱 QR: Validar código QR generado
  5. 🔐 Firma: Verificar XML firmado correctamente

🧪 Testing y Desarrollo

🔬 Suite de Testing Enterprise

El módulo incluye una suite completa de testing para garantizar máxima calidad y confiabilidad:

🎯 Testing del Validador XSD

# Ejecutar tests del validador
python -m pytest tests/test_dgii_multi_schema_validator.py -v

Cobertura del testing:

🏗️ Testing del Generador XML

# Ejecutar tests del generador
python -m pytest tests/test_dgii_official_xml_generator.py -v

Cobertura del testing:

🚀 Ejecutar Todos los Tests

# Suite completa de testing
python -m pytest tests/ -v --cov=models --cov-report=html

# Testing específico del core
python -m pytest tests/test_dgii_official_xml_generator.py tests/test_dgii_multi_schema_validator.py -v

🔧 Desarrollo y Contribución

📋 Estándares de Código

🏗️ Arquitectura del Código

Componentes principales:

Patrones implementados:

🛠️ Configuración de Desarrollo

  1. Setup del entorno:
    # Crear entorno virtual
    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    # o
    venv\Scripts\activate     # Windows
       
    # Instalar dependencias
    pip install lxml jinja2 qrcode Pillow cryptography requests pytest pytest-cov
    
  2. Ejecutar tests durante desarrollo:
    # Testing continuo con watch
    pytest tests/ --tb=short -v
       
    # Coverage report
    pytest --cov=models --cov-report=term --cov-report=html
    

🚨 Troubleshooting

Problemas Comunes

🔐 “Error de certificado”

❌ Error: No se pudo cargar el certificado

Solución:

🌐 “Error de conexión”

❌ Error: Timeout conectando con DGII

Solución:

🔑 “Token inválido”

❌ Error: Token de autenticación inválido

Solución:

📄 “XML inválido”

❌ Error: XML no válido según XSD

Solución:

Logs de Depuración

  1. Activar logs detallados:
    # En archivo de configuración de Odoo
    log_level = debug
    log_handler = :DEBUG
    
  2. Ubicación de logs:
    tail -f /var/log/odoo/odoo.log | grep DGII
    
  3. Filtrar logs DGII:
    grep "dgii_facturacion_electronica" /var/log/odoo/odoo.log
    

📞 Soporte

🆘 Soporte Técnico

📚 Documentación Adicional

🐛 Reportar Bugs

Puedes reportar errores a través de:

Para reportar errores, incluir:

  1. 🔍 Descripción detallada del problema
  2. 📋 Pasos para reproducir el error
  3. 📄 Logs relevantes del sistema
  4. ⚙️ Versión de Odoo y del módulo
  5. 🌐 Ambiente (pruebas/producción)

📋 Changelog

v18.0.1.0.0 (2025-08-01) - Enterprise Grade Release

📄 Licencia

Este módulo está licenciado bajo Odoo Proprietary License v1.0 (OPL-1).

Para uso comercial, contactar: info@erply.do

📞 Soporte y Contacto

ERPly S.R.L.

Horarios de Soporte

Canales de Soporte

🤝 Contribuciones

Las contribuciones son bienvenidas. Para contribuir:

  1. Fork del repositorio en GitHub
  2. Crear branch para feature (git checkout -b feature/amazing-feature)
  3. Commit cambios (git commit -m 'Add amazing feature')
  4. Push al branch (git push origin feature/amazing-feature)
  5. Abrir Pull Request en el repositorio principal

⭐ Agradecimientos


📋 ¿Listo para facturar electrónicamente con calidad enterprise?

¡Instala el módulo y comienza a enviar tus facturas a DGII con la confianza de una solución de grado empresarial!

🚀 ¡Digitaliza tu facturación con tecnología enterprise hoy mismo!


Desarrollado con ❤️ y estándares enterprise por ERPly S.R.L. para la comunidad dominicana

Enterprise-Grade 🧪 100% Tested 🔬 XSD Validated 📚 Fully Documented 🎨 Professional UI Design