4.2 KiB
4.2 KiB
DIRECTIVA-INVENTARIO-SUCURSALES
Version: 1.0 Fecha: 2025-12-08 Vertical: Retail / POS Nivel: 2B.2
PROPOSITO
Define las directrices para la gestion de inventario multi-sucursal en retail.
ALCANCE
- Control de stock por sucursal
- Transferencias entre sucursales
- Reabastecimiento centralizado
- Conteos ciclicos
PRINCIPIOS
1. Visibilidad en Tiempo Real
- Stock actualizado inmediatamente con cada venta
- Dashboard centralizado de todas las sucursales
- Alertas de stock bajo automaticas
2. Control Centralizado
- Politicas de inventario desde central
- Transferencias autorizadas
- Precios unificados
3. Autonomia Operativa
- Cada sucursal opera independiente
- Conteos locales permitidos
- Ajustes menores autorizados
MODELO DE DATOS
branches (sucursales)
campos:
- id: uuid
- code: string (ej: SUC001)
- name: string
- address: text
- manager_id: FK -> auth.users
- location_id: FK -> inventory.locations
- status: enum(active, inactive)
- is_warehouse: boolean
branch_stock
campos:
- id: uuid
- branch_id: FK -> branches
- product_id: FK -> retail.products
- quantity_available: decimal
- quantity_reserved: decimal
- minimum_stock: decimal
- reorder_point: decimal
- last_count_date: date
stock_transfers
campos:
- id: uuid
- transfer_number: string
- origin_branch_id: FK -> branches
- destination_branch_id: FK -> branches
- status: enum(draft, requested, approved, in_transit, received, cancelled)
- requested_by: FK -> auth.users
- approved_by: FK -> auth.users
- requested_at: timestamp
- shipped_at: timestamp
- received_at: timestamp
FLUJO DE TRANSFERENCIA
1. Sucursal A solicita productos
|
2. Central aprueba transferencia
|
3. Almacen prepara envio
|
4. Registro de salida (origen)
|
5. Transito
|
6. Sucursal B recibe productos
|
7. Registro de entrada (destino)
Estados de Transferencia
draft --> requested --> approved --> in_transit --> received
| | |
v v v
cancelled rejected lost
REABASTECIMIENTO
Tipos de Reabastecimiento
| Tipo | Trigger | Proceso |
|---|---|---|
| Automatico | Stock < reorder_point | Sistema genera solicitud |
| Manual | Solicitud de sucursal | Manager aprueba |
| Push | Decision central | Central envia sin solicitud |
Algoritmo de Reabastecimiento
# Pseudocodigo
for product in products_below_reorder:
needed = max_stock - current_stock
available_in_warehouse = get_warehouse_stock(product)
if available_in_warehouse >= needed:
create_transfer(warehouse, branch, product, needed)
else:
create_purchase_order(product, needed - available_in_warehouse)
create_transfer(warehouse, branch, product, available_in_warehouse)
CONTEOS CICLICOS
Frecuencia por Clasificacion ABC
| Clasificacion | Frecuencia | Productos |
|---|---|---|
| A | Semanal | Alta rotacion/valor |
| B | Quincenal | Rotacion media |
| C | Mensual | Baja rotacion |
Proceso de Conteo
1. Sistema genera lista de conteo
|
2. Encargado realiza conteo fisico
|
3. Registra cantidades en sistema
|
4. Sistema calcula diferencias
|
5. Aprobacion de ajustes
|
6. Actualizacion de stock
INTEGRACION CON CORE
Herencia de Specs
| Spec Core | Aplicacion |
|---|---|
| SPEC-INVENTARIOS-CICLICOS | Conteos por sucursal |
| SPEC-VALORACION-INVENTARIO | Costeo centralizado |
| SPEC-TRAZABILIDAD-LOTES-SERIES | Caducidades |
Mapeo con Core
branchesextiendeinventory.locationsbranch_stockextiendeinventory.quantsstock_transfersusainventory.stock_moves
REPORTES
| Reporte | Frecuencia | Destinatario |
|---|---|---|
| Stock por sucursal | Diario | Managers |
| Movimientos | Semanal | Central |
| Diferencias | Por conteo | Auditoria |
| Rotacion | Mensual | Compras |
REFERENCIAS
- SPEC-INVENTARIOS-CICLICOS.md (core)
- SPEC-VALORACION-INVENTARIO.md (core)
- DIRECTIVA-PUNTO-VENTA.md
Documento de directiva oficial