Factuarea APIDevelopers

Catálogo de tools

Todas las tools del MCP de Factuarea agrupadas por dominio, más las diez tools privilegiadas de cuentas gestionadas, con el scope que requiere cada una y su categoría de límite de peticiones.

El servidor MCP de Factuarea publica 668 tools en los dominios de la API pública. Esta página es la lista canónica; el esquema de entrada de cada tool se descubre en tiempo de ejecución mediante tools/list. Cada tool se corresponde con la misma operación en la Referencia de la REST API. Las diez tools que aprovisionan cuentas gestionadas no forman parte de ese total: están al final, porque una key necesita los scopes privilegiados accounts:* para verlas.

  • Tool — el nombre de la tool MCP que invoca tu agente.
  • Scope — el scope granular que debe tener la credencial para que la tool aparezca en tools/list y sea invocable. Consulta Scopes y permisos.
  • Category — el bucket de límite de peticiones al que pertenece la tool: read, write, destructive, send o generate. Consulta Errores y límites de peticiones.

Una credencial solo ve las tools que cubren sus scopes. Una API key con el super-scope * las ve las 668; una key más restringida o un token OAuth ve un subconjunto.

¹ Restringidas en OAuth (solo API key). 127 tools son accesibles únicamente con una API key, nunca a través de una app OAuth de terceros: las 11 tools verifactu:write, forget_delivery_note_signature (delivery_notes:gdpr_forget), las 20 tools de Pagos y pasarelas (los scopes stripe_autoinvoicing:*, payouts:read e integration_events:* son scopes granulares, solo API key), las 3 tools de Correos enviados y las 4 de registro de peticiones (emails:read y developers:read inspeccionan el tráfico de tu propia integración: son scopes de primera parte, nunca se conceden por consentimiento de terceros), las 14 tools de la cartera de NIF y get_consolidated_workforce (companies:* es de primera parte: nunca se concede a terceros por consentimiento OAuth), las tools de la cuenta —5 de administración (nif_transfers:* y account:owner), 16 de miembros, grants e invitaciones (members:*, invitations:*) y 10 de webhooks de cuenta (usan los mismos scopes webhooks:* que las tools de webhooks de empresa, pero la capacidad de cuenta rechaza un token OAuth): quién es titular de una cuenta, quién pertenece a ella y adónde van sus eventos nunca se cede a una app de terceros—, las 5 tools de escritura de cuenta (account:write: crear, rotar o revocar API keys, sustituir el ámbito de NIF de una key y actualizar la personalización de la cuenta), las 33 tools de control horario cuyos scopes de escritura/transición (time_entries:write, absences:write, absences:transition, work_schedules:write) son granulares y solo API key, fuera del catálogo de consentimiento OAuth (sus lecturas y employees:write sí se conceden por OAuth), delete_automation_rule (automations:delete se deja fuera del catálogo de consentimiento OAuth a propósito; los otros tres scopes del motor de automatizaciones —automations:read, automations:write y automation_runs:read— sí se conceden) y las 9 tools de borrado de proyectos y tareas (projects:delete y tasks:delete nunca aparecen en la pantalla de consentimiento: leer y escribir se conceden, borrar no). Por tanto, las apps OAuth alcanzan 541 de las 668 tools. Las diez tools de cuentas gestionadas también son solo API key y quedan fuera de los dos recuentos. Consulta la política de canales.

² Tope por lote — 200 ids por llamada. bulk_send_invoices, bulk_send_quotes, bulk_send_proformas y bulk_send_delivery_notes admiten como máximo 200 ids por llamada, el mismo tope que sus rutas REST hermanas (POST /v1/companies/{company}/{resource}/bulk-send). Un lote mayor se rechaza antes de enviar nada: no sale ningún correo ni se encola ningún trabajo. Divide el lote en bloques de 200 y repite la llamada. El mensaje de error cita dos cifras y nada más —el tope y lo que enviaste—, así que no devuelve ningún id del lote: No puedes enviar más de 200 facturas por lote. Has enviado 201. Divide el lote en bloques de 200 como máximo y repite la llamada.

Dominios

Facturas

Facturas: búsqueda, CRUD, rectificativas, ledger de pagos parciales, transiciones (issue/paid/sent/void/annul), programación, operaciones masivas, recordatorios, enlaces públicos, PDFs, presentaciones, enrutado administrativo y exportación a Excel. (51 tools)

HerramientaScopeCategoría
can_annul_invoiceinvoices:readread
check_invoice_simplified_eligibilityinvoices:readread
export_invoices_excelinvoices:readread
find_invoice_by_external_idinvoices:readread
find_invoice_by_numberinvoices:readread
get_available_quartersinvoices:readread
get_invoiceinvoices:readread
get_invoice_activitiesinvoices:readread
get_invoice_correctivesinvoices:readread
get_invoice_payment_receiptpdfs:readread
get_invoice_pdfpdfs:readread
get_invoice_presentationinvoices:readread
get_invoice_public_linkinvoices:readread
get_invoice_statsinvoices:readread
get_invoice_statusesinvoices:readread
list_invoice_administrative_revisionsinvoices:readread
list_invoice_paymentsinvoices:readread
list_invoice_presentationsinvoices:readread
list_payment_methodsinvoices:readread
preview_invoice_reminderinvoices:readread
search_invoicesinvoices:readread
annul_invoiceinvoices:voidwrite
assign_invoice_presentationinvoices:writewrite
assign_invoice_real_numberinvoices:writewrite
bulk_change_invoice_statusinvoices:writewrite
bulk_create_invoicesinvoices:writewrite
bulk_delete_invoicesinvoices:deletedestructive
bulk_invoices_pdf_linkpdfs:readgenerate
bulk_send_invoices ²invoices:sendsend
create_corrective_invoiceinvoices:writewrite
create_invoiceinvoices:writewrite
delete_invoiceinvoices:deletedestructive
duplicate_invoiceinvoices:writewrite
issue_invoiceinvoices:writewrite
mark_invoice_as_paidinvoices:writewrite
mark_invoice_as_sentinvoices:writewrite
mark_invoice_unsentinvoices:writewrite
quarterly_send_emailinvoices:sendsend
register_invoice_paymentinvoices:writewrite
reschedule_invoiceinvoices:writewrite
revert_invoice_paymentinvoices:writewrite
revise_invoice_administrative_routinginvoices:writewrite
revise_invoice_presentationinvoices:writewrite
schedule_invoiceinvoices:writewrite
send_invoiceinvoices:sendsend
send_invoice_reminderinvoices:sendsend
substitute_simplified_invoiceinvoices:writewrite
unschedule_invoiceinvoices:writewrite
update_invoiceinvoices:writewrite
update_invoice_public_linkinvoices:writewrite
void_invoiceinvoices:voidwrite

get_invoice devuelve la factura completa por su id público: datos comerciales, ids de línea (UUIDv7), centros efectivos, snapshot, override, versión y revisión administrativas y los snapshots estructurados originales. Conserva null y las listas vacías tal como se guardaron. get_invoice_pdf devuelve el enlace firmado de descarga exacto cuando existe una salida retenida; el modo compatible aún puede devolver el PDF en base64. send_invoice puede adjuntar el fichero FacturaE con attach_facturae=true; con submission_id adjunta esa presentación existente, sin crear ni reintentar ninguna, y exige attach_facturae=true. update_invoice_public_link admite revoke, activate, extend (con extend_days), reset o publish, este último con la referencia exacta y la versión observada.

list_invoice_administrative_revisions lee la versión administrativa, el snapshot, el override y el historial por el id público de la factura. Distingue el null heredado de [] y no consulta los centros actuales del contacto. revise_invoice_administrative_routing añade una revisión administrativa con la lista completa de centros, un motivo y expected_version (un entero positivo); [] borra los centros efectivos y no se modifica la fiscalidad. Si falta la versión responde 428; si está obsoleta, 409 con current_version. Reintentar con la versión antigua no duplica la revisión. Devuelve la revisión creada y su propia administrative_version.

assign_invoice_presentation asigna un template_id (UUIDv7) o un null explícito para heredar, con expected_version. Solo se aplica a borradores de la empresa autenticada y no modifica importes ni numeración. get_invoice_presentation lee el estado visual y la captura retenida de un documento autorizado, y list_invoice_presentations lista las capturas retenidas en orden descendente, con page/per_page y los metadatos capturados; ninguna escribe, consulta artefactos ni genera un PDF. revise_invoice_presentation crea una revisión visual auditada con su padre, una comprobación compare-and-set (CAS) y los tokens auténticos de vista previa presentation_revision; current_legal solo admite una corrección jurídica real de una factura emitida. No reemite ni recalcula. Consulta Presentación de documentos.

Contactos

(28 tools)

Los contactos fiscales canónicos tienen roles acumulables de cliente, proveedor y lead; son la única superficie MCP pública para identidades de terceros. No se publican tools separadas de cliente o proveedor. La plantilla CSV sigue siendo una descarga REST. Consulta Migración de contactos.

