Mantener los datos censales del Modelo 036 en tu perfil¶
Usa esta guía para mantener correctos tus datos censales de la AEAT -el censo- en el perfil local activo. En España, el censo está vinculado al alta y a las modificaciones del Modelo 036.
Esta guía cubre el Modelo 036. El Modelo 037 está superado y no se usa en este flujo de trabajo.
Puedes completar los datos censales de tres formas: obtenerlos de la AEAT, leerlos de un certificado que hayas descargado o introducirlos a mano. La obtención lee la consulta Mis Datos Censales de la AEAT y completa tu identidad y dirección; no puede acceder a los datos de régimen, así que esos los introduces tú.
La herramienta nunca presenta el Modelo 036, nunca envía cambios a la AEAT y nunca modifica los registros de la AEAT. La obtención solo lee y termina ahí.
Antes de empezar¶
Necesitas:
un perfil de contribuyente activo; consulta Configurar tu perfil de contribuyente
el identificador fiscal del contribuyente (NIF, CIF, DNI o NIE) guardado en ese perfil
tus datos censales tal como los tiene la AEAT: descripción y fecha de inicio de la actividad, régimen fiscal, régimen de IVA y datos de alta. Léelos de tu copia del Modelo 036 o de la sede de la AEAT.
Todas las órdenes de esta página necesitan la frase de contraseña de tu clave maestra; la herramienta te la pide. Los mensajes de la herramienta están en español.
Si aún no tienes ningún perfil, crea uno de forma no interactiva con --quiet (un simple profile create NAME abre en su lugar un asistente interactivo):
aeat config profile create me --quiet --tax-residence-jurisdiction-scope common_regime \
--entity-type natural_person --tax-id 12345678Z --name Ana --surnames Garcia Lopez \
--activity consultoriaaeat config profile create me --quiet --tax-residence-jurisdiction-scope common_regime `
--entity-type natural_person --tax-id 12345678Z --name Ana --surnames Garcia Lopez `
--activity consultoriaComprueba primero el perfil activo:
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 the active profile reports its status.
Por qué importan los datos censales¶
Los datos censales gobiernan los flujos de trabajo que dependen del perfil:
la fecha de inicio de la actividad evita que el calendario de presentaciones muestre obligaciones anteriores al inicio de tu actividad registrada
el régimen fiscal, el régimen de IVA y el régimen de Renta/IRPF determinan qué modelos y qué vías de cálculo se aplican
los datos de alta alimentan la derivación de obligaciones del calendario de presentaciones
Introdúcelos con cuidado. La aplicación trata tus entradas como datos declarados por el operador, no como datos verificados por la AEAT. El calendario de presentaciones informa de las obligaciones que dependen del censo con un aviso censo.enrolment_unverified y se niega a hacer una proyección estricta hasta que aceptes esa base; consulta Planificar tu calendario de presentaciones.
Introducir o corregir datos censales¶
Edita el perfil activo con el asistente:
aeat config profile edit <profile-name>aeat config profile edit <profile-name>El asistente recorre los campos del perfil, incluidos los respaldados por el censo. Para una actualización con guion, pasa las opciones de campo con --quiet. Indica tu propio perfil en lugar de docs-sequence-sandbox:
aeat --format json config profile edit docs-sequence-sandbox --quiet --activity \
consultoriaaeat --format json config profile edit docs-sequence-sandbox --quiet --activity `
consultoria{ "active_profile": "docs-sequence-sandbox", "command": "config.profile.edit", "notices": [], "result": { "profile_name": "docs-sequence-sandbox", "status": "updated" }, "schema_version": "2", "status": "success" }
aeat --format json config profile validate {edited_profile_name}aeat --format json config profile validate {edited_profile_name}{ "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 profile validates after you record the census facts.
Copia cada valor exactamente de tu copia del Modelo 036 o de la sede de la AEAT. No adivines un régimen ni una fecha de inicio.
Por qué importan los datos censales¶
La AEAT publica tu situación censal actual en Mis Datos Censales. Incorpórala al perfil activo. El primer paso ofrece una vista previa; el segundo realiza una nueva lectura autenticada y registra los hechos admisibles de esa lectura:
aeat config profile censo pullaeat config profile censo pullaeat config profile censo pull --applyaeat config profile censo pull --applyNo se escribe nada hasta que añadas --apply.
Advertencia
La CLI actual no convierte la vista previa del primer comando en una aprobación guardada. El comando --apply vuelve a leer AEAT y aplica esa nueva observación. Revisa el resultado de --apply antes de basarte en el perfil actualizado. Se está trabajando para exponer en este comando el ciclo de revisión-aplicación de línea base exacta capturado por la aplicación; hasta que llegue, no trates la vista previa anterior como el operando aplicado.
Autentícate primero; consulta Autenticarse con la AEAT. La obtención lee tu propio registro y toma tu identificador fiscal de la sesión autenticada, por lo que no puedes dirigirla a otro contribuyente.
Qué informa la obtención¶
Cada campo devuelve uno de tres resultados.
Adoptado: el perfil no tenía respuesta, o el valor procedía de una lectura censal anterior, de modo que --apply escribe el valor actual de AEAT. Una vista previa solo informa de lo que sería admisible.
Sin cambios: tú y la AEAT ya coincidís.
Divergente: tú y la AEAT no coincidís. La obtención informa de la diferencia y no escribe nada. Decide cuál es correcto y corrige después el perfil o tu censo. Un valor que hayas declarado nunca se sobrescribe. Un campo que hayas borrado deliberadamente permanece borrado, y la obtención te indica si la AEAT aún conserva un valor para él.
Una vez que la obtención ha completado un campo vacío, una obtención posterior actualiza ese mismo campo cuando cambia el valor de la AEAT. Lo completó ella, así que puede actualizarlo. Todo lo que hayas declarado tú sigue siendo tuyo.
Qué no puede completar la obtención¶
La obtención completa tu domicilio fiscal, código postal y referencia catastral.
No completa tu identificador fiscal. Lee tu identificador fiscal para confirmar que el registro devuelto por la AEAT es tuyo, pero nunca lo escribe.
No completa tus datos de régimen: actividad, régimen fiscal, régimen de IVA y alta. La AEAT no publica una superficie de solo lectura que los contenga. Introdúcelos a mano como se describe más abajo.
No separa tu nombre. La AEAT devuelve apellidos y nombre en una sola cadena, y una separación incorrecta es peor que un campo vacío, así que la obtención deja ambos sin cambios.
Si una obtención devuelve un registro cuyo identificador fiscal no coincide con el de tu perfil, se rechaza directamente en lugar de informar de una diferencia. Leer el censo de otra persona no es un desacuerdo que se pueda valorar.
Importa un Certificado de Situación Censal¶
La sede emite un Certificado de Situación Censal (procedimiento G313) que indica tus datos censales tal como los conserva la AEAT. Descárgalo tú desde la sede y después léelo desde el archivo en tu perfil. El primer paso muestra una vista previa; el segundo lo registra:
aeat config profile censo import --file certificado-g313.pdfaeat config profile censo import --file certificado-g313.pdfaeat config profile censo import --file certificado-g313.pdf --applyaeat config profile censo import --file certificado-g313.pdf --applyEl comando muestra los datos censales del certificado sin escribir nada. Añade --apply para registrarlos en el perfil activo.
Los datos registrados de este modo llevan una marca de evidencia no oficial: proceden de un documento que has aportado, no de una lectura confirmada por la AEAT; por eso, las vistas del perfil muestran su procedencia y sigue aplicándose el aviso censo.enrolment_unverified del calendario de presentación. Cuando un valor del certificado no coincide con una respuesta que diste durante la configuración, el perfil conserva un registro de la divergencia y aeat config profile view te avisa hasta que la resuelvas.
Nota
La lectura del contenido del certificado aún no está activa: el comando rechaza actualmente cualquier documento mientras se completa la cobertura de formatos de los certificados emitidos por la AEAT, y te lo indica. Hasta entonces, introduce los datos a mano como se ha descrito arriba. La interfaz del comando es estable y esta página se aplicará sin cambios cuando se active la lectura.
Registrar una presentación del Modelo 036 hecha fuera de Cadrumo¶
Si presentas un alta, una modificación o una baja del Modelo 036 en la sede de la AEAT, registra ese hecho localmente para que las presentaciones posteriores puedan basarse en él. Registrar una declaración del Modelo 036 que presentaste en la AEAT reúne las órdenes, la salida de éxito y lo que el registro cambia y no cambia. Después de registrar una presentación, actualiza los campos del perfil que la presentación haya cambiado.
Comprobar el perfil después¶
Valida el perfil activo tras editar los datos censales:
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" }
aeat --format json config profile validate {active_profile_name}aeat --format json config profile validate {active_profile_name}{ "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 active profile validates after the census edits.
Si el perfil sigue informando de datos que faltan, edita esos campos directamente:
aeat config profile edit <profile-name> --quiet --activity <value>aeat config profile edit <profile-name> --quiet --activity <value>Para comprobar la preparación de un modelo concreto, usa la comprobación de preparación del modelo:
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 readiness check runs for the target modelo and period.
Mantén los datos al día¶
Tu censo en la AEAT puede cambiar: una nueva actividad, un cambio de régimen o una baja.
Obtén los datos de nuevo para detectar cambios en tu identidad y dirección. La obtención informa de cualquier dato que la AEAT conserve ahora y que no esté en tu perfil.
Tu censo en la AEAT puede cambiar: una nueva actividad, un cambio de régimen, una baja. La aplicación no puede detectar esa desviación. Vuelve a contrastar el perfil con tu última copia del Modelo 036 cada vez que presentes un cambio en el censo, y antes de planificar un nuevo ejercicio de presentación.