Comandos del CLI

Todos los comandos del CLI de FacturaDirecta con sus opciones: facturas, presupuestos, gastos, contactos, productos, contabilidad, webhooks y más.

Referencia completa de los comandos del CLI, generada a partir de la ayuda de la última versión publicada. En la terminal tienes la misma información con facturadirecta <comando> --help.

Versión 0.17.0 150 comandos

Comandos principales

facturadirecta fetch Detalle legible de un resultado de search (id tipo:empresa:id)

Devuelve el elemento como texto legible (título, contacto, estado, líneas, totales…) más metadatos y URL. Con –json o –quiet devuelve el objeto completo; en terminal imprime el texto.

Operaciones de la API: get_invoice, get_estimate, get_bill, get_contact, get_product. Contrato de cada una: facturadirecta describe <acción>

facturadirecta fetch <id>

facturadirecta describe Contrato de una operación de la API: parámetros, cuerpo, respuesta, ejemplos y notas

Muestra el contrato de una operación de la API sin llamarla: parámetros, forma y esquema del cuerpo, esquema de la respuesta, ejemplos de la documentación, notas de uso y los comandos del CLI que la llaman. Usa los mismos nombres de acción que el servidor MCP.

El objetivo puede ser una acción (list_invoices) o su operationId (getInvoices), la ruta de un comando (invoices list) o una sección (invoices, delivery-notes). Sin objetivo, lista las secciones. Con -j, -q o –agent la salida es JSON.

facturadirecta describe [objetivo...] [flags]

Ejemplos

  facturadirecta describe
  facturadirecta describe invoices
  facturadirecta describe create_invoice
  facturadirecta describe invoices create
  facturadirecta describe create_invoice --schema body -j
  facturadirecta describe create_invoice --example
--example intSolo el cuerpo de ejemplo n de la documentación (1 por defecto), listo para --data
--schema stringSolo el esquema JSON completo del cuerpo (body) o de la respuesta (response)

facturadirecta api Llamar a cualquier operación de la API por su nombre (el de describe)

Llama a cualquier operación de la API, también las que no tienen comando propio, por su nombre de acción (list_client_orders, el mismo que usa el servidor MCP) o su operationId (getClientOrders). facturadirecta describe <acción> muestra sus parámetros, cuerpo y ejemplos.

Los ids de la ruta van como argumentos, en orden; la empresa, con –company (o la del perfil). Los parámetros de query, con -p nombre=valor (nombres del contrato). El cuerpo, con –data ‘’, –data @fichero.json o por stdin. La respuesta sale tal cual en JSON. Las escrituras necesitan ’login –scope full’ y los borrados irreversibles, confirmación (–yes en scripts y agentes). –dry-run imprime la petición sin enviarla.

facturadirecta api <operación> [ids...] [flags]

Ejemplos

  facturadirecta api list_client_orders -p state=pending -p limit=50 -q
  facturadirecta api get_invoice_version inv_xxx VERSION_ID
  facturadirecta api list_activity -p documentId=inv_xxx
  facturadirecta api create_custom_field --data @campo.json --idempotency-key "$(uuidgen)"
  facturadirecta api reconcile_statement_with_new_transaction sta_xxx --data '{"document":"inv_xxx"}' --dry-run
  facturadirecta api delete_client_order cor_xxx --yes
--company stringID de la empresa
--data stringCuerpo JSON en línea o @fichero; sin --data, stdin si la operación exige cuerpo
--dry-runImprimir la petición (sin credenciales) sin enviarla
--idempotency-key stringClave de idempotencia (UUID recomendado): un reintento con la misma clave no repite la operación
--output stringGuardar el cuerpo de la respuesta en este fichero
-p, --param stringsParámetro de query (o de ruta) con el nombre del contrato: nombre=valor; repetible
--yesConfirmar un borrado irreversible sin preguntar

facturadirecta invoices Gestión de facturas

invoices attachments addVincular uploads existentes al documento

Vincular uploads existentes al documento

Contrato completo: facturadirecta describe add_invoice_attachments

facturadirecta invoices attachments add <id> <uploadId>... [flags]
--company stringID de la empresa
invoices attachments deleteEliminar un adjunto por su índice

Eliminar un adjunto por su índice

Contrato completo: facturadirecta describe delete_invoice_attachment

facturadirecta invoices attachments delete <id> <attachmentIndex> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
invoices attachments listListar adjuntos del documento

Listar adjuntos del documento

Contrato completo: facturadirecta describe get_invoice_attachments

facturadirecta invoices attachments list <id> [flags]
--company stringID de la empresa
invoices attachments uploadSubir y vincular archivos locales al documento

Subir y vincular archivos locales al documento

Operaciones de la API: create_upload, commit_upload, add_invoice_attachments. Contrato de cada una: facturadirecta describe <acción>

facturadirecta invoices attachments upload <id> <archivo>... [flags]
--company stringID de la empresa
invoices createCrear una factura (JSON por stdin o --data)

Crear una factura (JSON por stdin o –data).

main.draft decide si nace borrador (true) o emitida (false). Emitirla le asigna número y, si la empresa tiene VeriFactu o TicketBAI activos, genera el registro de facturación y lo envía a la AEAT o a la Diputación Foral en ese momento: ya no vuelve a ser borrador y solo se puede anular, rectificar o subsanar. Si se omite, se aplica sales.newInvoiceMode de la empresa, que puede ser final: envíalo siempre.

Cuerpo (–data o stdin): {“content” (obligatorio), “tags”, “payments”} Contrato completo: facturadirecta describe create_invoice

facturadirecta invoices create [flags]
--company stringID de la empresa
--data stringDatos en JSON
invoices deleteEliminar una factura

Eliminar una factura

Contrato completo: facturadirecta describe delete_invoice

facturadirecta invoices delete <id> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
invoices facturaeGenerar Facturae XML de una factura

Generar Facturae XML de una factura

Contrato completo: facturadirecta describe create_invoice_facturae

facturadirecta invoices facturae <id> [flags]
--company stringID de la empresa
invoices getObtener una factura por UUID

Obtener una factura por UUID

Contrato completo: facturadirecta describe get_invoice

facturadirecta invoices get <id> [flags]
--company stringID de la empresa
--related stringsPermite obtener datos adicionales relacionados con la factura. Valores: taxIds, balance, state, journal
--summaryResumen compacto por elemento en las salidas JSON: id, número, fecha, contacto, totales, estado, saldo pendiente, número de adjuntos y url (en facturas y gastos pide related=state,balance)
--urlImprimir solo la URL del elemento en la web de FacturaDirecta
invoices listListar facturas

Listar facturas

Contrato completo: facturadirecta describe list_invoices

