Files
descarga_factura_transporte/plantilla/ejemplos.json
T
GeorgeandClaude Sonnet 5.5 f0ad6aa78e se valida si la factura ya existe en SAP y se avisa cuando SAP está fuera de línea
- sapb1_manager.buscar_factura_existente busca la factura (proveedor, tipo,
  serie, número) en facturas de compra no anuladas y en drafts; si existe no
  se crea otro draft y se responde "ya está registrada" sin pisar el registro
  de una aceptación anterior.
- SapNoDisponible (subclase de ConnectionError) distingue una caída (timeout,
  sin conexión, HTTP 5xx) de un rechazo normal de SAP (HTTP 4xx). Una caída
  de Service Layer con HANA sin resultados ya no se lee como "guía no existe".
- Con SAP o HANA caídos se avisa una sola vez al proveedor con la plantilla
  "En cola" y el correo se reintenta en los ciclos siguientes (hasta 24), sin
  repetir avisos; al agotarse se avisa al equipo.
- La lógica por factura pasa a _procesar_factura; lo ya resuelto dentro de un
  correo no se repite al reintentarlo.
- seguimiento: columna intentos (con migración), registrar_intento y el
  estado de notificación en_espera.
- database_utilities.DB_NAME pasa a ser absoluto (junto al código).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 12:08:38 -05:00

297 lines
9.4 KiB
JSON

