Skip to content
GitHub

OperationsService

El OperationsService es el encargado de orquestar la generación, recuperación y mapeo de los documentos tributarios (Ventas, Compras, Boletas) desde las tablas contables del esquema operaciones_sii.

  • Generación de Detalles: Transforma registros “raw” de tablas ventas/compras/boletas en detalle contable (compras_ventas_detalle).
  • Mapeo Unificado: Expone un método findDocuments que estandariza las columnas dispares de Ventas y Compras en una estructura común para el Frontend.
  • Filtrado Avanzado: Soporta filtrado por Tipo de Documento, Rango de Fechas (YYYY-MM), Paginación y Tenant.
  • Reproceso: Permite regenerar la contabilidad de un periodo completo, eliminando detalles previos.
  • OperationsRepository: Acceso directo a base de datos para operaciones masivas.
  • ConceptOperations: Catálogo de conceptos contables (Neto, IVA, Retenciones).

Genera los asientos contables (detalle) a partir de los documentos DTE sincronizados.

// Ejemplo de llamada
const result = await OperationsService.generate(dbName, {
user_id: "uuid-user",
tipo_documento: "VENTA",
periodo_desde: "2024-01",
periodo_hasta: "2024-12",
forzar_reproceso: true,
});

Recupera la lista de documentos para visualización, aplicando mapeo de columnas.

// Ejemplo de llamada
const docs = await OperationsService.getDetails(dbName, {
tipo_documento: "COMPRA",
periodo: "2025-01",
limit: 100,
});

El servicio unifica la respuesta para que el Frontend (OperationsViewIsland) pueda usar una única tabla.

Campo UnificadoOrigen Venta (ventas)Origen Compra (compras)
fecha_documentofecha_doctofecha_docto
rut_emisorrut_clienterut_proveedor
razon_social_emisorrazon_socialrazon_social
monto_ivamonto_ivamonto_iva_recuperable