facturadirecta invoices list [flags]
--all-these-tags stringsListado de todas las etiquetas que debe contener la factura para ser incluida en los resultados
--any-of-these-tags stringsListado de cualquiera de las etiquetas que debe contener la factura para ser incluida en los resultados
--company stringID de la empresa
--contact stringsCliente de la factura
--country stringPaís de la dirección de facturación (Formato ISO 3166-1 Alpha-2)
--currency stringMoneda de la factura (Formato ISO 4217)
--draft stringComportamiento de las facturas provisionales. Valores: only, all
--emails stringBúsqueda parcial en los emails del documento (campo main.emails)
--formatted-series stringSerie de la factura
--has-contactFactura con contacto, utiliza el valor 'false' para obtener las facturas simplificadas
--has-tagsSolo con etiquetas (true) o solo sin etiquetas (false)
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--max-creation-date stringFecha y hora máxima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-date stringFecha máxima de la factura en formato YYYY-MM-DD
--max-modification-date stringFecha y hora máxima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-number stringNúmero secuencial máximo de la factura
--max-total stringImporte total máximo de la factura
--min-creation-date stringFecha y hora mínima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-date stringFecha mínima de la factura en formato YYYY-MM-DD
--min-modification-date stringFecha y hora mínima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-number stringNúmero secuencial mínimo de la factura
--min-total stringImporte total mínimo de la factura
--offset stringPosición de inicio de los resultados
--related stringsPermite obtener datos adicionales relacionados con la factura. Valores: taxIds, balance, state, journal
--search stringBúsqueda aproximada en el texto del documento (título, líneas, notas) y en el nombre de su contacto: todas las palabras, sin…
--series stringSerie de la factura sin aplicar posibles formatos de año (## ó ####)
--sort-by stringsOrden de los resultados. Opciones: date, series, formattedSeries, number, total, currency, country, creationDate, modificationDate (prefijo - = descendente)
--state stringsEstados de factura a incluir. Valores: draft, pending, overdue, paid, overpaid, voided
--summaryResumen compacto por elemento en las salidas JSON: id, número, fecha, contacto, totales, estado, saldo pendiente, número de adjuntos y url (en facturas y gastos pide related=state,balance)
--totalsAñade totals: recuento y suma de base, impuestos, total y pendiente de TODO lo que cumple los filtros (no solo la página), por moneda. En la terminal sale bajo la tabla; en JSON, con -j o --jq .totals (-q solo da los elementos)
invoices payRegistrar pagos de una factura (JSON por stdin o --data)

Registra uno o varios cobros de la factura (JSON por stdin o –data: {“payments”: [{“bank”: “ban_…”, “amount”: …, “date”: “AAAA-MM-DD”}]}).

Si el cobro o pago corresponde a un movimiento del extracto bancario, o la cuenta está en una moneda distinta de la de la empresa y de la del documento, no lo registres aquí: concilia el movimiento con “facturadirecta statements reconcile-new –data ‘{“document”:"”}’". El movimiento queda conciliado y la API calcula la diferencia de cambio.

Cuerpo (–data o stdin): {“payments” (obligatorio), “related”} Contrato completo: facturadirecta describe create_invoice_payments

facturadirecta invoices pay <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
invoices pdfGenerar PDF de una factura

Generar PDF de una factura

Contrato completo: facturadirecta describe create_invoice_pdf

facturadirecta invoices pdf <id> [flags]
--company stringID de la empresa
--mode stringModo: attachment, inline, print (inline)
invoices sendEnviar una factura por email (JSON por stdin o --data)

Enviar una factura por email (JSON por stdin o –data)

Cuerpo (–data o stdin): {“from”, “to”, “cc”, “bcc”, “subject”, “html”, “sendFacturae”, “continueWithoutFacturae”} Contrato completo: facturadirecta describe send_invoice

facturadirecta invoices send <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
invoices substitutionCrear factura sustitutiva (JSON por stdin o --data)

Crear factura sustitutiva (JSON por stdin o –data)

Cuerpo (–data o stdin): {“contact” (obligatorio), “substitutedInvoices” (obligatorio), “docNumber”, “date”, “notes”, “internalNotes”, “tags”} Contrato completo: facturadirecta describe create_substitution_invoice

facturadirecta invoices substitution [flags]
--company stringID de la empresa
--data stringDatos en JSON
invoices tagsActualizar etiquetas de una factura (JSON por stdin o --data)

Actualizar etiquetas de una factura (JSON por stdin o –data)

Cuerpo (–data o stdin): {“tags” (obligatorio), “tagsOperation” (obligatorio)} Contrato completo: facturadirecta describe update_invoice_tags

facturadirecta invoices tags <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
invoices updateActualizar una factura (JSON por stdin o --data)

Actualizar una factura (JSON por stdin o –data). Sustituye el contenido: parte de la lectura, cambia lo necesario y reenvía el content completo.

Pasar main.draft a false emite la factura y pasar main.voided a true la anula; con VeriFactu o TicketBAI activos, las dos operaciones generan registros que se envían a Hacienda y no se pueden revertir. Una factura ya emitida con VeriFactu solo admite cambios subsanables (verifactuOperation.subsanacion) y con TicketBAI no admite cambios en su contenido.

Cuerpo (–data o stdin): {“content” (obligatorio), “syncContactData”, “verifactuOperation”, “tags”, “tagsOperation”} Contrato completo: facturadirecta describe update_invoice

facturadirecta invoices update <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON

facturadirecta estimates Gestión de presupuestos

estimates attachments addVincular uploads existentes al documento

Vincular uploads existentes al documento

Contrato completo: facturadirecta describe add_estimate_attachments

facturadirecta estimates attachments add <id> <uploadId>... [flags]
--company stringID de la empresa
estimates attachments deleteEliminar un adjunto por su índice

Eliminar un adjunto por su índice

Contrato completo: facturadirecta describe delete_estimate_attachment

facturadirecta estimates attachments delete <id> <attachmentIndex> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
estimates attachments listListar adjuntos del documento

Listar adjuntos del documento

Contrato completo: facturadirecta describe get_estimate_attachments

facturadirecta estimates attachments list <id> [flags]
--company stringID de la empresa
estimates attachments uploadSubir y vincular archivos locales al documento

Subir y vincular archivos locales al documento

Operaciones de la API: create_upload, commit_upload, add_estimate_attachments. Contrato de cada una: facturadirecta describe <acción>

facturadirecta estimates attachments upload <id> <archivo>... [flags]
--company stringID de la empresa
estimates createCrear un presupuesto (JSON por stdin o --data)

Crear un presupuesto (JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio), “tags”} Contrato completo: facturadirecta describe create_estimate

facturadirecta estimates create [flags]
--company stringID de la empresa
--data stringDatos en JSON
estimates deleteEliminar un presupuesto

Eliminar un presupuesto

Contrato completo: facturadirecta describe delete_estimate

facturadirecta estimates delete <id> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
estimates getObtener un presupuesto por UUID

Obtener un presupuesto por UUID

Contrato completo: facturadirecta describe get_estimate

facturadirecta estimates get <id> [flags]
--company stringID de la empresa
--related stringsPermite obtener datos adicionales relacionados con el presupuesto. Valores: taxIds
--summaryResumen compacto por elemento en las salidas JSON: id, número, fecha, contacto, totales, estado, saldo pendiente, número de adjuntos y url (en facturas y gastos pide related=state,balance)
--urlImprimir solo la URL del elemento en la web de FacturaDirecta
estimates listListar presupuestos

Listar presupuestos

Contrato completo: facturadirecta describe list_estimates

facturadirecta estimates list [flags]
--all-these-tags stringsListado de todas las etiquetas que debe contener el presupuesto para ser incluido en los resultados
--any-of-these-tags stringsListado de cualquiera de las etiquetas que debe contener el presupuesto para ser incluido en los resultados
--company stringID de la empresa
--contact stringsCliente del presupuesto
--country stringPaís de la dirección de facturación (Formato ISO 3166-1 Alpha-2)
--currency stringMoneda del presupuesto (Formato ISO 4217)
--emails stringBúsqueda parcial en los emails del documento (campo main.emails)
--formatted-series stringSerie del presupuesto
--has-contactPresupuesto con contacto, utiliza el valor 'false' para obtener presupuestos sin contacto asociado
--has-tagsSolo con etiquetas (true) o solo sin etiquetas (false)
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--max-creation-date stringFecha y hora máxima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-date stringFecha máxima del presupuesto en formato YYYY-MM-DD
--max-modification-date stringFecha y hora máxima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-number stringNúmero secuencial máximo del presupuesto
--max-total stringImporte total máximo del presupuesto
--min-creation-date stringFecha y hora mínima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-date stringFecha mínima del presupuesto en formato YYYY-MM-DD
--min-modification-date stringFecha y hora mínima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-number stringNúmero secuencial mínimo del presupuesto
--min-total stringImporte total mínimo del presupuesto
--offset stringPosición de inicio de los resultados
--related stringsPermite obtener datos adicionales relacionados con el presupuesto. Valores: taxIds
--search stringBúsqueda aproximada en el texto del documento (título, líneas, notas) y en el nombre de su contacto: todas las palabras, sin…
--series stringSerie del presupuesto sin aplicar posibles formatos de año (## ó ####)
--sort-by stringsOrden de los resultados. Opciones: date, series, formattedSeries, number, total, currency, country, creationDate, modificationDate (prefijo - = descendente)
--summaryResumen compacto por elemento en las salidas JSON: id, número, fecha, contacto, totales, estado, saldo pendiente, número de adjuntos y url (en facturas y gastos pide related=state,balance)
estimates pdfGenerar PDF de un presupuesto

Generar PDF de un presupuesto

Contrato completo: facturadirecta describe create_estimate_pdf

facturadirecta estimates pdf <id> [flags]
--company stringID de la empresa
--mode stringModo de renderizado del PDF (inline, attachment, print) (inline)
estimates sendEnviar un presupuesto por email (JSON por stdin o --data)

Enviar un presupuesto por email (JSON por stdin o –data)

Cuerpo (–data o stdin): {“from”, “to”, “cc”, “bcc”, “subject”, “html”} Contrato completo: facturadirecta describe send_estimate

facturadirecta estimates send <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
estimates tagsActualizar etiquetas (JSON por stdin o --data)

Actualizar etiquetas (JSON por stdin o –data)

Cuerpo (–data o stdin): {“tags” (obligatorio), “tagsOperation” (obligatorio)} Contrato completo: facturadirecta describe update_estimate_tags

facturadirecta estimates tags <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
estimates updateActualizar un presupuesto (JSON por stdin o --data)

Actualizar un presupuesto (JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio), “syncContactData”, “tags”, “tagsOperation”} Contrato completo: facturadirecta describe update_estimate

facturadirecta estimates update <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON

facturadirecta delivery-notes Gestión de albaranes

delivery-notes attachments addVincular uploads existentes al documento

Vincular uploads existentes al documento

Contrato completo: facturadirecta describe add_delivery_note_attachments

facturadirecta delivery-notes attachments add <id> <uploadId>... [flags]
--company stringID de la empresa
delivery-notes attachments deleteEliminar un adjunto por su índice

Eliminar un adjunto por su índice

Contrato completo: facturadirecta describe delete_delivery_note_attachment

facturadirecta delivery-notes attachments delete <id> <attachmentIndex> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
delivery-notes attachments listListar adjuntos del documento

Listar adjuntos del documento

Contrato completo: facturadirecta describe get_delivery_note_attachments

facturadirecta delivery-notes attachments list <id> [flags]
--company stringID de la empresa
delivery-notes attachments uploadSubir y vincular archivos locales al documento

Subir y vincular archivos locales al documento

Operaciones de la API: create_upload, commit_upload, add_delivery_note_attachments. Contrato de cada una: facturadirecta describe <acción>

facturadirecta delivery-notes attachments upload <id> <archivo>... [flags]
--company stringID de la empresa
delivery-notes createCrear un albarán (JSON por stdin o --data)

Crear un albarán (JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio), “tags”} Contrato completo: facturadirecta describe create_delivery_note

facturadirecta delivery-notes create [flags]
--company stringID de la empresa
--data stringDatos en JSON
delivery-notes deleteEliminar un albarán

Eliminar un albarán

Contrato completo: facturadirecta describe delete_delivery_note

facturadirecta delivery-notes delete <id> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
delivery-notes getObtener un albarán por UUID

Obtener un albarán por UUID

Contrato completo: facturadirecta describe get_delivery_note

facturadirecta delivery-notes get <id> [flags]
--company stringID de la empresa
--related stringsPermite obtener datos adicionales relacionados con el albarán. Valores: taxIds
delivery-notes listListar albaranes

Listar albaranes

Contrato completo: facturadirecta describe list_delivery_notes

