EMPRESA_JOSESAID · contabilidad-ms

Uso de IA · Contabilidad

Pólizas, cuentas y estados financieros.

Cómo se usa la IA aquí. Los fragmentos son código real del repositorio.

Usuario a ser usado: contador@demo.empresa.mx (contraseña Demo2026!)

Herramientas que expone a la IA (5):

consultar_polizaconsultar_estados_financieroslistar_polizasconsultar_catalogo_cuentassugerir_poliza

Ruta base en Nexus: /contabilidad-ms/v1

01 Herramienta de lectura: consulta el servicio y devuelve datos

Herramienta de lectura: consulta el servicio y devuelve datos.

HerramientasContabilidad.java
    @Tool(name = "consultar_poliza",
          description = "Devuelve una póliza contable por su identificador UUID: periodo, tipo, fecha, estatus y movimientos (cargos y abonos por cuenta).")
    public String consultarPoliza(
            @ToolParam(description = "Identificador UUID de la póliza", required = true) String polizaId) {
        RegistroHerramientasUsadas.registrar("consultar_poliza");
        String cuerpo = gateway.get()
                .uri(constructor -> constructor.path(RUTA_BASE + "/polizas/{id}")
                        .build(UUID.fromString(polizaId.trim())))
                .retrieve()
                .body(String.class);
        return FiltroDatosSensibles.redactar(cuerpo).texto();
    }
Qué hace: Llama al gateway con la ruta del servicio y devuelve el resultado al modelo.

02 Herramienta de escritura: prepara la acción y NO la ejecuta

Herramienta de escritura: prepara la acción y NO la ejecuta.

HerramientasPolizas.java
    @Tool(name = "sugerir_poliza",
          description = "Propone una póliza contable a partir de la descripción de una operación. No la registra. "
                  + "Devuelve el identificador de la acción y un código de confirmación de una sola vez; "
                  + "la póliza solo se registra cuando se confirma con confirmar_accion usando ese código.")
    public String sugerirPoliza(
            @ToolParam(description = "Descripción de la operación contable, con montos y moneda", required = true) String descripcion) {
        RegistroHerramientasUsadas.registrar("sugerir_poliza");
        AccionPendiente accion = servicio.get().preparar(usuarioActual(), descripcion);
        return "Acción " + accion.id() + " preparada, vence " + accion.expiraUtc() + ". "
                + accion.resumen() + ". Código de confirmación: " + codigos.generar(accion.id(), accion.usuario())
                + ". Nada se ha registrado todavía.";
    }
Qué hace: La acción queda pendiente hasta que la persona confirma con el código.

03 Ruta base del servicio dentro de Nexus

Ruta base del servicio dentro de Nexus.

HerramientasContabilidad.java
    static final String RUTA_BASE = "/contabilidad-ms/v1";
Qué hace: Todas las herramientas de este módulo se construyen sobre esta ruta.
Regla del proyecto: la IA propone o prepara; la persona confirma con el código de 8 dígitos. Ninguna herramienta de escritura cambia datos por sí sola.