You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
facturadirecta login --device: inicio de sesión por dispositivo (OAuth 2.0
Device Authorization Grant, RFC 8628) para máquinas sin navegador (SSH,
contenedores, agentes): el CLI muestra una URL y un código para autorizar
desde cualquier dispositivo. Requiere el grant activado en el cliente facturadirecta-api de Keycloak.
login --no-browser (solo imprime la URL) y login --port (fija el puerto
del callback). Variable FACTURADIRECTA_KEYCLOAK_URL para apuntar el login
a otro Keycloak (desarrollo).
statements unreconcile --delete-transaction: el parámetro del contrato
que faltaba (borrar también el asiento al desconciliar).
facturadirecta search <texto> y facturadirecta fetch <id>: la búsqueda
combinada y el detalle legible que ofrecen las tools search/fetch del
MCP, con los mismos ids (tipo:empresa:id) y URLs. search combina
contactos, productos, facturas y presupuestos por número y los últimos
documentos de los contactos encontrados; --type acota los tipos. Sin
empresa fijada y con varias empresas busca en hasta 5.
Errores clasificados. En modo agente (-j, -q, --agent, --jq) los
errores van a stderr como una línea JSON con code (los del MCP: not_found, insufficient_scope, invalid_input, company_required, upstream_error; y los del CLI: usage, auth_required, readonly, network_error), message, status, detail, hint y data; el
proceso sale con un código por clase (2 uso/entrada, 3 sesión/permisos,
4 no encontrado, 5 empresa, 6 API/red). El texto para humanos no cambia.
facturadirecta accounting summary y accounting accounts: agregados del
diario contable con la misma forma que summarize_accounting y list_accounts del MCP. summary devuelve debe, haber y saldo por cuenta,
mes o cuenta+mes, más ingresos (grupo 7), gastos (grupo 6) y resultado; accounts lista las cuentas con movimientos y su saldo (la API no expone
el plan de cuentas). Paginan el diario hasta 10.000 apuntes y avisan si el
periodo tiene más.
facturadirecta whoami: perfil, usuario, modo de acceso, la empresa que
usarán los comandos (y de dónde sale) y las empresas disponibles en una sola
llamada; con --json devuelve un objeto compacto pensado para agentes.
--summary en list y get de facturas, presupuestos, gastos, contactos y
productos: resumen compacto por elemento (id, número, fecha, contacto,
totales, estado, saldo pendiente y url) en las salidas JSON. En facturas y
gastos pide related=state,balance automáticamente; pendingAmount es
positivo cuando queda importe por cobrar o pagar.
--url en get: imprime solo la URL del elemento en la web de FacturaDirecta.
Variable de entorno FACTURADIRECTA_COMPANY: fija la empresa para una
sesión de shell sin tocar el perfil.
journal --id: apuntes originados por un documento concreto (asiento,
factura, gasto, nómina o remesa). No confundir con --document, que filtra
por el documento al que se imputan.
statements list --matched-document: extractos conciliados con un asiento.
settings series admite clientOrder y purchaseOrder.
Cambiado
El callback OAuth del login escucha en un puerto loopback libre elegido por
el sistema (127.0.0.1:<puerto>, RFC 8252) en vez del 31337 fijo: dos
logins a la vez o un puerto ocupado ya no hacen fallar el inicio de sesión.
Los scopes que pide el login salen del contrato de la API (SDK) en vez de
una lista escrita a mano: incluye ahora clientOrders, customFields y purchaseOrders.
Las flags de query de todos los listados y consultas se generan desde el
contrato de la API (internal/commands/flags.gen.go, emitido por el
generador del monorepo desde la IR) en vez de escribirse a mano: nombre
kebab-case, tipo y ayuda (primera frase de la documentación de la API más
los valores admitidos). Los nombres de las flags no cambian; sí cambian
los textos de --help. La paridad con el contrato la comprueba un test
(internal/cli/flags_test.go) que sustituye a scripts/check-flags.py.
Los errores se imprimen una sola vez: sin el "Error:" duplicado de cobra ni
el volcado del usage completo tras cada fallo (en errores de uso se
sugiere --help).
Resolución de empresa determinista: --company > FACTURADIRECTA_COMPANY >
empresa fijada en el perfil > la única empresa del usuario (se guarda en el
perfil). Con varias empresas y ninguna fijada, el error lista las
disponibles en vez de exigir auth use-company.
El skill para agentes pasa a llamarse facturadirecta-cli y se instala en <skills>/facturadirecta-cli, para no pisar el skill facturadirecta del
MCP remoto (ni ser pisado por él). setup retira la copia antigua del CLI
si la encuentra. El skill recomienda empezar con whoami --json y usar --summary en los listados, y corrige journal list (el comando es journal).