facturadirecta delivery-notes list [flags]
--all-these-tags stringsListado de todas las etiquetas que debe contener el albarán para ser incluido en los resultados
--any-of-these-tags stringsListado de cualquiera de las etiquetas que debe contener el albarán para ser incluido en los resultados
--company stringID de la empresa
--contact stringsCliente del albarán
--country stringPaís de la dirección de facturación (Formato ISO 3166-1 Alpha-2)
--currency stringMoneda del albarán (Formato ISO 4217)
--emails stringBúsqueda parcial en los emails del documento (campo main.emails)
--formatted-series stringSerie del albarán
--has-contactAlbarán con contacto, utiliza el valor 'false' para obtener albaranes sin contacto asociado
--has-tagsSolo con etiquetas (true) o solo sin etiquetas (false)
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--max-creation-date stringFecha y hora máxima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-date stringFecha máxima del albarán en formato YYYY-MM-DD
--max-modification-date stringFecha y hora máxima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-number stringNúmero secuencial máximo del albarán
--max-total stringImporte total máximo del albarán
--min-creation-date stringFecha y hora mínima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-date stringFecha mínima del albarán en formato YYYY-MM-DD
--min-modification-date stringFecha y hora mínima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-number stringNúmero secuencial mínimo del albarán
--min-total stringImporte total mínimo del albarán
--offset stringPosición de inicio de los resultados
--related stringsPermite obtener datos adicionales relacionados con el albarán. Valores: taxIds
--search stringBúsqueda aproximada en el texto del documento (título, líneas, notas) y en el nombre de su contacto: todas las palabras, sin…
--series stringSerie del albarán sin aplicar posibles formatos de año (## ó ####)
--sort-by stringsOrden de los resultados. Opciones: date, series, formattedSeries, number, total, currency, country, creationDate, modificationDate (prefijo - = descendente)
delivery-notes pdfGenerar PDF de un albarán

Generar PDF de un albarán

Contrato completo: facturadirecta describe create_delivery_note_pdf

facturadirecta delivery-notes pdf <id> [flags]
--company stringID de la empresa
--mode stringModo de renderizado del PDF (inline, attachment, print) (inline)
delivery-notes sendEnviar un albarán por email (JSON por stdin o --data)

Enviar un albarán por email (JSON por stdin o –data)

Cuerpo (–data o stdin): {“from”, “to”, “cc”, “bcc”, “subject”, “html”} Contrato completo: facturadirecta describe send_delivery_note

facturadirecta delivery-notes send <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
delivery-notes tagsActualizar etiquetas (JSON por stdin o --data)

Actualizar etiquetas (JSON por stdin o –data)

Cuerpo (–data o stdin): {“tags” (obligatorio), “tagsOperation” (obligatorio)} Contrato completo: facturadirecta describe update_delivery_note_tags

facturadirecta delivery-notes tags <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
delivery-notes updateActualizar un albarán (JSON por stdin o --data)

Actualizar un albarán (JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio), “syncContactData”, “tags”, “tagsOperation”} Contrato completo: facturadirecta describe update_delivery_note

facturadirecta delivery-notes update <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON

facturadirecta recurring Facturas recurrentes

recurring attachments addVincular uploads existentes al documento

Vincular uploads existentes al documento

Contrato completo: facturadirecta describe add_recurring_invoice_attachments

facturadirecta recurring attachments add <id> <uploadId>... [flags]
--company stringID de la empresa
recurring attachments deleteEliminar un adjunto por su índice

Eliminar un adjunto por su índice

Contrato completo: facturadirecta describe delete_recurring_invoice_attachment

facturadirecta recurring attachments delete <id> <attachmentIndex> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
recurring attachments listListar adjuntos del documento

Listar adjuntos del documento

Contrato completo: facturadirecta describe get_recurring_invoice_attachments

facturadirecta recurring attachments list <id> [flags]
--company stringID de la empresa
recurring attachments uploadSubir y vincular archivos locales al documento

Subir y vincular archivos locales al documento

Operaciones de la API: create_upload, commit_upload, add_recurring_invoice_attachments. Contrato de cada una: facturadirecta describe <acción>

facturadirecta recurring attachments upload <id> <archivo>... [flags]
--company stringID de la empresa
recurring createCrear una factura recurrente (JSON por stdin o --data)

Crear una factura recurrente (JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio), “tags”} Contrato completo: facturadirecta describe create_recurring_invoice

facturadirecta recurring create [flags]
--company stringID de la empresa
--data stringDatos en JSON
recurring deleteEliminar una factura recurrente

Eliminar una factura recurrente

Contrato completo: facturadirecta describe delete_recurring_invoice

facturadirecta recurring delete <id> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
recurring getObtener una factura recurrente por UUID

Obtener una factura recurrente por UUID

Contrato completo: facturadirecta describe get_recurring_invoice

facturadirecta recurring get <id> [flags]
--company stringID de la empresa
--related stringsPermite obtener datos adicionales relacionados con la factura recurrente. Valores: taxIds, nextScheduledTime, upcomingSceheduledTimes
recurring listListar facturas recurrentes

Listar facturas recurrentes

Contrato completo: facturadirecta describe list_recurring_invoices

facturadirecta recurring list [flags]
--all-these-tags stringsListado de todas las etiquetas que debe contener la factura recurrente para ser incluida en los resultados
--any-of-these-tags stringsListado de cualquiera de las etiquetas que debe contener la factura recurrente para ser incluida en los resultados
--company stringID de la empresa
--contact stringsCliente de la factura recurrente
--country stringPaís de la dirección de facturación (Formato ISO 3166-1 Alpha-2)
--currency stringMoneda de la factura recurrente (Formato ISO 4217)
--enabledIndica si la factura recurrente está activa
--freq stringUnidad de la frecuencia de ejecución. Valores: yearly, monthly, weekly, daily
--has-contactFactura recurrente con contacto, utiliza el valor 'false' para obtener facturas recurrentes sin contacto asociado
--has-tagsSolo con etiquetas (true) o solo sin etiquetas (false)
--interval stringNúmero de días/semanas/meses/años entre ejecuciones
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--max-creation-date stringFecha y hora máxima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-modification-date stringFecha y hora máxima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-next-scheduled-date stringFecha y hora máxima de la próxima ejecución de la factura (nextScheduledTime), incluida, en formato ISO 8601…
--max-total stringImporte total máximo de la factura recurrente
--min-creation-date stringFecha y hora mínima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-modification-date stringFecha y hora mínima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-next-scheduled-date stringFecha y hora mínima de la próxima ejecución de la factura (nextScheduledTime), incluida, en formato ISO 8601…
--min-total stringImporte total mínimo de la factura recurrente
--offset stringPosición de inicio de los resultados
--related stringsPermite obtener datos adicionales relacionados con la factura recurrente. Valores: taxIds, nextScheduledTime, upcomingSceheduledTimes
--search stringBúsqueda aproximada en el texto de la factura recurrente (título, líneas, notas) y en el nombre de su contacto: todas las…
--series stringSerie de la factura recurrente sin aplicar posibles formatos de año (## ó ####)
--sort-by stringsOrden de los resultados. Opciones: nextScheduledTime, series, total, currency, country, creationDate, modificationDate (prefijo - = descendente)
recurring pdfGenerar PDF de una factura recurrente

Generar PDF de una factura recurrente

Contrato completo: facturadirecta describe create_recurring_invoice_pdf

facturadirecta recurring pdf <id> [flags]
--company stringID de la empresa
--mode stringModo de renderizado del PDF (inline, attachment, print) (inline)
recurring tagsActualizar etiquetas (JSON por stdin o --data)

Actualizar etiquetas (JSON por stdin o –data)

Cuerpo (–data o stdin): {“tags” (obligatorio), “tagsOperation” (obligatorio)} Contrato completo: facturadirecta describe update_recurring_invoice_tags

facturadirecta recurring tags <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
recurring updateActualizar una factura recurrente (JSON por stdin o --data)

Actualizar una factura recurrente (JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio), “syncContactData”, “tags”, “tagsOperation”} Contrato completo: facturadirecta describe update_recurring_invoice

facturadirecta recurring update <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON

facturadirecta contacts Gestión de contactos

contacts createCrear un contacto (datos en JSON por stdin o --data)

Crear un contacto (datos en JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio), “tags”} Contrato completo: facturadirecta describe create_contact

facturadirecta contacts create [flags]
--company stringID de la empresa
--data stringDatos del contacto en JSON
contacts deleteEliminar un contacto

Eliminar un contacto

Contrato completo: facturadirecta describe delete_contact

facturadirecta contacts delete <id> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
contacts getObtener un contacto por UUID

Obtener un contacto por UUID

Contrato completo: facturadirecta describe get_contact

facturadirecta contacts get <id> [flags]
--company stringID de la empresa
--related stringsPermite obtener datos adicionales relacionados con el contacto. Valores: receivePaymentMethod, sendPaymentMethod, paymentMethods
--summaryResumen compacto por elemento en las salidas JSON: id, número, fecha, contacto, totales, estado, saldo pendiente, número de adjuntos y url (en facturas y gastos pide related=state,balance)
--urlImprimir solo la URL del elemento en la web de FacturaDirecta
contacts listListar contactos

Listar contactos

Contrato completo: facturadirecta describe list_contacts

facturadirecta contacts list [flags]
--all-these-tags stringsListado de todas las etiquetas que debe contener el contacto para ser incluido en los resultados
--any-of-these-tags stringsListado de cualquiera de las etiquetas que debe contener el contacto para ser incluido en los resultados
--company stringID de la empresa
--country stringPaís de la dirección fiscal del contacto (Formato ISO 3166-1 Alpha-2)
--external-id stringID externo del contacto
--fiscal-id stringNIF o identificador fiscal del contacto
--has-tagsSolo con etiquetas (true) o solo sin etiquetas (false)
--is-clientContacto con rol de cliente
--is-employeeContacto con rol de empleado
--is-providerContacto con rol de proveedor
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--max-creation-date stringFecha y hora máxima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-modification-date stringFecha y hora máxima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-creation-date stringFecha y hora mínima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-modification-date stringFecha y hora mínima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--offset stringPosición de inicio de los resultados
--phone stringTeléfono del contacto
--related stringsPermite obtener datos adicionales relacionados con el contacto. Valores: receivePaymentMethod, sendPaymentMethod, paymentMethods
--search stringBúsqueda aproximada por nombre (incluyendo apellidos y "mostrar cómo"/"nombre comercial"), email y NIF
--sort-by stringsOrden de los resultados. Opciones: title, country, creationDate, modificationDate (prefijo - = descendente)
--summaryResumen compacto por elemento en las salidas JSON: id, número, fecha, contacto, totales, estado, saldo pendiente, número de adjuntos y url (en facturas y gastos pide related=state,balance)
contacts tagsActualizar etiquetas de un contacto (JSON por stdin o --data)

Actualizar etiquetas de un contacto (JSON por stdin o –data)

Cuerpo (–data o stdin): {“tags” (obligatorio), “tagsOperation” (obligatorio)} Contrato completo: facturadirecta describe update_contact_tags

facturadirecta contacts tags <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
contacts updateActualizar un contacto (datos en JSON por stdin o --data)

Actualizar un contacto (datos en JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio), “tags”, “tagsOperation”} Contrato completo: facturadirecta describe update_contact

facturadirecta contacts update <id> [flags]
--company stringID de la empresa
--data stringDatos del contacto en JSON

facturadirecta products Gestión de productos

products createCrear un producto (datos en JSON por stdin o --data)

Crear un producto (datos en JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio)} Contrato completo: facturadirecta describe create_product

facturadirecta products create [flags]
--company stringID de la empresa
--data stringDatos del producto en JSON
products deleteEliminar un producto

Eliminar un producto

Contrato completo: facturadirecta describe delete_product

facturadirecta products delete <id> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
products getObtener un producto por UUID

Obtener un producto por UUID

Contrato completo: facturadirecta describe get_product

