Plataforma técnica · Orchestrator
Anticipos Proveedor Service
Orchestrator Finanzas Anticipos
AnticiposProveedorService aplica saldos de movimientos bancarios categorizados como anticipos contra facturas de compra pendientes.
Constante de Negocio
Section titled “Constante de Negocio”| Constante | Valor |
|---|---|
ANTICIPO_PROVEEDOR_CATEGORY_CODE | ANTICIPO-PROV |
La categoría debe tener cuenta_contable_codigo; sin esa cuenta, el servicio rechaza la aplicación.
Operaciones
Section titled “Operaciones”| Método | Uso |
|---|---|
getPendientes(ctx, anio, mes) | Lista anticipos disponibles al periodo. |
getDocumentoResumen(ctx, documentoId) | Obtiene cobertura del documento: monto, conciliado banco, anticipos, compensaciones y pendiente. |
aplicar(ctx, dto) | Aplica uno o más anticipos a un documento de compra. |
Validaciones de aplicar
Section titled “Validaciones de aplicar”| Regla | Motivo |
|---|---|
documento_id, anio, mes, aplicaciones son requeridos. | La aplicación queda periodificada y vinculada a documento. |
anio debe estar entre 2000 y 2100; mes entre 1 y 12. | Evita periodos inválidos. |
No se puede repetir movimiento_id. | Evita doble aplicación del mismo anticipo dentro del request. |
| Cada monto debe ser mayor a 0. | No existen aplicaciones negativas ni neutras. |
| El documento debe ser compra/proveedor. | La función esDocumentoCompraProveedor protege contra aplicar anticipos a ventas. |
| El total aplicado no puede exceder el saldo pendiente del documento. | Mantiene cobertura consistente. |
| Cada aplicación no puede exceder el saldo disponible del anticipo. | Evita sobreaplicar movimientos bancarios. |
Transacción
Section titled “Transacción”Dentro de withTransaction, el servicio:
- Inserta aplicaciones en
AnticiposProveedorRepository.insertAplicaciones. - Actualiza el estado del documento según cobertura.
- Actualiza estados de conciliación relacionados.
- Relee el resumen del documento y devuelve el estado final.
Endpoints
Section titled “Endpoints”| Método | Ruta | Service call |
|---|---|---|
GET | /api/financieros/anticipos-proveedor/pendientes?anio&mes | getPendientes(ctx, anio, mes) |
GET | /api/financieros/anticipos-proveedor/documento/:id/resumen | getDocumentoResumen(ctx, id) |
POST | /api/financieros/anticipos-proveedor/aplicar | aplicar(ctx, body) |