Plataforma técnica · Sevastopol
Proveedores de Inventario en Sevastopol
Islands Inventarios Proveedores
Propósito
Section titled “Propósito”ProveedoresInventarioIsland mantiene el padrón de proveedores clasificados para el routing contable de compras. Cada proveedor lleva tipo_proveedor (EXISTENCIAS / GASTO / ACTIVO_FIJO / MIXTO) más flags genera_existencias, genera_activo_fijo y genera_gasto que el procesamiento de compras consulta para decidir dónde va cada documento.
La clasificación es decisión one-time por proveedor — el alta inicial define la ruta para todas sus compras futuras. Los MIXTO requieren criterio adicional por línea durante el procesamiento.
Decisiones de UX
Section titled “Decisiones de UX”| Decisión | Motivo |
|---|---|
4 tipos cerrados (EXISTENCIAS / GASTO / ACTIVO_FIJO / MIXTO) | Cubren las tres rutas contables canónicas + el caso mixto. Texto libre permitiría categorías sin contraparte en el procesador. |
3 flags genera_* independientes del tipo | Permite tipos compuestos: MIXTO con genera_existencias=true + genera_gasto=true separa rutas según giro. El procesador lee los flags, no solo el tipo. |
giro_aplicable como array por proveedor | Un proveedor puede vender a múltiples giros. La intersección con giro_codigo del tenant decide visibilidad. |
| Auto-filtrado por giros del tenant | loadProveedores agrega giro_codes desde empresaGiros automáticamente. Solo se muestran proveedores cuyos giros intersectan con la empresa. Evita listas ruidosas en tenants con giros únicos. |
| Override de giro en filtro | Si el operador selecciona un giro específico, este reemplaza la lista de giros de la empresa. Útil para revisar un giro puntual. |
Lista de pendientes con missing_from_compras=true | Detecta proveedores presentes en compras del periodo activo pero ausentes del padrón clasificado. El operador completa la clasificación antes de procesar el cierre. |
Conteo en pendientes incluye total_documentos + fecha_ultima_compra | Permite priorizar: proveedores con muchos documentos o compras recientes se clasifican primero. |
| Filtros locales por tipo + activo + texto | Volumen del padrón es manejable; búsqueda local sobre razon_social y rut_proveedor. |
| Modal único para alta/edición | Mismo form para crear y editar — el operador no piensa en dos UIs distintas. |
Tipos de proveedor
Section titled “Tipos de proveedor”| Tipo | Ruta contable | Flags típicos |
|---|---|---|
EXISTENCIAS | Inventario → kardex. | genera_existencias=true. |
GASTO | Gastos — cuenta de gasto operacional. | genera_gasto=true. |
ACTIVO_FIJO | Activo Fijo — capitalizable. | genera_activo_fijo=true. |
MIXTO | Cualquier combinación. Decisión por línea durante el procesamiento. | Combinaciones de flags genera_*. |
Datos visibles
Section titled “Datos visibles”| Grupo | Campos esperados |
|---|---|
| Identificación | rut_proveedor, razon_social. |
| Clasificación | tipo_proveedor, genera_existencias, genera_activo_fijo, genera_gasto. |
| Alcance | giro_aplicable (lista de códigos). |
| Operación | activo, observaciones. |
| Métricas (pendientes) | total_documentos, fecha_ultima_compra. |
| Métrica | Cálculo |
|---|---|
total | proveedores.length |
activos | proveedores.filter(p => p.activo).length |
existencias | proveedores.filter(p => p.tipo_proveedor === "EXISTENCIAS").length |
gasto | proveedores.filter(p => p.tipo_proveedor === "GASTO").length |
Endpoints
Section titled “Endpoints”| Método + ruta | Uso |
|---|---|
GET /api/inventario/proveedores?tenant_id=&manage=true&tipo=&activo=&giro_codes= | Listado clasificado del tenant. |
GET /api/inventario/proveedores?tenant_id=&manage=true&missing_from_compras=true&año=&mes= | Pendientes en compras sin clasificar. |
POST /api/inventario/proveedores?tenant_id= | Alta. |
PUT /api/inventario/proveedores/:id?tenant_id= | Edición. |
DELETE /api/inventario/proveedores/:id?tenant_id= | Eliminación. |
GET /api/parameters/giros-comerciales | Catálogo de giros (global). |
GET /api/admin/company?tenant_id= | Config de giros del tenant. |
Backend de referencia
Section titled “Backend de referencia”InventarioService mantiene el endpoint /proveedores con la lógica de manage=true (autorización), giro_codes (filtrado por intersección) y missing_from_compras=true (detección de pendientes).
Relación con otros dominios
Section titled “Relación con otros dominios”- Inventario (UI) consume la clasificación al procesar compras del tab
compras. - Gastos y Activo Fijo son los destinos alternativos según
tipo_proveedor. - Operaciones SII alimenta las compras que detectan proveedores pendientes.
- Administración del tenant (
/api/admin/company) define qué giros aplica el filtro.
Estas relaciones se documentan en cada destino, no aquí.