CONTEXTO ACTUAL - APP NOVA Modulo actual en trabajo: - SEE / Guias Electronicas - Backend: backend/apps/legacy_electronic_guides - Frontend: frontend/src/app/features/legacy-electronic-guides Estado implementado: - Se creo la bandeja SEE de guias electronicas con listado propio. - Existe lista frontend con acciones: - Generar XML - Rehacer XML - Enviar SUNAT - Consultar - Actualizar CDR - Ver PDF/XML/CDR - Se renombro el app backend de electronic_guides a legacy_electronic_guides. - Se renombro el servicio frontend a legacy-electronic-guide.service.ts. - Se agrego toggle persistente en frontend: - Version prueba - Version produccion Estado del envio SUNAT: - Produccion: - sigue con flujo REST/token segun el backend actual. - Prueba/Beta: - YA NO usa token REST. - Ahora usa SOAP directo para guia beta. - Endpoint usado en beta: https://e-guiaremision.sunat.gob.pe/ol-ti-itemision-guia-gem-beta/billService?wsdl - En beta: - send-sunat usa sendBill SOAP - consult-sunat usa getStatus por documento - cdr-sunat usa getStatusCdr por documento Correcciones ya hechas: - Se controlo URLError / DNS para no lanzar traceback bruto. - Se corrigio el error de longitud de sunat_code: - electronic_guide.sunat_code - guide.sunat_code - guide.sunat_code legacy admite solo 5 caracteres, ya se recorta antes de guardar. Problema actual pendiente: - En beta, al enviar la guia: - responde 502 - mensaje actual: "Respuesta beta sin CDR ni ticket" - estado detectado: SOAP_FAULT - Eso significa que SUNAT beta si responde, pero el parser aun no esta devolviendo claramente: - faultcode - faultstring - statusCode - statusMessage Siguiente paso exacto al retomar: 1. Mejorar el parser del SOAP beta en: backend/apps/legacy_electronic_guides/views.py 2. Extraer y devolver explicitamente en send-sunat beta: - faultcode - faultstring - statusCode - statusMessage - soap_snippet 3. Con ese detalle identificar si el rechazo es por: - credenciales SOL / WS-Security - endpoint beta - estructura XML UBL de la guia - datos de traslado / transportista / ubigeo / motivo Archivos clave tocados recientemente: - backend/apps/legacy_electronic_guides/views.py - backend/apps/legacy_electronic_guides/services.py - backend/apps/legacy_electronic_guides/models.py - backend/apps/guides/serializers.py - backend/core/settings.py - backend/core/urls.py - frontend/src/app/features/legacy-electronic-guides/pages/list/legacy-electronic-guides.component.ts - frontend/src/app/features/legacy-electronic-guides/pages/list/legacy-electronic-guides.component.html - frontend/src/app/features/legacy-electronic-guides/pages/list/legacy-electronic-guides.component.scss - frontend/src/app/services/legacy-electronic-guide.service.ts Checks ya validados: - python manage.py check => OK - frontend tsc --noEmit => OK