Nombres retirados. Cuatro tools de contactos siguen respondiendo a su nombre anterior hasta el 15 de noviembre de 2026: search_clients (ahora search_contacts), find_client_by_tax_id (ahora find_contact_by_tax_id), create_client (ahora create_contact) y bulk_create_clients (ahora bulk_create_contacts). No aparecen en tools/list, se aplican los permisos de la sucesora y el resultado incluye _meta["io.factuarea/deprecation"] con deprecated_tool, successor y sunset. Un argumento antiguo sin equivalente se rechaza con -32008 invalid_param_value y un hint que nombra el argumento y la sucesora; en search_clients son city, province, is_active, created_from, created_to y ending_before, y solo se admite una clave de búsqueda entre search, name, tax_id, email y phone, que pasa a la búsqueda libre q (de al menos 2 caracteres) y devuelve solo clientes activos; para listar sin término usa list_contacts con roles=["customer"]. Pasada la fecha, el nombre antiguo responde como una tool inexistente (-32602).

ToolScopeCategoría
archive_contactcontacts:deletedestructive
assign_contact_rolecontacts:writewrite
bulk_archive_contactscontacts:deletedestructive
bulk_create_contactscontacts:writewrite
bulk_change_contact_role_statuscontacts:writewrite
bulk_delete_contactscontacts:deletedestructive
change_contact_role_statuscontacts:writewrite
create_contactcontacts:writewrite
delete_contactcontacts:deletedestructive
download_contact_import_errorscontacts:readread
find_contact_by_external_idcontacts:readread
find_contact_by_tax_idcontacts:readread
get_contactcontacts:readread
get_contact_activitiescontacts:readread
get_contact_importcontacts:readread
get_contact_optionscontacts:readread
get_contact_statscontacts:readread
import_contactscontacts:writewrite
list_contactscontacts:readread
preview_contacts_importcontacts:writewrite
remove_contact_rolecontacts:deletedestructive
restore_contactcontacts:writewrite
search_contactscontacts:readread
update_bank_accountscontacts:writewrite
update_contactcontacts:writewrite
update_customer_profilecontacts:writewrite
update_supplier_profilecontacts:writewrite
verify_contact_censuscontacts:readwrite

Productos

Catálogo: búsqueda, CRUD, opciones/combinaciones configurables, ledger de stock, presentaciones, variantes, ofertas de proveedor, acciones masivas, analítica y media. (40 tools)

HerramientaScopeCategoría
download_product_gallery_imageproducts:readread
download_product_videoproducts:readread
find_product_by_external_idproducts:readread
find_product_by_skuproducts:readread
get_productproducts:readread
get_product_activitiesproducts:readread
get_product_sales_analyticsproducts:readread
get_product_statsproducts:readread
low_stock_reportproducts:readread
list_product_configurationsproducts:readread
list_product_optionsproducts:readread
list_product_presentationsproducts:readread
list_product_stock_movementsproducts:readread
list_product_variantsproducts:readread
resolve_catalog_selectionproducts:readread
list_supplier_product_offersproducts:readread
preview_product_base_unit_replacementproducts:writeread
search_productsproducts:readread
bulk_change_product_statusproducts:writewrite
bulk_delete_productsproducts:deletedestructive
bulk_update_stockproducts:writewrite
create_productproducts:writewrite
create_product_presentationproducts:writewrite
create_product_variantproducts:writewrite
create_supplier_product_offerproducts:writewrite
delete_productproducts:deletedestructive
delete_product_gallery_imageproducts:deletedestructive
delete_product_presentationproducts:writedestructive
delete_product_variantproducts:writedestructive
delete_product_videoproducts:deletedestructive
delete_supplier_product_offerproducts:writedestructive
replace_product_base_unitproducts:writewrite
set_preferred_supplier_product_offerproducts:writewrite
toggle_product_activeproducts:writewrite
update_productproducts:writewrite
update_product_presentationproducts:writewrite
update_product_variantproducts:writewrite
update_supplier_product_offerproducts:writewrite
upload_product_gallery_imageproducts:writewrite
upload_product_videoproducts:writewrite

create_product, update_product, create_product_variant, update_product_variant, create_product_presentation y update_product_presentation aceptan gross_weight_kg: el peso bruto de transporte en kg (hasta cuatro decimales, mayor que cero) por unidad base en productos y variantes y por unidad comercial en presentaciones fijas. En las tres tools de edición, omitirlo conserva el peso actual y null lo borra. Los servicios, las unidades base de masa (KGM, GRM) y las presentaciones variable_measure lo rechazan con gross_weight_not_allowed.

preview_product_base_unit_replacement y replace_product_base_unit cambian la unidad base de un producto sustituyéndolo por uno nuevo. La vista previa calcula, sin escribir nada, qué ocurre con el stock, el precio, las presentaciones, las variantes, las ofertas de proveedor, las tarifas y los packs, y qué documentos pendientes seguirán apuntando al producto antiguo; es una lectura, pero requiere products:write y devuelve el impact_token que exige la sustitución. La sustitución es irreversible: el producto antiguo queda desactivado con su historial, exige ese impact_token y acepta idempotency_key.

Tarifas

Precios por cliente y documento: gestionar ítems activos/retirados, opciones compactas y resolver selecciones de catálogo configurable. (13 tools)

HerramientaScopeCategoría
get_price_listprice_lists:readread
get_price_list_optionsprice_lists:readread
list_price_list_itemsprice_lists:readread
list_price_listsprice_lists:readread
resolve_catalog_priceprice_lists:readread
resolve_many_catalog_pricesprice_lists:readread
create_price_listprice_lists:writewrite
delete_price_listprice_lists:writedestructive
delete_price_list_itemprice_lists:writedestructive
purge_retired_price_list_itemprice_lists:writedestructive
reassign_retired_price_list_itemprice_lists:writewrite
update_price_listprice_lists:writewrite
upsert_price_list_itemprice_lists:writewrite

Presupuestos

Presupuestos: búsqueda, CRUD, aceptar/rechazar, enviar, convertir a factura, operaciones masivas, búsqueda por ID externo, enlaces públicos, PDFs y presentaciones. (24 tools)

HerramientaScopeCategoría
find_quote_by_external_idquotes:readread
get_quotequotes:readread
get_quote_pdfpdfs:readread
get_quote_presentationquotes:readread
get_quote_public_linkquotes:readread
get_quote_statsquotes:readread
get_quote_statusesquotes:readread
list_quote_presentationsquotes:readread
search_quotesquotes:readread
accept_quotequotes:transitionwrite
assign_quote_presentationquotes:writewrite
bulk_change_quote_statusquotes:transitionwrite
bulk_delete_quotesquotes:deletedestructive
bulk_quotes_pdf_linkpdfs:readgenerate
bulk_send_quotes ²quotes:sendsend
convert_quotequotes:transitionwrite
create_quotequotes:writewrite
delete_quotequotes:deletedestructive
duplicate_quotequotes:writewrite
reject_quotequotes:transitionwrite
revise_quote_presentationquotes:writewrite
send_quotequotes:sendsend
update_quotequotes:writewrite
update_quote_public_linkquotes:writewrite

get_quote_pdf devuelve el enlace firmado de descarga exacto (download_url) con su caducidad (expires_at) cuando existe una salida retenida, o su estado mientras aún se está generando; el modo compatible devuelve el contenido en base64. update_quote_public_link admite revoke, activate, extend (con extend_days), reset o publish, este último con la referencia exacta y la versión observada.

assign_quote_presentation asigna un template_id (UUIDv7) o un null explícito para heredar, con expected_version. Solo se aplica a borradores de la empresa autenticada y no modifica importes ni numeración. get_quote_presentation lee el estado visual y la captura retenida de un documento autorizado, y list_quote_presentations lista las capturas retenidas en orden descendente, con page/per_page y los metadatos capturados; ninguna escribe, consulta artefactos ni genera un PDF. revise_quote_presentation crea una revisión visual auditada con su padre, una comprobación compare-and-set (CAS) y los tokens auténticos de vista previa presentation_revision. Conserva la fuente capturada y admite el propósito complete en formato A4. No reemite ni recalcula. Consulta Presentación de documentos.

Facturas proforma

Proformas: búsqueda, CRUD, aceptar/rechazar, enviar, convertir, operaciones masivas, búsqueda por ID externo, enlaces públicos, PDFs y presentaciones. (24 tools)

HerramientaScopeCategoría
find_proforma_by_external_idproformas:readread
get_proformaproformas:readread
get_proforma_pdfpdfs:readread
get_proforma_presentationproformas:readread
get_proforma_public_linkproformas:readread
get_proforma_statsproformas:readread
get_proforma_statusesproformas:readread
list_proforma_presentationsproformas:readread
search_proformasproformas:readread
accept_proformaproformas:transitionwrite
assign_proforma_presentationproformas:writewrite
bulk_change_proforma_statusproformas:transitionwrite
bulk_delete_proformasproformas:deletedestructive
bulk_proformas_pdf_linkpdfs:readgenerate
bulk_send_proformas ²proformas:sendsend
convert_proformaproformas:transitionwrite
create_proformaproformas:writewrite
delete_proformaproformas:deletedestructive
duplicate_proformaproformas:writewrite
reject_proformaproformas:transitionwrite
revise_proforma_presentationproformas:writewrite
send_proformaproformas:sendsend
update_proformaproformas:writewrite
update_proforma_public_linkproformas:writewrite

