Skip to content

Plataforma técnica · Sevastopol

Gastos en Sevastopol

Islands Gastos

El dominio gastos del frontend cubre el ciclo del gasto operacional: registro del documento (asociado a un proveedor y una categoría), contabilización contra cuentas del plan, reversa cuando hay errores, y resumen agregado por período. Es la contraparte contable de las compras SII que no califican como activo fijo ni inventario.

Se materializa en una sola island — GastosIsland — con tres pestañas controladas por una signal local. Comparte selector de proveedores con el dominio inventario y selector de cuentas con administración.

DecisiónMotivo
Una island con 3 pestañasGastos, categorías y resumen forman un flujo único de mantenimiento; separar en islands obligaría a repetir el contexto de tenant/período.
Período activo dirige la listaCambiar year/month en el workspace recarga gastos y resumen filtrados.
IVA no recuperable como concepto especial (id = 30)Constante en el código (IVA_NO_RECUPERABLE_CONCEPTO_ID = 30). Cuando se elige ese concepto en el modal, el gasto se trata como IVA no recuperable y va a cuenta distinta.
Categorías con cuenta contable mapeadaCada categoría de gasto fija una cuenta contable; el alta de gasto hereda esa cuenta. Cambiar la categoría de un gasto existente no mueve la cuenta — preserva trazabilidad.
Carga lateral de proveedores, cuentas y conceptosEl modal de alta requiere catálogos de tres orígenes (/api/inventario/proveedores, /api/admin/chart-of-accounts, conceptos de impuestos). Se cargan en paralelo al cambiar tenant.
Acciones por estado del gastoBORRADOR permite editar y contabilizar; CONTABILIZADO solo reversa. La UI muestra solo las acciones válidas para evitar viajes rechazados.
Confirmación destructiva en reversaLa reversa elimina las líneas contables del gasto y vuelve a BORRADOR; debe ser consciente.
Filtros locales (estado, categoría) sobre lista cargadaEl volumen mensual por tenant es manejable; paginar agregaría latencia.

GastosIsland usa los tokens del ContabilidadWorkspace:

ComponenteUso
ContabilidadWorkspaceHeaderHeader con pills, controls y note.
WorkspaceTabBarCambio entre gastos / categorias / resumen.
InlineMetricPillMétricas inline (total, pendientes, contabilizados, monto).
WorkspaceSectionCardSección con eyebrow, title, description, pills.
HookUso
useActiveTenantRecarga gastos + catálogos al cambiar tenant.
useActivePeriod{ year, month } define qué gastos y qué resumen mostrar. Sincronizado a la query.

GastosService (Orchestrator) gestiona el CRUD, la asociación con la compra de origen cuando aplica, el wiring contable (cuenta gasto + IVA), la contabilización y la reversa.

/api/gastos/* vía createProxy — ver BFF Proxy. Laterales usados:

  • /api/admin/chart-of-accounts — plan de cuentas para selectores.
  • /api/inventario/proveedores — catálogo de proveedores compartido con inventario.
  • /api/admin/conceptos-impuestos — catálogo de conceptos tributarios (el id=30 es IVA no recuperable).
  • Operaciones SII alimenta los documentos (compras) que pueden derivar a gasto.
  • Inventario comparte el padrón de proveedores; un mismo RUT puede aparecer en compras de inventario y de gasto.
  • Activo fijo es la alternativa para compras de bienes que cumplen criterios de capitalización.
  • Provisiones complementa el cierre con devengos sin documento.
  • Ciclo contable consume el estado de contabilización de gastos como parte del cierre mensual.

Cada destino documenta su propio mecanismo de integración.