{
"aceptado_con_pago": {
"plantilla": "aceptado",
"contexto": {
"logo_url": "",
"comprobante_tipo_corto": "factura",
"comprobante_tipo": "Factura electrónica",
"recepcion_fecha": "19/10/2026",
"recepcion_hora": "10:35",
"contacto_correo": "contacto@ejemplo.com",
"proveedor_razon_social": "TRANSPORTES SÁNCHEZ & HIJOS S.A.C.",
"proveedor_ruc": "20537929520",
"asunto": "Aceptado · Factura F002-486 · ABR-261019-00042",
"preheader": "Su factura F002-486 pasó todas las validaciones. No necesita hacer nada más.",
"comprobante_numero": "F002-486",
"codigo_seguimiento": "ABR-261019-00042",
"fecha_estimada_pago": "18/11/2026",
"guias": [
{
"guia": "T001-127773",
"importe_factura": "S/ 624.38",
"conforme": true
},
{
"guia": "T001-127774",
"importe_factura": "S/ 311.20",
"conforme": true
},
{
"guia": "T001-127775",
"importe_factura": "S/ 1,250.00",
"conforme": true
}
]
}
},
"aceptado_sin_pago": {
"plantilla": "aceptado",
"contexto": {
"logo_url": "",
"comprobante_tipo_corto": "factura",
"comprobante_tipo": "Factura electrónica",
"recepcion_fecha": "19/10/2026",
"recepcion_hora": "10:35",
"contacto_correo": "contacto@ejemplo.com",
"proveedor_razon_social": "SERVICIOS LOGÍSTICOS DEL SUR S.A.",
"proveedor_ruc": "20111111111",
"asunto": "Aceptado · Factura E001-2403 · ABR-261019-00043",
"preheader": "Su factura E001-2403 pasó todas las validaciones. No necesita hacer nada más.",
"comprobante_numero": "E001-2403",
"codigo_seguimiento": "ABR-261019-00043",
"fecha_estimada_pago": null,
"guias": [
{
"guia": "T001-129352",
"importe_factura": "S/ 828.73",
"conforme": true
}
]
}
},
"aceptado_muchas_guias": {
"plantilla": "aceptado",
"contexto": {
"logo_url": "",
"comprobante_tipo_corto": "factura",
"comprobante_tipo": "Factura electrónica",
"recepcion_fecha": "19/10/2026",
"recepcion_hora": "10:35",
"contacto_correo": "contacto@ejemplo.com",
"proveedor_razon_social": "TRANSPORTES SÁNCHEZ & HIJOS S.A.C.",
"proveedor_ruc": "20537929520",
"asunto": "Aceptado · Factura F004-5989 · ABR-261019-00044",
"preheader": "Su factura F004-5989 pasó todas las validaciones. No necesita hacer nada más.",
"comprobante_numero": "F004-5989",
"codigo_seguimiento": "ABR-261019-00044",
"fecha_estimada_pago": "30/11/2026",
"guias": [
{
"guia": "T001-130000",
"importe_factura": "S/ 137.50",
"conforme": true
},
{
"guia": "T001-130001",
"importe_factura": "S/ 275.00",
"conforme": true
},
{
"guia": "T001-130002",
"importe_factura": "S/ 412.50",
"conforme": true
},
{
"guia": "T001-130003",
"importe_factura": "S/ 550.00",
"conforme": true
},
{
"guia": "T001-130004",
"importe_factura": "S/ 687.50",
"conforme": true
},
{
"guia": "T001-130005",
"importe_factura": "S/ 825.00",
"conforme": true
},
{
"guia": "T001-130006",
"importe_factura": "S/ 962.50",
"conforme": true
},
{
"guia": "T001-130007",
"importe_factura": "S/ 1,100.00",
"conforme": true
},
{
"guia": "T001-130008",
"importe_factura": "S/ 1,237.50",
"conforme": true
},
{
"guia": "T001-130009",
"importe_factura": "S/ 1,375.00",
"conforme": true
},
{
"guia": "T001-130010",
"importe_factura": "S/ 1,512.50",
"conforme": true
},
{
"guia": "T001-130011",
"importe_factura": "S/ 1,650.00",
"conforme": true
}
]
}
},
"rechazado_dos_observaciones": {
"plantilla": "rechazado",
"contexto": {
"logo_url": "",
"comprobante_tipo_corto": "factura",
"comprobante_tipo": "Factura electrónica",
"recepcion_fecha": "19/10/2026",
"recepcion_hora": "10:35",
"contacto_correo": "contacto@ejemplo.com",
"proveedor_razon_social": "TRANSPORTES SÁNCHEZ & HIJOS S.A.C.",
"proveedor_ruc": "20537929520",
"asunto": "Rechazado · Factura F002-486 · ABR-261019-00045",
"preheader": "Tiene 2 observaciones. Corríjalas y envíenos el comprobante nuevamente.",
"comprobante_numero": "F002-486",
"codigo_seguimiento": "ABR-261019-00045",
"guias": [
{
"guia": "T001-127773",
"importe_factura": "S/ 624.38",
"conforme": false
},
{
"guia": "T001-127774",
"importe_factura": "S/ 311.20",
"conforme": true
}
],
"observaciones_texto": "2 observaciones",
"observaciones": [
{
"numero": 1,
"titulo": "El importe no coincide con nuestro registro",
"filas": [
{
"etiqueta": "Importe en su factura",
"valor": "S/ 624.38"
},
{
"etiqueta": "Importe esperado",
"valor": "S/ 600.00"
}
],
"como_corregir": "Revise el precio acordado para el servicio y emita el comprobante con el importe correcto."
},
{
"numero": 2,
"titulo": "No encontramos la guía T001-128912",
"filas": [
{
"etiqueta": "Guía",
"valor": "T001-128912"
}
],
"como_corregir": "Verifique que la guía esté registrada y que la serie y el número estén bien escritos."
}
],
"envio_correo": "comprobantes@ejemplo.com",
"tiene_guias": true
}
},
"rechazado_una_observacion": {
"plantilla": "rechazado",
"contexto": {
"logo_url": "",
"comprobante_tipo_corto": "factura",
"comprobante_tipo": "Factura electrónica",
"recepcion_fecha": "19/10/2026",
"recepcion_hora": "10:35",
"contacto_correo": "contacto@ejemplo.com",
"proveedor_razon_social": "TRANSPORTES \"EL RÁPIDO\" <Lima> E.I.R.L.",
"proveedor_ruc": "10060028686",
"asunto": "Rechazado · Factura F002-2450 · ABR-261019-00046",
"preheader": "Tiene 1 observación. Corríjalas y envíenos el comprobante nuevamente.",
"comprobante_numero": "F002-2450",
"codigo_seguimiento": "ABR-261019-00046",
"guias": [
{
"guia": "T001-128912",
"importe_factura": "S/ 624.38",
"conforme": false
}
],
"observaciones_texto": "1 observación",
"observaciones": [
{
"numero": 1,
"titulo": "El importe no coincide con nuestro registro",
"filas": [
{
"etiqueta": "Importe en su factura",
"valor": "S/ 624.38"
},
{
"etiqueta": "Importe esperado",
"valor": "S/ 600.00"
}
],
"como_corregir": "Revise el precio acordado para el servicio y emita el comprobante con el importe correcto."
}
],
"envio_correo": "comprobantes@ejemplo.com",
"tiene_guias": true
}
},
"rechazado_sin_comprobante": {
"plantilla": "rechazado",
"contexto": {
"logo_url": "",
"comprobante_tipo_corto": "comprobante",
"comprobante_tipo": "Factura electrónica",
"recepcion_fecha": "19/10/2026",
"recepcion_hora": "10:35",
"contacto_correo": "contacto@ejemplo.com",
"proveedor_razon_social": "proveedor@ejemplo.com",
"proveedor_ruc": null,
"asunto": "Rechazado · Comprobante no recibido · ABR-261019-00047",
"preheader": "Tiene 1 observación. Corríjalas y envíenos el comprobante nuevamente.",
"comprobante_numero": null,
"codigo_seguimiento": "ABR-261019-00047",
"guias": [],
"observaciones_texto": "1 observación",
"observaciones": [
{
"numero": 1,
"titulo": "El correo no trae el XML ni el PDF del comprobante",
"filas": [
{
"etiqueta": "Archivos recibidos",
"valor": "0"
}
],
"como_corregir": "Adjunte el XML y el PDF del comprobante en el mismo correo."
}
],
"envio_correo": "comprobantes@ejemplo.com",
"tiene_guias": false
}
},
"fuera_de_linea": {
"plantilla": "fuera-de-linea",
"contexto": {
"logo_url": "",
"comprobante_tipo_corto": "factura",
"comprobante_tipo": "Factura electrónica",
"recepcion_fecha": "19/10/2026",
"recepcion_hora": "10:35",
"contacto_correo": "contacto@ejemplo.com",
"proveedor_razon_social": "TRANSPORTES SÁNCHEZ & HIJOS S.A.C.",
"proveedor_ruc": "20537929520",
"asunto": "En cola · Factura F002-486 · ABR-261019-00048",
"preheader": "Su factura F002-486 quedó en cola: nuestro sistema está fuera de línea. No necesita reenviarla.",
"comprobante_numero": "F002-486",
"codigo_seguimiento": "ABR-261019-00048"
}
}
}