facturadirecta products get <id> [flags]
--company stringID de la empresa
--summaryResumen compacto por elemento en las salidas JSON: id, número, fecha, contacto, totales, estado, saldo pendiente, número de adjuntos y url (en facturas y gastos pide related=state,balance)
--urlImprimir solo la URL del elemento en la web de FacturaDirecta
products listListar productos

Listar productos

Contrato completo: facturadirecta describe list_products

facturadirecta products list [flags]
--company stringID de la empresa
--external-id stringID externo del producto
--is-depreciableBien de inversión
--is-purchasesProducto de compra
--is-salesProducto de venta
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--max-creation-date stringFecha y hora máxima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-modification-date stringFecha y hora máxima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-creation-date stringFecha y hora mínima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-modification-date stringFecha y hora mínima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--offset stringPosición de inicio de los resultados
--purchases-description stringBúsqueda aproximada por descripción de compra
--sales-description stringBúsqueda aproximada por descripción de venta
--search stringBúsqueda aproximada en el título, la referencia y las descripciones del producto: todas las palabras, sin distinguir acentos ni…
--sku stringCódigo de producto (SKU)
--sort-by stringsOrden de los resultados. Opciones: title, sku, salesDescription, purchasesDescription, creationDate, modificationDate (prefijo - = descendente)
--summaryResumen compacto por elemento en las salidas JSON: id, número, fecha, contacto, totales, estado, saldo pendiente, número de adjuntos y url (en facturas y gastos pide related=state,balance)
--title stringBúsqueda aproximada por nombre
products updateActualizar un producto (JSON por stdin o --data)

Actualizar un producto (JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio)} Contrato completo: facturadirecta describe update_product

facturadirecta products update <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON

facturadirecta bills Gestión de gastos (facturas de compra)

bills attachments addVincular uploads existentes al documento

Vincular uploads existentes al documento

Contrato completo: facturadirecta describe add_bill_attachments

facturadirecta bills attachments add <id> <uploadId>... [flags]
--company stringID de la empresa
bills attachments deleteEliminar un adjunto por su índice

Eliminar un adjunto por su índice

Contrato completo: facturadirecta describe delete_bill_attachment

facturadirecta bills attachments delete <id> <attachmentIndex> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
bills attachments listListar adjuntos del documento

Listar adjuntos del documento

Contrato completo: facturadirecta describe get_bill_attachments

facturadirecta bills attachments list <id> [flags]
--company stringID de la empresa
bills attachments uploadSubir y vincular archivos locales al documento

Subir y vincular archivos locales al documento

Operaciones de la API: create_upload, commit_upload, add_bill_attachments. Contrato de cada una: facturadirecta describe <acción>

facturadirecta bills attachments upload <id> <archivo>... [flags]
--company stringID de la empresa
bills createCrear un gasto (JSON por stdin o --data)

Crear un gasto (JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio), “tags”, “fromInbox”} Contrato completo: facturadirecta describe create_bill

facturadirecta bills create [flags]
--company stringID de la empresa
--data stringDatos en JSON
bills deleteEliminar un gasto

Eliminar un gasto

Contrato completo: facturadirecta describe delete_bill

facturadirecta bills delete <id> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
bills getObtener un gasto por UUID

Obtener un gasto por UUID

Contrato completo: facturadirecta describe get_bill

facturadirecta bills get <id> [flags]
--company stringID de la empresa
--related stringsPermite obtener datos adicionales relacionados con la factura de compra o ticket. Valores: taxIds, balance, state, journal
--summaryResumen compacto por elemento en las salidas JSON: id, número, fecha, contacto, totales, estado, saldo pendiente, número de adjuntos y url (en facturas y gastos pide related=state,balance)
--urlImprimir solo la URL del elemento en la web de FacturaDirecta
bills listListar gastos

Listar gastos

Contrato completo: facturadirecta describe list_bills

facturadirecta bills list [flags]
--all-these-tags stringsListado de todas las etiquetas que debe contener la factura de compra o ticket para ser incluido en los resultados
--any-of-these-tags stringsListado de cualquiera de las etiquetas que debe contener la factura de compra o ticket para ser incluido en los resultados
--company stringID de la empresa
--contact stringsProveedor de la factura
--country stringPaís de la dirección fiscal del proveedor (Formato ISO 3166-1 Alpha-2)
--currency stringMoneda de la factura de compra o ticket (Formato ISO 4217)
--draft stringComportamiento de las facturas provisionales. Valores: only, all
--has-contactFactura de compra con contacto, utiliza el valor 'false' para obtener las facturas de compra o tickets sin proveedor asociado
--has-tagsSolo con etiquetas (true) o solo sin etiquetas (false)
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--max-creation-date stringFecha y hora máxima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-date stringFecha máxima de registro de la factura de compra o ticket en formato YYYY-MM-DD
--max-modification-date stringFecha y hora máxima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-total stringImporte total máximo de la factura de compra o ticket
--min-creation-date stringFecha y hora mínima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-date stringFecha mínima de registro de la factura de compra o ticket en formato YYYY-MM-DD
--min-modification-date stringFecha y hora mínima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-total stringImporte total mínimo de la factura de compra o ticket
--offset stringPosición de inicio de los resultados
--related stringsPermite obtener datos adicionales relacionados con la factura de compra o ticket. Valores: taxIds, balance, state, journal
--search stringBúsqueda aproximada en el texto del documento (título, líneas, notas) y en el nombre de su contacto: todas las palabras, sin…
--sort-by stringsOrden de los resultados. Opciones: date, total, currency, country, creationDate, modificationDate (prefijo - = descendente)
--state stringsEstados de factura de compra o ticket a incluir. Valores: draft, pending, overdue, paid, overpaid, voided
--summaryResumen compacto por elemento en las salidas JSON: id, número, fecha, contacto, totales, estado, saldo pendiente, número de adjuntos y url (en facturas y gastos pide related=state,balance)
--totalsAñade totals: recuento y suma de base, impuestos, total y pendiente de TODO lo que cumple los filtros (no solo la página), por moneda. En la terminal sale bajo la tabla; en JSON, con -j o --jq .totals (-q solo da los elementos)
bills payRegistrar pagos de un gasto (JSON por stdin o --data)

Registra uno o varios pagos del gasto (JSON por stdin o –data: {“payments”: [{“bank”: “ban_…”, “amount”: …, “date”: “AAAA-MM-DD”}]}).

Si el cobro o pago corresponde a un movimiento del extracto bancario, o la cuenta está en una moneda distinta de la de la empresa y de la del documento, no lo registres aquí: concilia el movimiento con “facturadirecta statements reconcile-new –data ‘{“document”:"”}’". El movimiento queda conciliado y la API calcula la diferencia de cambio.

Cuerpo (–data o stdin): {“payments” (obligatorio), “related”} Contrato completo: facturadirecta describe create_bill_payments

facturadirecta bills pay <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
bills tagsActualizar etiquetas de un gasto (JSON por stdin o --data)

Actualizar etiquetas de un gasto (JSON por stdin o –data)

Cuerpo (–data o stdin): {“tags” (obligatorio), “tagsOperation” (obligatorio)} Contrato completo: facturadirecta describe update_bill_tags

facturadirecta bills tags <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
bills updateActualizar un gasto (JSON por stdin o --data)

Actualizar un gasto (JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio), “tags”, “tagsOperation”} Contrato completo: facturadirecta describe update_bill

facturadirecta bills update <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON

facturadirecta payrolls Gestión de nóminas

payrolls attachments addVincular uploads existentes al documento

Vincular uploads existentes al documento

Contrato completo: facturadirecta describe add_payroll_attachments

facturadirecta payrolls attachments add <id> <uploadId>... [flags]
--company stringID de la empresa
payrolls attachments deleteEliminar un adjunto por su índice

Eliminar un adjunto por su índice

Contrato completo: facturadirecta describe delete_payroll_attachment

facturadirecta payrolls attachments delete <id> <attachmentIndex> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
payrolls attachments listListar adjuntos del documento

Listar adjuntos del documento

Contrato completo: facturadirecta describe get_payroll_attachments

facturadirecta payrolls attachments list <id> [flags]
--company stringID de la empresa
payrolls attachments uploadSubir y vincular archivos locales al documento

Subir y vincular archivos locales al documento

Operaciones de la API: create_upload, commit_upload, add_payroll_attachments. Contrato de cada una: facturadirecta describe <acción>

facturadirecta payrolls attachments upload <id> <archivo>... [flags]
--company stringID de la empresa
payrolls createCrear una nómina (JSON por stdin o --data)

Crear una nómina (JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio), “tags”, “payments”, “fromInbox”} Contrato completo: facturadirecta describe create_payroll

facturadirecta payrolls create [flags]
--company stringID de la empresa
--data stringDatos en JSON
payrolls deleteEliminar una nómina

Eliminar una nómina

Contrato completo: facturadirecta describe delete_payroll

facturadirecta payrolls delete <id> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
payrolls getObtener una nómina por UUID

Obtener una nómina por UUID

Contrato completo: facturadirecta describe get_payroll

facturadirecta payrolls get <id> [flags]
--company stringID de la empresa
--related stringsPermite obtener datos adicionales relacionados con la nómina. Valores: balance, state, journal
payrolls listListar nóminas

Listar nóminas

Contrato completo: facturadirecta describe list_payrolls

facturadirecta payrolls list [flags]
--all-these-tags stringsListado de todas las etiquetas que debe contener la nómina para ser incluido en los resultados
--any-of-these-tags stringsListado de cualquiera de las etiquetas que debe contener la nómina para ser incluido en los resultados
--company stringID de la empresa
--contact stringsEmpleado
--has-tagsSolo con etiquetas (true) o solo sin etiquetas (false)
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--max-creation-date stringFecha y hora máxima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-date stringFecha máxima de la nómina en formato YYYY-MM-DD
--max-modification-date stringFecha y hora máxima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-total stringImporte total máximo de la nómina
--min-creation-date stringFecha y hora mínima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-date stringFecha mínima de la nómina en formato YYYY-MM-DD
--min-modification-date stringFecha y hora mínima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-total stringImporte total mínimo de la nómina
--offset stringPosición de inicio de los resultados
--related stringsPermite obtener datos adicionales relacionados con la nómina. Valores: balance, state, journal
--search stringBúsqueda aproximada en el texto del documento (título, líneas, notas) y en el nombre de su contacto: todas las palabras, sin…
--sort-by stringsOrden de los resultados. Opciones: date, total, creationDate, modificationDate (prefijo - = descendente)
--state stringsEstado de la nómina. Valores: pending, overdue, paid, overpaid
payrolls payRegistrar pagos de una nómina (JSON por stdin o --data)

