Check that a filing is ready

Verification tells you whether a draft’s box values pass the registry rules. Readiness asks an earlier question: is everything the calculation depends on in place — profile facts, transaction data, and earlier filings? Use the commands in this guide before you calculate, and again before you export, so nothing silent is missing underneath a clean-looking draft.

Run the readiness report

Report whether the active profile is ready for one modelo, year, and period:

aeat app modelo readiness --modelo 303 --year 2026 --period 1T --revision-id <revision-id>

Find the revision id first — it is listed by:

aeat app modelo describe 303 --year 2026 --period 1T

The report covers two things:

  • Profile readiness — every profile fact the modelo requires. Each missing fact is listed by its section and field key, so you know exactly what to fill in with aeat config profile edit.

  • Ledger readiness — for ledger-fed modelos, the same source checks as aeat app ledger preflight, listing each transaction that blocks the period and why.

Readiness does not check box-level completeness of a draft — that is what aeat app modelo work verify does. See Verify a filing.

Check what this filing depends on

Some modelos fold in values from other filings — an annual summary reads its quarters, a cross-modelo box reads another form’s result. List the registry-declared dependencies for a filing year:

aeat app modelo work dependencies --year 2026

Narrow to one modelo, or to one modelo and period:

aeat app modelo work dependencies --year 2026 --modelo 390
aeat app modelo work dependencies --year 2026 --modelo 390 --period 0A

--period requires --modelo. With both set, the command also evaluates the current blockers for that exact filing — for example an earlier period whose official evidence is still missing — so you see what must be resolved before this period can safely build on the ones before it. For the background, see Building on earlier filings.

Audit the lifecycle of a modelo

Stream every recorded lifecycle event — calculations, verification passes and refusals, filings, amendments, imports — for one modelo:

aeat app modelo history --modelo 303 --year 2026

Add --period to narrow to one period. This is the modelo-wide audit trail; for the event stream of a single workspace, use aeat app modelo work history — see How the tool organises your filing work.

Compare two filing years

See how this year’s figures moved against last year’s, box by box:

aeat app modelo compare --modelo 100 --year 2024 --year 2025

Pass --year exactly twice. Each row shows the box, its label and section, both values, the difference, and the percent change; all-zero rows are omitted from the text output. The comparison uses the most recent verified revision of each year and falls back to the latest draft when no verified revision exists — a year compared from a draft is flagged BORRADOR in the output.

Use the comparison as a sanity check before filing: an unexpected jump in a box is worth tracing back to its transactions before you export.

Look ahead to the year-end Renta

If you file quarterly Modelo 130 instalments, project what the year-end Modelo 100 would look like from the quarters filed so far:

aeat app modelo project --year 2026 --ccaa cataluna

--ccaa names your autonomous community of tax residence, which selects the regional scale for the Modelo 100 calculation.

The output shows the accumulated Modelo 130 figures (income, expenses, net result, instalments paid) and the projected Modelo 100 result: the taxable base, the state and regional gross tax (cuota íntegra), the net tax (cuota líquida), and the resulting balance after instalments (cuota resultante).

Read the extrapolation flag before trusting the numbers. With fewer than four quarters filed, the projection extrapolates a full year from the quarters available and marks the output — for example quarters_filed 2/4 (extrapolated from 2Q). An extrapolated projection is a planning estimate, not a draft Renta: it assumes the remaining quarters look like the filed ones.

Refine the projection with values the quarters cannot know — withholdings, personal circumstances, or specific boxes:

aeat app modelo project --year 2026 --ccaa cataluna --casilla 0513=1150 --binding KEY=VALUE

Withholdings bindings default to zero when not supplied, so a projection without them overstates the balance due if you had retenciones. Each projected box carries its formula and legal references in the JSON output, the same grounding as a real calculation.

For when the year-end filing actually happens, see Filing periods.

Next steps