Quickstart: prepare a modelo filing

Use this when you are new to Cadrumo and want the shortest path from local records to figures you can present yourself at the Agencia Estatal de Administración Tributaria (AEAT) portal.

Cadrumo, invoked as the aeat command, prepares and checks local records for Spanish tax forms. It does not submit filings to AEAT. You remain responsible for reviewing and filing through official AEAT channels.

This page follows one complete path: create a profile, add two transactions, then calculate, verify, and file a Modelo 130 for the first quarter of 2026. Every command below is run in order. It links to deeper guides whenever a step has tax-specific setup or review choices.

Requirement: a valid taxpayer profile. Step 1 below creates one; if you already have a profile, skip it. Set up your taxpayer profile covers every profile question in depth.

Before you start

This page assumes the aeat command is installed and on your path. Confirm with:

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.

If it is not, Install Cadrumo covers the full setup, including the package download and optional integrations.

The passphrase and the optional recovery code

aeat encrypts each profile under its own random key, wrapped by that profile’s passphrase. After the profile exists, creation at a terminal offers an optional recovery code that can reset a forgotten passphrase; you can skip it and enable it later with aeat config profile recovery enable. The first command that touches the store asks for the passphrase and the tool reuses it for the rest of the session. For unattended runs after creation, see Run without a passphrase prompt.

The CLI emits its help and messages in Spanish. The English text on this page describes what each step does.

1. Create your taxpayer profile

A profile is your personal taxpayer record inside the tool. Create it with your own details:

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.

The wizard collects the name and surnames that filing requires and the activity start date that scopes out prior periods. The profile is published with its passphrase as its only door; recovery is offered afterwards and is optional.

Confirm the active profile is configured and ready:

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.

Profile setup can ask many more tax questions. Use Set up your taxpayer profile to choose the right answers, see every profile question group, list or switch profiles, and export or import an existing profile.

2. Add your transactions

The tax calculation uses the income and expense records in your ledger. There are two ways to add them.

The simplest is to add each row directly with its tax fields. --amount is the gross total (taxable base plus IVA); an expense row also needs a --category-id from the recognised expense families. The --idempotency-key on each row makes it safe to re-run without adding a duplicate:

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.

List the recognised expense categories any time:

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.

If you instead have a bank export, import it. aeat reads a semicolon-delimited CSV with comma decimals and a negative Importe for money leaving the account:

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

Preview the import, then run it for real (shown as a display-only example, since running it here would duplicate the two rows added above):

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

Imported rows arrive without a tax category and must be classified before they count in a calculation (see the next step). The ledger add rows above are already classified, so you can skip straight to step 4.

Use Import and manage transactions for the full transaction workflow: import, add, update, remove, review, classify, allocate, and run readiness checks.

3. Classify imported transactions

Each imported transaction has no tax category until you classify it. Classification tells aeat whether a row is a business expense, personal spending, or a mix of both. Take the transaction id from the row’s output, then classify it and check the quarter is ready:

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 reports whether the quarter’s rows are ready to calculate.

Use Classify transactions for the detailed review path, including manual classification, bulk CSV classification, mixed-use allocation, tax fields, and optional LLM suggestions.

4. Create, calculate, and verify the draft

With the profile and a classified ledger in place, prepare the Modelo 130 draft for the first quarter of 2026, calculate it, and verify it. A modelo is a Spanish tax form, and the year plus period identify the filing you are preparing.

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.

Read the frames in order:

  • Create the draft. The command creates your filing workspace for that form if one does not exist yet; running it again returns the existing workspace. --period 1T means the first quarter (primer trimestre). Other period codes are 2T, 3T, 4T for subsequent quarters and 0A for an annual filing.

  • Calculate the values. Modelo 130 needs three prior-period figures; for a first filing they are all zero, passed as bindings so the calculation has no missing inputs. The tool fills the boxes from your ledger: casilla 01 is the quarter’s income (1000.00, the taxable base, since IVA is never part of your income), casilla 03 the net yield (500.00), and casilla 04 the instalment (100.00, twenty percent of the net).

  • Verify the draft. Verification is a local check. It does not send anything to AEAT. When the draft is complete the report reads completeness_status complete and granted_verificado_completo true. A first filing also shows one advisory noting that the period falls before your activity start date; this is informational and does not block filing.

Review every saved box with:

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.

If a value is missing or a modelo needs a value you must enter by hand, see Review and supply calculation inputs. That page covers entering missing box values and handling figures carried forward from earlier quarters. For how the tool organises filing work behind the scenes, see The filing workflow.

5. Record the quarter as filed

Export the verified Modelo 130 fichero-BOE artefact, then record the quarter as filed locally:

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.

The exported file is a local artefact, not evidence that AEAT accepted the return. Present it through the AEAT portal, as step 7 describes.

This example uses a deductible-IVA expense, so it links the purchase invoice before calculating. Verification refuses a deducted IVA row that carries no invoice (the message reads Deductible IVA ledger rows require linked purchase invoice evidence).

Link the invoice while you record the expense, before you calculate. A draft bundles its evidence when you verify it, so an invoice attached afterwards does not reach a draft that is already verified. Attach invoices and receipts and Prepare a Modelo 303 IVA filing walk through the evidence workflow end to end.

6. Check what else is due (optional)

Use the local calendar to see what may be due for the active profile. On a fresh profile, pass --allow-incomplete so the agenda runs before every profile fact is filled in:

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.

The calendar uses profile facts and local filing context. It does not replace AEAT’s official portal. For the full calendar flow, see Plan your filing calendar.

7. File manually through AEAT

The final filing step is outside aeat:

  1. Log in to the official AEAT electronic filing portal.

  2. Open the Modelo 130 form for the relevant year and period.

  3. Enter the box values the calculation produced. The command card below reads them back before it records the local filing marker.

  4. Review, sign, and keep the justificante AEAT issues after filing.

The full handoff checklist is in File your modelo at the AEAT portal.

After a real filing, record the local filing marker:

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.

work file refuses a deducted IVA row whose invoice is not linked (Deductible IVA ledger rows require linked purchase invoice evidence). The draft verified above already carries its invoice, so the marker records.

This only records the action on your own computer. It does not contact AEAT. To compare your local record with the AEAT receipt, see How to reconcile a filed modelo against its justificante.

Next steps