Configura tu perfil de contribuyente¶
Un perfil contiene los datos de un contribuyente que todo comando aeat app lee y actualiza. Configura uno antes de importar movimientos, calcular un modelo o exportar una presentación.
Un perfil es local. Crear, editar, mostrar, exportar o importar un perfil nunca envía nada a la Agencia Estatal de Administración Tributaria (AEAT). Cadrumo construye y verifica tu presentación en tu máquina; tú la subes por tu cuenta.
Si aún no ha instalado Cadrumo ni ha ejecutado el comando aeat, empieza por la guía rápida y luego vuelve aquí.
Qué significa el perfil activo¶
El perfil activo es el contexto de contribuyente para los comandos aeat app. Mientras un perfil está activo, comandos como la importación al ledger, la clasificación de movimientos, el cálculo de modelos, la exportación y el historial de presentaciones local leen y actualizan los datos de ese perfil.
Mantén un perfil por contribuyente. Añade un segundo perfil cuando prepares presentaciones para otro contribuyente, separes un perfil de prueba de uno real o restaures una copia con otro nombre. Para entender por qué la herramienta es local primero y con control humano, consulta las guías de explicación.
Enumera tus perfiles con aeat config profile list y mira cuál está activo. Crea cada contribuyente adicional de forma interactiva para que su frase de contraseña se elija en la terminal; después cambia por nombre exacto. El ejemplo ejecutable comprueba la composición actual del perfil activo sin fabricar otro contribuyente:
aeat --format json config profile listaeat --format json config profile list{ "active_profile": "docs-sequence-sandbox", "command": "config.profile.list", "notices": [], "result": { "active_profile": "docs-sequence-sandbox", "profiles": [ { "active": true, "bucket_id": "<bucket-id>", "name": "docs-sequence-sandbox" } ] }, "schema_version": "2", "status": "success" }
Confirm the profile list identifies the active taxpayer exactly.
Iniciar sesión modifica qué ledger, borradores de modelo y marcadores de presentación locales usan los comandos aeat app. El verbo de inicio de sesión es aeat config login, no aeat config profile login.
Nombra el perfil exactamente. aeat config login acepta un UUID de perfil o la etiqueta exacta, y nada más: rechaza un nombre parcial, una capitalización diferente o una forma abreviada en lugar de adivinar. Omite el nombre para iniciar sesión en el perfil ya seleccionado. El rechazo es deliberado: adivinar qué contribuyente querías es la forma en que las presentaciones acaban bajo el perfil equivocado.
Cierra la sesión con aeat config logout al terminar. El cierre de sesión cierra la sesión de almacenamiento, pero mantiene seleccionado el perfil para el próximo inicio de sesión exacto; no elimina nada.
Decide tus datos antes de empezar¶
La configuración del perfil hace una serie de preguntas. La mayoría son condicionales: las respuestas que da al principio deciden qué preguntas posteriores aparecen. Decide primero estos datos y el resto de la configuración se deduce:
Quién es el contribuyente. Una persona física (un particular), una persona jurídica (una empresa como una SL o SA) o una entidad en atribución (una copropiedad como una comunidad de bienes, donde la renta se atribuye a sus miembros).
Qué identificador fiscal corresponde. Los ciudadanos españoles usan su DNI como identificador fiscal (NIF). Los particulares extranjeros usan su NIE. Las empresas usan un NIF o CIF.
Qué hace el contribuyente. La actividad económica y qué tipos de renta corresponden: actividad empresarial o profesional, trabajo por cuenta ajena, rendimientos del alquiler, rendimientos de inversiones, ganancias patrimoniales o una pensión.
Qué régimen de IVA corresponde. El Impuesto sobre el Valor Añadido (IVA) determina si el contribuyente lo repercute y lo declara, y cómo. El régimen general presenta el IVA mediante el Modelo 303.
Dónde reside el contribuyente. La comunidad autónoma para un residente en España, o el país de residencia para un no residente.
Qué idioma de salida desea. El idioma que
cadrumousa en su salida.
No necesita memorizar los nombres de las opciones. El asistente guiado le acompaña por estas decisiones. Para la lista completa y actual de opciones y sus valores admitidos, ejecuta aeat config profile create --help y aeat config profile edit --help:
aeat config profile create --helpaeat config profile create --helpUsage: aeat config profile create [OPTIONS] [profile_name]
Create a profile protected by a passphrase. At a terminal it then offers an
optional recovery code; skip it, or add it later with 'aeat config profile
recovery enable'.
Arguments:
profile_name Profile name to write the answers into
Options:
--quiet Run non-interactively using only the
supplied flag values; required flags left
unset cause an error. Sufficient on its own;
combine with --accept-defaults to fill the
rest from descriptor defaults.
--accept-defaults Fill every unsupplied flag from the
descriptor defaults, without prompting. Use
alongside --quiet, or on its own for an all-
defaults create.
--output-language <es|en|ca|hu>
CLI output language for this profile
--entity-type <str> Natural person, legal entity, or attribution
entity
--legal-entity-form <str> Recognised legal form when the entity type
is a legal entity
--tax-id <str> Tax identifier (NIF/CIF/DNI/NIE) for the
active profile
--name <str> Display name shown in local reviews
--surnames <str> Surnames or company name for export headers
--legal-name <str> Legal or company name for legal-entity
export headers
--fiscal-residency <str> Fiscal residency category: resident_irpf
(habitual resident in Spain) or
non_resident_irnr (non-resident, IRNR
taxation RDLeg 5/2004).
--country-of-fiscal-residence <str>
ISO 3166-1 alpha-2 code of the country of
fiscal residence (e.g. GB, DE, FR). Required
when fiscal-residency is non_resident_irnr.
--representante-fiscal-nif <str>
NIF/NIE of the fiscal representative in
Spain. Required for non-EU/EEA non-residents
(Art. 47 LGT + Art. 10 TRLIRNR RDLeg
5/2004).
--representante-fiscal-nombre <str>
Full name of the fiscal representative in
Spain.
--tax-residence-jurisdiction-scope <str>
Declared territorial regime: common
territory or the not-yet-supported foral
territory.
--tax-residence-ccaa <str> Tax-residence autonomous community, under
the common regime. If the value is not
recognised, the error lists the accepted
communities.
--address-postcode <str> Tax address postcode
--irpf-income-categories <str> IRPF income category; pass --irpf-income-
categories once per category
--activity <str> Business activity as plain text, or the IAE
heading if you know it
--activity-start-date <str> Censo registration / start-of-activity date
(YYYY-MM-DD). Optional; when set,
obligations for periods before this date are
not shown.
--incn-prior-12-months <str> Net turnover (importe neto de la cifra de
negocios) over the prior 12 months, in
euros. Above 6,000,000 EUR Modelo 202
mandates the Art. 40.3 LIS modality; below
it both modalities are available. Optional.
--new-entity-first-two-profit-periods / --no-new-entity-first-two-profit-periods
Mark this when a newly-created legal entity
is in one of its first two profit-making tax
periods (LIS Art. 29) to opt into the 15
percent reduced rate. Optional; unset leaves
the entity on its otherwise-applicable rate.
--ley-49-2002-option-declared / --no-ley-49-2002-option-declared
Record whether Modelo 036 casilla 651
declares the Ley 49/2002 Title II option.
--ley-49-2002-option-date <str>
Record the Modelo 036 casilla 653 date for
the Ley 49/2002 Title II option.
--ley-49-2002-renunciation-declared / --no-ley-49-2002-renunciation-declared
Record whether Modelo 036 casilla 652
declares renunciation of the Ley 49/2002
Title II regime.
--ley-49-2002-renunciation-date <str>
Record the Modelo 036 casilla 654 date for
the Ley 49/2002 Title II renunciation.
--iva-regime <str> IVA regime
--iva-m303-regime-composition <str>
Modelo 303 regime composition: general,
simplified, or mixed.
--iva-roi-enrolled / --no-iva-roi-enrolled
Enrolled in ROI
--iva-oss-enrolled / --no-iva-oss-enrolled
Enrolled in OSS
--iva-group-member-enrolled / --no-iva-group-member-enrolled
Enrolled as a member entity of an IVA group
--iva-group-dominant-entity-enrolled / --no-iva-group-dominant-entity-enrolled
Enrolled as the dominant entity of an IVA
group
--iva-sii-enrolled / --no-iva-sii-enrolled
Whether the taxpayer is enrolled in the SII
--iva-redeme-enrolled / --no-iva-redeme-enrolled
Whether the taxpayer is registered in REDEME
--iva-intracommunity-operations-exceed-50000-eur / --no-iva-intracommunity-operations-exceed-50000-eur
Intra-community operations exceed 50,000 EUR
--iva-cash-accounting-regime-enrolled / --no-iva-cash-accounting-regime-enrolled
Declare enrolment in the special IVA cash-
accounting regime.
--iva-voluntary-sii-enrolled / --no-iva-voluntary-sii-enrolled
Declare voluntary SII enrolment separately
from mandatory inclusion triggers.
--iva-hydrocarbon-deposit-advance-payment-deduction-entitled / --no-iva-hydrocarbon-deposit-advance-payment-deduction-entitled
Declare entitlement to deduct advance
payments under the hydrocarbon tax-deposit
regime.
--enrollment-large-company / --no-enrollment-large-company
Large-company enrollment
--enrollment-public-administration-budget-gt-6000000 / --no-enrollment-public-administration-budget-gt-6000000
Public administration budget over 6,000,000
--taxation-type <str> Income-tax return type: 1 = individual, 2 =
joint (family unit).
--taxpayer-sex <str> First taxpayer sex: H = male, M = female.
--taxpayer-marital-status <1|2|3|4|5>
First taxpayer marital status: 1 = single, 2
= married, 3 = widowed, 4 = separated or
divorced, 5 = registered civil partnership.
--situacion-familiar <casado|pareja_hecho_registrada|pareja_hecho_no_registrada|soltero|separado_divorciado>
Family situation under Art. 82 LIRPF:
determines whether joint taxation is
available and which family unit variant
applies.
--taxpayer-marriage-date <str> Start date of the current marriage (YYYY-MM-
DD). Only when marital status = 2 (married).
Derives casillas 0245/0246/0247 (matrimonio
sobrevenido, Art. 82 LIRPF).
--taxpayer-birth-date <str> First taxpayer birth date
--taxpayer-disability-grade <str>
First taxpayer disability grade: 1 =
33%-64%, 2 = 65% or higher, 3 = judicial
incapacity, 4 = third-party assistance or
reduced mobility.
--taxpayer-death-date <str> First taxpayer death date
--spouse-tax-id <str> Spouse NIF/NIE
--spouse-name <str> Spouse given name
--spouse-surnames <str> Spouse surnames
--spouse-birth-date <str> Spouse birth date
--spouse-sex <str> Spouse sex: H = male, M = female.
--spouse-disability-grade <str>
Spouse disability grade (if applicable): 1 =
33%-64%, 2 = 65% or higher, 3 = judicial
incapacity, 4 = third-party assistance or
reduced mobility.
--spouse-non-resident-irpf / --no-spouse-non-resident-irpf
Spouse is non-resident IRPF
--spouse-eu-eea-resident / --no-spouse-eu-eea-resident
Spouse is EU/EEA resident
--spouse-eu-eea-country <str> Spouse EU/EEA country
--family-descendants-eu-eea-deduction / --no-family-descendants-eu-eea-deduction
EU/EEA descendants in family-unit deduction
--family-minor-children-in-unit / --no-family-minor-children-in-unit
Minor children in family unit
--has-employees / --no-has-employees
Has employees and pays salaries with
retención
--pays-professionals-with-retencion / --no-pays-professionals-with-retencion
Pays professionals with retención
--art109-activity-income-withholding-ge-70pct / --no-art109-activity-income-withholding-ge-70pct
Art. 109 coverage - at least 70% of covered
professional, agricultural, livestock, or
forestry activity income subject to
withholding or payment on account
--pays-rent-with-retencion / --no-pays-rent-with-retencion
Pays local rent with retención
--pays-capital-income-with-retencion / --no-pays-capital-income-with-retencion
Pays capital income with retención
--modelo-111-no-retenciones-periods <str>
Comma-separated Modelo 111 no-obligation
periods, format YYYY:PERIOD (for example
2025:2T,2025:3T). Use only when no subject
payments were made.
--irpf-estimation-regime <str> IRPF estimation regime for economic-activity
income
--objective-estimation-modulos-iae-epigraph <str>
IAE epigraph for objective-estimation
modules, such as 972.
--objective-estimation-modulos-module-1-units <str>
Annual module 1 units for objective-
estimation modules.
--objective-estimation-modulos-module-2-units <str>
Annual module 2 units for objective-
estimation modules.
--objective-estimation-modulos-module-3-units <str>
Annual module 3 units for objective-
estimation modules.
--objective-estimation-modulos-module-4-units <str>
Annual module 4 units for objective-
estimation modules.
--objective-estimation-modulos-module-5-units <str>
Annual module 5 units for objective-
estimation modules.
--objective-estimation-modulos-module-6-units <str>
Annual module 6 units for objective-
estimation modules.
--objective-estimation-modulos-module-7-units <str>
Annual module 7 units for objective-
estimation modules.
--irpf-special-regime <str> IRPF special regime. "general" for most
taxpayers. "impatriado" for workers who
relocated to Spain and elected the Beckham
Law regime (Art. 93 LIRPF), available for
the first 6 years after relocation.
--irpf-special-regime-start-date <str>
Date the worker elected the inpatriate
regime (YYYY-MM-DD). Only when irpf-special-
regime is "impatriado". RIRPF Art. 116. The
regime expires at the end of the 6th
calendar year.
--does-intracomunitario / --no-does-intracomunitario
Conducts intracomunitario operations
--third-party-transactions-above-347-threshold / --no-third-party-transactions-above-347-threshold
Third-party transactions exceed Modelo 347
threshold
--bienes-extranjero-above-threshold / --no-bienes-extranjero-above-threshold
Foreign-held assets above legal threshold
--monedas-virtuales-extranjero-above-threshold / --no-monedas-virtuales-extranjero-above-threshold
Virtual currencies held abroad above Modelo
721 threshold
--llm-vision / --no-llm-vision Enable on-host LLM vision for reading
invoices.
--google-export / --no-google-export
Enable Google Sheets export.
--notes <str> Notes for your own records (optional)
--secrets-stdin Read the secrets as one bounded JSON object
from standard input instead of prompting.
--secrets-fd <int> File descriptor to read machine secrets
from.
--install-completion Install completion for the current shell.
--show-completion Show completion for the current shell, to
copy it or customize the installation.
--help Show this message and exit.
aeat config profile edit --helpaeat config profile edit --helpUsage: aeat config profile edit [OPTIONS] [profile_name]
Re-run the wizard against an existing profile and update values in place
Arguments:
profile_name Profile name to write the answers into
Options:
--quiet Run non-interactively using only the
supplied flag values; required flags left
unset cause an error. Sufficient on its own;
combine with --accept-defaults to fill the
rest from descriptor defaults.
--accept-defaults Fill every unsupplied flag from the
descriptor defaults, without prompting. Use
alongside --quiet, or on its own for an all-
defaults create.
--output-language <es|en|ca|hu>
CLI output language for this profile
--entity-type <str> Natural person, legal entity, or attribution
entity
--legal-entity-form <str> Recognised legal form when the entity type
is a legal entity
--tax-id <str> Tax identifier (NIF/CIF/DNI/NIE) for the
active profile
--name <str> Display name shown in local reviews
--surnames <str> Surnames or company name for export headers
--legal-name <str> Legal or company name for legal-entity
export headers
--fiscal-residency <str> Fiscal residency category: resident_irpf
(habitual resident in Spain) or
non_resident_irnr (non-resident, IRNR
taxation RDLeg 5/2004).
--country-of-fiscal-residence <str>
ISO 3166-1 alpha-2 code of the country of
fiscal residence (e.g. GB, DE, FR). Required
when fiscal-residency is non_resident_irnr.
--representante-fiscal-nif <str>
NIF/NIE of the fiscal representative in
Spain. Required for non-EU/EEA non-residents
(Art. 47 LGT + Art. 10 TRLIRNR RDLeg
5/2004).
--representante-fiscal-nombre <str>
Full name of the fiscal representative in
Spain.
--tax-residence-jurisdiction-scope <str>
Declared territorial regime: common
territory or the not-yet-supported foral
territory.
--tax-residence-ccaa <str> Tax-residence autonomous community, under
the common regime. If the value is not
recognised, the error lists the accepted
communities.
--address-postcode <str> Tax address postcode
--irpf-income-categories <str> IRPF income category; pass --irpf-income-
categories once per category
--activity <str> Business activity as plain text, or the IAE
heading if you know it
--activity-start-date <str> Censo registration / start-of-activity date
(YYYY-MM-DD). Optional; when set,
obligations for periods before this date are
not shown.
--incn-prior-12-months <str> Net turnover (importe neto de la cifra de
negocios) over the prior 12 months, in
euros. Above 6,000,000 EUR Modelo 202
mandates the Art. 40.3 LIS modality; below
it both modalities are available. Optional.
--new-entity-first-two-profit-periods / --no-new-entity-first-two-profit-periods
Mark this when a newly-created legal entity
is in one of its first two profit-making tax
periods (LIS Art. 29) to opt into the 15
percent reduced rate. Optional; unset leaves
the entity on its otherwise-applicable rate.
--ley-49-2002-option-declared / --no-ley-49-2002-option-declared
Record whether Modelo 036 casilla 651
declares the Ley 49/2002 Title II option.
--ley-49-2002-option-date <str>
Record the Modelo 036 casilla 653 date for
the Ley 49/2002 Title II option.
--ley-49-2002-renunciation-declared / --no-ley-49-2002-renunciation-declared
Record whether Modelo 036 casilla 652
declares renunciation of the Ley 49/2002
Title II regime.
--ley-49-2002-renunciation-date <str>
Record the Modelo 036 casilla 654 date for
the Ley 49/2002 Title II renunciation.
--iva-regime <str> IVA regime
--iva-m303-regime-composition <str>
Modelo 303 regime composition: general,
simplified, or mixed.
--iva-roi-enrolled / --no-iva-roi-enrolled
Enrolled in ROI
--iva-oss-enrolled / --no-iva-oss-enrolled
Enrolled in OSS
--iva-group-member-enrolled / --no-iva-group-member-enrolled
Enrolled as a member entity of an IVA group
--iva-group-dominant-entity-enrolled / --no-iva-group-dominant-entity-enrolled
Enrolled as the dominant entity of an IVA
group
--iva-sii-enrolled / --no-iva-sii-enrolled
Whether the taxpayer is enrolled in the SII
--iva-redeme-enrolled / --no-iva-redeme-enrolled
Whether the taxpayer is registered in REDEME
--iva-intracommunity-operations-exceed-50000-eur / --no-iva-intracommunity-operations-exceed-50000-eur
Intra-community operations exceed 50,000 EUR
--iva-cash-accounting-regime-enrolled / --no-iva-cash-accounting-regime-enrolled
Declare enrolment in the special IVA cash-
accounting regime.
--iva-voluntary-sii-enrolled / --no-iva-voluntary-sii-enrolled
Declare voluntary SII enrolment separately
from mandatory inclusion triggers.
--iva-hydrocarbon-deposit-advance-payment-deduction-entitled / --no-iva-hydrocarbon-deposit-advance-payment-deduction-entitled
Declare entitlement to deduct advance
payments under the hydrocarbon tax-deposit
regime.
--enrollment-large-company / --no-enrollment-large-company
Large-company enrollment
--enrollment-public-administration-budget-gt-6000000 / --no-enrollment-public-administration-budget-gt-6000000
Public administration budget over 6,000,000
--taxation-type <str> Income-tax return type: 1 = individual, 2 =
joint (family unit).
--taxpayer-sex <str> First taxpayer sex: H = male, M = female.
--taxpayer-marital-status <1|2|3|4|5>
First taxpayer marital status: 1 = single, 2
= married, 3 = widowed, 4 = separated or
divorced, 5 = registered civil partnership.
--situacion-familiar <casado|pareja_hecho_registrada|pareja_hecho_no_registrada|soltero|separado_divorciado>
Family situation under Art. 82 LIRPF:
determines whether joint taxation is
available and which family unit variant
applies.
--taxpayer-marriage-date <str> Start date of the current marriage (YYYY-MM-
DD). Only when marital status = 2 (married).
Derives casillas 0245/0246/0247 (matrimonio
sobrevenido, Art. 82 LIRPF).
--taxpayer-birth-date <str> First taxpayer birth date
--taxpayer-disability-grade <str>
First taxpayer disability grade: 1 =
33%-64%, 2 = 65% or higher, 3 = judicial
incapacity, 4 = third-party assistance or
reduced mobility.
--taxpayer-death-date <str> First taxpayer death date
--spouse-tax-id <str> Spouse NIF/NIE
--spouse-name <str> Spouse given name
--spouse-surnames <str> Spouse surnames
--spouse-birth-date <str> Spouse birth date
--spouse-sex <str> Spouse sex: H = male, M = female.
--spouse-disability-grade <str>
Spouse disability grade (if applicable): 1 =
33%-64%, 2 = 65% or higher, 3 = judicial
incapacity, 4 = third-party assistance or
reduced mobility.
--spouse-non-resident-irpf / --no-spouse-non-resident-irpf
Spouse is non-resident IRPF
--spouse-eu-eea-resident / --no-spouse-eu-eea-resident
Spouse is EU/EEA resident
--spouse-eu-eea-country <str> Spouse EU/EEA country
--family-descendants-eu-eea-deduction / --no-family-descendants-eu-eea-deduction
EU/EEA descendants in family-unit deduction
--family-minor-children-in-unit / --no-family-minor-children-in-unit
Minor children in family unit
--has-employees / --no-has-employees
Has employees and pays salaries with
retención
--pays-professionals-with-retencion / --no-pays-professionals-with-retencion
Pays professionals with retención
--art109-activity-income-withholding-ge-70pct / --no-art109-activity-income-withholding-ge-70pct
Art. 109 coverage - at least 70% of covered
professional, agricultural, livestock, or
forestry activity income subject to
withholding or payment on account
--pays-rent-with-retencion / --no-pays-rent-with-retencion
Pays local rent with retención
--pays-capital-income-with-retencion / --no-pays-capital-income-with-retencion
Pays capital income with retención
--modelo-111-no-retenciones-periods <str>
Comma-separated Modelo 111 no-obligation
periods, format YYYY:PERIOD (for example
2025:2T,2025:3T). Use only when no subject
payments were made.
--irpf-estimation-regime <str> IRPF estimation regime for economic-activity
income
--objective-estimation-modulos-iae-epigraph <str>
IAE epigraph for objective-estimation
modules, such as 972.
--objective-estimation-modulos-module-1-units <str>
Annual module 1 units for objective-
estimation modules.
--objective-estimation-modulos-module-2-units <str>
Annual module 2 units for objective-
estimation modules.
--objective-estimation-modulos-module-3-units <str>
Annual module 3 units for objective-
estimation modules.
--objective-estimation-modulos-module-4-units <str>
Annual module 4 units for objective-
estimation modules.
--objective-estimation-modulos-module-5-units <str>
Annual module 5 units for objective-
estimation modules.
--objective-estimation-modulos-module-6-units <str>
Annual module 6 units for objective-
estimation modules.
--objective-estimation-modulos-module-7-units <str>
Annual module 7 units for objective-
estimation modules.
--irpf-special-regime <str> IRPF special regime. "general" for most
taxpayers. "impatriado" for workers who
relocated to Spain and elected the Beckham
Law regime (Art. 93 LIRPF), available for
the first 6 years after relocation.
--irpf-special-regime-start-date <str>
Date the worker elected the inpatriate
regime (YYYY-MM-DD). Only when irpf-special-
regime is "impatriado". RIRPF Art. 116. The
regime expires at the end of the 6th
calendar year.
--does-intracomunitario / --no-does-intracomunitario
Conducts intracomunitario operations
--third-party-transactions-above-347-threshold / --no-third-party-transactions-above-347-threshold
Third-party transactions exceed Modelo 347
threshold
--bienes-extranjero-above-threshold / --no-bienes-extranjero-above-threshold
Foreign-held assets above legal threshold
--monedas-virtuales-extranjero-above-threshold / --no-monedas-virtuales-extranjero-above-threshold
Virtual currencies held abroad above Modelo
721 threshold
--llm-vision / --no-llm-vision Enable on-host LLM vision for reading
invoices.
--google-export / --no-google-export
Enable Google Sheets export.
--notes <str> Notes for your own records (optional)
--install-completion Install completion for the current shell.
--show-completion Show completion for the current shell, to
copy it or customize the installation.
--help Show this message and exit.
aeat --format json config profile statusaeat --format json config profile status{ "active_profile": "docs-sequence-sandbox", "command": "config.profile.status", "notices": [], "result": { "active_profile": "docs-sequence-sandbox", "activity_present": true, "configured": true, "iva_regime": "GENERAL", "precondition_action": null, "profile_id": "<profile-id>", "profile_record_error": null, "profile_record_present": null, "registered_profile": null, "tax_id_present": true, "tax_residence_ccaa": "" }, "schema_version": "2", "status": "success" }
Confirm both flag listings run and name the active profile the flags apply to.
Crea tu perfil¶
Crea un perfil de forma interactiva, o de forma no interactiva con opciones.
Ejecuta el asistente guiado cuando configures un perfil por primera vez:
aeat config profile create my-profileaeat config profile create my-profileEl asistente es un recorrido de página completa, pregunta a pregunta. Responde una página y pasa a la siguiente; vuelve atrás para cambiar una respuesta anterior en cualquier momento. La primera página pide tu idioma de salida. Respóndela y el resto del asistente se mostrará en el idioma que hayas elegido. Las páginas recorren tu identidad, residencia fiscal, actividad económica, IVA, alta, situación familiar (incluidos tus descendientes), obligaciones recurrentes y preferencias de servicio, y terminan en una página de revisión que muestra cada respuesta antes de comprometer nada. Las preguntas son condicionales: el asistente solo pregunta lo que corresponde a las respuestas que ya has dado.
Cada página explica sus opciones y muestra el formato esperado para fechas, importes e identificadores, y rechaza al instante un valor no válido. Una fecha o un identificador fiscal mal formados nunca llegan al perfil guardado.
El asistente solicita la frase de contraseña del perfil antes de guardar nada. Una vez que el perfil existe, pregunta si quieres configurar un código de recuperación opcional, que permite restablecer una frase de contraseña olvidada; la respuesta predeterminada es no y puedes activarlo más tarde. Consulta protege el acceso a tus datos.
Para ejecuciones desatendidas, proporciona la frase de contraseña por el canal para máquinas descrito en Ejecuta sin solicitud de frase de contraseña; en esa vía nunca se ofrece la recuperación.
Usa --language en, es, ca o hu para un solo comando. Un perfil también puede guardar su idioma de salida predeterminado.
Guardar ahora, terminar más tarde¶
Detén una configuración inicial en cualquier momento y conserva lo que respondiste. Elige guardar y salir en cualquier página: cada respuesta ya está almacenada y el perfil queda marcado como configuración incompleta. Después de desbloquearlo, aeat config profile show informa de ese estado; profile list informa deliberadamente solo de los nombres guardados y de cuál perfil está activo.
Reanuda la configuración ejecutando de nuevo el mismo comando de creación con el mismo nombre de perfil. El asistente continúa donde lo dejaste con tus respuestas anteriores. Responde las páginas restantes y confirma la página de revisión para completar la configuración. El perfil pasa a estar activo y listo para los comandos de aeat app.
Los descendientes son la excepción al reanudar: el asistente vuelve a preguntarte por ellos para que el conjunto que confirmes sea siempre completo y actual.
Usa opciones con --quiet cuando quieras una configuración repetible y automatizable, pasando el tipo de entidad, el identificador fiscal, el nombre y los apellidos a aeat config profile create. El ejemplo práctico de más abajo ejecuta una creación automatizada completa.
--quiet se ejecuta sin solicitudes y usa solo las opciones que proporciona. Una ejecución con --quiet se niega si falta una opción obligatoria y le indica cuáles añadir. Una creación automatizada necesita la identidad de presentación: el identificador fiscal, el tipo de entidad y el nombre y los apellidos:
Refused. Profile creation is missing filing identity details. Add these flags
and run the command again: --entity-type --name --surnames.
Añade --accept-defaults cuando quieras intencionadamente que Cadrumo rellene las preguntas que omite con sus valores predeterminados integrados.
Ejemplo práctico: una persona física con una actividad¶
Este ejemplo crea un perfil de persona física para un particular con una actividad económica, y luego lo inspecciona y lo valida antes de que te fíes de él:
aeat config profile view docs-sequence-sandboxaeat config profile view docs-sequence-sandboxProfile record is valid. record_validity valid issues=0 profile_id <profile-id> display_name docs-sequence-sandbox setup_state complete activities.description documentation examples identity.name Docs identity.surnames Sandbox identity.tax_id sha256:1c9f9632 iva.cash_accounting_regime_enrolled false iva.hydrocarbon_deposit_advance_payment_deduction_entitled false iva.m303_regime_composition general iva.redeme_enrolled false iva.regime GENERAL iva.voluntary_sii_enrolled false tax_residence.jurisdiction_scope common_regime taxpayer_type.entity_type natural_person
aeat --format json config profile validate docs-sequence-sandboxaeat --format json config profile validate docs-sequence-sandbox{ "active_profile": "docs-sequence-sandbox", "command": "config.profile.validate", "notices": [], "result": { "display_name": "docs-sequence-sandbox", "issues": [], "profile_id": "<profile-id>", "schema_version": 6, "setup_state": "complete", "valid": true }, "schema_version": "2", "status": "success" }
Confirm the scripted create produces a natural-person profile that validates.
Los datos que pide la configuración¶
La configuración agrupa sus preguntas por área de decisión. Estos valores son tokens de comando estables: distinguen mayúsculas y minúsculas y no se traducen. Ejecuta aeat config profile create --help para la lista exhaustiva de opciones. Incluye las preguntas condicionales sobre cónyuge, unidad familiar, no residentes e inscripciones que esta guía resume en lugar de repetir.
Quién es el contribuyente¶
Elige el tipo de entidad:
natural_person: un particular.legal_entity: una empresa. Registra también su forma jurídica, comosl,saocooperativa.attribution_entity: una copropiedad o comunidad de bienes cuya renta se atribuye a sus miembros.
Para una persona física, enumera cada tipo de renta que corresponda, repitiendo la opción una vez por categoría:
actividad_economica: actividad empresarial o profesional.trabajo: trabajo por cuenta ajena.capital_inmobiliario: rendimientos del alquiler de inmuebles.capital_mobiliario: rendimientos de inversiones como dividendos o intereses.ganancias_patrimoniales: ganancias patrimoniales.pension: una pensión de jubilación o de incapacidad.
Elige actividad_economica solo cuando el contribuyente ejerza una actividad. Un simple arrendador, un contribuyente solo asalariado o un pensionista sin actividad no deben seleccionarlo.
Para una actividad, registra cómo estima el IRPF su rendimiento. La estimación directa es la predeterminada y presenta el Modelo 130. Usa --irpf-estimation-regime objetiva para el régimen de estimación objetiva (módulos), que presenta el Modelo 131 en su lugar.
Identidad¶
El identificador fiscal (NIF, CIF, DNI o NIE) es obligatorio. Los ciudadanos españoles usan su DNI como NIF; los particulares extranjeros usan su NIE; las empresas usan un NIF o CIF. Registra el nombre y los apellidos (o el nombre visible de la entidad), la actividad económica cuando la haya y el código postal del domicilio fiscal.
Dónde reside el contribuyente¶
Para un residente sujeto al IRPF (Impuesto sobre la Renta de las Personas Físicas) español, establece la comunidad autónoma (--tax-residence-ccaa), como madrid o cataluna.
Esta herramienta no modela los regímenes forales. Establecer la comunidad como pais_vasco o navarra se rechaza, porque los residentes allí presentan ante su Hacienda Foral bajo el Concierto Económico, no ante la AEAT:
Invalid value for '--tax-residence-ccaa': Residents in pais_vasco file with the
corresponding Hacienda Foral under the Concierto Económico (Ley 12/2002), not
with the AEAT. This CLI does not model foral declarations.
Para un no residente, establece --fiscal-residency non_resident_irnr (no --tax-residence-ccaa), y luego aporta el país de residencia con --country-of-fiscal-residence (un código ISO 3166-1 alfa-2, como DE) y, cuando sea necesario, un representante fiscal con --representante-fiscal-nif y --representante-fiscal-nombre.
Qué régimen de IVA corresponde¶
Establece --iva-regime con el régimen de IVA del contribuyente:
GENERAL: el régimen estándar; presenta el IVA trimestral mediante el Modelo 303.SIMPLIFICADO: el régimen simplificado, basado en módulos.RECARGO_EQUIVALENCIA: el recargo de equivalencia para los comerciantes minoristas que cumplan los requisitos.REAGP: el régimen especial de la agricultura, la ganadería y la pesca.EXENTO: actividades exentas, como algunas de enseñanza o sanidad.
Registra cualquier inscripción de IVA que corresponda, como el ROI (operadores intracomunitarios) o el OSS (ventanilla única para ventas transfronterizas B2C).
Qué obligaciones recurrentes corresponden¶
Estos datos deciden qué formularios debe presentar el contribuyente. Registra los que sean ciertos:
--has-employeeso--pays-professionals-with-retencion: paga salarios u honorarios profesionales con retención.--pays-rent-with-retencion: paga el alquiler de locales de negocio con retención.--does-intracomunitario: opera con empresas de otros países de la UE.--third-party-transactions-above-347-threshold: las operaciones con terceros superan el umbral del Modelo 347.--bienes-extranjero-above-threshold: los bienes en el extranjero superan el umbral legal.--art109-activity-income-withholding-ge-70pct: se aplica la excepción de cobertura de renta del 70 por ciento del art. 109 del RIRPF para los rendimientos cubiertos de actividades profesionales, agrícolas, ganaderas o forestales. Para los inicios de actividad, registra el dato de cobertura para el periodo de pago actual.
Dejar sin marcar una opción de obligación no es lo mismo que marcarla como falsa. Cuando un dato no está declarado, la comprobación de preparación informa del formulario relacionado como incompleto (no se puede determinar), no como no aplicable. Registra cada dato que conozca.
Comprueba tus datos antes de calcular¶
Un dato erróneo o que falta produce una presentación errónea. Confirma el perfil antes de calcular un modelo. El ejemplo muestra el resumen de preparación y los datos guardados del perfil activo, los valida contra el esquema, y luego comprueba si el perfil contiene los datos que un formulario concreto necesita para un contexto de presentación concreto:
aeat config profile statusaeat config profile statusprofile docs-sequence-sandbox profile_id <profile-id> identity.tax_id sha256:1c9f9632 activities.description documentation examples iva.regime GENERAL tax_residence.ccaa <unset> Next step: `aeat app overview status`
aeat config profile viewaeat config profile viewProfile record is valid. record_validity valid issues=0 profile_id <profile-id> display_name docs-sequence-sandbox setup_state complete activities.description documentation examples identity.name Docs identity.surnames Sandbox identity.tax_id sha256:1c9f9632 iva.cash_accounting_regime_enrolled false iva.hydrocarbon_deposit_advance_payment_deduction_entitled false iva.m303_regime_composition general iva.redeme_enrolled false iva.regime GENERAL iva.voluntary_sii_enrolled false tax_residence.jurisdiction_scope common_regime taxpayer_type.entity_type natural_person
aeat config profile validateaeat config profile validatereadiness ready issues=0 profile_id <profile-id> display_name docs-sequence-sandbox setup_state complete schema_version 6 valid True
aeat --format json app modelo readiness --modelo 303 --year 2026 --period 1Taeat --format json app modelo readiness --modelo 303 --year 2026 --period 1T{ "active_profile": "docs-sequence-sandbox", "command": "modelo.readiness", "notices": [ { "action": null, "code": "modelo.readiness.per_operation_axis_not_assessed", "context": { "modelo": "303", "profile_ready": "True" }, "message": "No schema-required profile field is currently declared for Modelo 303, so profile_ready reflects only the export-identity and conditional checks, not a per-modelo assessment. Do not read profile_ready as a complete check for this modelo.", "severity": "warning" }, { "action": null, "code": "modelo.readiness.ledger_preflight_scope", "context": { "binding_ready": "false", "ledger_ready": "true", "missing_bindings": "4" }, "message": "ledger_ready only means the period ledger rows passed transaction preflight; missing_bindings/source_binding_ready still decide source completeness.", "severity": "info" } ], "result": { "binding_ready": false, "filing_year": 2026, "ledger_checked_transaction_count": 0, "ledger_issues": [], "ledger_period": { "code": "1T", "filing_year": 2026 }, "ledger_preflight_required": true, "ledger_ready": true, "missing": [], "missing_bindings": [ { "binding_id": "modelo-303-autoconsumo-promotor-base", "input_channel": "decimal", "source": "profile" }, { "binding_id": "modelo-303-bienes-inversion-regularizacion-casilla-43", "input_channel": "decimal", "source": "bienes_inversion_regularizacion" }, { "binding_id": "modelo-303-compensacion-pendiente-anteriores", "input_channel": "decimal", "source": "previous_filing" }, { "binding_id": "modelo-303-prorrata-regularizacion-casilla-44", "input_channel": "decimal", "source": "prorrata_regularizacion" } ], "modelo": "303", "operation": "modelo.readiness", "period": { "code": "1T", "filing_year": 2026 }, "profile_id": "<profile-id>", "profile_ready": true, "profile_refusal": "", "ready": false, "registry_ready": true, "registry_refusal": "", "revision_id": "2026-y-siguientes" }, "schema_version": "2", "status": "warning" }
Confirm the active profile's facts validate and see what a specific filing still needs.
preflight nombra los campos que faltan para ese contexto (modelo, ejercicio de presentación, periodo). Usa Elige qué modelo presentar para encontrar los códigos de periodo que un modelo acepta. Corrige cualquier dato erróneo con edit antes de continuar.
Cómo deciden tus datos qué formularios corresponden¶
Los datos del perfil que registró determinan qué modelos debe presentar el contribuyente. Usa esta correspondencia para comprobar la coherencia de tu perfil, y luego confirma un formulario concreto con preflight:
Cuando esto es cierto del contribuyente |
Estos formularios corresponden |
|---|---|
Es una persona física |
Modelo 100 (Renta anual) |
Es una empresa |
Modelo 200 (IS anual, impuesto sobre sociedades), Modelo 202 (pagos a cuenta) |
Ejerce una actividad en estimación directa |
Modelo 130 (IRPF trimestral) |
Ejerce una actividad en estimación objetiva (módulos) |
Modelo 131 |
Se aplica la excepción de cobertura de renta de actividad del art. 109 |
Elimina la obligación del Modelo 130 |
Repercute IVA bajo el régimen general |
Modelo 303 (trimestral), Modelo 390 (anual) |
Paga a empleados o profesionales con retención |
Modelo 111 (trimestral), Modelo 190 (anual) |
Paga el alquiler de locales de negocio con retención |
Modelo 115 (trimestral), Modelo 180 (anual) |
Opera con empresas de la UE |
Modelo 349 |
Tiene operaciones con terceros por encima del umbral del 347 |
Modelo 347 |
Posee bienes en el extranjero por encima del umbral legal |
Modelo 720 |
Esto es una guía, no la autoridad. La herramienta decide la aplicabilidad a partir del perfil completo y las reglas del registro. Para ver qué le corresponde a tu perfil, usa Elige qué modelo presentar.
Mantén tu perfil¶
Vuelve a ejecutar el asistente sobre un perfil existente para cambiar sus datos:
aeat config profile edit my-profileaeat config profile edit my-profileEl modo de edición recorre las mismas páginas con tus respuestas actuales ya rellenadas. Cambia lo que necesites y confirma después la página de revisión. No se escribe nada hasta que confirmes: las ediciones permanecen preparadas durante el recorrido y una edición interrumpida las descarta todas. No hay guardar y salir en el modo de edición. Termina el recorrido de una sola vez. La herramienta te comunica ambas cosas al final de cada edición interactiva, así que una edición nunca se aplica parcialmente en silencio.
Los descendientes no forman parte de la edición del perfil. Adminístralos con el comando descendiente de abajo. El resumen de edición te lo recuerda cada vez.
Para un cambio programado, pasa --quiet con solo las opciones que quieras cambiar; cada dato cuyo nombre no indiques conserva su valor.
Administra tus descendientes¶
Los descendientes determinan el mínimo por descendientes de la Renta anual. Decláralos durante la primera configuración y adminístralos después con el comando descendiente.
Abre el editor paginado de descendientes:
aeat config profile descendienteaeat config profile descendienteEl editor muestra tus descendientes declarados, te permite cambiar cualquier respuesta, añadir uno o reducir el número, y confirma el conjunto completo cuando aceptas. Reducir el número elimina los descendientes que quedan fuera. El conjunto guardado coincide siempre exactamente con lo que confirmaste.
Programa los mismos cambios con los verbos de opciones:
aeat --format json config profile descendiente listaeat --format json config profile descendiente list{ "active_profile": "docs-sequence-sandbox", "command": "config.profile.descendiente.list", "notices": [], "result": { "descendientes": [], "profile": "docs-sequence-sandbox", "total": 0 }, "schema_version": "2", "status": "success" }
aeat --format json config profile descendiente add --descendiente \
NACIMIENTO=2018-04-01,DISCAPACIDAD=0,CONVIVENCIA=trueaeat --format json config profile descendiente add --descendiente `
NACIMIENTO=2018-04-01,DISCAPACIDAD=0,CONVIVENCIA=true{ "active_profile": "docs-sequence-sandbox", "command": "config.profile.descendiente.add", "notices": [], "result": { "added": 1, "profile": "docs-sequence-sandbox", "total": 1 }, "schema_version": "2", "status": "success" }
aeat --format json config profile descendiente remove 0aeat --format json config profile descendiente remove 0{ "active_profile": "docs-sequence-sandbox", "command": "config.profile.descendiente.remove", "notices": [], "result": { "profile": "docs-sequence-sandbox", "removed_index": 0, "total": 0 }, "schema_version": "2", "status": "success" }
Confirm the descendiente count returns to zero after the removal.
add acepta una opción --descendiente por hijo, como pares KEY=VALUE separados por comas. NACIMIENTO (fecha de nacimiento, AAAA-MM-DD) es obligatorio; ADOPCION, DISCAPACIDAD (0, 33 o 65), CONVIVENCIA, CUSTODIA, MESES_TRABAJO, GASTOS_GUARDERIA y NIF son opcionales. No pasa nada si un descendiente no tiene identificador fiscal: omite NIF. remove recibe la posición de list, empezando a contar en 0.
MESES_TRABAJO nombra qué meses trabajó la madre, no cuántos. Escriba el mes con dos dígitos, un intervalo como MM-MM, y separe las entradas con ;. Escriba MESES_TRABAJO=05-08 para mayo a agosto. Escriba MESES_TRABAJO=01;03;09-12 para enero, marzo y de septiembre a diciembre.
Nombre los meses. El incremento por guardería cuenta solo los meses en que la madre trabajó y el menor asistió, así que un recuento no puede indicar si ambos coinciden.
Mantén tu perfil¶
Los pasos siguientes editan un dato y hacen una copia de seguridad del perfil en un archivo sellado:
aeat config profile edit docs-sequence-sandbox --quiet --address-postcode 28013aeat config profile edit docs-sequence-sandbox --quiet --address-postcode 28013Profile docs-sequence-sandbox Status updated Next aeat app modelo work create
aeat --format json config profile archive export docs-sequence-sandbox --output \
docs-sequence-sandbox.cadrumo-bucket.tar.gzaeat --format json config profile archive export docs-sequence-sandbox --output `
docs-sequence-sandbox.cadrumo-bucket.tar.gz{ "active_profile": "docs-sequence-sandbox", "command": "config.profile.archive.export", "notices": [], "result": { "archive_schema_version": 4, "bucket_id": "<bucket-id>", "recovery_enrolled": false, "target": "docs-sequence-sandbox.cadrumo-bucket.tar.gz" }, "schema_version": "2", "status": "success" }
Confirm the profile survives an edit and a sealed archive backup.
Qué hace cada paso:
Edit cambia solo las opciones que pasas. Ejecuta
show,statusovalidatede nuevo tras editar.La exportación del archivo escribe una copia sellada y cifrada del perfil. El nombre del archivo de destino debe terminar en
.cadrumo-bucket.tar.gz. El archivo se cifra con la frase de contraseña del perfil y no incluye la etiqueta del perfil. Restáuralo conaeat config profile archive importy lee la cabecera de un archivo sellado sin descifrarlo medianteaeat config profile archive inspect.
Un fichero de perfil portátil contiene datos del contribuyente, incluidos el identificador fiscal, la actividad y el historial de presentaciones local. Guárdalo como datos fiscales sensibles y no lo adjunte a una solicitud de soporte. Consulta importación, exportación y evidencia.
Elige las capacidades de servicio¶
Cada perfil lleva tu propia aceptación para tres servicios opcionales. El asistente de configuración hace estas preguntas cuando crea o edita un perfil, y puede cambiarlas en cualquier momento. Estos pasos muestran la postura actual, desactivan una capacidad y muestran de nuevo la postura:
aeat config profile capabilities viewaeat config profile capabilities viewllm_vision enabled default llm_vision is on by default (no profile opt-in) google_export enabled default google_export is on by default (no profile opt-in) cloud_evidence_upload disabled default cloud_evidence_upload is off by default (no profile opt-in)
aeat config profile capabilities set llm_vision offaeat config profile capabilities set llm_vision offcapability llm_vision state off
aeat --format json config profile capabilities viewaeat --format json config profile capabilities view{ "active_profile": "docs-sequence-sandbox", "command": "config.profile.capabilities.show", "notices": [], "result": { "capabilities": [ { "capability": "llm_vision", "enabled": false, "reason": "profile opted out of llm_vision", "source": "profile" }, { "capability": "google_export", "enabled": true, "reason": "google_export is on by default (no profile opt-in)", "source": "default" }, { "capability": "cloud_evidence_upload", "enabled": false, "reason": "cloud_evidence_upload is off by default (no profile opt-in)", "source": "default" } ], "profile_id": "<profile-id>" }, "schema_version": "2", "status": "success" }
Confirm a capability change updates the active profile.
Las tres capacidades son:
cloud_evidence_upload: permite enviar evidencia sensible a un proveedor de LLM en la nube. Desactivada por defecto. Vedada para los perfiles de gestor.llm_vision: lee las facturas con el modelo de visión en el equipo. Activada por defecto.google_export: exporta los cálculos a Google Sheets. Activada por defecto.
Activa o desactiva cualquier capacidad con aeat config profile capabilities set. El ejemplo desactiva llm_vision. Pasa cloud_evidence_upload on para habilitar la subida a la nube. Los extras de paquete que falten producen el comando de instalación exacto. Consulta Instala Cadrumo para los extras.
Cierra sesión sin borrar el perfil mediante aeat config logout después de las comprobaciones de mantenimiento y capacidades protegidas por inicio de sesión anteriores. El cierre de sesión cierra la sesión de almacenamiento activa, descarta sus claves en memoria, libera los motores de bucket y borra el puntero local del perfil activo:
aeat config logoutaeat config logoutlogged_out_profile docs-sequence-sandbox
aeat --format json config profile statusaeat --format json config profile status{ "active_profile": "docs-sequence-sandbox", "command": "config.profile.status", "error": { "action": { "action": { "action_id": "operator.profile.login", "cli_path": [ "config", "login" ], "target_command_key": "config.login" }, "argument_bindings": [ { "argument_name": "name", "source": "operator_action.verdict_context", "source_evidence_id": null, "source_key": "name", "status": "resolved", "value": "docs-sequence-sandbox" } ], "conditionality": "immediate", "evidence": [ { "condition_id": "profile.session.logged_in", "evidence_id": "profile.session.resume", "provenance": "persisted_state", "values": { "profile_name": "docs-sequence-sandbox", "session_refusal_reason": "absent", "session_resumed": false } } ], "failed_condition_id": "profile.session.logged_in", "missing_argument_names": [], "no_recovery_outcome": null }, "category": "REFUSED", "code": "REFUSED_CLI_BOUNDARY", "context": { "reason": "absent" }, "message": "You are not logged in. Run `aeat config login` to unlock your profile.", "retryable": false, "runbook_id": null, "trace_id": null }, "notices": [], "schema_version": "2", "status": "error" }
Confirm logout closes the active session without deleting the profile.
Ve qué cambió¶
Todo cambio en un perfil (creación, ediciones, importaciones, clasificaciones, cálculos y presentaciones) se registra como un evento en el historial de solo anexado de ese perfil (un registro que puedes leer pero no alterar). Leer el historial necesita un perfil activo, así que cambia a él primero tras el cierre de sesión. El ejemplo crea, renombra y edita un perfil antes de recorrer y filtrar su historial:
aeat config profile history --helpaeat config profile history --helpUsage: aeat config profile history [OPTIONS] [profile]
Show the append-only event history for one profile
Arguments:
profile Profile name whose event history should be inspected
Options:
--event-type <str> Filter the history to one or more event
types (repeatable)
--since <str> Filter the history to events at or after
this ISO-8601 timestamp (e.g.
2026-04-01T00:00:00+00:00)
--until <str> Filter the history to events at or before
this ISO-8601 timestamp (e.g.
2026-04-30T23:59:59+00:00)
--object-id <str> Filter the history to events targeting a
specific object_id (exact match)
--actor <str> Filter the history to events recorded by a
specific actor (exact match)
--output-language, --language <es|en|ca|hu>
Output language for the response text (es,
en, ca, hu).
--install-completion Install completion for the current shell.
--show-completion Show completion for the current shell, to
copy it or customize the installation.
--help Show this message and exit.
Confirm the profile history records each change and can be filtered.
Repite --event-type para incluir varios tipos. Un tipo desconocido se rechaza con la lista completa de admitidos, así que un valor vacío es una forma rápida de descubrir el vocabulario.
Un cambio de nombre aparece como dos eventos a propósito: profile.renamed registra que los datos cambiaron, y bucket.renamed registra que ejecutaste la acción de renombrar. Uno responde a «qué cambió», el otro a «qué se hizo».
Eliminar un perfil de forma permanente¶
Elimina definitivamente un perfil solo después de cerrar su sesión activa. Cadrumo se niega a eliminar el perfil activo, así que primero cierra la sesión y después confirma la eliminación irreversible de ese perfil con su nombre exacto. Este ejemplo terminal aparece después de todas las operaciones de perfil de esta guía porque el perfil eliminado no puede volver a usarse:
aeat --format json config logoutaeat --format json config logout{ "active_profile": "docs-sequence-sandbox", "command": "config.logout", "notices": [], "result": { "already_logged_out": false, "logged_out_profile": "docs-sequence-sandbox" }, "schema_version": "2", "status": "success" }
aeat --format json config profile delete docs-sequence-sandbox --yesaeat --format json config profile delete docs-sequence-sandbox --yes{ "active_profile": null, "command": "config.profile.delete", "notices": [ { "action": null, "code": "config.profile.delete.deleted", "context": { "profile_id": "<profile-id>" }, "message": "Profile deleted along with its local state.", "severity": "info" } ], "result": { "completed_at": "2026-04-01T09:00:00+00:00", "deleted": true, "display_name": "docs-sequence-sandbox", "earliest_safe_erase_date": null, "fingerprint": { "digest": "<masked>", "file_count": 4, "schema_version": 1, "total_bytes": 1850 }, "profile_id": "<profile-id>", "retained_record_count": 0 }, "schema_version": "2", "status": "success" }
Confirm logout makes the sandbox profile inactive before deleting only that exact profile.
Si la configuración parece incorrecta¶
Si un comando informa de que no hay perfil activo, de un valor de campo no válido o de que estás trabajando bajo el perfil equivocado, consulta Diagnostica y repara tu configuración local.
Cuando los pasos de resolución de problemas no lo resuelvan, sigue Prepara una solicitud de soporte respetuosa con la privacidad. Nombra las salidas que incluir y los datos personales que dejar fuera antes de llevar el problema al gestor de incidencias del proyecto.