Files
descarga_xml_sunat/docs/SETUP.md
T
GeorgeandClaude Sonnet 5 c2503745bf Reemplaza logging por consola/archivo, agrega historial de intentos y soporte para notas de crédito
- Nuevo logger_manager.py (reemplaza logger_utilities.py): logging con formato de árbol,
  rotación diaria a sunat.log, y consola por stdout (antes iba por stderr y se duplicaba
  en logs/error.log del launchd).
- Nuevo historial_manager.py: registra cada intento de consulta/descarga en historial.db
  para auditoría, con limpieza automática de registros de más de 180 días.
- consulta_cpe.py: corrige el id de notas de crédito/débito (usa F7/F8, no 07/08) y
  agrega reintentos ante errores 5xx.
- hana_manager.py: suma consulta a ORPC para notas de crédito (Indicator 07) y soporte
  de ObjType para actualizar la tabla correcta (OPCH/ORPC) al marcar PDF/XML descargado.
- gestor_fallas.py / main.py: propagan objtype end-to-end y dejan constancia de cada
  intento en historial_manager.
- Elimina login_api.py y reporte_fallas.py (código no usado / script manual sin uso reciente).
- Actualiza .gitignore (sunat-venv/, historial.db*) y docs/ para reflejar el estado real
  del proyecto.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-31 12:31:48 -05:00

1.4 KiB

Configuración

Requisitos

  • Python 3.10+
  • Playwright (firefox)
  • Acceso a HANA (hdbcli)
  • Mozilla Firefox (para get_token_headless.py)
  • rsync (Mac/Linux) o net use (Windows) para SMB

Instalación

# Crear y activar entorno virtual (recomendado)
python3 -m venv sunat-venv
source sunat-venv/bin/activate

# Instalar dependencias
pip install -r requirements.txt
playwright install firefox

Variables de Entorno (.env)

# SUNAT
SUNAT_RUC=20503662869
SUNAT_USER=TAGUMED3
SUNAT_PASSWORD=xxxxx

# HANA
HANA_HOST=192.168.1.175
HANA_PORT=30015
HANA_USER=SYSTEM
HANA_PASSWORD=SAPB1Admin.25
HANA_SCHEMA=SBO_TAGUMEDICA_21

# SMB / NAS
SMB_SERVER=192.168.1.175
SMB_SHARE=FileSAP
SMB_USER=tu_usuario
SMB_PASSWORD=tu_contraseña
SMB_MOUNT_MAC=/Volumes/FileSAP
SMB_MOUNT_LINUX=/mnt/filesap
SMB_MOUNT_WINDOWS=S:
SMB_SUBFOLDER=COMPRAS/TAGUMEDICA/ADJUNTOS_CORREOS

Ejecución

# Activar entorno virtual
source sunat-venv/bin/activate

# Obtener token manualmente (con navegador visible)
python get_token.py

# Obtener token headless (sin ventana, requiere Firefox real)
python get_token_headless.py

# Daemon completo (automático)
python main.py

# Buscar intentos de descarga en el historial
python historial_manager.py --ruc 20503662869 --serie F001 --numero 123

Logs

Todos los logs se guardan en logs/sunat_YYYY-MM-DD.log. Rotación automática diaria, los archivos mayores a 7 días se eliminan.