get_proforma_pdf devuelve el enlace firmado de descarga exacto (download_url) con su caducidad (expires_at) cuando existe una salida preparada, o su estado mientras aún se está generando; 404 pdf_artifact_not_found significa que ningún PDF conservado coincide con la presentación, el propósito y el formato actuales del documento; un PDF conservado que falló al renderizarse o no se puede verificar responde el error de PDF no disponible (500), y uno borrado por privacidad responde 410; el modo compatible devuelve el contenido en base64. update_proforma_public_link admite revoke, activate, extend, reset o publish, este último con la referencia exacta y la versión observada.

assign_proforma_presentation asigna un template_id (UUIDv7) o un null explícito para heredar, con expected_version. Solo se aplica a borradores de la empresa autenticada y no modifica importes ni numeración. get_proforma_presentation lee el estado visual y la captura retenida de un documento autorizado, y list_proforma_presentations lista las capturas retenidas en orden descendente, con page/per_page y los metadatos capturados; ninguna escribe, consulta artefactos ni genera un PDF. revise_proforma_presentation crea una revisión visual auditada con su padre, una comprobación compare-and-set (CAS) y los tokens auténticos de vista previa presentation_revision. Solo conserva la fuente capturada y admite el propósito complete en formato A4. No reemite ni recalcula. Consulta Presentación de documentos.

Albaranes

Albaranes: búsqueda, CRUD, entregar/cancelar/firmar, convertir, enviar, operaciones masivas, búsqueda por ID externo, enlaces públicos, PDFs, presentaciones y borrado GDPR de la firma. (26 tools)

HerramientaScopeCategoría
find_delivery_note_by_external_iddelivery_notes:readread
get_delivery_notedelivery_notes:readread
get_delivery_note_pdfpdfs:readread
get_delivery_note_presentationdelivery_notes:readread
get_delivery_note_public_linkdelivery_notes:readread
get_delivery_note_statsdelivery_notes:readread
get_delivery_note_statusesdelivery_notes:readread
list_delivery_note_presentationsdelivery_notes:readread
search_delivery_notesdelivery_notes:readread
assign_delivery_note_presentationdelivery_notes:writewrite
bulk_change_delivery_note_statusdelivery_notes:transitionwrite
bulk_delete_delivery_notesdelivery_notes:deletedestructive
bulk_delivery_notes_pdf_linkpdfs:readgenerate
bulk_send_delivery_notes ²delivery_notes:writesend
cancel_delivery_notedelivery_notes:transitionwrite
convert_delivery_notedelivery_notes:transitionwrite
create_delivery_notedelivery_notes:writewrite
delete_delivery_notedelivery_notes:deletedestructive
duplicate_delivery_notedelivery_notes:writewrite
forget_delivery_note_signaturedelivery_notes:gdpr_forget ¹destructive
mark_delivery_note_delivereddelivery_notes:transitionwrite
revise_delivery_note_presentationdelivery_notes:writewrite
send_delivery_notedelivery_notes:writesend
sign_delivery_notedelivery_notes:transitionwrite
update_delivery_notedelivery_notes:writewrite
update_delivery_note_public_linkdelivery_notes:writewrite

get_delivery_note_pdf devuelve el enlace firmado de descarga exacto (download_url) con su caducidad (expires_at) cuando existe una salida preparada, o su estado mientras aún se está generando; 404 pdf_artifact_not_found significa que ningún PDF conservado coincide con la presentación, el propósito y el formato actuales del documento; un PDF conservado que falló al renderizarse o no se puede verificar responde el error de PDF no disponible (500), y uno borrado por privacidad responde 410; el modo compatible devuelve el contenido en base64. update_delivery_note_public_link admite revoke, activate, extend, reset o publish, este último con la referencia exacta y la versión observada. En send_delivery_note, presentation_precondition identifica el PDF exacto que se revisó, y expected_presentation_uuid y expected_publication_id fijan las identidades esperadas. Para aceptar una presentación exacta, sign_delivery_note admite expected_presentation_id, expected_external_version, expected_source_token, expected_artifact_id y una operation_key (UUID v7); expected_publication_id es opcional si no hubo publicación. Estos campos solo tienen efecto cuando la presentación revisionada está activada para la empresa; en caso contrario se ignoran.

assign_delivery_note_presentation asigna un template_id (UUIDv7) o un null explícito para heredar, con expected_version. Solo se aplica a borradores de la empresa autenticada y no modifica importes ni numeración. get_delivery_note_presentation lee el estado visual y la captura retenida de un documento autorizado, y list_delivery_note_presentations lista las capturas retenidas en orden descendente, con page/per_page y los metadatos capturados; ninguna escribe, consulta artefactos ni genera un PDF. revise_delivery_note_presentation crea una revisión visual auditada con su padre, una comprobación compare-and-set (CAS) y los tokens auténticos de vista previa presentation_revision. Solo conserva la fuente capturada y admite el propósito complete en formato A4. No reemite ni recalcula. Consulta Presentación de documentos.

Documentos de control

Documento electrónico de control administrativo (DeCA) del transporte de mercancías por carretera: búsqueda, borradores (también prerrellenados desde albaranes), emisión, modificación durante el servicio, cierre, reapertura, anulación, sustitución, envío de la copia al transportista por email, registro de emisión y PDF de cada versión. (15 tools)

HerramientaScopeCategoría
get_transport_documenttransport_documents:readread
get_transport_document_evidencetransport_documents:readread
get_transport_document_pdfpdfs:readread
get_transport_document_statusestransport_documents:readread
search_transport_documentstransport_documents:readread
cancel_transport_documenttransport_documents:transitionwrite
close_transport_documenttransport_documents:transitionwrite
create_transport_documenttransport_documents:writewrite
delete_transport_documenttransport_documents:deletedestructive
issue_transport_documenttransport_documents:transitionwrite
modify_transport_documenttransport_documents:transitionwrite
reopen_transport_documenttransport_documents:transitionwrite
send_transport_documenttransport_documents:writesend
supersede_transport_documenttransport_documents:transitionwrite
update_transport_documenttransport_documents:writewrite

issue_transport_document, modify_transport_document, cancel_transport_document, supersede_transport_document y send_transport_document son irreversibles y aceptan idempotency_key. get_transport_document_pdf devuelve la URL pública permanente y los metadatos de la versión (sha256, tamaño), nunca los bytes del PDF. El código QR y el justificante de emisión son descargas binarias de la REST API sin tool (GET /v1/companies/{company}/transport-documents/{transport_document}/qr y /issuance-proof), y los lugares de carga solo se gestionan en la app. Consulta Documento de control (DeCA).

search_transport_documents admite el mismo q (de 1 a 255 caracteres) y el mismo sort que GET /v1/companies/{company}/transport-documents: transport_date, number, created o updated, con un - delante para el orden descendente y -transport_date por defecto. create_transport_document no admite id, igual que el endpoint REST: lo genera el servidor y un argumento id se ignora. Las tools de alta y de edición pasan los UUID a minúsculas y responden a un shipments[].id que ya está en uso, o que es de otro documento, con el mismo 422 en shipments.N.id que la REST API. Las tools que dejan una entrada en el registro de emisión (emitir, modificar, cerrar, reabrir, anular, sustituir y enviar) la atribuyen a la credencial que las llama (la clave de API, o el cliente OAuth con el usuario que lo autorizó), nunca al usuario que creó la clave; get_transport_document_evidence devuelve ese actor en actor_name e informa los cierres automáticos como auto_closed.

Gastos

Gastos: búsqueda, CRUD, marcar como pagado, ledger de pagos parciales, operaciones masivas, listas de pendientes/vencidos, búsqueda por ID externo, adjuntos de archivo y recibos de pago. (19 tools)

create_purchase_invoice y update_purchase_invoice aceptan el contrato de línea medida (purchase_measurement, discount_percent, price_source, source_line_index); duplicar desde source_purchase_invoice_id exige además purchase_invoices:read. Consulta Líneas de compra medidas.

HerramientaScopeCategoría
download_purchase_invoice_filepurchase_invoices:readread
find_purchase_invoice_by_external_idpurchase_invoices:readread
get_purchase_invoicepurchase_invoices:readread
get_purchase_invoice_payment_receiptpdfs:readread
list_purchase_invoice_expense_categoriespurchase_invoices:readread
get_purchase_invoice_statspurchase_invoices:readread
list_overdue_purchase_invoicespurchase_invoices:readread
list_pending_purchase_invoicespurchase_invoices:readread
list_purchase_invoice_paymentspurchase_invoices:readread
search_purchase_invoicespurchase_invoices:readread
attach_purchase_invoice_filepurchase_invoices:writewrite
bulk_change_purchase_invoice_statuspurchase_invoices:transitionwrite
bulk_delete_purchase_invoicespurchase_invoices:deletedestructive
create_purchase_invoicepurchase_invoices:writewrite
delete_purchase_invoicepurchase_invoices:deletedestructive
delete_purchase_invoice_filepurchase_invoices:writewrite
mark_purchase_invoice_paidpurchase_invoices:transitionwrite
register_purchase_invoice_paymentpurchase_invoices:transitionwrite
update_purchase_invoicepurchase_invoices:writewrite