Registra uno o varios pagos de la nómina (JSON por stdin o –data: {“payments”: [{“bank”: “ban_…”, “amount”: …, “date”: “AAAA-MM-DD”}]}).

Si el cobro o pago corresponde a un movimiento del extracto bancario, o la cuenta está en una moneda distinta de la de la empresa y de la del documento, no lo registres aquí: concilia el movimiento con “facturadirecta statements reconcile-new –data ‘{“document”:"”}’". El movimiento queda conciliado y la API calcula la diferencia de cambio.

Cuerpo (–data o stdin): {“payments” (obligatorio), “related”} Contrato completo: facturadirecta describe create_payroll_payments

facturadirecta payrolls pay <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
payrolls tagsActualizar etiquetas de una nómina (JSON por stdin o --data)

Actualizar etiquetas de una nómina (JSON por stdin o –data)

Cuerpo (–data o stdin): {“tags” (obligatorio), “tagsOperation” (obligatorio)} Contrato completo: facturadirecta describe update_payroll_tags

facturadirecta payrolls tags <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
payrolls updateActualizar una nómina (JSON por stdin o --data)

Actualizar una nómina (JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio), “tags”, “tagsOperation”} Contrato completo: facturadirecta describe update_payroll

facturadirecta payrolls update <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON

facturadirecta banks Consulta de cuentas bancarias y sus saldos

banks getObtener un banco por UUID, con sus saldos si se piden con --related

Obtiene un banco o cuenta de tesorería, con la misma forma que cada elemento del listado.

Con –related se añaden bajo related el saldo contable (balance: el de la pantalla de bancos, el que sirve para la contabilidad), el saldo según la entidad (linkedBalance: el último que informó el banco, con su fecha; informativo), el estado de la conexión automática (link, sin credenciales) y los movimientos pendientes de conciliar (statements). –related admite varios valores, repetido o separado por comas. –balance-date da el saldo contable al cierre de ese día (y pide balance por sí sola).

El id de cada banco (ban_…) está en content.uuid.

Contrato completo: facturadirecta describe get_bank

facturadirecta banks get <id> [flags]
--balance-date stringSaldo contable al cierre de esta fecha (AAAA-MM-DD); implica --related balance
--company stringID de la empresa
--related stringsDatos adicionales en related: balance (saldo contable), linkedBalance (saldo según la entidad), link (estado del enlace) y statements (movimientos pendientes); repetible o separado por comas
--urlImprimir solo la URL del elemento en la web de FacturaDirecta
banks listListar cuentas bancarias, con sus saldos si se piden con --related

Lista los bancos y cuentas de tesorería activos de la empresa.

Con –related se añaden bajo related el saldo contable (balance: el de la pantalla de bancos, el que sirve para la contabilidad), el saldo según la entidad (linkedBalance: el último que informó el banco, con su fecha; informativo), el estado de la conexión automática (link, sin credenciales) y los movimientos pendientes de conciliar (statements). –related admite varios valores, repetido o separado por comas. –balance-date da el saldo contable al cierre de ese día (y pide balance por sí sola).

El id de cada banco (ban_…) está en content.uuid.

Contrato completo: facturadirecta describe list_banks

facturadirecta banks list [flags]
--balance-date stringSaldo contable al cierre de esta fecha (AAAA-MM-DD); implica --related balance
--company stringID de la empresa
--currency stringMoneda del banco (Formato ISO 4217)
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--max-creation-date stringFecha y hora máxima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-modification-date stringFecha y hora máxima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-creation-date stringFecha y hora mínima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-modification-date stringFecha y hora mínima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--offset stringPosición de inicio de los resultados
--related stringsDatos adicionales en related: balance (saldo contable), linkedBalance (saldo según la entidad), link (estado del enlace) y statements (movimientos pendientes); repetible o separado por comas
--sort-by stringsOrden de los resultados. Opciones: title, currency, creationDate, modificationDate (prefijo - = descendente)

facturadirecta payment-methods Gestión de métodos de pago

payment-methods createCrear un método de pago (JSON por stdin o --data)

Crear un método de pago (JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio)} Contrato completo: facturadirecta describe create_payment_method

facturadirecta payment-methods create [flags]
--company stringID de la empresa
--data stringDatos en JSON
payment-methods deleteEliminar un método de pago

Eliminar un método de pago

Contrato completo: facturadirecta describe delete_payment_method

facturadirecta payment-methods delete <id> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
payment-methods getObtener un método de pago por UUID

Obtener un método de pago por UUID

Contrato completo: facturadirecta describe get_payment_method

facturadirecta payment-methods get <id> [flags]
--company stringID de la empresa
payment-methods listListar métodos de pago

Listar métodos de pago

Contrato completo: facturadirecta describe list_payment_methods

facturadirecta payment-methods list [flags]
--company stringID de la empresa
--contact stringId del contacto para el que se obtendrán los métodos de pago
--include-globalIndica si quieres incluir en los resultados los métodos de pago globales (asignables a todos los clientes)
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--max-creation-date stringFecha y hora máxima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-modification-date stringFecha y hora máxima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-creation-date stringFecha y hora mínima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-modification-date stringFecha y hora mínima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--offset stringPosición de inicio de los resultados
--sort-by stringsOrden de los resultados. Opciones: title, creationDate, modificationDate (prefijo - = descendente)
payment-methods updateActualizar un método de pago (JSON por stdin o --data)

Actualizar un método de pago (JSON por stdin o –data)

Cuerpo (–data o stdin): {“content” (obligatorio)} Contrato completo: facturadirecta describe update_payment_method

facturadirecta payment-methods update <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON

facturadirecta journal Diario contable (apuntes uno a uno; para totales, `accounting results`)

Diario contable (apuntes uno a uno; para totales, accounting results)

Contrato completo: facturadirecta describe list_journal

facturadirecta journal [flags]
--account stringPrefijo o cuenta completa (1-6 dígitos; ej.: 6 = gastos, 64 = personal, 700000 = ventas)
--all-these-tags stringsListado de todas las etiquetas que debe contener el documento que contiene al apunte para ser incluido en los resultados
--any-of-these-tags stringsListado de cualquiera de las etiquetas que debe contener el documento que contiene al apunte para ser incluido en los resultados
--company stringID de la empresa
--document stringID del documento al que se IMPUTAN los apuntes (contacto, producto o banco, como subcuenta)
--has-tagsSolo con etiquetas (true) o solo sin etiquetas (false)
--id stringID del documento que ORIGINA los apuntes (asiento, factura, gasto, nómina o remesa): su asiento completo
--journal-priority stringIndica un valor para obtener solo asientos del diario según su tipo
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--max-date stringFecha máxima del apunte en formato YYYY-MM-DD
--min-date stringFecha mínima del apunte en formato YYYY-MM-DD
--offset stringPosición de inicio de los resultados
--related stringsPermite obtener datos adicionales relacionados con el registro del diario. Valores: tags, currency, idAccounting
--sort-by stringsOrden de los resultados. Opciones: date (prefijo - = descendente)

facturadirecta accounting Informes: resumen de resultados, pérdidas y ganancias, balance y sumas y saldos

Informes ya calculados por FacturaDirecta, con las mismas cifras que la web. accounting results da los ingresos, los gastos y el beneficio por origen en todos los planes ("¿cuánto he facturado este año?", “gastos por trimestre”), y accounting results-documents los documentos de cada cifra. Con el módulo de Contabilidad, accounting profit-loss, accounting balance-sheet y accounting trial-balance dan los informes oficiales. Sin fechas, el año natural en curso. Los borradores no están contabilizados y no cuentan. Para los apuntes individuales usa journal.
accounting balance-sheetBalance de situación a una fecha (módulo de Contabilidad)

Activo, patrimonio neto y pasivo a –date (por defecto, el 31 de diciembre del año en curso), con los epígrafes del Plan General Contable. –compare añade el saldo al final del periodo anterior o en la misma fecha del año anterior; –breakdown, el saldo al final de cada mes, trimestre o año desde –start-date. Si no cuadra aparece la fila ‘imbalance’ y un aviso en diagnostics.

Contrato completo: facturadirecta describe get_balance_sheet

facturadirecta accounting balance-sheet [flags]
--all-these-tags stringsSolo los apuntes de documentos que tienen todas estas etiquetas
--breakdown stringSaldos al final de cada mes. Valores: none, month, quarter, year
--company stringID de la empresa
--compare stringAñade una columna con el saldo en una fecha de referencia. Valores: none, previousPeriod, previousYear
--date stringFecha del saldo en formato YYYY-MM-DD
--detail stringNivel de detalle, el mismo que en la web. Valores: summary, accounts, full
--differenceCon compare, añade la columna difference: periodo menos referencia
--include-closureIncluye los asientos de regularización y de cierre fechados el último día del periodo
--start-date stringPrimer día del periodo en formato YYYY-MM-DD, para breakdown y compare=previousPeriod
--varianceCon compare, añade la columna variance: variación sobre la referencia, como fracción (0.2 es un 20 %)
accounting profit-lossCuenta de pérdidas y ganancias oficial (módulo de Contabilidad)

Epígrafes del Plan General Contable con las cifras y opciones del informe de la web. –detail summary|accounts|full; –breakdown y –compare como en accounting results; –revenue-share añade el porcentaje sobre la cifra de negocios. Sin el módulo de Contabilidad la API responde que el plan no lo incluye.

Contrato completo: facturadirecta describe get_profit_loss

facturadirecta accounting profit-loss [flags]
--all-these-tags stringsSolo los apuntes de documentos que tienen todas estas etiquetas
--breakdown stringDivide el periodo en meses. Valores: none, month, quarter, year
--company stringID de la empresa
--compare stringAñade una columna con un periodo de referencia. Valores: none, previousPeriod, previousYear
--detail stringNivel de detalle, el mismo que en la web. Valores: summary, accounts, full
--differenceCon compare, añade la columna difference: periodo menos referencia
--end-date stringÚltimo día del periodo en formato YYYY-MM-DD, incluido
--exclude-revenue-clearingExcluye el asiento de regularización de ingresos y gastos en todo el periodo, aunque se incluya el cierre
--include-closureIncluye los asientos de regularización y de cierre fechados el último día del periodo
--revenue-shareAñade, tras cada columna de periodo, otra con el peso de cada fila sobre el importe neto de la cifra de negocios, como fracción
--start-date stringPrimer día del periodo en formato YYYY-MM-DD
--totalCon breakdown, añade la columna total con el periodo completo
--varianceCon compare, añade la columna variance: variación sobre la referencia, como fracción (0.2 es un 20 %)
accounting resultsIngresos, gastos y beneficio por origen, con desglose o comparativa (todos los planes)

