Manual de Validaciones - BitrixOrderManager

Descripción General

El sistema BitrixOrderManager realiza la sincronización de pedidos entre Bitrix24 y SAP Business One v10 HANA. Este manual documenta todas las validaciones que se ejecutan durante el proceso de sincronización para garantizar la integridad de los datos.


Flujo de Validación

El proceso de validación sigue este orden:

  1. Validación de Comprobante de Pago
  2. Validación de Productos
  3. Validación de Código de Cliente SAP
  4. Validación de Cliente en SAP
  5. Validación de Forma de Pago vs Método de Pago (incluye excepción FT)
  6. Validaciones de Datos del Cliente

Si alguna validación falla, el pedido se mueve al estado de ERROR (STAGE_ID = "2") y se registra el mensaje de error.

⚠️ Caso Especial - Servicio FT (Factura para Trámite de Pago)

El servicio FT - Factura para Trámite de Pago tiene un tratamiento especial en la validación de compatibilidad entre método de pago y forma de pago:

  • Compatibilidad con CONTADO y forma pago 99: Los clientes con método de pago CONTADO pueden usar forma de pago 99 cuando seleccionan el servicio FT con entregas C, L o F.

Nota: En el código actual, FT con formas de pago 01-98 SÍ requiere comprobante adjunto (no hay excepción implementada para este caso en la validación de comprobante).


✅ Validaciones Detalladas

1. Validación de Comprobante de Pago

Regla General

Los pedidos con formas de pago específicas (códigos 01-98) requieren un comprobante de pago adjunto.

Excepciones donde NO se requiere comprobante:

ExcepciónCondiciónDescripción
Forma de pago sin definirForma de pago = "00" o "99"No requiere comprobante por defecto
Cliente recogeForma de pago = 01-98 Y Tipo de entrega = "C"El cliente recoge en tienda, no requiere comprobante
Pago contra entregaForma de pago = 01-98 Y Tipo entrega = "L" Y Tipo servicio = "PCE"Se paga al momento de la entrega local

⚠️ NOTA IMPORTANTE: Aunque el servicio FT (Factura para trámite) conceptualmente no requeriría comprobante, esta excepción NO está implementada en el código actual para formas de pago 01-98.

Mensaje de Error

"El pedido con forma de pago [código] requiere comprobante de pago adjunto. Por favor, anexe el comprobante antes de procesar el pedido."

2. Validación de Productos

Validaciones Aplicadas:

ValidaciónCondición de ErrorMensaje de Error
Productos vacíosEl pedido no tiene productos"El pedido debe contener al menos un producto"
Precio inválidoPrecio ≤ 0"El producto [nombre] tiene un precio no válido"
Cantidad inválidaCantidad ≤ 0"El producto [nombre] tiene una cantidad no válida"

3. Validación de Código de Cliente SAP

Validación:

  • El campo UF_SAPCODECOM debe estar configurado en la empresa de Bitrix

Mensaje de Error:

"El código de cliente no está asignado al cliente"

4. Validación de Cliente en SAP

Validaciones en SAP Business One:

ValidaciónCampo SAPCondición de ErrorMensaje de Error
Cliente activoValidValid ≠ "tYES""El cliente se encuentra inactivo, favor de contactar a crédito y cobranza"
Domicilio facturaciónBilltoDefaultCampo vacío"El cliente no tiene domicilio de facturación definido"

5. Validación Forma de Pago vs Método de Pago

Escenario Principal:

Cuando un cliente tiene método de pago CONTADO y selecciona forma de pago 99 (Por definir).

Excepciones Permitidas:

ExcepciónMétodo PagoForma PagoTipo EntregaTipo ServicioDescripción
PCECONTADO99L (Local)PCEPago contra entrega
FTCONTADO99C, L o FFTFactura para trámite de pago

Tipos de Entrega válidos para FT:

  • C: Cliente Aquí (recoge en tienda)
  • L: Local
  • F: Foráneo

Mensaje de Error (cuando no cumple excepciones):

"El cliente tiene método de pago CONTADO ([descripción]) y no puede usar forma de pago 99 (Por definir). Debe seleccionar una forma de pago específica o usar las opciones servicio de Pago Contra Entrega (PCE) o Factura para trámite de pago (FT)."

6. Validaciones de Datos del Cliente

Campos Requeridos en la Empresa (Bitrix):

CampoDescripciónMensaje de Error
UF_CFDIUso de CFDI"El uso de CFDI no está configurado en el cliente"
UF_FORMA_PAGOForma de pago del cliente"La forma de pago no está configurada en el cliente"
UF_METODO_PAGOMétodo de pago del cliente"El método de pago no está configurado en el cliente"
ASSIGNED_BY_IDResponsable asignado"No hay responsable asignado al cliente"
UF_REGIMENFISCALRégimen fiscal"El régimen fiscal no está configurado en el cliente"