Escáner de compras

Recibe documentos mediante la API multipart o el buzón del escáner, consulta la extracción y sus evidencias, corrige campos, resuelve duplicados y crea un borrador de compra. La subida y descarga de originales usan HTTP; MCP gestiona los escaneos persistidos. Consulta la guía del escáner de documentos. (10 tools)

ToolScopeCategory
search_purchase_scanspurchase_invoices:readread
get_purchase_scanpurchase_invoices:readread
get_purchase_scan_statspurchase_invoices:readread
list_purchase_scan_emailspurchase_invoices:readread
save_purchase_scan_reviewpurchase_invoices:writewrite
convert_purchase_scanpurchase_invoices:writewrite
resolve_purchase_scan_duplicatepurchase_invoices:writewrite
retry_purchase_scanpurchase_invoices:writewrite
archive_purchase_scanpurchase_invoices:deletedestructive
restore_purchase_scanpurchase_invoices:writewrite

Dos operaciones del escáner de compras se quedan fuera de MCP a propósito y solo existen en REST: subir un escaneo (POST /v1/companies/{company}/purchase-scans) es una subida multipart/binaria que MCP no puede transportar, y descargar el fichero original (GET /v1/companies/{company}/purchase-scans/{id}/source) devuelve el binario cifrado, por lo que MCP expone sus metadatos en su lugar. PublicApiV1McpToolParityTest.php mantiene ambas en su allowlist. Sustituir el fichero original no tiene endpoint en v1 — solo está disponible desde la aplicación web.

Facturas recurrentes

Plantillas recurrentes: búsqueda, CRUD, crear desde una factura, activar/pausar/reanudar/cancelar/saltar, cambio de estado en bloque, previsualización, generar ahora, búsqueda por ID externo, logs y actividad. (19 tools)

HerramientaScopeCategoría
find_recurring_invoice_by_external_idrecurring_invoices:readread
get_recurring_invoicerecurring_invoices:readread
get_recurring_invoice_statsrecurring_invoices:readread
list_recurring_invoice_activitiesrecurring_invoices:readread
list_recurring_invoice_logsrecurring_invoices:readread
preview_recurring_invoicerecurring_invoices:readread
search_recurring_invoicesrecurring_invoices:readread
activate_recurring_invoicerecurring_invoices:transitionwrite
bulk_change_recurring_invoice_statusrecurring_invoices:transitionwrite
bulk_delete_recurring_invoicesrecurring_invoices:deletedestructive
cancel_recurring_invoicerecurring_invoices:transitionwrite
create_recurring_invoicerecurring_invoices:writewrite
create_recurring_invoice_from_invoicerecurring_invoices:writewrite
delete_recurring_invoicerecurring_invoices:deletedestructive
generate_recurring_invoicerecurring_invoices:transitionwrite
pause_recurring_invoicerecurring_invoices:transitionwrite
resume_recurring_invoicerecurring_invoices:transitionwrite
skip_recurring_invoicerecurring_invoices:writewrite
update_recurring_invoicerecurring_invoices:writewrite

generate_recurring_invoice genera una factura ahora desde una recurrencia de la empresa autenticada y, según generation_mode, puede emitirla y enviarla. Es irreversible: requiere confirmación del host o de la UI y una clave de idempotencia, y los reintentos reproducen la misma respuesta. No cambia la configuración ni la fecha del intento. Exige recurring_invoices:transition, como pausar y reanudar, que es lo que concede el scope OAuth recurring.generate_now; la operación REST POST /v1/companies/{company}/recurring-invoices/{recurring_invoice}/generate sigue exigiendo recurring_invoices:write.

Series

Series de numeración (editables bajo las guardas fiscales de la numeración, nunca se eliminan): búsqueda, crear, actualizar, archivar/desarchivar, marcar por defecto, arrancar las cuatro series por defecto de una empresa recién dada de alta, estadísticas, preferencia de plantilla PDF y actividad. (15 tools)

HerramientaScopeCategoría
find_series_by_codeseries:readread
get_default_series_for_typeseries:readread
get_seriesseries:readread
get_series_activitiesseries:readread
get_series_pdf_templateseries:readread
get_series_statsseries:readread
list_active_seriesseries:readread
search_seriesseries:readread
archive_seriesseries:writewrite
assign_series_pdf_templateseries:writewrite
bootstrap_seriesseries:writewrite
create_seriesseries:writewrite
mark_series_as_defaultseries:writewrite
unarchive_seriesseries:writewrite
update_seriesseries:writewrite

create_series con un pdf_template_id exige la misma autorización que update_series. get_series_pdf_template lee la preferencia de PDF de una serie propia, su versión y su disponibilidad. Conserva la referencia guardada aunque ahora no sea elegible, y no genera documentos ni altera la numeración. assign_series_pdf_template asigna una plantilla compatible de la empresa, o limpia la preferencia con null para heredar. expected_version es la versión del CAS visual leída de la serie, y un replay con la misma clave se resuelve antes de esa comprobación. No renumera ni genera un PDF. unarchive_series siempre funciona: si la plantilla PDF que conservaba la serie ya no es seleccionable, la respuesta añade warnings con inherited_candidate_unavailable y la serie usa la plantilla por defecto aplicable, sin perder la referencia guardada.

Plantillas PDF

Biblioteca de plantillas PDF de la empresa: plantillas, marcas comerciales, activos privados, preferencias por contacto y de la empresa, revisiones e impacto. Requiere el módulo pdf_templates. (25 tools)

HerramientaScopeCategoría
get_pdf_commercial_identitypdf_templates:readread
get_pdf_commercial_identity_impactpdf_templates:readread
get_pdf_commercial_identity_revisionpdf_templates:readread
get_pdf_templatepdf_templates:readread
get_pdf_template_assetpdf_templates:readread
get_pdf_template_contact_defaultpdf_templates:readread
get_pdf_template_defaultspdf_templates:readread
get_pdf_template_impactpdf_templates:readread
get_pdf_template_revisionpdf_templates:readread
list_pdf_commercial_identitiespdf_templates:readread
list_pdf_templatespdf_templates:readread
archive_pdf_commercial_identitypdf_templates:writewrite
archive_pdf_templatepdf_templates:writewrite
create_pdf_commercial_identitypdf_templates:writewrite
create_pdf_templatepdf_templates:writewrite
duplicate_pdf_templatepdf_templates:writewrite
publish_pdf_commercial_identity_revisionpdf_templates:writewrite
publish_pdf_template_revisionpdf_templates:writewrite
restore_pdf_commercial_identitypdf_templates:writewrite
restore_pdf_templatepdf_templates:writewrite
set_pdf_template_contact_defaultpdf_templates:writewrite
set_pdf_template_defaultspdf_templates:writewrite
update_pdf_commercial_identitypdf_templates:writewrite
update_pdf_templatepdf_templates:writewrite
upload_pdf_template_assetpdf_templates:writewrite

Crear, renombrar, archivar, restaurar y publicar una revisión, y guardar preferencias, exigen un administrador. Las tools que cambian una entidad existente llevan expected_version (una comprobación compare-and-set), y un replay con la misma clave se resuelve antes de esa comprobación. create_pdf_template y create_pdf_commercial_identity crean una entidad nueva, así que no llevan expected_version; upload_pdf_template_asset crea un activo privado nuevo y tampoco la lleva. Reutiliza la idempotency_key al reintentarlas para no crear ni subir nada dos veces. duplicate_pdf_template lleva el expected_version de la plantilla origen que has leído y, con idempotency_key, evita crear dos copias. Las tools de lectura son lecturas autorizadas del emisor y no necesitan clave de idempotencia ni precondición de escritura. Consulta la guía de la biblioteca de plantillas PDF.

Artefactos y vistas previas PDF

Artefactos y vistas previas PDF: preparar el PDF de una captura autorizada, ejecutar el plan retenido, leer los metadatos y verificar el original, y previsualizar una plantilla. (5 tools)

HerramientaScopeCategoría
get_pdf_artifactpdfs:readread
read_pdf_artifactpdfs:readread
prepare_pdf_artifactpdfs:readgenerate
preview_pdf_templatepdfs:read + pdf_templates:readgenerate
render_pdf_artifactpdfs:readgenerate

