Anexo Técnico - Terceros y Sucursales: Campos, usos y validaciones
Este anexo resume el uso real de campos de Tercero y TerceroSucursal identificado en controllers, supports, modelos y frontend.
1. Mapa rápido de dónde se usa TerceroSucursal
Usos confirmados en backend:
TerceroController(creación/edición/cartera).TerceroSucursalController(CRUD sucursales).FacMovimientosController+FacturacionElectronica+FacSupport.ComComprasControlleryComComproEgresoController.SalMercanciaController(despachos).OrdOrdenesController(órdenes para compra/factura).LotLiquidacionesController+LiquidacionesSupport.ProdListaPrecioController(precios por sucursal y tipo).GenEtiquetaNew(datos de etiqueta, incluyendo código planta).
Usos confirmados en frontend:
- Selector transversal
SelectTerceroSucursal(múltiples módulos). - Facturación, Compras, Órdenes, Despachos, Egresos, Recibos de caja.
2. Campos de Tercero y uso operativo
2.1 plazo_facturacion
- Uso:
- Calcula fecha de vencimiento sugerida en frontend (Facturación y Compras).
- Participa en cálculo de
dias_vencidosen movimientos de facturación.
- Impacto:
- Cambia vencimiento y control de mora.
2.2 dias_gracia
- Uso:
- En validación de facturas vencidas de cartera (
getFacturasVencidasTercero).
- En validación de facturas vencidas de cartera (
- Impacto:
- Define tolerancia antes de considerar mora.
2.3 cupo_cartera
- Uso:
- Se compara con cartera facturada para calcular cupo disponible.
- Impacto:
- Puede bloquear operación comercial por cupo agotado.
2.4 bloquear_cartera
- Uso:
- En
SelectTerceroSucursalpara bloquear selección operativa del tercero.
- En
- Impacto:
- Bloquea flujo por política comercial; puede requerir autorización.
3. Campos de TerceroSucursal y uso operativo
3.1 prodListaPrecio_id (Lista de venta)
- Uso:
- Front: define precios cuando se selecciona tercero/sucursal en Facturación, Compras y Órdenes.
- Back: se usa para precios en despacho→facturación y subida de despachos.
- Impacto:
- Afecta precio unitario y total de documentos.
3.2 prodListaPrecioCompra_id (Lista de compra)
- Uso:
- Back:
ProdListaPrecioController::preciosPorSucursalYTipo(tipo 2).
- Back:
- Impacto:
- Base de precios para operaciones de compra por sucursal.
3.3 prod_lista_precio_etiquetas_id
- Uso:
- Campo gestionado en configuración de terceros y persistido.
- Impacto:
- Configuración de apoyo para procesos de etiquetado/precio por sucursal.
3.4 email
- Uso:
FacturacionElectronica::buildClienteFacturaElectronica(cliente FE).FacturacionElectronica::sendEmailFE(destinatarios de envío).
- Lógica relevante:
- Soporta múltiples correos separados por coma (se normaliza y divide).
- Impacto:
- Si está vacío/incorrecto, falla o se degrada el envío de FE por email.
3.5 pedidos_proveedor_id (Nube Usuario ID)
- Uso:
- Descarga de facturas nube en Compras (
readFacturaNube). - Subida de facturas y liquidaciones a nube (junto con banderas de upload).
- Subida de liquidaciones: se envía como
sucursal_idexterno.
- Descarga de facturas nube en Compras (
- Impacto:
- Sin este ID, integraciones externas no enlazan correctamente proveedor/sucursal.
3.6 upload_factura
- Uso:
- Condición para subir factura a nube en Facturación.
- Dependencias:
- Requiere además flags/URL activos en empresa y
pedidos_proveedor_id.
- Requiere además flags/URL activos en empresa y
- Impacto:
- Control granular por sucursal para integración externa de facturas.
3.7 upload_liquidacion
- Uso:
- Condición para subir liquidaciones a nube en Lotes/Liquidaciones.
- Dependencias:
- Requiere además flags/URL activos en empresa y
pedidos_proveedor_id.
- Requiere además flags/URL activos en empresa y
- Impacto:
- Control granular por sucursal para integración externa de liquidaciones.
3.8 codigo_planta
- Uso:
- Se imprime en data de etiquetas (
tercero_sucursal_codigo_planta) enGenEtiquetaNew.
- Se imprime en data de etiquetas (
- Impacto:
- Trazabilidad sanitaria/Invima en etiquetas y documentos de producto.
3.9 gen_municipios_id, direccion, telefono, nombre
- Uso:
- Datos del receptor/proveedor en impresión (factura, orden, despacho, comprobantes).
- Datos de ubicación y contacto en FE y reportes.
- Impacto:
- Calidad documental y comunicación.
4. Validaciones y bloqueos detectados
4.1 Cartera en selección de tercero
- Flujo:
SelectTerceroSucursalconsultaterceros/facturas-vencidas/{tercero_id}.- Evalúa:
- tercero con
bloquear_cartera, - facturas vencidas según
dias_gracia, - cupo disponible con
cupo_cartera.
- tercero con
- Si hay bloqueo y empresa tiene bloqueo activo, solicita confirmación/autorización.
4.2 Integración factura nube
- Solo sube si se cumple:
- empresa
upload_facturas = true, - empresa tiene
upload_facturas_url, - sucursal
upload_factura = true, - sucursal
pedidos_proveedor_idválido.
- empresa
4.3 Integración liquidación nube
- Solo sube si se cumple:
- empresa
upload_liquidaciones = true, - empresa tiene
upload_liquidaciones_url, - sucursal
upload_liquidacion = true, - sucursal
pedidos_proveedor_idválido.
- empresa
4.4 Envío email FE
- Usa
sucursal.email. - Permite múltiples correos separados por coma.
- Se dispara al enviar FE cuando no es cliente POS interno.
5. Recomendaciones de control de datos
- Validar
emailcon pruebas reales de envío FE por sucursal. - Definir responsable de
pedidos_proveedor_idy de flags upload por sucursal. - Auditar periódicamente que
prodListaPrecio_idyprodListaPrecioCompra_idcorrespondan al canal correcto. - Revisar tercero con
bloquear_carteraantes de habilitar operación comercial. - Asegurar
codigo_plantapara proveedores que requieren trazabilidad sanitaria en etiqueta.