? Matriz de Decisión - Comprobante de Pago

Reglas de Validación de Comprobante:

Forma de PagoTipo EntregaTipo Servicio¿Requiere Comprobante?Razón
00CualquieraCualquiera❌ NoForma de pago no definida
99CualquieraCualquiera❌ NoPor definir
01-98CCualquiera❌ NoCliente recoge en tienda
01-98LPCE❌ NoPago contra entrega
01-98OtrosOtros✅ SíRequiere comprobante

Matriz de Compatibilidad - Método CONTADO con Forma de Pago 99:

Método PagoForma PagoTipo EntregaTipo Servicio¿Permitido?Razón
CONTADO99LPCE✅ SíPago contra entrega
CONTADO99C, L o FFT✅ SíFactura para trámite de pago
CONTADO99OtrosOtros❌ NoDebe usar forma de pago específica
Otros99CualquieraCualquiera✅ SíSin restricción

Códigos y Catálogos

Formas de Pago

  • 00: Sin definir (no requiere comprobante)
  • 01-98: Formas de pago específicas (requieren comprobante con excepciones)
  • 99: Por definir (no requiere comprobante)

Tipos de Entrega

  • C: Cliente Aquí (recoge en tienda)
  • L: Local
  • F: Foráneo

Tipos de Servicio

  • PCE: Pago Contra Entrega
  • FT: Factura para Trámite de Pago

Estados del Pedido

  • PREPARATION: Pedidos pendientes de procesar
  • 2: Estado de error

Mensajes de Error y Soluciones

ErrorCausaSolución
"El pedido debe contener al menos un producto"Pedido sin productosAgregar productos al pedido
"El producto tiene un precio no válido"Precio ≤ 0Corregir el precio del producto
"El código de cliente no está asignado"Falta UF_SAPCODECOMConfigurar código SAP en el cliente
"El cliente se encuentra inactivo"Cliente inactivo en SAPContactar a crédito y cobranza
"No tiene domicilio de facturación"Falta BilltoDefault en SAPConfigurar domicilio en SAP
"Requiere comprobante de pago"Falta adjuntar comprobanteAnexar comprobante al pedido
"CONTADO no puede usar forma pago 99"Incompatibilidad método/formaCambiar forma de pago o usar PCE/FT
"El uso de CFDI no está configurado"Falta UF_CFDIConfigurar CFDI en el cliente
"La forma de pago no está configurada"Falta UF_FORMA_PAGOConfigurar forma de pago
"El método de pago no está configurado"Falta UF_METODO_PAGOConfigurar método de pago
"No hay responsable asignado"Falta ASSIGNED_BY_IDAsignar responsable al cliente
"El régimen fiscal no está configurado"Falta UF_REGIMENFISCALConfigurar régimen fiscal

Notas Importantes

  1. Orden de Validación: Las validaciones se ejecutan en orden secuencial. Si falla una validación temprana (ej. comprobante de pago), las validaciones posteriores no se ejecutan.

  2. Logs de Debugging: El sistema genera logs detallados durante el proceso de validación para facilitar el diagnóstico de problemas.

  3. Integración SAP: La validación del cliente requiere conexión activa con SAP Business One mediante Service Layer.

  4. Campos Personalizados: Los campos UF_* son campos personalizados configurados en Bitrix24.

  5. Manejo de Errores: Todos los errores se registran en el campo UF_SAPSDKERROR del deal en Bitrix.


Configuración Requerida

En Bitrix24:

  • Campos personalizados (UF_*) configurados en Deals y Companies
  • Estados de pedido configurados (PREPARATION, 2)
  • Catálogos de forma de pago, tipo de entrega y tipo de servicio

En SAP Business One:

  • Service Layer activo y accesible
  • Clientes con información completa (BilltoDefault, PayTermsGrpCode)
  • PaymentTermsTypes configurados

En el ETL (Talend):

  • Conexión configurada a Bitrix24 API
  • Conexión configurada a SAP Service Layer
  • Clase BitrixOrderManager implementada

Historial de Cambios

FechaVersiónDescripción
20252.2Corrección: FT solo aplica para validación CONTADO+99, no para exención de comprobante
20252.1Documentación completa del escenario FT en validación CONTADO
20252.0Agregada excepción FT para clientes CONTADO con forma pago 99
20251.1Agregada excepción PCE para pago contra entrega
20251.0Versión inicial con validaciones base

Este documento debe actualizarse cada vez que se modifiquen las reglas de validación en el sistema.