# Pipeline Completo ```mermaid flowchart TD A["📬 Correo recibido"] --> B{"1-2. BD check
¿Ya procesado?"} B -->|"Sí"| C["⏭️ Saltar correo"] B -->|"No"| D["3. Descargar adjuntos
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
extraer datos + renombrar"] I --> J["7. Procesar XMLs
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
_validate_prices()"] O --> P["11. Construir draft SAP
_build_sap_draft()"] P --> Q["12. Guardar draft JSON"] Q --> R{"13. ¿Precios coinciden?"} R -->|Sí| S["Crear Draft en SAP B1
POST /Drafts"] R -->|No| T["Notificar: validación falló"] S --> U["14. Enviar email notificación"] T --> U N --> U ```