Temas
Selecciona un modulo para leer su procedimiento.
Clientes como sucursales con base de datos propia
Este modulo se usa cuando la casa central le vende mercaderia a otro local que tambien utiliza el sistema y posee su propia base de datos. La venta queda en la base de origen y, si todo esta correctamente configurado, el sistema registra automaticamente la entrada de mercaderia en la base del local sucursal.
Antes de comenzar
Esta configuracion modifica datos en otra base. Debe realizarla un usuario autorizado que conozca el host, puerto, nombre de base, usuario y contrasena del local destino. Nunca probar con una base equivocada ni compartir las credenciales por canales inseguros.
1. Diferencias que deben quedar claras
| Concepto | Para que sirve | Impacta otra base |
|---|---|---|
| Domicilio o sucursal fisica | Identifica otro lugar del cliente para rutas, entregas, retiros o equipos. | No. |
| Cliente marcado como sucursal | Identifica al cliente que representa otro local del sistema. | Por si solo no; habilita que pueda asociarse una conexion. |
| Conexion de sucursal activa | Guarda los datos para entrar a la base del local destino. | Si. Al vender al cliente asociado se sincroniza la operacion. |
2. Requisitos previos y permisos
- La licencia o plan del negocio debe tener disponible el modulo de clientes como sucursales.
- La empresa debe tener habilitada la opcion ¿Habilita modulo de cliente como sucursal?.
- El usuario necesita el permiso de empresa para cambiar esa opcion y los permisos de sucursales que correspondan: listar, crear, editar, probar conexion o eliminar.
- La base destino debe ser compatible con el sistema y contener sus tablas y configuraciones normales.
- El servidor de la casa central debe poder llegar por red al host y puerto de la base destino.
- El usuario de base de datos destino debe poder leer y escribir los registros que requiere la sincronizacion.
3. Habilitar el modulo en la empresa
- Ingresar a Empresa / Configuracion.
- Buscar la opcion ¿Habilita modulo de cliente como sucursal?.
- Seleccionar Si. El cambio se guarda al elegir la opcion.
- Comprobar que aparezca el menu Sucursales y que en clientes aparezca el campo ¿Es sucursal?.
- Si la opcion informa que el modulo no esta disponible, solicitar la habilitacion correspondiente al responsable del sistema.
4. Crear o preparar el cliente que representa al local
- Ingresar a Clientes y crear el cliente del local destino, o editarlo si ya existe.
- Completar un nombre claro, por ejemplo Sucursal Centro, y sus datos comerciales.
- Marcar ¿Es sucursal? y guardar.
- Volver al listado y confirmar visualmente que figura marcado como sucursal.
- No usar el cliente generico del sistema. La pantalla de conexion solo ofrece clientes reales marcados como sucursal.
Relacion uno a uno
Cada cliente puede tener una sola conexion de sucursal. Para conectar dos locales diferentes se deben crear dos clientes diferentes, marcar ambos como sucursal y registrar una conexion para cada uno.
5. Registrar los datos de conexion
- Abrir Sucursales > Crear Sucursal.
- Elegir el cliente previamente marcado como sucursal.
- Escribir el nombre descriptivo del local. El sistema lo normaliza en mayusculas al guardar.
- Elegir el estado Activa para sincronizar o No activa para conservar la configuracion sin usarla.
- Completar driver, host, puerto, base de datos, usuario y contrasena.
- Presionar Probar conexion antes de guardar.
- Guardar solamente cuando la prueba sea exitosa y el nombre de la base haya sido verificado.
6. Que significa cada dato de conexion
| Campo | Que debe cargarse | Error habitual |
|---|---|---|
| Driver | Motor real de la base: MySQL o PostgreSQL. | Elegir un motor distinto al instalado. |
| Host | IP o nombre del servidor de base accesible desde la casa central. | Usar localhost cuando la base esta en otra computadora. |
| Puerto | Puerto publicado por el motor de base. | Puerto cerrado por firewall o redireccion incorrecta. |
| Base de datos | Nombre exacto de la base correspondiente a esa sucursal. | Apuntar por error a produccion de otro cliente o a una base de prueba. |
| Usuario | Usuario de base con permisos de lectura y escritura. | Usuario limitado a lectura. |
| Contrasena | Clave vigente del usuario anterior. | Espacios, clave vencida o una clave distinta a la configurada. |
La prueba de conexion es necesaria, pero no suficiente
Una prueba exitosa confirma que se pudo abrir la base con esas credenciales. No garantiza por si sola que sea la base correcta, que tenga todas las tablas esperadas o que el usuario pueda escribir en cada una. Verificar tambien el nombre de la sucursal, el contenido de la base y sus permisos.
7. Que ocurre al venderle al cliente sucursal
- El operador crea la venta en la casa central y selecciona exactamente el cliente marcado como sucursal.
- El sistema verifica que ese cliente tenga una conexion asociada y que su estado sea Activa.
- Se abre una transaccion en la base destino para que sus cambios queden agrupados.
- Por cada articulo vendido se busca el producto existente en la sucursal.
- Si existe, se actualizan costo y precios calculados para la sucursal y se incrementa su stock.
- Si no existe, se crean primero las referencias necesarias y luego el producto con el stock vendido.
- Finalmente se crea en destino una compra automatica con sus renglones, relacionada con la venta de origen.
- Si la sincronizacion requerida durante el alta de la venta produce un error, la operacion informa el fallo y la venta de origen no debe considerarse confirmada.
8. Impacto exacto en la base de datos de la sucursal
| Informacion en destino | Accion | Criterio importante |
|---|---|---|
| Producto | Se busca, actualiza o crea. | Se prioriza el codigo; tambien puede identificarse por nombre normalizado, unidad, marca y categoria. |
| Stock | Se incrementa por la cantidad vendida desde central. | La mercaderia sale de central y entra al inventario del local. |
| Costo | Se establece con el precio de venta de origen. | Ese importe es el costo de adquisicion para la sucursal. |
| Precios de venta | Se recalculan usando coeficientes, redondeos y tipos de cambio de la sucursal. | El precio final del local puede diferir del precio de central. |
| Proveedor | Se crea o actualiza el proveedor necesario; ademas la empresa de origen se identifica como proveedor de la compra automatica. | Se usan datos fiscales y correo para evitar duplicados cuando es posible. |
| Categoria, marca y subcategoria | Se reutilizan por nombre o se crean si el producto nuevo las necesita. | Los nombres se normalizan para mantener consistencia. |
| Compra y detalle | Se crea una compra valida con documento Recibo X y sus renglones. | Guarda referencia a sistema, base y venta de origen cuando la estructura destino lo permite. |
| Usuario de sincronizacion | Se reutiliza o crea un usuario tecnico deshabilitado para registrar la compra. | No es un usuario para iniciar sesion. |
Ejemplo completo
Casa central vende 5 unidades del producto COD-100 a Sucursal Centro a $10.000 cada una. En central se registra la venta y se descuenta el stock segun la configuracion normal de ventas. En la base de Sucursal Centro se busca COD-100: si existe se suman 5 unidades; si no existe se crea junto con sus referencias. Su costo queda en $10.000 por unidad y sus precios de venta se calculan con las reglas del local. Tambien queda una compra automatica por $50.000 vinculada a la venta de central.
Por eso no se debe cargar manualmente otra compra por la misma mercaderia en la sucursal: hacerlo duplicaria stock y compras.
9. Edicion, cambio de cliente, cancelacion y eliminacion
- Al editar una venta sincronizada, el sistema revierte el impacto anterior y reemplaza la compra automatica por una nueva revision con los datos actualizados.
- Si se cambia el cliente desde una sucursal a otra, se revierte la sucursal anterior y se aplica la operacion en la nueva, siempre que ambas conexiones esten activas.
- Al cancelar una venta, el stock agregado en destino se revierte y la compra automatica correspondiente se marca como cancelada.
- Al eliminar una venta cancelada, se intenta cancelar su compra automatica en la sucursal. Eliminar no debe usarse como metodo habitual de correccion.
- Cuando se resta stock en una reversion, el sistema evita dejar el stock destino por debajo de cero.
- No modificar manualmente la referencia de origen de una compra automatica, porque se usa para evitar duplicados y controlar revisiones.
10. Control posterior recomendado
- En central, comprobar que la venta figure una sola vez y con el cliente sucursal correcto.
- En la sucursal, buscar la compra automatica y verificar proveedor, total, estado y renglones.
- Revisar el stock de uno o dos productos de la operacion, especialmente en la primera sincronizacion.
- Confirmar que los costos y precios resultantes coincidan con la politica comercial de la sucursal.
- Si hubo una edicion o cancelacion, verificar que no queden dos compras validas para la misma venta de origen.
11. Diagnostico de problemas
| Sintoma | Que revisar |
|---|---|
| No aparece el menu Sucursales. | Disponibilidad del modulo, opcion habilitada en empresa y permiso client_stores.index del usuario. |
| El cliente no aparece al crear la conexion. | Debe estar guardado con ¿Es sucursal? marcado y no debe ser el cliente generico. |
| La prueba de conexion falla. | Driver, host, puerto, nombre de base, usuario, contrasena, firewall, VPN y acceso remoto del motor. |
| La prueba conecta pero la venta falla. | Que sea la base correcta, que tenga el esquema actualizado y que el usuario pueda insertar y actualizar productos, compras y maestros relacionados. |
| La venta no sincroniza. | Que se haya elegido el cliente correcto, que siga marcado como sucursal y que la conexion figure Activa. |
| Se duplico stock. | Buscar una compra cargada manualmente ademas de la automatica, ventas repetidas o cambios hechos directamente en base. |
| Se creo otro producto similar. | Revisar codigos vacios o diferentes y diferencias de nombre, unidad, marca o categoria entre ambas bases. |
| El precio de venta destino no coincide. | Es esperable si la sucursal tiene otros coeficientes, redondeos, precios habilitados o tipos de cambio. |
Acciones que no deben hacerse
- No marcar un cliente como sucursal si no representa realmente otro local con base propia.
- No apuntar dos clientes a la misma base sin una decision operativa expresa.
- No volver a cargar manualmente en destino la compra que ya genera la venta.
- No cambiar codigos de productos en una sola base sin revisar el mapeo.
- No borrar una conexion para detener temporalmente la sincronizacion; cambiarla a No activa conserva la configuracion.
- No informar contrasenas de base en capturas, tickets o mensajes de soporte no seguros.
12. Desactivar o retirar una sucursal
- Si la interrupcion es temporal, editar la conexion y cambiar su estado a No activa.
- Si el cliente deja definitivamente de ser sucursal, primero revisar que no queden ventas pendientes de correccion.
- Con autorizacion, eliminar la conexion si ya no debe conservarse.
- Editar el cliente y desmarcar ¿Es sucursal?.
- Verificar que futuras ventas se comporten como ventas a un cliente normal y no esperen sincronizacion.