Ventas facturadas, compras y gastos, nóminas, amortizaciones, diferencias de cambio y otros ingresos o gastos del periodo, con los totales y el beneficio: las cifras del panel de inicio y del informe «Resumen de resultados» de la web. –breakdown reparte el periodo en meses, trimestres o años (–total añade el periodo completo); –compare añade el periodo anterior o el mismo del año anterior (–difference, –variance). Como máximo 5 años.

Contrato completo: facturadirecta describe get_results_summary

facturadirecta accounting results [flags]
--breakdown stringDivide el periodo en meses. Valores: none, month, quarter, year
--company stringID de la empresa
--compare stringAñade una columna con un periodo de referencia. Valores: none, previousPeriod, previousYear
--differenceCon compare, añade la columna difference: periodo menos referencia
--end-date stringÚltimo día del periodo en formato YYYY-MM-DD, incluido
--start-date stringPrimer día del periodo en formato YYYY-MM-DD
--totalCon breakdown, añade la columna total con el periodo completo
--varianceCon compare, añade la columna variance: variación sobre la referencia, como fracción (0.2 es un 20 %)
accounting results-documentsDocumentos que forman una cifra del resumen de resultados (todos los planes)

Facturas, gastos, nóminas y movimientos de una categoría del resumen en el periodo, con su tipo, fecha e importe. Con la categoría y las fechas de una columna de accounting results, la suma es la cifra de esa celda.

Contrato completo: facturadirecta describe list_results_detail

facturadirecta accounting results-documents [flags]
--category stringObligatorio. Valores: invoices, currencyGains, otherIncome, bills, payrolls, depreciation, currencyLosses, otherExpenses
--company stringID de la empresa
--end-date stringÚltimo día del periodo en formato YYYY-MM-DD, incluido
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--offset stringPosición de inicio de los resultados
--start-date stringPrimer día del periodo en formato YYYY-MM-DD
accounting trial-balanceBalance de sumas y saldos por cuenta (módulo de Contabilidad)

Saldo anterior, debe, haber y saldo final de cada cuenta en el periodo. –account filtra por prefijo (‘6’ = gastos, ‘430’ = clientes); –third-party con el id de un contacto, producto o banco da solo sus apuntes (–third-party-detail añade su fila bajo cada cuenta); –groups 1,3 añade subtotales. Pagina con –limit y –offset; totals son los del periodo completo.

Contrato completo: facturadirecta describe list_trial_balance

facturadirecta accounting trial-balance [flags]
--account stringCuenta contable completa o prefijo de cuenta: 43 incluye todas las cuentas de clientes y 430000 solo esa cuenta
--all-these-tags stringsSolo los apuntes de documentos que tienen todas estas etiquetas
--company stringID de la empresa
--end-date stringÚltimo día del periodo en formato YYYY-MM-DD, incluido
--exclude-balance0Omite las filas con saldo final cero
--exclude-revenue-clearingExcluye el asiento de regularización de ingresos y gastos en todo el periodo, aunque se incluya el cierre
--groups stringsAñade filas de subtotal por los primeros 1. Valores: 1, 2, 3
--include-closureIncluye los asientos de regularización y de cierre fechados el último día del periodo
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--offset stringPosición de inicio de los resultados
--show-currencySepara cada cuenta por moneda y añade currencyAmounts con los importes en la moneda original
--start-date stringPrimer día del periodo en formato YYYY-MM-DD
--third-party stringSolo los apuntes de este tercero (contacto, producto o banco), con el criterio del balance y de pérdidas y ganancias: sus propios…
--third-party-detailAñade bajo cada cuenta una fila por tercero

facturadirecta query Consulta analítica: suma, cuenta y clasifica facturas, compras, contactos o apuntes en una llamada

La consulta analítica de la API: una fuente (–from invoices, invoiceLines, bills, billLines, contacts o journal), medidas (–measures), hasta dos dimensiones por las que agrupar (–by), un periodo (–period) con comparativa (–compare) o desglose (–breakdown), filtros (–filter), orden (–order), límite (–limit) y, con dos dimensiones, límite por grupo (–limit-per-group). Responde los grupos ordenados y los totales del conjunto filtrado: en la terminal, una tabla; con -j o -q, el JSON de la API (columns, rows, totals, other, truncated). Sustituye a listar y sumar: «mis cinco mejores clientes», «¿qué producto vendo más?», «¿cuánto suman las facturas vencidas?», «gastos de septiembre por proveedor», «provincias con más facturación frente al periodo anterior». El vocabulario de cada fuente (medidas, dimensiones y filtros) está en facturadirecta describe query; un nombre fuera del vocabulario responde 400 con el más parecido. Las cifras de invoices y bills son las de los documentos (base, impuestos, total y pendiente), y las de invoiceLines y billLines, las de sus líneas (producto, cantidad e importe sin impuestos); las de journal, las del diario, y exigen el módulo de Contabilidad. Con varias monedas, –amounts company da los importes en la moneda de la empresa en vez de separarlos por moneda.

–period: un año (2026), un trimestre (2026-Q3), un mes (2026-09) o dos fechas (2026-01-01..2026-06-30; una de las dos puede faltar); –start y –end fijan cada extremo. Sin periodo, el año natural en curso. –filter (repetible): campo=valor (eq), ‘campo in a,b’ (in), campo>=valor y campo<=valor (gte, lte), ‘campo between a,b’ y campo^=prefijo (startsWith). true y false son booleanos; en gte, lte y between los números son números. –order (repetible): medida o dimensión, con :asc o :desc (por defecto, desc). –data: la petición completa en JSON (’{…}’, @fichero o stdin) en vez de las flags.

Cuerpo (–data o stdin): {“from” (obligatorio), “measures”, “dimensions”, “period”, “compare”, “breakdown”, “filters”, “orderBy”, “limit”, “limitPerGroup”, “includeOther”, “amounts”} Contrato completo: facturadirecta describe query

facturadirecta query [flags]

Ejemplos

  facturadirecta query --from invoices --by contact --measures totalBeforeTaxes,count --period 2026 --limit 5 --other
  facturadirecta query --from invoices --by fiscalId --measures totalBeforeTaxes,contacts --limit 5
  facturadirecta query --from contacts --by fiscalId --measures count --limit 20
  facturadirecta query --from invoices --measures count,total,pending --filter "state in overdue"
  facturadirecta query --from bills --by contact --period 2026-09 --limit 100
  facturadirecta query --from invoices --by contact.region --period 2026-01-01..2026-06-30 --compare previousPeriod --limit 5
  facturadirecta query --from contacts --by address.region --filter isClient=true --limit 5
  facturadirecta query --from journal --measures income,expenses,result --breakdown month --period 2026 -q
  facturadirecta query --from invoices --measures daysToPayment,daysToPayment.median --by contact --order daysToPayment:desc
  facturadirecta query --from invoiceLines --by product --measures totalBeforeTaxes,quantity --filter hasProduct=true --limit 5
  facturadirecta query --from invoiceLines --by contact,product --measures quantity --filter hasProduct=true --limit-per-group 3 --limit 100
  facturadirecta query --from invoices --measures totalBeforeTaxes --breakdown month --amounts company
  facturadirecta query --data '{"from":"invoices","dimensions":["country"],"limit":5}' -j
--amounts stringMoneda de los importes en invoices, bills y sus líneas: document (por defecto, la de cada documento, separados por moneda) o company (la de la empresa, en un solo grupo)
--breakdown stringDesglose por tramos naturales: month, quarter o year (añade la dimensión period)
--by stringsDimensiones por las que agrupar, hasta dos (contact, fiscalId, contact.region, country, series, state, month…; en journal, account, thirdParty, category…)
--company stringID de la empresa
--compare stringComparativa: previousPeriod o previousYear (añade _reference, _difference y _variance a cada medida)
--data stringPetición completa en JSON ('{…}' o @fichero), en vez de las flags; sin --data ni --from, se lee de stdin
--end stringÚltimo día del periodo, incluido (AAAA-MM-DD)
--filter stringsFiltro, repetible: campo=valor, 'campo in a,b', campo>=valor, campo<=valor, 'campo between a,b', campo^=prefijo
--from stringFuente: invoices, invoiceLines, bills, billLines, contacts o journal
--limit intFilas como máximo, entre 1 y 500 (por defecto, 10)
--limit-per-group intCon dos dimensiones (--by), filas como máximo de la segunda dentro de cada valor de la primera («los tres productos más vendidos a cada cliente»); no se combina con --compare, --breakdown ni --other
--measures stringsMedidas, separadas por comas (count, contacts, totalBeforeTaxes, total, pending, average, daysToPayment.median…; en journal, net, income, expenses, result…). Sin indicar, la medida por defecto de la fuente
--order stringsOrden, repetible: medida o dimensión, con :asc o :desc (por defecto, desc)
--otherAñade other: cuántos grupos quedan fuera de --limit y la suma de sus medidas
--period stringPeriodo: 2026, 2026-Q3, 2026-09 o 2026-01-01..2026-06-30 (por defecto, el año natural en curso)
--start stringPrimer día del periodo, incluido (AAAA-MM-DD)

facturadirecta tax-declarations Modelos de impuestos generados (303, 111, 130, 347…): listar, consultar, PDF y fichero AEAT

Declaraciones de impuestos: los modelos de la AEAT que el usuario ha generado y guardado en la sección Impuestos de la web, con su periodo, su resultado, sus casillas y, en las informativas (180, 190, 347, 349), sus registros por tercero. Solo lectura: la API no genera, rellena ni presenta modelos; eso se hace en la web y en la Sede de la AEAT. pdf y aeat-file devuelven los mismos ficheros que descargan los botones de la web. Los tipos de IVA e IRPF que se aplican a los documentos están en settings taxes-sales y settings taxes-purchases.
tax-declarations aeat-fileDevolver el fichero de presentación de la AEAT del modelo (url y filename)