prepare_pdf_artifact prepara el PDF de una captura autorizada exacta; nunca crea una captura. render_pdf_artifact ejecuta el plan retenido exacto en modo sync o async, sin fallback en vivo. get_pdf_artifact lee los metadatos seguros del artefacto exacto; el sondeo nunca genera nada. read_pdf_artifact verifica el PDF original y devuelve sus metadatos con un enlace firmado corto, nunca base64. preview_pdf_template prepara una vista previa con la autoridad y los scopes pdfs:read + pdf_templates:read; no captura ni publica. Consulta Vistas previas y artefactos PDF.

Impuestos

Impuestos (catálogo de Factuarea más los propios de tu empresa): búsqueda, alta, edición, borrado, valores por defecto por empresa, comprobaciones de uso, cálculos de impuesto/totales y el catálogo fiscal AEAT de solo lectura (regímenes, causas de exención, tipos de IRPF y los pares legales IVA ↔ recargo de equivalencia). (18 tools)

HerramientaScopeCategoría
calculate_taxtaxes:readread
calculate_totalstaxes:readread
check_tax_in_usetaxes:readread
get_active_taxestaxes:readread
get_taxtaxes:readread
get_tax_catalogtaxes:readread
get_tax_defaults_for_documenttaxes:readread
get_tax_statstaxes:readread
get_taxes_by_typetaxes:readread
get_taxes_for_purchasestaxes:readread
get_taxes_for_salestaxes:readread
search_taxestaxes:readread
create_taxtaxes:writewrite
set_tax_as_defaulttaxes:writewrite
set_tax_default_for_documenttaxes:writewrite
toggle_tax_activetaxes:writewrite
update_taxtaxes:writewrite
delete_taxtaxes:deletedestructive

VeriFactu

SIF de la AEAT: registros, eventos, validación de cadena, reintento (de un registro o de todos los bloqueados), subsanación de registros aceptados o rechazados, representación para la remisión por tercero, certificados, ajustes, declaración responsable y log de acceso a la AEAT. (31 tools)

HerramientaScopeCategoría
find_verifactu_record_by_csvverifactu:readread
find_verifactu_record_by_huellaverifactu:readread
find_verifactu_record_by_invoice_numberverifactu:readread
get_active_company_certificateverifactu:readread
get_aeat_access_recordverifactu:readread
get_company_representationverifactu:readread
get_declaracion_responsableverifactu:readread
get_declaracion_responsable_historyverifactu:readread
get_invoice_verifactuverifactu:readread
get_verifactu_activitiesverifactu:readread
get_verifactu_configverifactu:readread
get_verifactu_eventverifactu:readread
get_verifactu_event_summaryverifactu:readread
get_verifactu_recordverifactu:readread
get_verifactu_statsverifactu:readread
list_aeat_access_recordsverifactu:readread
list_company_certificatesverifactu:readread
list_verifactu_eventsverifactu:readread
search_verifactu_recordsverifactu:readread
validate_verifactu_chainverifactu:readread
activate_company_certificateverifactu:write ¹write
create_invoice_verifactuverifactu:write ¹write
register_company_representationverifactu:write ¹write
retry_blocked_verifactu_recordsverifactu:write ¹write
retry_verifactu_eventverifactu:write ¹write
retry_verifactu_recordverifactu:write ¹write
revoke_company_certificateverifactu:write ¹write
revoke_company_representationverifactu:write ¹write
subsanar_verifactu_recordverifactu:write ¹write
update_verifactu_settingsverifactu:write ¹write
upload_company_certificateverifactu:write ¹write

FacturaE (FACe)

Facturación electrónica B2G: descarga el XML FacturaE 3.2.2 de una factura y gestiona sus presentaciones a FACe (enviar, seguir, cancelar). Requiere el módulo facturae. (5 tools)

HerramientaScopeCategoría
get_face_submissionfacturae:readread
list_invoice_face_submissionsfacturae:readread
cancel_face_submissionfacturae:writewrite
get_invoice_facturae_linkfacturae:readread
send_invoice_to_facefacturae:writewrite

cancel_face_submission exige además la capacidad edit sobre el módulo facturae; sin ella la llamada responde 403 facturae_operation_forbidden.

Informes fiscales

Declaraciones ante la AEAT calculadas a partir de tus propios datos de facturación: genera el Modelo 303, el 347 y el 130 como fichero posicional oficial, PDF o libro de revisión; previsualiza el desglose sin persistir nada; y lee el histórico de generaciones, sus estadísticas, su actividad y sus ficheros. (9 tools)

HerramientaScopeCategoría
download_tax_reporttax_reports:readread
find_tax_report_by_periodtax_reports:readread
get_tax_report_activitiestax_reports:readread
get_tax_report_historytax_reports:readread
get_tax_report_statstax_reports:readread
preview_tax_reporttax_reports:readread
generate_tax_report_130tax_reports:writegenerate
generate_tax_report_303tax_reports:writegenerate
generate_tax_report_347tax_reports:writegenerate

Ante la AEAT solo se presenta el txt_aeat; el PDF y el libro son material de revisión construido con el mismo cálculo. Consulta Informes fiscales.

Webhooks y eventos

Endpoints de webhook de un NIF, entregas, rotación de secreto, ping/replay, eventos de prueba y el catálogo de eventos publicados. La cuenta tiene sus propios endpoints: Webhooks de cuenta. (13 tools)

HerramientaScopeCategoría
get_eventevents:readread
get_webhook_deliverywebhooks:readread
get_webhook_endpointwebhooks:readread
list_eventsevents:readread
list_webhook_deliverieswebhooks:readread
search_webhook_endpointswebhooks:readread
create_webhook_endpointwebhooks:writewrite
delete_webhook_endpointwebhooks:deletewrite
ping_webhook_endpointwebhooks:writewrite
replay_webhook_deliverywebhooks:writewrite
rotate_webhook_secretwebhooks:writewrite
test_webhook_endpointwebhooks:writewrite
update_webhook_endpointwebhooks:writewrite

Automatizaciones

El motor de automatizaciones: reglas con la forma cuando → si → haz, las versiones inmutables de la definición de cada regla, el ensayo que dice qué haría una regla sin llegar a hacerlo, el historial de ejecuciones con sus pasos y sus motivos de descarte tipificados, el relanzamiento de un paso aparcado o de una ejecución entera, el catálogo de disparadores y acciones con los campos que expone cada disparador, y la cuota mensual de ejecuciones. Requiere el módulo automations. (18 tools)

replay_automation_run y replay_automation_run_step vuelven a ejecutar los pasos de verdad: envían correos, entregan webhooks y llaman a terceros. No es un reintento inocuo: confírmalo con la persona usuaria antes de invocarlas. El trabajo se encola, así que la respuesta confirma que se aceptó, no que haya terminado; comprueba el desenlace con get_automation_run o list_automation_run_steps.

HerramientaScopeCategoría
dry_run_automation_ruleautomations:readread
get_automation_catalogautomations:readread
get_automation_ruleautomations:readread
get_automation_rule_versionautomations:readread
get_automation_runautomation_runs:readread
get_automation_trigger_fieldsautomations:readread
get_automation_usageautomations:readread
list_automation_rule_versionsautomations:readread
list_automation_rulesautomations:readread
list_automation_run_stepsautomation_runs:readread
list_automation_runsautomation_runs:readread
activate_automation_ruleautomations:writewrite
create_automation_ruleautomations:writewrite
delete_automation_ruleautomations:delete ¹destructive
pause_automation_ruleautomations:writewrite
replay_automation_runautomations:writewrite
replay_automation_run_stepautomations:writewrite
update_automation_ruleautomations:writewrite

Cuenta

Identidad fiscal y personalización de la cuenta: verifica el par nombre + NIF registrado de la empresa contra el censo de la AEAT, consulta plantillas de personalización y actualiza la personalización de la cuenta. (4 tools)

HerramientaScopeCategoría
get_account_billingaccount:readread
get_account_personalization_templatesaccount:readread
update_account_personalizationaccount:write ¹write
verify_account_censusaccount:readwrite

Administración de la cuenta

Titularidad de la cuenta y traspaso de NIF entre cuentas: emitir, listar, aceptar y revocar un traspaso de NIF, y pasar la titularidad de la cuenta a otro miembro. Son operaciones de la cuenta, no de los datos de un NIF. Al emitir un traspaso se devuelve su secreto una sola vez; la cuenta que lo recibe lo acepta con ese secreto y la cuenta que lo entrega puede revocarlo hasta entonces. accept_nif_transfer, create_nif_transfer, revoke_nif_transfer y transfer_account_ownership son irreversibles: el servidor las publica con destructiveHint: true y una entrada idempotency_key (consulta Protocolo y transporte). Cuando los NIF aceptados necesitan plazas contratadas y no hay ninguna libre, accept_nif_transfer compra las que faltan, así que envía siempre una idempotency_key. (no forman parte de los totales de arriba: * no cubre sus scopes)

HerramientaScopeCategoría
list_nif_transfersnif_transfers:read ¹read
accept_nif_transfernif_transfers:write ¹write
create_nif_transfernif_transfers:write ¹write
revoke_nif_transfernif_transfers:write ¹write
transfer_account_ownershipaccount:owner ¹write

