Files
descarga_factura_transporte/docs/pipeline_completo.mkd
T

1.0 KiB

Pipeline Completo

flowchart TD
    A["📬 Correo recibido"] --> B{"1-2. BD check<br>¿Ya procesado?"}
    B -->|"Sí"| C["⏭️ Saltar correo"]
    B -->|"No"| D["3. Descargar adjuntos<br>Microsoft Graph"]
    D --> E{"¿Hay adjuntos?"}
    E -->|No| C
    E -->|Sí| F["4. Descomprimir ZIPs"]
    F --> G["5. Filtrar solo PDF/XML"]
    G --> H{"¿Quedan válidos?"}
    H -->|No| C
    H -->|Sí| I["6. Procesar PDFs<br>extraer datos + renombrar"]
    I --> J["7. Procesar XMLs<br>cruzar con PDF cache"]
    J --> K["8. Guardar resultado JSON"]
    K --> L["9. Filtrar facturas tipo 01"]
    L --> M{"¿Hay facturas?"}
    M -->|No| N["⏭️ Sin facturas para SAP"]
    M -->|Sí| O["10. Validar precios<br>_validate_prices()"]
    O --> P["11. Construir draft SAP<br>_build_sap_draft()"]
    P --> Q["12. Guardar draft JSON"]
    Q --> R{"13. ¿Precios coinciden?"}
    R -->|Sí| S["Crear Draft en SAP B1<br>POST /Drafts"]
    R -->|No| T["Notificar: validación falló"]
    S --> U["14. Enviar email notificación"]
    T --> U
    N --> U