El fichero con el diseño de registro BOE del modelo guardado, el mismo que descarga el botón «Descargar fichero AEAT» de la web; se genera una vez y se reutiliza mientras el modelo no cambie. La presentación sigue haciéndose desde la Sede de la AEAT. El 390 no tiene fichero y responde 404.

Contrato completo: facturadirecta describe create_tax_declaration_aeat_file

facturadirecta tax-declarations aeat-file <id> [flags]
--company stringID de la empresa
tax-declarations attachments listListar adjuntos del documento

Listar adjuntos del documento

Contrato completo: facturadirecta describe get_tax_declaration_attachments

facturadirecta tax-declarations attachments list <id> [flags]
--company stringID de la empresa
tax-declarations getObtener un modelo con sus casillas (y sus registros por tercero con --related records)

Devuelve el modelo con sus casillas (boxes) tal como se escriben en el fichero de la AEAT: key es el número oficial de la casilla o la clave de control, title el texto del formulario y value el importe, código o texto. –related records añade, en las informativas, los registros por tercero (datos personales de terceros); –related journal, el asiento contable. El IBAN sale enmascarado salvo con el scope banks:readIban.

Contrato completo: facturadirecta describe get_tax_declaration

facturadirecta tax-declarations get <id> [flags]
--company stringID de la empresa
--related stringsInformación adicional: records (registros por tercero de las informativas) y journal (el asiento contable); repetible o separado por comas
--urlImprimir solo la URL del elemento en la web de FacturaDirecta
tax-declarations listListar modelos de impuestos (del más reciente al más antiguo)

Lista los modelos guardados con su sobre: modelo, ejercicio, periodo, resultado (positivo a ingresar, negativo a compensar o devolver; vacío en las informativas), si tiene fichero AEAT y cuántos adjuntos. Las casillas solo salen con –related boxes (un 303 trae unas sesenta: pide pocas filas) y el asiento contable con –related journal. La fecha de un modelo es el último día de su periodo.

Contrato completo: facturadirecta describe list_tax_declarations

facturadirecta tax-declarations list [flags]
--all-these-tags stringsListado de todas las etiquetas que debe contener el modelo de impuestos para ser incluido en los resultados
--any-of-these-tags stringsListado de cualquiera de las etiquetas que debe contener el modelo de impuestos para ser incluido en los resultados
--company stringID de la empresa
--fiscal-period stringsPeriodo: trimestre (1T…4T). Valores: 1T, 2T, 3T, 4T, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 1P, 2P, 3P
--fiscal-year stringEjercicio
--form stringsNúmero de modelo. Valores: 111, 115, 130, 180, 190, 202, 303, 347, 349, 390
--has-tagsSolo con etiquetas (true) o solo sin etiquetas (false)
--kind stringsTipo de modelo: autoliquidaciones (selfAssessment) o declaraciones informativas (informative). Valores: selfAssessment, informative
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--max-creation-date stringFecha y hora máxima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-date stringFecha máxima del modelo (el último día de su periodo) en formato YYYY-MM-DD
--max-modification-date stringFecha y hora máxima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-creation-date stringFecha y hora mínima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-date stringFecha mínima del modelo (el último día de su periodo) en formato YYYY-MM-DD
--min-modification-date stringFecha y hora mínima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--offset stringPosición de inicio de los resultados
--related stringsInformación adicional por modelo: boxes (las casillas) y journal (el asiento contable); repetible o separado por comas
--sort-by stringsOrden de los resultados. Opciones: date, total, fiscalYear, creationDate, modificationDate (prefijo - = descendente)
--status stringsEstado del modelo. Valores: generated
tax-declarations pdfGenerar el PDF resumen del modelo (casillas y valores) y devolver su URL temporal

El PDF que imprime la web, generado una vez y reutilizado mientras el modelo no cambie. No es el fichero de presentación de la AEAT (aeat-file) ni los adjuntos del modelo (attachments list).

Contrato completo: facturadirecta describe create_tax_declaration_pdf

facturadirecta tax-declarations pdf <id> [flags]
--company stringID de la empresa
--mode stringModo: attachment, inline, print (inline)

facturadirecta settings Configuración de la empresa

settings companyVer la ficha de la empresa y su forma de trabajar

Datos fiscales y de contacto, moneda, idioma y zona horaria, modo borrador o definitivo de facturas y gastos, impuestos, numeración, fechas de inicio y bloqueo contable, VeriFactu y TicketBAI, remitentes de email, stock, portal de clientes, canales de entrada de la bandeja (buzón por correo y Google Drive) y módulos del plan. Cambia muy poco: consúltala al empezar a trabajar con una empresa.

inbox.email.address es el buzón de la bandeja: todo correo que llegue a esa dirección entra en la bandeja sin verificar el remitente, así que no la publiques. Es solo lectura; la configuración se cambia en la web (content.webUrl, también con –url).

Contrato completo: facturadirecta describe get_company_settings

facturadirecta settings company [flags]
--company stringID de la empresa
--urlImprimir solo la URL de los ajustes de la empresa en la web de FacturaDirecta
settings seriesVer series configuradas para un tipo de documento (invoice, estimate, deliveryNote, clientOrder, purchaseOrder)

Ver series configuradas para un tipo de documento (invoice, estimate, deliveryNote, clientOrder, purchaseOrder)

Contrato completo: facturadirecta describe get_series

facturadirecta settings series <documentType> [flags]
--company stringID de la empresa
settings taxes-purchasesVer impuestos de compras configurados

Ver impuestos de compras configurados

Contrato completo: facturadirecta describe get_purchases_taxes

facturadirecta settings taxes-purchases [flags]
--company stringID de la empresa
--tax-group stringsGrupo de impuestos. Valores: IVA, IVA_RE, IGIC, IPSI, IRPF
settings taxes-salesVer impuestos de ventas configurados

Ver impuestos de ventas configurados

Contrato completo: facturadirecta describe get_sales_taxes

facturadirecta settings taxes-sales [flags]
--company stringID de la empresa
--tax-group stringsGrupo de impuestos. Valores: IVA, IVA_RE, IGIC, IPSI, IRPF, VATEU
settings themesVer temas de diseño disponibles

Ver temas de diseño disponibles

Contrato completo: facturadirecta describe get_themes

facturadirecta settings themes [flags]
--company stringID de la empresa

facturadirecta webhooks Gestión de webhooks

webhooks endpoints createCrear un endpoint (JSON por stdin o --data)

Crear un endpoint (JSON por stdin o –data)

Cuerpo (–data o stdin): {“name” (obligatorio), “url” (obligatorio), “events” (obligatorio)} Contrato completo: facturadirecta describe create_public_webhook_endpoint

facturadirecta webhooks endpoints create [flags]
--company stringID de la empresa
--data stringDatos en JSON
webhooks endpoints deleteEliminar un endpoint

Eliminar un endpoint

Contrato completo: facturadirecta describe delete_public_webhook_endpoint

facturadirecta webhooks endpoints delete <id> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
webhooks endpoints disableDesactivar un endpoint

Desactivar un endpoint

Contrato completo: facturadirecta describe disable_public_webhook_endpoint

facturadirecta webhooks endpoints disable <id> [flags]
--company stringID de la empresa
webhooks endpoints enableActivar un endpoint

Activar un endpoint

Contrato completo: facturadirecta describe enable_public_webhook_endpoint

facturadirecta webhooks endpoints enable <id> [flags]
--company stringID de la empresa
webhooks endpoints getObtener un endpoint

Obtener un endpoint

Contrato completo: facturadirecta describe get_public_webhook_endpoint

facturadirecta webhooks endpoints get <id> [flags]
--company stringID de la empresa
webhooks endpoints listListar endpoints

Listar endpoints

Contrato completo: facturadirecta describe list_public_webhook_endpoints

facturadirecta webhooks endpoints list [flags]
--company stringID de la empresa
webhooks endpoints rotate-secretRotar el secreto de un endpoint

Rotar el secreto de un endpoint

Contrato completo: facturadirecta describe rotate_public_webhook_endpoint_secret

facturadirecta webhooks endpoints rotate-secret <id> [flags]
--company stringID de la empresa
webhooks endpoints updateActualizar un endpoint (JSON por stdin o --data)

Actualizar un endpoint (JSON por stdin o –data)

Cuerpo (–data o stdin): {“name”, “url”, “events”} Contrato completo: facturadirecta describe update_public_webhook_endpoint

facturadirecta webhooks endpoints update <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
webhooks events getObtener un evento

Obtener un evento

Contrato completo: facturadirecta describe get_public_webhook_event

facturadirecta webhooks events get <id> [flags]
--company stringID de la empresa
webhooks events listListar eventos

Listar eventos

Contrato completo: facturadirecta describe list_public_webhook_events

facturadirecta webhooks events list [flags]
--company stringID de la empresa
--cursor stringCursor de paginación: el nextCursor de la página anterior, tal cual se recibió
--endpoint-id stringFiltrar por endpoint
--limit stringNúmero máximo de resultados (máx. 100)
--status stringFiltrar por estado (pending, delivered, failed)
--type stringFiltrar por tipo de evento
webhooks events retryReintentar envío de un evento

Reintentar envío de un evento

Contrato completo: facturadirecta describe retry_public_webhook_event

facturadirecta webhooks events retry <id> [flags]
--company stringID de la empresa

facturadirecta api-keys Gestión de API keys

api-keys createCrear una API key (JSON por stdin o --data)

Crear una API key (JSON por stdin o –data)

Cuerpo (–data o stdin): {“name” (obligatorio), “scopes” (obligatorio)} Contrato completo: facturadirecta describe create_public_api_key

facturadirecta api-keys create [flags]
--company stringID de la empresa
--data stringDatos en JSON
api-keys deleteEliminar una API key

Eliminar una API key

Contrato completo: facturadirecta describe delete_public_api_key

facturadirecta api-keys delete <id> [flags]
--company stringID de la empresa
--yesConfirmar el borrado sin preguntar (es irreversible)
api-keys getObtener una API key por UUID

Obtener una API key por UUID

Contrato completo: facturadirecta describe get_public_api_key

facturadirecta api-keys get <id> [flags]
--company stringID de la empresa
api-keys listListar API keys

Listar API keys

Contrato completo: facturadirecta describe list_public_api_keys

facturadirecta api-keys list [flags]
--company stringID de la empresa

facturadirecta statements Gestión de extractos bancarios

statements getObtener un extracto bancario por UUID

Obtener un extracto bancario por UUID

Contrato completo: facturadirecta describe get_statement

facturadirecta statements get <id> [flags]
--company stringID de la empresa
statements listListar extractos bancarios