Miembros de la cuenta

Las personas de la cuenta: listar y consultar los miembros con su rol de cuenta (owner, admin o member) y su marca de asesor externo, añadir un miembro, cambiar su rol o su marca de asesor externo y retirarlo, consultar, fijar y retirar el grant de un miembro sobre un NIF, consultar y fijar su acceso por módulo, y gestionar las invitaciones que los crean. delete_account_member es irreversible: el servidor la publica con destructiveHint: true y una entrada idempotency_key. (no forman parte de los totales de arriba: * no cubre sus scopes)

HerramientaScopeCategoría
get_account_membermembers:read ¹read
get_account_member_grantmembers:read ¹read
get_account_member_module_accessmembers:read ¹read
list_account_member_grantsmembers:read ¹read
list_account_membersmembers:read ¹read
get_account_invitationinvitations:read ¹read
list_account_invitationsinvitations:read ¹read
create_account_membermembers:write ¹write
revoke_account_member_grantmembers:write ¹write
set_account_member_grantmembers:write ¹write
update_account_membermembers:write ¹write
update_account_member_module_accessmembers:write ¹write
cancel_account_invitationinvitations:write ¹write
create_account_invitationinvitations:write ¹write
resend_account_invitationinvitations:write ¹write
delete_account_membermembers:write ¹destructive

NIF de la cuenta

La cartera de NIF de la cuenta: listar, buscar por identificador fiscal, consultar, dar de alta, actualizar, activar (uno o varios), desactivar y archivar NIF, seguir y reconciliar el alta de uno, las estadísticas de facturación por NIF, si un NIF ya puede emitir y una vista previa del cargo de añadir o activar NIF adicionales, además del uso de la cuenta en el periodo vigente (peticiones y documentos, con desglose por NIF). Los NIF adicionales se cobran por plaza contratada: get_additional_nif_seats consulta las plazas contratadas, ocupadas y libres de la cuenta, preview_additional_nif_seat_change previsualiza, sin cobrar, fijarlas en una cantidad y update_additional_nif_seats la fija (cantidad absoluta, idempotente con idempotency_key). Comprar plazas cobra al momento la diferencia prorrateada; reducirlas tiene efecto en la renovación. Por debajo de las plazas ocupadas, deactivate lista los UUID de los NIF que se desactivarán en la renovación, exactamente tantos como sobran; si la reducción hace terminar un paquete de oferta aplicado, accept_offer_package_loss (booleano) confirma la pérdida. create_company, activate_company y activate_companies compran las plazas que faltan cuando no hay ninguna libre y la cuenta paga, así que envía una idempotency_key. Dar de alta o reactivar un NIF adicional puede cobrarse: consulta NIF adicionales. (18 tools)

HerramientaScopeCategoría
get_account_usageaccount:readread
find_company_by_tax_idcompanies:read ¹read
get_additional_nif_seatscompanies:read ¹read
get_companies_statscompanies:read ¹read
get_companycompanies:read ¹read
get_company_creation_statuscompanies:read ¹read
get_company_issuing_readinesscompanies:read ¹read
get_company_seat_charge_previewcompanies:read ¹read
list_companiescompanies:read ¹read
preview_additional_nif_seat_changecompanies:read ¹read
activate_companiescompanies:write ¹write
activate_companycompanies:write ¹write
create_companycompanies:write ¹write
deactivate_companycompanies:write ¹write
update_additional_nif_seatscompanies:write ¹write
update_companycompanies:write ¹write
verify_company_creationcompanies:write ¹write
delete_companycompanies:delete ¹write

Webhooks de cuenta

Los endpoints de webhook de la cuenta, distintos de los endpoints de un NIF: crear, consultar, listar, actualizar y eliminar un endpoint, rotar su secreto de firma, enviar una entrega de prueba, consultar sus entregas y reintentar una fallida. Un endpoint de cuenta recibe los eventos de la cuenta y, según account_relationship (own, managed o all), los de sus NIF. Consulta Webhooks de cuenta. (10 tools)

Estas tools usan los mismos scopes webhooks:* que Webhooks y eventos, pero funcionan solo con API key: un token OAuth nunca las lista y, si llama a una, recibe 403 forbidden_action. Una clave de pruebas lee los endpoints de prueba; crear, actualizar, eliminar, rotar, probar y reintentar exigen una clave de producción. La persona que emitió la clave debe ser hoy titular o administradora de la cuenta, y la clave debe cubrir todos los NIF de la cuenta. delete_account_webhook y rotate_account_webhook_secret son irreversibles: el servidor las publica con destructiveHint: true y una entrada idempotency_key.

HerramientaScopeCategoría
get_account_webhookwebhooks:read ¹read
get_account_webhook_deliverywebhooks:read ¹read
list_account_webhook_deliverieswebhooks:read ¹read
list_account_webhookswebhooks:read ¹read
create_account_webhookwebhooks:write ¹write
retry_account_webhook_deliverywebhooks:write ¹write
rotate_account_webhook_secretwebhooks:write ¹write
test_account_webhookwebhooks:write ¹write
update_account_webhookwebhooks:write ¹write
delete_account_webhookwebhooks:delete ¹write

API keys

API keys self-service de tu cuenta: listar, crear, consultar, ver su uso diario, rotar el secreto, revocar y sustituir el ámbito de NIF de una key. El ámbito nuevo nunca puede superar el de la credencial que lo cambia. El secreto se devuelve una sola vez, al crear y al rotar. revoke_api_key y rotate_api_key_secret son irreversibles: el servidor las publica con destructiveHint: true y una entrada idempotency_key. Consulta las claves acotadas. (7 tools)

HerramientaScopeCategoría
get_api_keyaccount:readread
get_api_key_usageaccount:readread
list_api_keysaccount:readread
create_api_keyaccount:write ¹write
revoke_api_keyaccount:write ¹write
rotate_api_key_secretaccount:write ¹write
update_api_key_nif_scopeaccount:write ¹write

Control horario de la cartera

Panel consolidado de cumplimiento horario de la cartera de NIF: una fila por NIF activo dentro del ámbito de la credencial, sin la empresa titular de la cuenta, con el estado de su último cierre mensual y los totales del último cierre (saldo, horas extra y número de empleados). Una sola llamada agrega toda la cartera, mientras que el resto de tools de control horario opera sobre un NIF. (1 tools)

HerramientaScopeCategoría
get_consolidated_workforcecompanies:read ¹read

Pagos y pasarelas

Integraciones de pagos y tiendas: facturación automática de Stripe, cuentas conectadas, liquidaciones, bandeja de eventos, gestión y diagnóstico de tiendas WooCommerce y Shopify. Estas herramientas solo admiten API key. La disponibilidad también depende de los módulos de la empresa y de la configuración del proveedor. (26 tools)

replay_integrations_event tiene efecto fiscal real. Si la causa que impidió facturar ya está resuelta, reprocesar un evento parqueado puede emitir una factura de verdad, con su número de serie y su alta en VeriFactu. No es un reintento inocuo: confírmalo con la persona usuaria antes de invocarla. No duplica facturas: el reproceso vuelve a pasar por la misma comprobación de idempotencia del intento original.

HerramientaScopeCategoría
get_integrations_eventintegration_events:read ¹read
get_payoutpayouts:read ¹read
get_stripe_autoinvoicing_configstripe_autoinvoicing:read ¹read
get_stripe_connected_accountstripe_autoinvoicing:read ¹read
list_integrations_eventsintegration_events:read ¹read
list_stripe_autoinvoiced_correctivesstripe_autoinvoicing:read ¹read
list_stripe_autoinvoiced_paymentsstripe_autoinvoicing:read ¹read
list_stripe_charge_rulesstripe_autoinvoicing:read ¹read
list_stripe_connected_accountsstripe_autoinvoicing:read ¹read
list_stripe_non_invoiced_chargesstripe_autoinvoicing:read ¹read
search_payoutspayouts:read ¹read
create_stripe_charge_rulestripe_autoinvoicing:write ¹write
delete_stripe_charge_rulestripe_autoinvoicing:write ¹destructive
disconnect_stripe_connected_accountstripe_autoinvoicing:write ¹write
reorder_stripe_charge_rulesstripe_autoinvoicing:write ¹write
replay_integrations_eventintegration_events:write ¹write
update_stripe_autoinvoicing_configstripe_autoinvoicing:write ¹write
update_stripe_charge_rulestripe_autoinvoicing:write ¹write
update_stripe_connected_accountstripe_autoinvoicing:write ¹write
list_storesstores:read ¹read
get_storestores:read ¹read
connect_storestores:write ¹write
update_storestores:write ¹write
disconnect_storestores:write ¹write
test_woocommerce_store_connectionwoocommerce_store:write ¹write
test_shopify_store_connectionshopify_store:write ¹write

Correos enviados

Registro de correos enviados: lista los correos que Factuarea ha enviado en nombre de la empresa (facturas, presupuestos, albaranes, recordatorios de pago), consulta uno por su id y resume de una sola vez cómo acabó el envío de un lote de hasta 100 documentos. Úsalo para responder «¿se envió el correo de esta factura?» y para investigar envíos fallidos. (3 tools)

