feature/AS-sat-regimenes-2024 #11
Reference in New Issue
Block a user
No description provided.
Delete Branch "feature/AS-sat-regimenes-2024"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Al timbrar con éxito, el CFDI transmitido al PAC y el que contestó se encolan hacia el expediente electrónico. El expediente ya existe: nace con la oportunidad y la factura lo hereda vía fin.invoices.case_id. Reusa el carril que ya estaba armado (outbox transaccional + worker con reintentos); este es su primer consumidor en producción. Decisiones: - efc_tipo = factura_venta. La lista de tipos está duplicada a mano en este repo y en EFC (TIPOS_DOCUMENTO_CRM), y una clave que solo exista de este lado se rechaza allá. Los tres archivos se distinguen por nombre: FAC-*.pdf, CFDI-<uuid>-envio.xml, CFDI-<uuid>-respuesta.xml. - Dos kinds (cfdi_request / cfdi_response) y no uno: la guarda de idempotencia es (source_table, source_id, kind) y los dos XML comparten source_id —el id del intento—, así que un kind común dejaría el par a medias en silencio. - delete_local=False, a diferencia de los documentos que sube el usuario: el XML timbrado es el comprobante fiscal y el CRM lo sirve por /stamp/xml-url. - Solo el intento que obtuvo timbre. Los rechazos quedan en el CRM y se consultan por /stamp/attempts/{id}/xml-url. El encolado va en la transacción del timbre y el despacho después del commit. Nada de esto puede propagar: un CFDI ya válido ante el SAT no se cae porque EFC esté apagado. Ajusta test_fin_sat_catalogs al nuevo conteo de regímenes (19 -> 22) y fija ahí que el 616 es de persona física. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>