Listar extractos bancarios

Contrato completo: facturadirecta describe list_statements

facturadirecta statements list [flags]
--bank stringIdentificador del banco para filtrar los extractos
--company stringID de la empresa
--currency stringMoneda del extracto bancario (Formato ISO 4217)
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--matched-document stringIdentificador del asiento contable con el que está conciliado el extracto
--max-amount stringImporte máximo del movimiento
--max-creation-date stringFecha y hora máxima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--max-date stringFecha máxima de la operación en formato YYYY-MM-DD
--max-modification-date stringFecha y hora máxima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-amount stringImporte mínimo del movimiento
--min-creation-date stringFecha y hora mínima de creación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-date stringFecha mínima de la operación en formato YYYY-MM-DD
--min-modification-date stringFecha y hora mínima de modificación del documento, incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--offset stringPosición de inicio de los resultados
--sort-by stringsOrden de los resultados. Opciones: date, amount, currency, state, creationDate, modificationDate (prefijo - = descendente)
--state stringEstado de conciliación del extracto. Valores: pending, reconciled, ignored
statements reconcileConciliar un extracto bancario (JSON por stdin o --data)

Conciliar un extracto bancario (JSON por stdin o –data)

Cuerpo (–data o stdin): {“transactionId” (obligatorio)} Contrato completo: facturadirecta describe reconcile_statement

facturadirecta statements reconcile <id> [flags]
--company stringID de la empresa
--data stringDatos en JSON
statements reconcile-newConciliar un extracto creando un nuevo asiento (JSON por stdin o --data)

Crea un asiento contable y lo concilia con el movimiento del extracto en una sola llamada.

Para cobrar o pagar una factura de venta, un gasto o una nómina con este movimiento, envía solo {“document”: “”} (inv_, bil_ o par_): la API construye el asiento, también cuando el banco o el documento están en otra moneda (apunte del banco en su moneda con su contravalor, documento saldado a su tipo de cambio y diferencia de cambio en su cuenta). Añade amount (en la moneda del documento) solo para un cobro o pago parcial con documento y banco en monedas distintas. Usa lines (excluyente con document) solo para movimientos sin documento, como comisiones o traspasos. Si el cobro o pago ya está registrado, usa “statements reconcile” con su transactionId.

Cuerpo (–data o stdin): {“document”, “amount”, “lines”, “title”} Contrato completo: facturadirecta describe reconcile_statement_with_new_transaction

facturadirecta statements reconcile-new <id> [flags]

Ejemplos

  facturadirecta statements reconcile-new sta_xxx --data '{"document":"inv_xxx"}'
  facturadirecta statements reconcile-new sta_xxx --data '{"title":"Comisión","lines":[...]}'
--company stringID de la empresa
--data stringDatos en JSON
statements unreconcileDesconciliar un extracto bancario

Desconciliar un extracto bancario

Contrato completo: facturadirecta describe unreconcile_statement

facturadirecta statements unreconcile <id> [flags]
--company stringID de la empresa
--delete-transactionSi es true, además de desconciliar se archiva el asiento contable asociado

facturadirecta uploads Subida de archivos (flujo presigned S3)

uploads commitSellar un upload presigned tras el PUT a S3

Sellar un upload presigned tras el PUT a S3

Contrato completo: facturadirecta describe commit_upload

facturadirecta uploads commit <uploadId> [flags]
--company stringID de la empresa
uploads createSolicitar un slot de upload (devuelve URL presigned + uploadId)

Solicitar un slot de upload (devuelve URL presigned + uploadId)

Contrato completo: facturadirecta describe create_upload

facturadirecta uploads create <filename> [flags]
--company stringID de la empresa
--content-type stringMIME type (opcional)
uploads fileSubir un archivo local (create + PUT S3 + commit) y mostrar el uploadId

Subir un archivo local (create + PUT S3 + commit) y mostrar el uploadId

Operaciones de la API: create_upload, commit_upload. Contrato de cada una: facturadirecta describe <acción>

facturadirecta uploads file <ruta> [flags]
--company stringID de la empresa

facturadirecta inbox Bandeja de entrada (OCR/extracción IA)

inbox addSubir un archivo a la bandeja (upload + create)

Subir un archivo a la bandeja (upload + create)

Operaciones de la API: create_upload, commit_upload, create_inbox_item. Contrato de cada una: facturadirecta describe <acción>

facturadirecta inbox add <ruta> [flags]
--company stringID de la empresa
--idempotency-key stringClave de idempotencia (opcional)
--title stringTítulo del item (opcional)
inbox archiveArchivar un item de la bandeja

Archivar un item de la bandeja

Contrato completo: facturadirecta describe delete_inbox_item

facturadirecta inbox archive <id> [flags]
--company stringID de la empresa
inbox getObtener un item de la bandeja por UUID

Obtener un item de la bandeja por UUID

Contrato completo: facturadirecta describe get_inbox_item

facturadirecta inbox get <id> [flags]
--company stringID de la empresa
inbox listListar items de la bandeja de entrada

Listar items de la bandeja de entrada

Contrato completo: facturadirecta describe list_inbox_items

facturadirecta inbox list [flags]
--archived stringFiltrar por estado de archivado: false. Valores: false, true, all
--company stringID de la empresa
--limit stringNúmero máximo de resultados, valores permitidos entre 1 y 500 (25)
--max-date stringFecha y hora máxima de creación del item (createdAt), incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--min-date stringFecha y hora mínima de creación del item (createdAt), incluida, en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); el + de un desfase…
--offset stringPosición de inicio de los resultados
--source stringFiltrar por origen del item. Valores: upload, inbox, googleDrive, scanner
--status stringFiltrar por estado del escaneo. Valores: pending, scanned, scan_failed
inbox propose-billGenerar propuesta de factura de compra a partir de un item de la bandeja

Generar propuesta de factura de compra a partir de un item de la bandeja

Contrato completo: facturadirecta describe propose_bill

facturadirecta inbox propose-bill <id> [flags]
--company stringID de la empresa
--contact-id stringUUID del contacto (omite el matching automático)
inbox propose-payrollGenerar propuesta de nómina a partir de un item de la bandeja

Generar propuesta de nómina a partir de un item de la bandeja

Contrato completo: facturadirecta describe propose_payroll

facturadirecta inbox propose-payroll <id> [flags]
--company stringID de la empresa
--contact-id stringUUID del contacto (omite el matching automático)
inbox propose-ticketGenerar propuesta de ticket de compra a partir de un item de la bandeja

Generar propuesta de ticket de compra a partir de un item de la bandeja

Contrato completo: facturadirecta describe propose_ticket

facturadirecta inbox propose-ticket <id> [flags]
--company stringID de la empresa
--contact-id stringUUID del contacto (omite el matching automático)

Auth y configuración

facturadirecta setup Configuración inicial guiada

Asistente de configuración inicial: autenticación y selección de empresa.
facturadirecta setup

facturadirecta auth Gestionar autenticación

Gestionar la autenticación de FacturaDirecta: inicio y cierre de sesión, estado, perfil y empresa activa.
auth loginIniciar sesión en FacturaDirecta
facturadirecta auth login [flags]
--api-key stringUsar API Key en lugar de OAuth
--company stringID de la empresa (obligatorio con --api-key)
--deviceIniciar sesión por dispositivo (RFC 8628): sin navegador en esta máquina, muestra un código para autorizar desde cualquier dispositivo
--no-browserNo abrir el navegador; solo imprimir la URL (o el código) para hacerlo a mano
--no-connectionNo elegir empresas ni permisos: acceso a todas tus empresas con los permisos de tu rol (inicia sesión con el cliente OAuth facturadirecta-api)
--port intPuerto local para el callback OAuth (0 = uno libre elegido por el sistema)
--profile stringNombre del perfil (default)
--scope stringModo de acceso: 'readonly' (por defecto) o 'full' (readonly)
auth logoutCerrar sesión
Cierra la sesión del perfil y borra sus credenciales. Si el perfil tiene conexión con FacturaDirecta (empresas y permisos elegidos al iniciar sesión), la revoca antes; si no se puede revocar, avisa y cierra la sesión igualmente.
facturadirecta auth logout [flags]
--profile stringNombre del perfil a eliminar (default)
auth permissionsGestionar a qué empresas accede el CLI y con qué permisos
Abre en el navegador la página de FacturaDirecta donde se eligen las empresas a las que accede el CLI con el perfil activo y sus permisos por área. Los cambios se aplican al momento, sin volver a iniciar sesión. Con –no-browser solo imprime la URL; con –json, un objeto con la conexión.
facturadirecta auth permissions [flags]
--no-browserNo abrir el navegador; solo imprimir la URL
auth profileVer perfil de usuario y empresas disponibles

Ver perfil de usuario y empresas disponibles

Contrato completo: facturadirecta describe get_profile

facturadirecta auth profile
auth statusVer el estado de la sesión actual
facturadirecta auth status
auth use-companySeleccionar la empresa activa
facturadirecta auth use-company [companyId]

facturadirecta whoami Quién soy: usuario, acceso, empresa que usarán los comandos y empresas disponibles

Muestra el perfil activo, el usuario autenticado, el modo de acceso, la conexión con FacturaDirecta (empresas y permisos elegidos para el CLI), la empresa que usaría cualquier comando (–company > FACTURADIRECTA_COMPANY > perfil > única empresa) y todas las empresas disponibles, con los permisos de la conexión en cada una. Con –json o –quiet devuelve un objeto compacto.

Operaciones de la API: get_profile, get_public_api_key_info. Contrato de cada una: facturadirecta describe <acción>

facturadirecta whoami [flags]
--company stringEmpresa a comprobar (como la usaría cualquier comando con --company)

facturadirecta update Actualizar facturadirecta a la última versión

facturadirecta update [flags]
--forceActualizar sin pedir confirmación
--version stringActualizar a una versión específica (ej: v0.5.0)

Opciones globales

--agentModo agente (equivale a --quiet)
--countSolo el número de resultados
--ids-onlySolo IDs, uno por línea
--jq stringFiltro jq integrado (implica --json)
-j, --jsonSalida en formato JSON
--profile stringPerfil de autenticación a usar
-q, --quietSolo datos JSON, sin metadatos

Empieza gratis y factura con flow

Únete a los más de 90.000 negocios que ya gestionan sus facturas de forma rápida y sencilla con FacturaDirecta
Empieza Gratis

Fácil de usar · Sin permanencia · Sin tarjeta de crédito