El estado describe la entrega al servidor SMTP saliente, no la entrega real. sent significa que el servidor de correo saliente aceptó el mensaje: aun así puede rebotar o acabar en spam sin que Factuarea se entere. No existen los estados delivered, bounced ni opened; queued, sending, sent y failed son los únicos. Nunca afirmes que la persona destinataria lo recibió, lo abrió o lo leyó.

HerramientaScopeCategoría
get_emailsemails:read ¹read
get_emails_indicatorsemails:read ¹read
list_emailsemails:read ¹read

Registro de peticiones a la API

El tráfico de tu integración contra la API pública v1 en los últimos 30 días: lista las llamadas con su método, ruta, código de estado, duración, prefijo de API key y entorno, con filtros por solo errores o por cualquiera de esos campos, y consulta una concreta por su request_id, el identificador opaco que la API devuelve en la cabecera de cada respuesta. list_developers_request_logs y get_developers_request_logs muestran las peticiones de un NIF; list_account_request_logs y get_account_request_log muestran las de todas las claves de la cuenta, en el entorno de la clave que llama. Las tools de cuenta funcionan solo con API key, emitida por un titular o administrador de la cuenta y que cubra todos los NIF de la cuenta: consulta los registros de peticiones de la cuenta. Úsalas para depurar una integración: qué llamó, cuándo, con qué código de estado y cuánto tardó. Las cabeceras, el cuerpo y la query string no se almacenan y nunca se devuelven. (4 tools)

HerramientaScopeCategoría
get_account_request_logdevelopers:read ¹read
get_developers_request_logsdevelopers:read ¹read
list_account_request_logsdevelopers:read ¹read
list_developers_request_logsdevelopers:read ¹read

Empleados

Plantilla de personal: búsqueda, alta/edición/baja/reactivación, estadísticas y el ciclo de invitaciones (enviar/reenviar/cancelar y listar invitaciones de empleado). Requiere el módulo control_horario. (18 tools)

create_employee y reactivate_employee compran las plazas contratadas que faltan cuando no hay ninguna libre y la cuenta paga: envía una idempotency_key para que un reintento no cobre dos veces. Consulta Plazas de empleado.

HerramientaScopeCategoría
find_employee_by_external_idemployees:readread
get_employeeemployees:readread
get_employee_statsemployees:readread
list_employee_invitationsemployees:readread
search_employeesemployees:readread
cancel_employee_invitationemployees:writewrite
create_employeeemployees:writewrite
deactivate_employeeemployees:writewrite
reactivate_employeeemployees:writewrite
resend_employee_invitationemployees:writewrite
send_employee_invitationemployees:writewrite
update_employeeemployees:writewrite
cancel_employee_batchemployees:writewrite
confirm_employee_batchemployees:writewrite
get_employee_batchemployees:readread
list_employee_batchesemployees:readread
prepare_employee_batchemployees:writewrite
refresh_employee_batch_quoteemployees:writewrite

Plazas de empleado

Facturación de las plazas de empleado por plaza contratada: previsualizar y consultar el cargo y la facturación, suscribir, fijar las plazas contratadas, cambiar la cantidad y cancelar el add-on, además de los canjes de ofertas de plazas. update_employee_seats fija las plazas contratadas (cantidad absoluta, idempotente con idempotency_key): comprar cobra al momento la diferencia prorrateada y reducir tiene efecto en la renovación, sin abono. preview_employee_seat_charge previsualiza el cargo, sin cobrar, de dar de alta empleados o, con contracted_seats, de fijar las plazas; contracted_seats no se combina con count ni con employee_ids. Cuando la nueva cantidad queda por debajo de las plazas ocupadas, update_employee_seats, update_additional_nif_seats y cancel_employee_seat_addon aceptan deactivate, la lista de UUID de lo que se desactiva en la renovación, y accept_offer_package_loss, un booleano que confirma la pérdida de un paquete de oferta aplicado si la reducción lo rompe. Requiere el módulo control_horario. (12 tools)

HerramientaScopeCategoría
get_employee_seat_billingemployees:readread
preview_employee_seat_chargeemployees:readread
cancel_employee_seat_addonemployees:writewrite
change_employee_seat_quantityemployees:writewrite
subscribe_employee_seat_addonemployees:writewrite
update_employee_seatsemployees:writewrite
cancel_employee_seat_offer_redemptionemployees:writewrite
confirm_employee_seat_offer_redemptionemployees:writewrite
get_employee_seat_offer_redemptionemployees:readread
list_employee_seat_offer_redemptionsemployees:readread
prepare_employee_seat_offer_redemptionemployees:writewrite
refresh_employee_seat_offer_redemptionemployees:writewrite

Ofertas de plazas de empresas gestionadas

Las ofertas privadas de plazas de empresas gestionadas usan la empresa matriz pagadora y el scope vigente companies:*. Preparar o actualizar una cotización no activa empresas ni cobra. prepare_employee_seat_offer_redemption y prepare_gestoria_seat_offer_redemption aceptan kind: apply_to_existing, que aplica el código a las plazas que la cuenta ya tiene y no crea, activa ni reactiva nada; no lleva ninguna otra clave. Durante la prueba, un canje de plazas responde 422 customer_offer_not_eligible con details.reason = trial_active, y un código de paquete de oferta, que MCP no canjea, responde reason = product (consulta Ofertas). (6 tools)

ToolScopeCategory
cancel_gestoria_seat_offer_redemptioncompanies:writewrite
confirm_gestoria_seat_offer_redemptioncompanies:writewrite
get_gestoria_seat_offer_redemptioncompanies:readread
list_gestoria_seat_offer_redemptionscompanies:readread
prepare_gestoria_seat_offer_redemptioncompanies:writewrite
refresh_gestoria_seat_offer_redemptioncompanies:writewrite

Horarios de trabajo

Horarios de trabajo semanales y sus asignaciones: búsqueda, CRUD, archivar/desarchivar, asignar/desasignar a empleados y consultar el horario efectivo de un empleado. Requiere el módulo control_horario. (11 tools)

HerramientaScopeCategoría
get_employee_work_schedulework_schedules:readread
get_work_schedulework_schedules:readread
get_work_schedule_statswork_schedules:readread
list_work_schedule_assignmentswork_schedules:readread
search_work_scheduleswork_schedules:readread
archive_work_schedulework_schedules:write ¹write
assign_work_schedulework_schedules:write ¹write
create_work_schedulework_schedules:write ¹write
unarchive_work_schedulework_schedules:write ¹write
unassign_work_schedulework_schedules:write ¹write
update_work_schedulework_schedules:write ¹write

Control horario

Registro de jornada (RD-ley 8/2019): fichar entrada/salida con pausas, entradas manuales, el flujo de correcciones de fichaje, saldos y hojas de horas mensuales, el cierre mensual inalterable del registro (cerrar/reabrir/sellar, firma, validación de cadena) y sus exportaciones, además de las exportaciones de nómina. Requiere el módulo control_horario. (29 tools)

HerramientaScopeCategoría
export_closed_registertime_entries:readread
get_current_time_entry_sessiontime_entries:readread
get_employee_time_balancetime_entries:readread
get_monthly_close_reporttime_entries:readread
get_monthly_register_signaturetime_entries:readread
get_monthly_time_record_closetime_entries:readread
get_monthly_time_sheettime_entries:readread
get_team_time_balance_summarytime_entries:readread
get_time_correctiontime_entries:readread
get_time_entrytime_entries:readread
get_time_tracking_settingstime_entries:readread
search_monthly_time_record_closestime_entries:readread
search_time_correctionstime_entries:readread
search_time_entriestime_entries:readread
validate_time_record_chaintime_entries:readread
export_payrollpayroll_exports:readread
list_payroll_export_formatspayroll_exports:readread
approve_time_correctiontime_entries:write ¹write
clock_intime_entries:write ¹write
clock_outtime_entries:write ¹write
close_monthly_time_recordtime_entries:write ¹write
pause_time_entrytime_entries:write ¹write
record_manual_time_entrytime_entries:write ¹write
reject_time_correctiontime_entries:write ¹write
reopen_monthly_time_recordtime_entries:write ¹write
request_time_correctiontime_entries:write ¹write
resume_time_entrytime_entries:write ¹write
seal_monthly_time_recordtime_entries:write ¹write
update_time_tracking_settingstime_entries:write ¹write

Ausencias

Ausencias: tipos, políticas (con configuración de carryover y asignaciones), solicitudes (crear/aprobar/rechazar/cancelar), saldos y el calendario de ausencias del equipo. Requiere el módulo control_horario. (25 tools)

