Files
descarga_factura_transporte/plantilla/ejemplos.json
T
GeorgeandClaude Sonnet 5.5 53f203e832 se agregan las plantillas de aceptado/rechazado y su renderizador
plantilla/ con los dos HTML de correo y ejemplos.json (6 escenarios ficticios);
plantillas.py renderiza el subconjunto de Mustache que usan (variables con
escape de HTML, secciones e invertidas), en modo estricto: un dato que falta
da error en vez de un correo con huecos. tools/previsualizar_plantillas.py
genera las vistas previas y envía correos de prueba (--enviar). En la
plantilla de rechazo el RUC, la fila Comprobante y la tabla de guías son
opcionales, para el rechazo de un correo sin comprobante.

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

280 lines
8.7 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
}
}
}