Skip to main content
El validador se ejecuta de tu lado, sobre los ficheros que produce tu conector. El motor nunca ve tu base de datos: solo publica el contrato y esta herramienta. Úsalo antes de la carga inicial del histórico y cada vez que cambies el conector.

Instalación

Uso

Formatos admitidos: Opciones: --antiguedad-maxima-dias (por defecto 5 años) y --estricto (código de salida 1 si hay algún rechazo o duplicado, útil en tu CI).

Qué comprueba

Cada evento contra el contrato v1. Los rechazos se agrupan por campo y motivo, con hasta tres ejemplos (fichero:línea).
event_id repetidos (se descartan, no es error) y fechas futuras o más antiguas que la antigüedad máxima.
Eventos por tipo, tickets, clientes, Σ importe y Σ margen en MXN y el porcentaje de compras con margen en cero. Un mes con margen en cero no sirve para aprender.
Si envías ticket_total, la mediana de Σ líneas / total dice si los importes traen IVA. Deben ir sin IVA; el total del ticket, como en el ticket. Esperado: ≈ 0.862.
Redenciones enlazadas a su envío por cupon_emitido_id, redenciones antes del envío o después de la caducidad, cupones vencidos sin evento de caducidad ni redención, y envíos con decision_id (cuando ya decide el motor).
Meses sin eventos de un tipo que aparece en otros meses y días sin ventas.

Condiciones para el alta

El informe termina con la lista de condiciones que la consola exige para pasar de «contrato validado» a «histórico cargado», y el valor actual de cada una:
Si no tienes el margen por línea, calcula un coste estándar por artículo o categoría en el conector. Sin margen, el motor no puede medir nada.