Guía rápida: produzca un fichero de modelo

Usa esto cuando seas nuevo en Cadrumo y quieras el camino más corto desde tus registros locales hasta un fichero que puedas subir tú mismo por el portal de la Agencia Estatal de Administración Tributaria (AEAT).

Cadrumo, invocado como el comando aeat, prepara, comprueba y exporta ficheros locales para los formularios tributarios españoles. No presenta declaraciones ante la AEAT. Sigues siendo responsable de revisar y presentar por los canales oficiales de la AEAT.

Esta página sigue un camino completo: crear un perfil, añadir dos movimientos, y luego calcular, verificar y exportar un Modelo 130 para el primer trimestre de 2026. Todos los comandos siguientes se ejecutan en orden. Enlaza con guías más detalladas siempre que un paso tenga una configuración o unas opciones de revisión específicas de un impuesto.

Requisito: un perfil de contribuyente válido. El paso 1 de abajo crea uno; si ya tiene un perfil, omítelo. Configura tu perfil de contribuyente trata en profundidad cada pregunta del perfil.

Antes de empezar

Esta página supone que el comando aeat está instalado y en tu ruta. Confírmalo con:

1Confirm the command is installed and on your path.
aeat --version
aeat --version
CADRUMO 0.5.1
2Confirm the active profile is configured.
aeat --format json config profile status
aeat --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 command is installed and the active profile is ready.

Si no lo está, Instala Cadrumo explica la configuración completa, incluida la descarga del paquete y las integraciones opcionales.

La frase de contraseña y el código de recuperación opcional

aeat cifra cada perfil con su propia clave aleatoria, envuelta por la frase de contraseña de ese perfil. Una vez que el perfil existe, la creación en una terminal ofrece un código de recuperación opcional que permite restablecer una frase de contraseña olvidada; puedes omitirlo y activarlo más tarde con aeat config profile recovery enable. El primer comando que accede al almacén pide la frase de contraseña y la herramienta la reutiliza durante el resto de la sesión. Para ejecuciones desatendidas después de la creación, consulta Ejecuta sin solicitud de frase de contraseña.

La CLI muestra su ayuda y sus mensajes en español. El texto en inglés de esta página describe qué hace cada paso.

1. Create your taxpayer profile

Un perfil es tu registro personal de contribuyente dentro de la herramienta. Créalo con tus propios datos:

1Create your taxpayer profile interactively so the passphrase is chosen at the terminal.
aeat config profile create me
aeat config profile create me
2Confirm the selected profile is active before adding taxpayer facts and ledger rows.
aeat --format json config profile list
aeat --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 profile creation prompts for the passphrase at a terminal and the selected profile is active.

El asistente recoge el nombre y los apellidos que exige la presentación y la fecha de inicio de actividad que deja fuera períodos anteriores. El perfil se publica con su frase de contraseña como única puerta; la recuperación se ofrece después y es opcional.

Confirma que el perfil activo está configurado y listo:

1Read the active profile status.
aeat --format json config profile status
aeat --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 is configured and ready.

La configuración del perfil puede hacer muchas más preguntas fiscales. Usa Configura tu perfil de contribuyente para elegir las respuestas correctas, ver todos los grupos de preguntas del perfil, listar o cambiar perfiles, y exportar o importar un perfil existente.

2. Add your transactions

El cálculo del impuesto usa los registros de ingresos y gastos de su ledger. Hay dos formas de añadirlos.

La más sencilla es añadir cada fila directamente con sus campos fiscales. --amount es el total bruto (base imponible más IVA); una fila de gasto también necesita un --category-id de las familias de gasto reconocidas. La --idempotency-key de cada fila hace seguro reejecutarla sin añadir un duplicado:

1Add the income row directly with its tax fields.
aeat --format json app ledger add --date 2026-02-10 --amount 1210 --direction INCOMING \
  --description venta --classification BUSINESS --taxable-base 1000 --iva-rate 0.21 \
  --iva-amount 210 --idempotency-key qs-venta
aeat --format json app ledger add --date 2026-02-10 --amount 1210 --direction INCOMING `
  --description venta --classification BUSINESS --taxable-base 1000 --iva-rate 0.21 `
  --iva-amount 210 --idempotency-key qs-venta
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.add",
  "notices": [],
  "result": {
    "bucket_event_ids": [
      "1522c49175ccd868270f0303b3c682a4f6df5c510a5cde5e0c3e04c8cf2f55ab"
    ],
    "bucket_id": "<bucket-id>",
    "review_status": "reviewed",
    "transaction": {
      "amount": "1210",
      "attachment_ids": [],
      "booked_date": "2026-02-10",
      "business_classification": "BUSINESS",
      "business_pct": null,
      "category_id": null,
      "classification_confidence": "1",
      "classification_reason": "aeat app ledger add",
      "classified_at": "2026-04-01T09:00:00+00:00",
      "classified_by": "manual",
      "counterparty": "",
      "counterparty_country": null,
      "counterparty_identification_state": null,
      "created_at": "2026-04-01T09:00:00+00:00",
      "currency": "EUR",
      "date": "2026-02-10",
      "description": "venta",
      "direction": "INCOMING",
      "fx_rate": null,
      "invoice_id": null,
      "irpf_category": null,
      "iva_amount": "210",
      "iva_category": null,
      "iva_rate": "0.21",
      "lifecycle_state": "ACTIVE",
      "m210_income_classification": null,
      "modified_at": "2026-04-01T09:00:00+00:00",
      "notes": "",
      "prorrata_reference": null,
      "purchase_invoice_evidence_id": null,
      "source_jurisdiction": "ES",
      "taxable_base": "1000",
      "transaction_id": "5e530ccb8059c3819f61c3257961f6cb67c1d8654830c318d303d4bc53149303",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "5e530ccb8059c3819f61c3257961f6cb67c1d8654830c318d303d4bc53149303"
  },
  "schema_version": "2",
  "status": "success"
}
2Add the deductible expense row with its expense category.
aeat --format json app ledger add --date 2026-02-11 --amount 605 --direction OUTGOING \
  --description compra --classification BUSINESS --category-id material_oficina \
  --taxable-base 500 --iva-rate 0.21 --iva-amount 105 --idempotency-key qs-compra