HerramientaScopeCategoría
get_absence_balanceabsences:readread
get_absence_calendarabsences:readread
get_absence_policyabsences:readread
get_absence_requestabsences:readread
get_absence_typeabsences:readread
list_absence_policy_assignmentsabsences:readread
search_absence_balancesabsences:readread
search_absence_policiesabsences:readread
search_absence_requestsabsences:readread
search_absence_typesabsences:readread
archive_absence_policyabsences:write ¹write
archive_absence_typeabsences:write ¹write
assign_absence_policyabsences:write ¹write
configure_absence_policy_carryoverabsences:write ¹write
create_absence_policyabsences:write ¹write
create_absence_requestabsences:write ¹write
create_absence_typeabsences:write ¹write
unarchive_absence_policyabsences:write ¹write
unarchive_absence_typeabsences:write ¹write
unassign_absence_policyabsences:write ¹write
update_absence_policyabsences:write ¹write
update_absence_typeabsences:write ¹write
approve_absence_requestabsences:transition ¹write
cancel_absence_requestabsences:transition ¹write
reject_absence_requestabsences:transition ¹write

Presencia

Presencia: el panel de presencia en vivo y el estado de presencia por empleado y diario. Requiere el módulo control_horario. (3 tools)

HerramientaScopeCategoría
get_employee_presencepresence:readread
get_live_presencepresence:readread
list_daily_presencepresence:readread

Festivos

Festivos: consultar el calendario de festivos de la empresa y resolver los festivos aplicables a la región (CCAA) de un empleado. Requiere el módulo control_horario. (3 tools)

HerramientaScopeCategoría
get_holidayholidays:readread
list_holidaysholidays:readread
resolve_applicable_holidaysholidays:readread

Proyectos

Proyectos de tareas y sus tableros: crear, editar, archivar y borrar proyectos, resolver uno por su clave (DEV), gestionar las columnas de su tablero y sus campos personalizados de tarea, exportar e importar sus tareas en JSON, consultar el tiempo imputado y convertir el tiempo facturable en un borrador de factura (invoice_project_time exige invoices:write, porque crea una factura). Requiere el módulo tasks. delete_project, delete_project_column y delete_project_custom_field son irreversibles, igual que las tools de borrado de Tareas. (22 tools)

HerramientaScopeCategoría
export_project_tasksprojects:readread
find_project_by_keyprojects:readread
get_projectprojects:readread
get_project_time_summaryprojects:readread
list_project_columnsprojects:readread
list_project_custom_fieldsprojects:readread
list_projectsprojects:readread
preview_project_time_invoiceprojects:readread
archive_projectprojects:writewrite
create_projectprojects:writewrite
create_project_columnprojects:writewrite
create_project_custom_fieldprojects:writewrite
delete_projectprojects:delete ¹destructive
delete_project_columnprojects:delete ¹destructive
delete_project_custom_fieldprojects:delete ¹destructive
import_project_tasksprojects:writewrite
invoice_project_timeinvoices:writewrite
reorder_project_columnsprojects:writewrite
unarchive_projectprojects:writewrite
update_projectprojects:writewrite
update_project_columnprojects:writewrite
update_project_custom_fieldprojects:writewrite

Tareas

Tareas del tablero: buscar, crear, editar, duplicar, mover, recolocar y borrar tareas —una a una o en bloque—, resolver una por su clave (DEV-12), cambiar su estado, asignarla, etiquetarla, comentarla, relacionarla con otras tareas, vincularla a documentos y contactos, adjuntar ficheros o crear un enlace de subida de un solo uso, imputar tiempo con temporizador y leer su actividad. El tiempo imputado aquí es tiempo de tarea, no el fichaje de jornada del control horario. Requiere el módulo tasks. (52 tools)

Las tools de borrado —delete_task, bulk_delete_tasks, delete_task_comment, delete_task_attachment, delete_task_time_entry y delete_task_label, más delete_project, delete_project_column y delete_project_custom_field en Proyectos— son irreversibles: no hay papelera. Confírmalo con la persona usuaria antes de invocarlas y envía un idempotency_key para que un reintento no repita el efecto. Sus scopes projects:delete y tasks:delete son solo API key (¹).

HerramientaScopeCategoría
download_task_attachmenttasks:readread
find_task_by_keytasks:readread
get_running_task_timertasks:readread
get_tasktasks:readread
get_task_activitiestasks:readread
get_task_attachmenttasks:readread
get_task_labeltasks:readread
get_task_time_entrytasks:readread
list_task_attachmentstasks:readread
list_task_commentstasks:readread
list_task_entity_linkstasks:readread
list_task_external_linkstasks:readread
list_task_labelstasks:readread
list_task_relationstasks:readread
list_task_time_entriestasks:readread
list_tasks_linked_to_entitytasks:readread
search_taskstasks:readread
assign_tasktasks:writewrite
assign_task_labeltasks:writewrite
attach_task_filetasks:writewrite
bulk_change_task_statustasks:writewrite
bulk_delete_taskstasks:delete ¹destructive
bulk_update_taskstasks:writewrite
change_task_statustasks:writewrite
create_tasktasks:writewrite
create_task_commenttasks:writewrite
create_task_external_linktasks:writewrite
create_task_labeltasks:writewrite
create_task_relationtasks:writewrite
create_task_time_entrytasks:writewrite
create_task_upload_linktasks:writegenerate
delete_tasktasks:delete ¹destructive
delete_task_attachmenttasks:delete ¹destructive
delete_task_commenttasks:delete ¹destructive
delete_task_external_linktasks:writedestructive
delete_task_labeltasks:delete ¹destructive
delete_task_relationtasks:writedestructive
delete_task_time_entrytasks:delete ¹destructive
duplicate_tasktasks:writewrite
link_task_entitytasks:writewrite
move_tasktasks:writewrite
reposition_tasktasks:writewrite
set_task_custom_field_valuetasks:writewrite
start_task_timertasks:writewrite
stop_task_timertasks:writewrite
unassign_tasktasks:writewrite
unassign_task_labeltasks:writedestructive
unlink_task_entitytasks:writedestructive
update_tasktasks:writewrite
update_task_commenttasks:writewrite
update_task_labeltasks:writewrite
update_task_time_entrytasks:writewrite

Usuarios

Los miembros de la empresa —las personas a las que se puede asignar una tarea— y el usuario de la credencial. No depende de ningún módulo del plan. (2 tools)

HerramientaScopeCategoría
get_current_userusers:readread
search_usersusers:readread

Notificaciones

Los avisos de la bandeja de la persona titular de la credencial: listarlos y marcar uno o todos como leídos. No depende de ningún módulo del plan. (3 tools)

HerramientaScopeCategoría
list_notificationsnotifications:readread
mark_all_notifications_as_readnotifications:writewrite
mark_notification_as_readnotifications:writewrite

Agenda de la empresa

La agenda combinada de una ventana de hasta 93 días: tareas con vencimiento y, en cada capa que la credencial también puede leer, vencimientos de facturas y gastos, caducidades de presupuestos y proformas, ejecuciones de facturas recurrentes, plazos fiscales, ausencias y festivos. Requiere el módulo tasks. (1 tools)

HerramientaScopeCategoría
list_agenda_itemstasks:readread

Tools de cuentas gestionadas

Las diez tools que aprovisionan y administran cuentas gestionadas no forman parte de las 668 de arriba ni cuentan en los 41 dominios. Sus scopes, accounts:read y accounts:write, son privilegiados: el super-scope * no los cubre, así que una key que solo tenga * no ve estas tools en tools/list. Indica el scope de forma explícita. Además, cada llamada comprueba que tu cuenta tenga el privilegio de proveedor de cuentas gestionadas que concedemos nosotros, y responde 403 privileged_scope_required si no lo tiene. Nunca llegan por OAuth: usa una API key. Cuentas gestionadas explica la operación que refleja cada tool.

HerramientaScopeCategoría
get_managed_accountaccounts:readread
get_provisioning_usageaccounts:readread
list_managed_accountsaccounts:readread
preview_managed_account_plan_changeaccounts:readread
preview_managed_account_provisioningaccounts:readread
change_managed_account_access_levelaccounts:writewrite
change_managed_account_planaccounts:writewrite
end_account_managementaccounts:writewrite
provision_managed_accountaccounts:writewrite
reissue_managed_account_claimaccounts:writewrite

provision_managed_account, change_managed_account_plan, reissue_managed_account_claim y end_account_management son irreversibles: el servidor las publica con destructiveHint: true y una entrada idempotency_key.

Tres cosas no tienen tool, por diseño:

  • La importación masiva. Lee ficheros CSV subidos, que el servidor MCP no transporta, y también es privilegiada. Usa la REST API: Importación masiva.
  • El lado del cliente de una cuenta gestionada. Lo que hace el cliente con su cuenta —reclamarla, subir o bajar el nivel que conserva el proveedor, terminar la gestión y asumir el pago— se hace en la app, y tampoco tiene operación /v1.
  • La gestión del acceso cedido. Ceder, reenviar, aceptar, rechazar, revocar, cambiar el nivel o el alcance de un acceso entre cuentas, o renunciar a él, se hace en la app, nunca por la API ni por MCP. Acceso cedido lo explica.

En esta página

¿Te echamos una mano?Contactar con soporte