aeat --format json app ledger add --date 2026-02-11 --amount 605 --direction OUTGOING `
  --description compra --classification BUSINESS --category-id material_oficina `
  --taxable-base 500 --iva-rate 0.21 --iva-amount 105 --idempotency-key qs-compra
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.add",
  "notices": [],
  "result": {
    "bucket_event_ids": [
      "3d0f474c1c95199ecf9c2c1e3603cb3a97a0772619446976bd732107d84a7c83"
    ],
    "bucket_id": "<bucket-id>",
    "review_status": "reviewed",
    "transaction": {
      "amount": "605",
      "attachment_ids": [],
      "booked_date": "2026-02-11",
      "business_classification": "BUSINESS",
      "business_pct": null,
      "category_id": "material_oficina",
      "classification_confidence": "1",
      "classification_reason": "aeat app ledger add",
      "classified_at": "2026-04-01T09:00:00+00:00",
      "classified_by": "manual",
      "counterparty": "",
      "counterparty_country": null,
      "counterparty_identification_state": null,
      "created_at": "2026-04-01T09:00:00+00:00",
      "currency": "EUR",
      "date": "2026-02-11",
      "description": "compra",
      "direction": "OUTGOING",
      "fx_rate": null,
      "invoice_id": null,
      "irpf_category": null,
      "iva_amount": "105",
      "iva_category": null,
      "iva_rate": "0.21",
      "lifecycle_state": "ACTIVE",
      "m210_income_classification": null,
      "modified_at": "2026-04-01T09:00:00+00:00",
      "notes": "",
      "prorrata_reference": null,
      "purchase_invoice_evidence_id": null,
      "source_jurisdiction": "ES",
      "taxable_base": "500",
      "transaction_id": "e28390f0817dac6833a309cae6ddca6eeba53fd963c2ceb65168a5ee123341d6",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "e28390f0817dac6833a309cae6ddca6eeba53fd963c2ceb65168a5ee123341d6"
  },
  "schema_version": "2",
  "status": "success"
}
3List the ledger to confirm both rows.
aeat --format json app ledger list
aeat --format json app ledger list
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.list",
  "notices": [],
  "result": {
    "bucket_id": "<bucket-id>",
    "limit": null,
    "offset": 0,
    "rows": [
      {
        "amount": "1210",
        "attachment_ids": [],
        "booked_date": "2026-02-10",
        "business_classification": "BUSINESS",
        "business_pct": null,
        "category_id": null,
        "classification_confidence": "1",
        "classification_reason": "aeat app ledger add",
        "classified_at": "2026-04-01T09:00:00+00:00",
        "classified_by": "manual",
        "counterparty": "",
        "counterparty_country": null,
        "counterparty_identification_state": null,
        "created_at": "2026-04-01T09:00:00+00:00",
        "currency": "EUR",
        "date": "2026-02-10",
        "description": "venta",
        "direction": "INCOMING",
        "display_id": "5e530ccb",
        "full_id": "5e530ccb8059c3819f61c3257961f6cb67c1d8654830c318d303d4bc53149303",
        "fx_rate": null,
        "group_label": null,
        "invoice_id": null,
        "irpf_category": null,
        "iva_amount": "210",
        "iva_category": null,
        "iva_rate": "0.21",
        "lifecycle_state": "ACTIVE",
        "m210_income_classification": null,
        "modified_at": "2026-04-01T09:00:00+00:00",
        "notes": "",
        "prorrata_reference": null,
        "purchase_invoice_evidence_id": null,
        "review_status": "reviewed",
        "source_jurisdiction": "ES",
        "taxable_base": "1000",
        "transaction_id": "5e530ccb8059c3819f61c3257961f6cb67c1d8654830c318d303d4bc53149303",
        "usage_ratio_id": null,
        "value_date": null,
        "value_in_eur": null
      },
      {
        "amount": "605",
        "attachment_ids": [],
        "booked_date": "2026-02-11",
        "business_classification": "BUSINESS",
        "business_pct": null,
        "category_id": "material_oficina",
        "classification_confidence": "1",
        "classification_reason": "aeat app ledger add",
        "classified_at": "2026-04-01T09:00:00+00:00",
        "classified_by": "manual",
        "counterparty": "",
        "counterparty_country": null,
        "counterparty_identification_state": null,
        "created_at": "2026-04-01T09:00:00+00:00",
        "currency": "EUR",
        "date": "2026-02-11",
        "description": "compra",
        "direction": "OUTGOING",
        "display_id": "e28390f0",
        "full_id": "e28390f0817dac6833a309cae6ddca6eeba53fd963c2ceb65168a5ee123341d6",
        "fx_rate": null,
        "group_label": null,
        "invoice_id": null,
        "irpf_category": null,
        "iva_amount": "105",
        "iva_category": null,
        "iva_rate": "0.21",
        "lifecycle_state": "ACTIVE",
        "m210_income_classification": null,
        "modified_at": "2026-04-01T09:00:00+00:00",
        "notes": "",
        "prorrata_reference": null,
        "purchase_invoice_evidence_id": null,
        "review_status": "reviewed",
        "source_jurisdiction": "ES",
        "taxable_base": "500",
        "transaction_id": "e28390f0817dac6833a309cae6ddca6eeba53fd963c2ceb65168a5ee123341d6",
        "usage_ratio_id": null,
        "value_date": null,
        "value_in_eur": null
      }
    ],
    "shown": 2,
    "total": 2,
    "truncated": false
  },
  "schema_version": "2",
  "status": "success"
}

Confirm both classified rows land in the ledger.

Lista las categorías de gasto reconocidas en cualquier momento:

1List the recognised expense categories.
aeat --format json app ledger categories
aeat --format json app ledger categories
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.categories",
  "notices": [],
  "result": {
    "category_ids": [
      "cuotas_colegiales",
      "cuotas_autonomos_ss",
      "mutualidad_alternativa",
      "arrendamiento_local",
      "arrendamiento_vivienda_afecto",
      "ibi_local_afecto",
      "suministros_local_afecto",
      "suministros_home_office_luz",
      "suministros_home_office_agua",
      "suministros_home_office_gas",
      "suministros_home_office_internet",
      "amortizacion_vivienda_afecto",
      "ibi_vivienda_afecto",
      "comunidad_vivienda_afecto",
      "telefonia_movil",
      "telefonia_fija",
      "material_oficina",
      "software_suscripcion",
      "hardware_amortizable",
      "mobiliario_amortizable",
      "reparaciones_conservacion",
      "vehiculo_combustible",
      "vehiculo_mantenimiento",
      "vehiculo_seguro",
      "vehiculo_peaje",
      "vehiculo_parking",
      "manutencion_dietas_nacional",
      "manutencion_dietas_extranjero",
      "asesoria_fiscal",
      "asesoria_juridica",
      "asesoria_contable",
      "publicidad_marketing",
      "formacion_profesional",
      "viajes_transporte",
      "viajes_alojamiento",
      "seguros_responsabilidad_civil",
      "seguros_salud_autonomo",
      "gastos_bancarios",
      "gastos_financieros",
      "suministros_cliente_directos",
      "subcontratacion",
      "tributos_fiscalmente_deducibles"
    ],
    "families": [
      {
        "category_ids": [
          "cuotas_colegiales",
          "cuotas_autonomos_ss",
          "mutualidad_alternativa"
        ],
        "family": "social_security"
      },
      {
        "category_ids": [
          "arrendamiento_local",
          "ibi_local_afecto",
          "suministros_local_afecto"
        ],
        "family": "premises"
      },
      {
        "category_ids": [
          "suministros_home_office_luz",
          "suministros_home_office_agua",
          "suministros_home_office_gas",
          "suministros_home_office_internet",
          "telefonia_fija"
        ],
        "family": "home_office_suministros"
      },
      {
        "category_ids": [
          "amortizacion_vivienda_afecto",
          "ibi_vivienda_afecto",
          "comunidad_vivienda_afecto",
          "arrendamiento_vivienda_afecto"
        ],
        "family": "home_office_ownership"
      },
      {
        "category_ids": [
          "telefonia_movil"
        ],
        "family": "telecoms"
      },
      {
        "category_ids": [
          "material_oficina",
          "software_suscripcion",
          "hardware_amortizable",
          "mobiliario_amortizable",
          "reparaciones_conservacion",
          "publicidad_marketing",
          "formacion_profesional"
        ],
        "family": "office"
      },
      {
        "category_ids": [
          "vehiculo_combustible",
          "vehiculo_mantenimiento",
          "vehiculo_seguro",
          "vehiculo_peaje",
          "vehiculo_parking"
        ],
        "family": "vehicle"
      },
      {
        "category_ids": [
          "manutencion_dietas_nacional",
          "manutencion_dietas_extranjero"
        ],
        "family": "meals"
      },
      {
        "category_ids": [
          "asesoria_fiscal",
          "asesoria_juridica",
          "asesoria_contable"
        ],
        "family": "professional_services"
      },
      {
        "category_ids": [
          "viajes_transporte",
          "viajes_alojamiento"
        ],
        "family": "travel"
      },
      {
        "category_ids": [
          "seguros_responsabilidad_civil",
          "seguros_salud_autonomo"
        ],
        "family": "insurance"
      },
      {
        "category_ids": [
          "gastos_bancarios",
          "gastos_financieros"
        ],
        "family": "financial"
      },
      {
        "category_ids": [
          "suministros_cliente_directos",
          "subcontratacion"
        ],
        "family": "direct_costs"
      },
      {
        "category_ids": [
          "tributos_fiscalmente_deducibles"
        ],
        "family": "taxes"
      }
    ],
    "income_requires_category": false,
    "irpf_categories": [
      {
        "directions": [
          "INCOMING",
          "OUTGOING"
        ],
        "id": "actividad_economica",
        "net_paid_invoice": true,
        "purpose": "activity_income_withholding",
        "related_category_ids": [
          "asesoria_contable",
          "asesoria_fiscal",
          "asesoria_juridica"
        ]
      },
      {
        "directions": [
          "OUTGOING"
        ],
        "id": "arrendamiento_local",
        "net_paid_invoice": true,
        "purpose": "rent_expense_withholding",
        "related_category_ids": [
          "arrendamiento_local"
        ]
      },
      {
        "directions": [
          "OUTGOING"
        ],
        "id": "arrendamiento_vivienda_afecto",
        "net_paid_invoice": true,
        "purpose": "rent_expense_withholding",
        "related_category_ids": [
          "arrendamiento_vivienda_afecto"
        ]
      },
      {
        "directions": [
          "INCOMING"
        ],
        "id": "trabajo",
        "net_paid_invoice": false,
        "purpose": "employment_income",
        "related_category_ids": []
      }
    ],
    "irpf_category_ids": [
      "actividad_economica",
      "arrendamiento_local",
      "arrendamiento_vivienda_afecto",
      "trabajo"
    ],
    "net_paid_withholding_irpf_category_ids": [
      "actividad_economica",
      "arrendamiento_local",
      "arrendamiento_vivienda_afecto"
    ]
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the expense category catalogue lists.

Si en cambio tiene un extracto bancario exportado, impórtalo. aeat lee un CSV delimitado por punto y coma, con decimales de coma y un Importe negativo para el dinero que sale de la cuenta:

Fecha operación;Fecha valor;Concepto;Importe;Saldo;Moneda
2026-02-10;2026-02-10;venta;1210,00;1210,00;EUR
2026-02-11;2026-02-11;compra;-605,00;605,00;EUR

Previsualiza la importación y luego ejecútala de verdad (se muestra como ejemplo ilustrativo, ya que ejecutarla aquí duplicaría las dos filas añadidas arriba):

1Import bank statements or records into the accounting ledger
aeat app ledger import --file ./statement.csv --provider auto --dry-run
aeat app ledger import --file ./statement.csv --provider auto --dry-run
2Import bank statements or records into the accounting ledger
aeat app ledger import --file ./statement.csv --provider auto
aeat app ledger import --file ./statement.csv --provider auto

Las filas importadas llegan sin categoría fiscal y deben clasificarse antes de que cuenten en un cálculo (consulta el paso siguiente). Las filas de ledger add de arriba ya están clasificadas, así que puede pasar directamente al paso 4.

Usa Importa y gestiona los movimientos para el flujo completo de movimientos: importar, añadir, actualizar, eliminar, revisar, clasificar, asignar y ejecutar comprobaciones de preparación.

3. Classify imported transactions

Cada movimiento importado no tiene categoría fiscal hasta que lo clasifica. La clasificación le dice a aeat si una fila es un gasto de negocio, un gasto personal o una mezcla de ambos. Toma el id del movimiento de la salida de la fila, clasifícalo y comprueba que el trimestre está listo:

1Add the expense row, then take its id from the output.
aeat --format json app ledger add --date 2026-02-11 --amount 605 --direction OUTGOING \
  --description compra --classification BUSINESS --category-id material_oficina \
  --taxable-base 500 --iva-rate 0.21 --iva-amount 105 --idempotency-key qs-compra
aeat --format json app ledger add --date 2026-02-11 --amount 605 --direction OUTGOING `
  --description compra --classification BUSINESS --category-id material_oficina `
  --taxable-base 500 --iva-rate 0.21 --iva-amount 105 --idempotency-key qs-compra
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.add",
  "notices": [],
  "result": {
    "bucket_event_ids": [
      "3d0f474c1c95199ecf9c2c1e3603cb3a97a0772619446976bd732107d84a7c83"
    ],
    "bucket_id": "<bucket-id>",
    "review_status": "reviewed",
    "transaction": {
      "amount": "605",
      "attachment_ids": [],
      "booked_date": "2026-02-11",
      "business_classification": "BUSINESS",
      "business_pct": null,
      "category_id": "material_oficina",
      "classification_confidence": "1",
      "classification_reason": "aeat app ledger add",
      "classified_at": "2026-04-01T09:00:00+00:00",
      "classified_by": "manual",
      "counterparty": "",
      "counterparty_country": null,
      "counterparty_identification_state": null,
      "created_at": "2026-04-01T09:00:00+00:00",
      "currency": "EUR",
      "date": "2026-02-11",
      "description": "compra",
      "direction": "OUTGOING",
      "fx_rate": null,
      "invoice_id": null,
      "irpf_category": null,
      "iva_amount": "105",
      "iva_category": null,
      "iva_rate": "0.21",
      "lifecycle_state": "ACTIVE",
      "m210_income_classification": null,
      "modified_at": "2026-04-01T09:00:00+00:00",
      "notes": "",
      "prorrata_reference": null,
      "purchase_invoice_evidence_id": null,
      "source_jurisdiction": "ES",
      "taxable_base": "500",
      "transaction_id": "e28390f0817dac6833a309cae6ddca6eeba53fd963c2ceb65168a5ee123341d6",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "e28390f0817dac6833a309cae6ddca6eeba53fd963c2ceb65168a5ee123341d6"
  },
  "schema_version": "2",
  "status": "success"
}
2Classify the transaction as a business expense.
aeat --format json app ledger classify {transaction_id} --classification BUSINESS \
  --category-id material_oficina
aeat --format json app ledger classify {transaction_id} --classification BUSINESS `
  --category-id material_oficina
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.classify",
  "notices": [],
  "result": {
    "bucket_event_ids": [],
    "bucket_id": "<bucket-id>",
    "review_status": "reviewed",
    "transaction": {
      "amount": "605",
      "attachment_ids": [],
      "booked_date": "2026-02-11",
      "business_classification": "BUSINESS",
      "business_pct": null,
      "category_id": "material_oficina",
      "classification_confidence": "1",
      "classification_reason": "aeat app ledger add",
      "classified_at": "2026-04-01T09:00:00+00:00",
      "classified_by": "manual",
      "counterparty": "",
      "counterparty_country": null,
      "counterparty_identification_state": null,
      "created_at": "2026-04-01T09:00:00+00:00",
      "currency": "EUR",
      "date": "2026-02-11",
      "description": "compra",
      "direction": "OUTGOING",
      "fx_rate": null,
      "invoice_id": null,
      "irpf_category": null,
      "iva_amount": "105",
      "iva_category": null,
      "iva_rate": "0.21",
      "lifecycle_state": "ACTIVE",
      "m210_income_classification": null,
      "modified_at": "2026-04-01T09:00:00+00:00",
      "notes": "",
      "prorrata_reference": null,
      "purchase_invoice_evidence_id": null,
      "source_jurisdiction": "ES",
      "taxable_base": "500",
      "transaction_id": "e28390f0817dac6833a309cae6ddca6eeba53fd963c2ceb65168a5ee123341d6",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "e28390f0817dac6833a309cae6ddca6eeba53fd963c2ceb65168a5ee123341d6"
  },
  "schema_version": "2",
  "status": "success"
}
3Check the quarter's rows are ready to calculate.
aeat --format json app ledger preflight --year 2026 --period 1T
aeat --format json app ledger preflight --year 2026 --period 1T
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.preflight",
  "notices": [],
  "result": {
    "bucket_id": "<bucket-id>",
    "checked_transaction_count": 1,
    "issues": [],
    "period": {
      "code": "1T",
      "filing_year": 2026
    },
    "ready": true
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the classified quarter passes the ledger preflight.

preflight informa de si las filas del trimestre están listas para calcular.

Usa Clasifica los movimientos para el recorrido de revisión detallado, incluida la clasificación manual, la clasificación masiva por CSV, la asignación de uso mixto, los campos fiscales y las sugerencias opcionales del LLM.

4. Create, calculate, and verify the draft

Con el perfil y un ledger clasificado en su sitio, prepara el borrador del Modelo 130 para el primer trimestre de 2026, calcúlalo y verifícalo. Un modelo es un formulario tributario español, y el año más el periodo identifican la presentación que está preparando.

1Create a Modelo 130 draft for the first quarter of 2026.
aeat --format json app modelo work create --modelo 130 --year 2026 --period 1T
aeat --format json app modelo work create --modelo 130 --year 2026 --period 1T
{
  "active_profile": "docs-sequence-sandbox",
  "command": "modelo.work.create",
  "notices": [],
  "result": {
    "applicability_guard_bypassed": false,
    "bucket_id": "<bucket-id>",
    "causante_ccaa": null,
    "created_at": "2026-04-01T09:00:00+00:00",
    "current_calculation_revision_id": null,
    "current_filing_record_id": null,
    "discard_reason": null,
    "discarded_at": null,
    "discarded_by": null,
    "filed_calculation_revision_id": null,
    "filing_year": 2026,
    "modelo": "130",
    "name": "130-2026-1T",
    "name_applied": null,
    "operation": "modelo.work.create",
    "period": {
      "code": "1T",
      "filing_year": 2026
    },
    "revision_id": "2019-y-siguientes",
    "short_current_calculation_revision_id": null,
    "short_filed_calculation_revision_id": null,
    "short_work_unit_id": "3d88172f4204",
    "state": "borrador",
    "status": "created",
    "status_message": "New work unit created.",
    "updated_at": "2026-04-01T09:00:00+00:00",
    "work_unit_id": "ca5815c72d1ed564e582924ad157fd1c3349eba45264da2a7b843d88172f4204"
  },
  "schema_version": "2",
  "status": "success"
}
2Calculate the draft from the classified ledger.
aeat --format json app modelo work calculate {work_unit_id} --binding \
  modelo-130-resultados-negativos-anteriores=0 --binding \
  modelo-130-pagos-fraccionados-anteriores=0 --binding \
  irpf.previous_year_economic_activity_net_income=0
aeat --format json app modelo work calculate {work_unit_id} --binding `
  modelo-130-resultados-negativos-anteriores=0 --binding `
  modelo-130-pagos-fraccionados-anteriores=0 --binding `
  irpf.previous_year_economic_activity_net_income=0
{
  "active_profile": "docs-sequence-sandbox",
  "command": "modelo.work.calculate",
  "notices": [],
  "result": {
    "authorization_state": null,
    "binding_overrides": {
      "irpf.previous_year_economic_activity_net_income": "0",
      "modelo-130-actividad-economica-gastos-cumulative": "500",
      "modelo-130-actividad-economica-ingresos-cumulative": "1000",
      "modelo-130-actividad-economica-ingresos-taxable-base-cumulative": "1000",
      "modelo-130-actividad-economica-rendimiento-neto-cumulative": "1000",
      "modelo-130-actividad-economica-retenciones-cumulative": "0",
      "modelo-130-pagos-fraccionados-anteriores": "0",
      "modelo-130-resultados-negativos-anteriores": "0"
    },
    "calculation_revision_id": "3a61188424119a738f36405a23757e455ca1f9aeeb4f6ee401f92bffd3fbe8ba",
    "casilla_values": {
      "01": "1000",
      "02": "500",
      "03": "500.00",
      "04": "100.00",
      "05": "0",
      "06": "0",
      "07": "100.00",
      "08": "0",
      "09": "0.00",
      "10": "0",
      "11": "0.00",
      "12": "100.00",
      "13": "100.00",
      "14": "0.00",
      "15": "0.00",
      "16": "0",
      "17": "0.00",
      "18": "0",
      "19": "0.00",
      "saldo-negativo-fin-periodo": "0.00"
    },
    "created_at": "2026-04-01T09:00:00+00:00",
    "deadline": {
      "closes_on": "2026-04-20",
      "conditional_recargo_preview": null,
      "days_overdue": null,
      "days_remaining": 19
    },
    "detail_rows": [],
    "filed_at": null,
    "filed_by": null,
    "input_values_by_casilla_id": {
      "01": "1000",
      "02": "500",
      "05": "0",
      "06": "0"
    },
    "modality": null,
    "modality_reason": null,
    "observations": [
      {
        "absent_by_design": false,
        "casilla_id": "01",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95",
          "ley-35-2006:art-27",
          "ley-35-2006:art-28"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "1000"
      },
      {
        "absent_by_design": false,
        "casilla_id": "02",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95",
          "ley-35-2006:art-28",
          "ley-35-2006:art-30"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "500"
      },
      {
        "absent_by_design": false,
        "casilla_id": "03",
        "formula_id": "modelo-130-rendimiento-neto",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "subtract",
        "operand_casilla_refs": [
          "01",
          "02"
        ],
        "operand_refs": [
          "01",
          "02"
        ],
        "operand_values": [
          "1000",
          "500"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "500.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "04",
        "formula_id": "modelo-130-pago-fraccionado-directa",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "max",
        "operand_casilla_refs": [
          "03"
        ],
        "operand_refs": [
          "03",
          "irpf.direct_estimation_fractional_payment_rate"
        ],
        "operand_values": [
          "500.00",
          "20"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "100.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "05",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0"
      },
      {
        "absent_by_design": false,
        "casilla_id": "06",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0"
      },
      {
        "absent_by_design": false,
        "casilla_id": "07",
        "formula_id": "modelo-130-resultado-apartado-i",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "subtract",
        "operand_casilla_refs": [
          "04",
          "05",
          "06"
        ],
        "operand_refs": [
          "04",
          "05",
          "06"
        ],
        "operand_values": [
          "100.00",
          "0",
          "0"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "100.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "08",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0"
      },
      {
        "absent_by_design": false,
        "casilla_id": "09",
        "formula_id": "modelo-130-pago-fraccionado-agrario",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "percent",
        "operand_casilla_refs": [
          "08"
        ],
        "operand_refs": [
          "08",
          "irpf.agriculture_fractional_payment_rate"
        ],
        "operand_values": [
          "0",
          "2"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "10",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0"
      },
      {
        "absent_by_design": false,
        "casilla_id": "11",
        "formula_id": "modelo-130-resultado-apartado-ii",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "subtract",
        "operand_casilla_refs": [
          "09",
          "10"
        ],
        "operand_refs": [
          "09",
          "10"
        ],
        "operand_values": [
          "0.00",
          "0"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "12",
        "formula_id": "modelo-130-suma-parciales",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "max",
        "operand_casilla_refs": [
          "07",
          "11"
        ],
        "operand_refs": [
          "07",
          "11"
        ],
        "operand_values": [
          "100.00",
          "0.00"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "100.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "13",
        "formula_id": "modelo-130-minoracion-rendimientos-netos",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "if_then_else",
        "operand_casilla_refs": [],
        "operand_refs": [
          "irpf.previous_year_economic_activity_net_income"
        ],
        "operand_values": [
          "0"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "100.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "14",
        "formula_id": "modelo-130-neto-tras-minoracion",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "subtract",
        "operand_casilla_refs": [
          "12",
          "13"
        ],
        "operand_refs": [
          "12",
          "13"
        ],
        "operand_values": [
          "100.00",
          "100.00"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "15",
        "formula_id": "modelo-130-resultados-negativos-anteriores-cap",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "min",
        "operand_casilla_refs": [
          "14"
        ],
        "operand_refs": [
          "modelo-130-resultados-negativos-anteriores",
          "14"
        ],
        "operand_values": [
          "0",
          "0.00"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "16",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0"
      },
      {
        "absent_by_design": false,
        "casilla_id": "17",
        "formula_id": "modelo-130-diferencia",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "subtract",
        "operand_casilla_refs": [
          "14",
          "15",
          "16"
        ],
        "operand_refs": [
          "14",
          "15",
          "16"
        ],
        "operand_values": [
          "0.00",
          "0.00",
          "0"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "18",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0"
      },
      {
        "absent_by_design": false,
        "casilla_id": "19",
        "formula_id": "modelo-130-resultado-final",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "subtract",
        "operand_casilla_refs": [
          "17",
          "18"
        ],
        "operand_refs": [
          "17",
          "18"
        ],
        "operand_values": [
          "0.00",
          "0"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "saldo-negativo-fin-periodo",
        "formula_id": "modelo-130-saldo-negativo-fin-periodo",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "max",
        "operand_casilla_refs": [
          "17"
        ],
        "operand_refs": [
          "17"
        ],
        "operand_values": [
          "0.00"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      }
    ],
    "operation": "modelo.work.calculate",
    "registry_snapshot_ref": {
      "modelo": "130",
      "modelo_year": 2026,
      "period": "1T",
      "revision_id": "2019-y-siguientes"
    },
    "relation_overrides": {},
    "result_summary": [
      {
        "casilla_id": "03",
        "label": "Net yield",
        "role": "key_figure",
        "value": "500.00"
      },
      {
        "casilla_id": "04",
        "label": "Fractional payment amount",
        "role": "key_figure",
        "value": "100.00"
      },
      {
        "casilla_id": "07",
        "label": "Partial result of Section I",
        "role": "key_figure",
        "value": "100.00"
      },
      {
        "casilla_id": "09",
        "label": "Fractional payment amount",
        "role": "key_figure",
        "value": "0.00"
      },
      {
        "casilla_id": "11",
        "label": "Partial result of Section II",
        "role": "key_figure",
        "value": "0.00"
      },
      {
        "casilla_id": "12",
        "label": "Sum of partial results",
        "role": "key_figure",
        "value": "100.00"
      },
      {
        "casilla_id": "13",
        "label": "Reduction for net yields",
        "role": "key_figure",
        "value": "100.00"
      },
      {
        "casilla_id": "14",
        "label": "Net amount after reduction",
        "role": "key_figure",
        "value": "0.00"
      },
      {
        "casilla_id": "17",
        "label": "Difference",
        "role": "key_figure",
        "value": "0.00"
      },
      {
        "casilla_id": "19",
        "label": "Final result",
        "role": "key_figure",
        "value": "0.00"
      }
    ],
    "saved": true,
    "saved_confirmation": "Saved as draft calculation revision 3a61188424119a738f36405a23757e455ca1f9aeeb4f6ee401f92bffd3fbe8ba (state: draft). It is persisted and can be resumed later.",
    "source_provenance": [
      {
        "contributor_binding_source": "ledger_renta_income_aggregation",
        "contributor_source_kind": "ledger_renta_income_aggregation",
        "dependency_treatment": "",
        "fingerprint": null,
        "lineage_role": "primary",
        "parent_source_ref": null,
        "resolved_binding_source": "ledger_renta_income_aggregation",
        "resolver_id": "ledger_renta_income_aggregation",
        "source_ref": "transaction:5e530ccb8059c3819f61c3257961f6cb67c1d8654830c318d303d4bc53149303"
      },
      {
        "contributor_binding_source": "ledger_renta_gastos_pago_fraccionado_aggregation",
        "contributor_source_kind": "ledger_renta_gastos_pago_fraccionado_aggregation",
        "dependency_treatment": "",
        "fingerprint": null,
        "lineage_role": "primary",
        "parent_source_ref": null,
        "resolved_binding_source": "ledger_renta_gastos_pago_fraccionado_aggregation",
        "resolver_id": "ledger_renta_gastos_pago_fraccionado_aggregation",
        "source_ref": "transaction:e28390f0817dac6833a309cae6ddca6eeba53fd963c2ceb65168a5ee123341d6"
      },
      {
        "contributor_binding_source": "previous_filing",
        "contributor_source_kind": "previous_filing",
        "dependency_treatment": "factual_evidence",
        "fingerprint": null,
        "lineage_role": "primary",
        "parent_source_ref": null,
        "resolved_binding_source": "previous_filing",
        "resolver_id": "previous_filing",
        "source_ref": "100:2025:0A:irpf.previous_year_economic_activity_net_income"
      }
    ],
    "state": "borrador",
    "superseded_at": null,
    "updated_at": "2026-04-01T09:00:00+00:00",
    "verified_at": null,
    "verified_by": null,
    "work_unit_id": "ca5815c72d1ed564e582924ad157fd1c3349eba45264da2a7b843d88172f4204"
  },
  "schema_version": "2",
  "status": "success"
}
3Verify the draft before exporting.
aeat --format json app modelo work verify {calculation_revision_id}
aeat --format json app modelo work verify {calculation_revision_id}
{
  "active_profile": "docs-sequence-sandbox",
  "command": "modelo.work.verify",
  "notices": [
    {
      "action": null,
      "code": "modelo.work.verify.finding.advisory",
      "context": {
        "activity_start_date": "2026-01-01",
        "kind": "advisory",
        "legal_refs": "rd-1065-2007:art-9",
        "origin_code": "previous_filing_binding",
        "severity": "warning",
        "source_filing_year": "2025",
        "source_modelo": "100",
        "source_period": "0A",
        "source_refs": "aeat-dr-130-2019-v12, aeat-modelo-130-instructions"
      },
      "message": "Modelo 100 2025 0A is suppressed by operator declaration (previous_filing_binding), with declared activity start date 2026-01-01.",
      "severity": "warning"
    },
    {
      "action": null,
      "code": "modelo.work.verify.finding.advisory",
      "context": {
        "binding_id": "5e530ccb8059c3819f61c3257961f6cb67c1d8654830c318d303d4bc53149303",
        "diagnostic_reason_code": "missing_transaction_evidence",
        "kind": "advisory",
        "legal_refs": "ley-37-1992:art-97, rd-1619-2012:art-2",
        "severity": "warning",
        "source_kind_code": "output_iva_evidence",
        "source_refs": "aeat-dr-130-2019-v12, aeat-modelo-130-instructions"
      },
      "message": "An output transaction has no supporting evidence (binding 5e530ccb8059c3819f61c3257961f6cb67c1d8654830c318d303d4bc53149303, source output_iva_evidence, reason missing_transaction_evidence).",
      "severity": "warning"
    }
  ],
  "result": {
    "calculation_revision_id": "3a61188424119a738f36405a23757e455ca1f9aeeb4f6ee401f92bffd3fbe8ba",
    "completeness_status": "complete",
    "findings": [
      {
        "action": null,
        "casilla_id": null,
        "expectation_id": null,
        "kind": "advisory",
        "legal_refs": [
          "rd-1065-2007:art-9"
        ],
        "message": "Modelo 100 2025 0A is suppressed by operator declaration (previous_filing_binding), with declared activity start date 2026-01-01.",
        "severity": "warning",
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ]
      },
      {
        "action": null,
        "casilla_id": null,
        "expectation_id": null,
        "kind": "advisory",
        "legal_refs": [
          "ley-37-1992:art-97",
          "rd-1619-2012:art-2"
        ],
        "message": "An output transaction has no supporting evidence (binding 5e530ccb8059c3819f61c3257961f6cb67c1d8654830c318d303d4bc53149303, source output_iva_evidence, reason missing_transaction_evidence).",
        "severity": "warning",
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ]
      }
    ],
    "granted_verificado_completo": true,
    "missing_required_casilla_ids": [],
    "operation": "modelo.work.verify",
    "registry_snapshot_ref": {
      "modelo": "130",
      "modelo_year": 2026,
      "period": "1T",
      "revision_id": "2019-y-siguientes"
    },
    "resolved_casilla_ids": [],
    "run_at": "2026-04-01T09:00:00+00:00",
    "verification_report_id": "bf438b1e9a9e29e96aa5c6491ff99ff541ee2589be7d5c799b6f01e97cc4a545",
    "verified_by": "docs-sequence-sandbox"
  },
  "schema_version": "2",
  "status": "warning"
}

Confirm the draft passed verification before you file it.

Lee los marcos en orden:

  • Crea el borrador. El comando crea su espacio de trabajo de presentación para ese formulario si aún no existe uno; ejecutarlo de nuevo devuelve el espacio de trabajo existente. --period 1T significa el primer trimestre. Otros códigos de periodo son 2T, 3T, 4T para los trimestres siguientes y 0A para una presentación anual.

  • Calcula los valores. El Modelo 130 necesita tres cifras del periodo previo; para una primera presentación son todas cero, pasadas como bindings para que al cálculo no le falte ninguna entrada. La herramienta rellena las casillas a partir de tu ledger: la casilla 01 son los ingresos del trimestre (1000.00, la base imponible, ya que el IVA nunca forma parte de sus ingresos), la casilla 03 el rendimiento neto (500.00) y la casilla 04 el pago fraccionado (100.00, el veinte por ciento del neto).

  • Verifica el borrador. La verificación es una comprobación local. No envía nada a la AEAT. Cuando el borrador está completo, el informe muestra completeness_status complete y granted_verificado_completo true. Una primera presentación también muestra un aviso que señala que el periodo cae antes de su fecha de inicio de actividad; esto es informativo y no bloquea la exportación.

Revisa cada casilla guardada con:

1Show every saved box for the filing.
aeat --format json app modelo work revision --modelo 130 --year 2026 --period 1T
aeat --format json app modelo work revision --modelo 130 --year 2026 --period 1T
{
  "active_profile": "docs-sequence-sandbox",
  "command": "modelo.work.revision",
  "notices": [],
  "result": {
    "binding_overrides": {
      "irpf.previous_year_economic_activity_net_income": "0",
      "modelo-130-actividad-economica-gastos-cumulative": "500",
      "modelo-130-actividad-economica-ingresos-cumulative": "1000",
      "modelo-130-actividad-economica-ingresos-taxable-base-cumulative": "1000",
      "modelo-130-actividad-economica-rendimiento-neto-cumulative": "1000",
      "modelo-130-actividad-economica-retenciones-cumulative": "0",
      "modelo-130-pagos-fraccionados-anteriores": "0",
      "modelo-130-resultados-negativos-anteriores": "0"
    },
    "calculation_revision_id": "3a61188424119a738f36405a23757e455ca1f9aeeb4f6ee401f92bffd3fbe8ba",
    "casilla_values": {
      "01": "1000",
      "02": "500",
      "03": "500.00",
      "04": "100.00",
      "05": "0",
      "06": "0",
      "07": "100.00",
      "08": "0",
      "09": "0.00",
      "10": "0",
      "11": "0.00",
      "12": "100.00",
      "13": "100.00",
      "14": "0.00",
      "15": "0.00",
      "16": "0",
      "17": "0.00",
      "18": "0",
      "19": "0.00",
      "saldo-negativo-fin-periodo": "0.00"
    },
    "created_at": "2026-04-01T09:00:00+00:00",
    "detail_rows": [],
    "filed_at": null,
    "filed_by": null,
    "input_values_by_casilla_id": {
      "01": "1000",
      "02": "500",
      "05": "0",
      "06": "0"
    },
    "modality": null,
    "modality_reason": null,
    "observations": [
      {
        "absent_by_design": false,
        "casilla_id": "01",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95",
          "ley-35-2006:art-27",
          "ley-35-2006:art-28"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "1000"
      },
      {
        "absent_by_design": false,
        "casilla_id": "02",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95",
          "ley-35-2006:art-28",
          "ley-35-2006:art-30"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "500"
      },
      {
        "absent_by_design": false,
        "casilla_id": "03",
        "formula_id": "modelo-130-rendimiento-neto",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "subtract",
        "operand_casilla_refs": [
          "01",
          "02"
        ],
        "operand_refs": [
          "01",
          "02"
        ],
        "operand_values": [
          "1000",
          "500"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "500.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "04",
        "formula_id": "modelo-130-pago-fraccionado-directa",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "max",
        "operand_casilla_refs": [
          "03"
        ],
        "operand_refs": [
          "03",
          "irpf.direct_estimation_fractional_payment_rate"
        ],
        "operand_values": [
          "500.00",
          "20"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "100.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "05",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0"
      },
      {
        "absent_by_design": false,
        "casilla_id": "06",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0"
      },
      {
        "absent_by_design": false,
        "casilla_id": "07",
        "formula_id": "modelo-130-resultado-apartado-i",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "subtract",
        "operand_casilla_refs": [
          "04",
          "05",
          "06"
        ],
        "operand_refs": [
          "04",
          "05",
          "06"
        ],
        "operand_values": [
          "100.00",
          "0",
          "0"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "100.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "08",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0"
      },
      {
        "absent_by_design": false,
        "casilla_id": "09",
        "formula_id": "modelo-130-pago-fraccionado-agrario",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "percent",
        "operand_casilla_refs": [
          "08"
        ],
        "operand_refs": [
          "08",
          "irpf.agriculture_fractional_payment_rate"
        ],
        "operand_values": [
          "0",
          "2"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "10",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0"
      },
      {
        "absent_by_design": false,
        "casilla_id": "11",
        "formula_id": "modelo-130-resultado-apartado-ii",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "subtract",
        "operand_casilla_refs": [
          "09",
          "10"
        ],
        "operand_refs": [
          "09",
          "10"
        ],
        "operand_values": [
          "0.00",
          "0"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "12",
        "formula_id": "modelo-130-suma-parciales",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "max",
        "operand_casilla_refs": [
          "07",
          "11"
        ],
        "operand_refs": [
          "07",
          "11"
        ],
        "operand_values": [
          "100.00",
          "0.00"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "100.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "13",
        "formula_id": "modelo-130-minoracion-rendimientos-netos",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "if_then_else",
        "operand_casilla_refs": [],
        "operand_refs": [
          "irpf.previous_year_economic_activity_net_income"
        ],
        "operand_values": [
          "0"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "100.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "14",
        "formula_id": "modelo-130-neto-tras-minoracion",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "subtract",
        "operand_casilla_refs": [
          "12",
          "13"
        ],
        "operand_refs": [
          "12",
          "13"
        ],
        "operand_values": [
          "100.00",
          "100.00"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "15",
        "formula_id": "modelo-130-resultados-negativos-anteriores-cap",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "min",
        "operand_casilla_refs": [
          "14"
        ],
        "operand_refs": [
          "modelo-130-resultados-negativos-anteriores",
          "14"
        ],
        "operand_values": [
          "0",
          "0.00"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "16",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0"
      },
      {
        "absent_by_design": false,
        "casilla_id": "17",
        "formula_id": "modelo-130-diferencia",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "subtract",
        "operand_casilla_refs": [
          "14",
          "15",
          "16"
        ],
        "operand_refs": [
          "14",
          "15",
          "16"
        ],
        "operand_values": [
          "0.00",
          "0.00",
          "0"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "18",
        "formula_id": null,
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": null,
        "operand_casilla_refs": [],
        "operand_refs": [],
        "operand_values": [],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0"
      },
      {
        "absent_by_design": false,
        "casilla_id": "19",
        "formula_id": "modelo-130-resultado-final",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "subtract",
        "operand_casilla_refs": [
          "17",
          "18"
        ],
        "operand_refs": [
          "17",
          "18"
        ],
        "operand_values": [
          "0.00",
          "0"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      },
      {
        "absent_by_design": false,
        "casilla_id": "saldo-negativo-fin-periodo",
        "formula_id": "modelo-130-saldo-negativo-fin-periodo",
        "legal_refs": [
          "rd-439-2007:art-110",
          "orden-eha-672-2007:art-1",
          "ley-35-2006:art-99",
          "rd-439-2007:art-95"
        ],
        "op": "max",
        "operand_casilla_refs": [
          "17"
        ],
        "operand_refs": [
          "17"
        ],
        "operand_values": [
          "0.00"
        ],
        "source_refs": [
          "aeat-dr-130-2019-v12",
          "aeat-modelo-130-instructions"
        ],
        "value": "0.00"
      }
    ],
    "operation": "modelo.work.revision",
    "registry_snapshot_ref": {
      "modelo": "130",
      "modelo_year": 2026,
      "period": "1T",
      "revision_id": "2019-y-siguientes"
    },
    "relation_overrides": {},
    "result_summary": [
      {
        "casilla_id": "03",
        "label": "Net yield",
        "role": "key_figure",
        "value": "500.00"
      },
      {
        "casilla_id": "04",
        "label": "Fractional payment amount",
        "role": "key_figure",
        "value": "100.00"
      },
      {
        "casilla_id": "07",
        "label": "Partial result of Section I",
        "role": "key_figure",
        "value": "100.00"
      },
      {
        "casilla_id": "09",
        "label": "Fractional payment amount",
        "role": "key_figure",
        "value": "0.00"
      },
      {
        "casilla_id": "11",
        "label": "Partial result of Section II",
        "role": "key_figure",
        "value": "0.00"
      },
      {
        "casilla_id": "12",
        "label": "Sum of partial results",
        "role": "key_figure",
        "value": "100.00"
      },
      {
        "casilla_id": "13",
        "label": "Reduction for net yields",
        "role": "key_figure",
        "value": "100.00"
      },
      {
        "casilla_id": "14",
        "label": "Net amount after reduction",
        "role": "key_figure",
        "value": "0.00"
      },
      {
        "casilla_id": "17",
        "label": "Difference",
        "role": "key_figure",
        "value": "0.00"
      },
      {
        "casilla_id": "19",
        "label": "Final result",
        "role": "key_figure",
        "value": "0.00"
      }
    ],
    "source_provenance": [
      {
        "contributor_binding_source": "ledger_renta_income_aggregation",
        "contributor_source_kind": "ledger_renta_income_aggregation",
        "dependency_treatment": "",
        "fingerprint": null,
        "lineage_role": "primary",
        "parent_source_ref": null,
        "resolved_binding_source": "ledger_renta_income_aggregation",
        "resolver_id": "ledger_renta_income_aggregation",
        "source_ref": "transaction:5e530ccb8059c3819f61c3257961f6cb67c1d8654830c318d303d4bc53149303"
      },
      {
        "contributor_binding_source": "ledger_renta_gastos_pago_fraccionado_aggregation",
        "contributor_source_kind": "ledger_renta_gastos_pago_fraccionado_aggregation",
        "dependency_treatment": "",
        "fingerprint": null,
        "lineage_role": "primary",
        "parent_source_ref": null,
        "resolved_binding_source": "ledger_renta_gastos_pago_fraccionado_aggregation",
        "resolver_id": "ledger_renta_gastos_pago_fraccionado_aggregation",
        "source_ref": "transaction:e28390f0817dac6833a309cae6ddca6eeba53fd963c2ceb65168a5ee123341d6"
      },
      {
        "contributor_binding_source": "previous_filing",
        "contributor_source_kind": "previous_filing",
        "dependency_treatment": "factual_evidence",
        "fingerprint": null,
        "lineage_role": "primary",
        "parent_source_ref": null,
        "resolved_binding_source": "previous_filing",
        "resolver_id": "previous_filing",
        "source_ref": "100:2025:0A:irpf.previous_year_economic_activity_net_income"
      }
    ],
    "state": "borrador",
    "superseded_at": null,
    "updated_at": "2026-04-01T09:00:00+00:00",
    "verified_at": null,
    "verified_by": null,
    "work_unit_id": "ca5815c72d1ed564e582924ad157fd1c3349eba45264da2a7b843d88172f4204"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the saved revision shows the calculated boxes.

Si falta un valor o un modelo necesita un valor que debe introducir a mano, consulta Revisa y aporta las entradas de cálculo. Esa página cubre la introducción de valores de casilla que faltan y el tratamiento de las cifras arrastradas de trimestres anteriores. Para saber cómo organiza la herramienta el trabajo de presentación entre bastidores, consulta El flujo de presentación.

5. Record the quarter as filed

Exporta el artefacto fichero-BOE del Modelo 130 verificado y después registra el trimestre como presentado localmente:

1Export the verified draft to the registry-backed fichero-BOE layout.
aeat --format json app modelo export --modelo 130 --year 2026 --period 1T --output \
  ./modelo-130-2026-1T.boe
aeat --format json app modelo export --modelo 130 --year 2026 --period 1T --output `
  ./modelo-130-2026-1T.boe
{
  "active_profile": "docs-sequence-sandbox",
  "command": "modelo.export",
  "notices": [
    {
      "action": null,
      "code": "modelo.export.local_export_not_official_evidence",
      "context": {
        "evidence_status": "local_export_not_official_aeat_filing_evidence",
        "filing_year": "2026",
        "modelo": "130",
        "period": "1T"
      },
      "message": "The local export is not official filing evidence.",
      "severity": "warning"
    }
  ],
  "result": {
    "bucket_event_id": "618c31bdd82c0985edc5db5209faa7c90d9d8a78f62d3087c42e85ed9c3c0411",
    "bucket_id": "<bucket-id>",
    "byte_size": 946,
    "calculation_revision_id": "3a61188424119a738f36405a23757e455ca1f9aeeb4f6ee401f92bffd3fbe8ba",
    "file_sha256": "eaf7e73156441acfec60519635ebea91a6a221f32b23b85a638b5219b8536c7d",
    "filing_year": 2026,
    "format": "fichero-boe",
    "modelo": "130",
    "operation": "modelo.export",
    "output_path": "modelo-130-2026-1T.boe",
    "payment_election": null,
    "period": {
      "code": "1T",
      "filing_year": 2026
    },
    "prior_domiciliation_election": {
      "baseline_evidence_reference_id": null,
      "baseline_filing_record_id": null,
      "baseline_result_disposition": null,
      "baseline_source_header_locator": null,
      "election": "keep"
    },
    "refund_election": null,
    "resolved_result_disposition": "N",
    "work_unit_id": "ca5815c72d1ed564e582924ad157fd1c3349eba45264da2a7b843d88172f4204"
  },
  "schema_version": "2",
  "status": "warning"
}

Confirm the export succeeds and the local filing marker is recorded.

El fichero exportado es un artefacto local, no una prueba de que AEAT aceptó la declaración. Preséntalo a través del portal de AEAT, como describe el paso 7.

Este ejemplo usa un gasto con IVA deducible, por lo que vincula la factura de compra antes de calcular. La verificación rechaza una fila de IVA deducido que no tenga factura vinculada (el mensaje es Deductible IVA ledger rows require linked purchase invoice evidence).

Vincula la factura mientras registras el gasto, antes de calcular. El borrador reúne su evidencia al verificarlo, así que una factura adjuntada después no llega a un borrador ya verificado. Adjuntar facturas y recibos y Preparar una presentación de IVA con el Modelo 303 explican todo el flujo de evidencia.

6. Check what else is due (optional)

Usa el calendario local para ver qué puede vencer para el perfil activo. En un perfil recién creado, pasa --allow-incomplete para que la agenda se ejecute antes de que todos los datos del perfil estén rellenos:

1Show what may be due for the active profile.
aeat --format json app overview agenda --allow-incomplete
aeat --format json app overview agenda --allow-incomplete
{
  "active_profile": "docs-sequence-sandbox",
  "command": "overview.agenda",
  "notices": [
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "038"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "038",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 038 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "100"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "100",
        "reason": "applicable_window_missing"
      },
      "message": "The filing obligation 100 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "111"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "111",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 111 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "115"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "115",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 115 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "117"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "117",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 117 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "122"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "122",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 122 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "123"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "123",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 123 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "126"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "126",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 126 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "128"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "128",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 128 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "130"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "130",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 130 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "131"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "131",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 131 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "136"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "136",
        "reason": "applicable_window_missing"
      },
      "message": "The filing obligation 136 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "156"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "156",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 156 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "165"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "165",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 165 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "180"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "180",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 180 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "181"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "181",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 181 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "182"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "182",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 182 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "185"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "185",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 185 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "187"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "187",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 187 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "188"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "188",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 188 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "189"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "189",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 189 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "190"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "190",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 190 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "193"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "193",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 193 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "194"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "194",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 194 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "216"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "216",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 216 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "220"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "220",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 220 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "222"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "222",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 222 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "270"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "270",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 270 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "280"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "280",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 280 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "296"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "296",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 296 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "303"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "303",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 303 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "308"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "308",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 308 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "309"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "309",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 309 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "322"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "322",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 322 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "341"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "341",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 341 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "345"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "345",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 345 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "347"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "347",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 347 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "349"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "349",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 349 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "353"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "353",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 353 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "360"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "360",
        "reason": "applicable_window_missing"
      },
      "message": "The filing obligation 360 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "369"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "369",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 369 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "390"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "390",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 390 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "490"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "490",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 490 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "576"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "576",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 576 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "604"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "604",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 604 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "714"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "714",
        "reason": "applicable_window_missing"
      },
      "message": "The filing obligation 714 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "720"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "720",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 720 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "721"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "721",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 721 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    },
    {
      "action": {
        "action": {
          "action_id": "operator.overview.explain",
          "cli_path": [
            "app",
            "overview",
            "explain"
          ],
          "target_command_key": "overview.explain"
        },
        "argument_bindings": [
          {
            "argument_name": "modelo",
            "source": "operator_action.verdict_context",
            "source_evidence_id": null,
            "source_key": "modelo",
            "status": "resolved",
            "value": "763"
          }
        ]
      },
      "code": "overview.coverage.incomplete",
      "context": {
        "modelo": "763",
        "reason": "applicability_undetermined"
      },
      "message": "The filing obligation 763 could not be positively scoped for this profile and may be under-reported. Review its filing explanation.",
      "severity": "warning"
    }
  ],
  "result": {
    "as_of": "2026-04-01",
    "completeness": {
      "computable_modelos": [],
      "defaulted_keys": [],
      "defaulted_modelos": [],
      "explicitly_set_keys": []
    },
    "coverage": {
      "advised": [
        {
          "modelo": "038",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "100",
          "reason": "applicable_window_missing"
        },
        {
          "modelo": "111",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "115",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "117",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "122",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "123",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "126",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "128",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "130",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "131",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "136",
          "reason": "applicable_window_missing"
        },
        {
          "modelo": "156",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "165",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "180",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "181",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "182",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "185",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "187",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "188",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "189",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "190",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "193",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "194",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "216",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "220",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "222",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "270",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "280",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "296",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "303",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "308",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "309",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "322",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "341",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "345",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "347",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "349",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "353",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "360",
          "reason": "applicable_window_missing"
        },
        {
          "modelo": "369",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "390",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "490",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "576",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "604",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "714",
          "reason": "applicable_window_missing"
        },
        {
          "modelo": "720",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "721",
          "reason": "applicability_undetermined"
        },
        {
          "modelo": "763",
          "reason": "applicability_undetermined"
        }
      ],
      "confidently_excluded": [
        "151",
        "184",
        "200",
        "202",
        "210",
        "232",
        "840"
      ],
      "out_of_scope": [
        "030",
        "035",
        "036",
        "043",
        "121",
        "140",
        "143",
        "145",
        "149",
        "150",
        "159",
        "170",
        "171",
        "172",
        "173",
        "186",
        "192",
        "196",
        "198",
        "218",
        "221",
        "231",
        "233",
        "234",
        "235",
        "236",
        "238",
        "240",
        "241",
        "242",
        "289",
        "290",
        "291",
        "294",
        "295",
        "361",
        "362",
        "363",
        "368",
        "379",
        "380",
        "430",
        "480",
        "510",
        "511",
        "517",
        "518",
        "519",
        "520",
        "521",
        "522",
        "524",
        "548",
        "553",
        "554",
        "555",
        "556",
        "557",
        "558",
        "559",
        "560",
        "561",
        "562",
        "563",
        "566",
        "568",
        "570",
        "573",
        "580",
        "581",
        "582",
        "583",
        "584",
        "585",
        "586",
        "587",
        "588",
        "589",
        "590",
        "591",
        "592",
        "593",
        "595",
        "596",
        "718",
        "795",
        "796",
        "797",
        "798",
        "848",
        "993"
      ],
      "surfaced": []
    },
    "due_soon": [],
    "due_today": [],
    "generated_at": "2026-04-01T09:00:00Z",
    "horizon_days": 14,
    "incomplete_reason": "The active profile does not declare this taxpayer model; update the profile or rerun with the incomplete-profile override.",
    "next_due": null,
    "overdue": [],
    "taxpayer_model_declared": false,
    "warnings": []
  },
  "schema_version": "2",
  "status": "warning"
}
2Explain why Modelo 130 applies this year.
aeat --format json app overview explain 130 --year 2026
aeat --format json app overview explain 130 --year 2026
{
  "active_profile": "docs-sequence-sandbox",
  "command": "overview.explain",
  "notices": [],
  "result": {
    "applicable": false,
    "generated_at": "2026-04-01T09:00:00Z",
    "legal_refs": [
      "ley-35-2006:art-99",
      "ley-27-2014:art-124"
    ],
    "modelo": "130",
    "out_of_plazo_warning": null,
    "profile_facts": {
      "art109_activity_income_withholding_ge_70pct": false,
      "bienes_extranjero_above_threshold": false,
      "does_intracomunitario": false,
      "entity_type": "natural_person",
      "has_employees": false,
      "irpf_estimation_regime": "",
      "irpf_income_categories": "",
      "iva.group_dominant_entity_enrolled": false,
      "iva.group_member_enrolled": false,
      "iva.intracommunity_operations_exceed_50000_eur": false,
      "iva.oss_enrolled": false,
      "iva.roi_enrolled": false,
      "iva_regime": "GENERAL",
      "legal_entity_form": "",
      "monedas_virtuales_extranjero_above_threshold": false,
      "pays_capital_income_with_retencion": false,
      "pays_professionals_with_retencion": false,
      "pays_rent_with_retencion": false,
      "tax_id": "sha256:1c9f9632",
      "third_party_transactions_above_347_threshold": false
    },
    "rationale": "No se puede determinar la aplicabilidad: el tipo de contribuyente no está declarado. Faltan el tipo de entidad y, en su caso, las categorías de renta del IRPF.",
    "scheduling_rationale": "Autonomo en estimacion directa salvo la excepcion Art. 109 por cobertura de retencion o ingreso a cuenta en actividades profesionales, agricolas, ganaderas o forestales.",
    "verdict": "incomplete",
    "year": 2026
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the agenda and the Modelo 130 explanation read back.

El calendario usa los datos del perfil y el contexto de presentación local. No sustituye al portal oficial de la AEAT. Para el flujo completo del calendario, consulta Planifica tu calendario de presentaciones.

7. File manually through AEAT

El paso final de presentación queda fuera de aeat:

  1. Inicia sesión en el portal oficial de presentación electrónica de la AEAT.

  2. Elige la vía de subida de fichero del Modelo 130 para el año y el periodo correspondientes.

  3. Introduce los valores de las casillas producidos por el cálculo. La tarjeta de comandos siguiente los vuelve a leer antes de registrar la marca local de presentación.

  4. Revisa, firma y conserva el justificante que la AEAT emite tras la presentación.

La lista de comprobación completa del traspaso, incluido qué hacer cuando la subida sale mal, está en Sube tu modelo exportado en el portal de la AEAT.

Tras una presentación real, registra el marcador de presentación local:

1Read back the calculated Modelo 130 values before copying them to AEAT.
aeat app modelo work status --modelo 130 --year 2026 --period 1T
aeat app modelo work status --modelo 130 --year 2026 --period 1T
2Record the local filed marker after you upload through AEAT yourself.
aeat --format json app modelo work file --modelo 130 --year 2026 --period 1T
aeat --format json app modelo work file --modelo 130 --year 2026 --period 1T
{
  "active_profile": "docs-sequence-sandbox",
  "command": "modelo.work.file",
  "notices": [],
  "result": {
    "aeat_accepted": false,
    "aeat_register": null,
    "amends_filing_record_id": null,
    "bucket_id": "<bucket-id>",
    "calculation_revision_id": "3a61188424119a738f36405a23757e455ca1f9aeeb4f6ee401f92bffd3fbe8ba",
    "confirmation": "pendiente",
    "declaration_kind": "original",
    "external_evidence": null,
    "filed_at": "2026-04-01T09:00:00+00:00",
    "filed_by": "docs-sequence-sandbox",
    "filing_record_id": "a135a1553dea32fe3cf2d58fa8150e74706492ff4e42505de63fcc731b05e661",
    "filing_year": 2026,
    "kind": "internal_filing",
    "live_submission": false,
    "member_nif": null,
    "modelo": "130",
    "notes": null,
    "operation": "modelo.work.file",
    "origin": "local",
    "period": {
      "code": "1T",
      "filing_year": 2026
    },
    "status": "vigente",
    "superseded_at": null,
    "superseded_by_filing_record_id": null,
    "work_unit_id": "ca5815c72d1ed564e582924ad157fd1c3349eba45264da2a7b843d88172f4204"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the local filed marker recorded.

Al igual que la exportación, work file necesita primero que la factura del gasto con IVA deducible esté vinculada como evidencia (se niega con Deductible IVA ledger rows require linked purchase invoice evidence). Adjunta la factura y luego registra el marcador.

Esto solo registra la acción en tu propio ordenador. No contacta con la AEAT. Para comparar tu registro local con el resguardo de la AEAT, consulta Cómo conciliar un modelo presentado con su justificante.

Pasos siguientes