aeat app — command reference¶
This page documents every leaf command under aeat app. Help strings are rendered in English; the CLI respects the active output-language setting at runtime.
aeat app diagnostics errors¶
Break down recent failed local LLM runs by provider and error kind.
Command path: aeat app diagnostics errors
Registry key: diagnostics.errors
Parameters
--sinceOption, optional. Inclusive lower ISO date (YYYY-MM-DD) bound on LLM run records.
--untilOption, optional. Inclusive upper ISO date (YYYY-MM-DD) bound on LLM run records.
--providerOption, optional. Restrict the breakdown to this provider label (e.g. claude, antigravity, codex).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._diagnostics_payloads.ErrorsBreakdownResult.
aeat app diagnostics latency¶
Report P50/P95/P99 duration percentiles over recent local LLM runs.
Command path: aeat app diagnostics latency
Registry key: diagnostics.latency
Parameters
--sinceOption, optional. Inclusive lower ISO date (YYYY-MM-DD) bound on LLM run records.
--untilOption, optional. Inclusive upper ISO date (YYYY-MM-DD) bound on LLM run records.
--providerOption, optional. Restrict the report to this provider label (e.g. claude, antigravity, codex).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._diagnostics_payloads.LatencyResult.
aeat app diagnostics llm-usage¶
Report LLM run-usage totals (counts, durations, success rate) by provider and model.
Command path: aeat app diagnostics llm-usage
Registry key: diagnostics.llm_usage
Parameters
--sinceOption, optional. Inclusive lower ISO date (YYYY-MM-DD) bound on LLM run records.
--untilOption, optional. Inclusive upper ISO date (YYYY-MM-DD) bound on LLM run records.
--providerOption, optional. Restrict the summary to this provider label (e.g. claude, antigravity, codex).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._diagnostics_payloads.LlmUsageResult.
aeat app diagnostics run-health¶
Report recent local LLM run timing and persisted AEAT session staleness.
Command path: aeat app diagnostics run-health
Registry key: diagnostics.run_health
Parameters
--sinceOption, optional. Inclusive lower ISO date (YYYY-MM-DD) bound on LLM run records.
--untilOption, optional. Inclusive upper ISO date (YYYY-MM-DD) bound on LLM run records.
--providerOption, optional. Restrict the LLM run-timing section to this provider label (e.g. claude, antigravity, codex).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._diagnostics_payloads.RunHealthResult.
aeat app diagnostics runs¶
List recent local LLM run-timing records, most-recent-first.
Command path: aeat app diagnostics runs
Registry key: diagnostics.runs
Parameters
--sinceOption, optional. Inclusive lower ISO date (YYYY-MM-DD) bound on LLM run records.
--untilOption, optional. Inclusive upper ISO date (YYYY-MM-DD) bound on LLM run records.
--providerOption, optional. Restrict the listing to this provider label (e.g. claude, antigravity, codex).
--limitOption, optional. Cap the listing to this many most-recent runs.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._diagnostics_payloads.RunsListResult.
aeat app diagnostics telemetry flush¶
Build the aggregate local telemetry payload and, unless –dry-run, send it.
Command path: aeat app diagnostics telemetry flush
Registry key: diagnostics.telemetry.flush
Parameters
--dry-runOption, optional. Preview the payload that would be sent without transmitting anything (default). Pass –no-dry-run to actually send when the consent gate permits.
--opt-inOption, optional. Preview/send as if AEAT_TELEMETRY_OPT_IN were this value for this invocation only; omit to use the deployment’s actual configured setting.
--tierOption, optional. Preview/send as if AEAT_TELEMETRY_TIER were this value (off / crash_only / full) for this invocation only; omit to use the deployment’s actual configured tier.
--endpointOption, optional. Preview/send as if AEAT_TELEMETRY_ENDPOINT were this URL for this invocation only; omit to use the deployment’s actual configured endpoint.
--acknowledge-remote-telemetryOption, optional. Acknowledge this specific remote-telemetry send. Required (in addition to opt-in and a non-off tier) for –no-dry-run to actually transmit; never sticky, re-affirm on every invocation.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._diagnostics_payloads.TelemetryFlushResult.
aeat app diagnostics telemetry status¶
Report the current remote-telemetry consent posture. Never emits anything.
Command path: aeat app diagnostics telemetry status
Registry key: diagnostics.telemetry.status
Parameters
--opt-inOption, optional. Preview/send as if AEAT_TELEMETRY_OPT_IN were this value for this invocation only; omit to use the deployment’s actual configured setting.
--tierOption, optional. Preview/send as if AEAT_TELEMETRY_TIER were this value (off / crash_only / full) for this invocation only; omit to use the deployment’s actual configured tier.
--endpointOption, optional. Preview/send as if AEAT_TELEMETRY_ENDPOINT were this URL for this invocation only; omit to use the deployment’s actual configured endpoint.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._diagnostics_payloads.TelemetryStatusResult.
aeat app ledger add¶
Add one manual ledger transaction in the active profile
Command path: aeat app ledger add
Registry key: ledger.add
Parameters
--dateOption, required. Booked date (YYYY-MM-DD)
--amountOption, required. Transaction amount in the transaction currency (decimal, e.g. 1200.50).
--directionOption, required. Transaction direction (INCOMING / OUTGOING / INTERNAL_TRANSFER)
--descriptionOption, required. Non-blank narrative
--value-dateOption, optional. Value date (YYYY-MM-DD)
--currencyOption, optional. Three-letter ISO 4217 currency code
--counterpartyOption, optional. Counterparty descriptor
--classificationOption, optional. Business classification (BUSINESS / PERSONAL / MIXED / …)
--business-pctOption, optional. Business-use share from 0 to 1; only for MIXED rows. Omit for fully BUSINESS rows.
--category-idOption, optional. Deductible-expense category id (expense transactions only; income needs no category)
--taxable-baseOption, optional. IVA-exclusive base amount
--iva-rateOption, optional. Optional IVA rate as a decimal fraction
--iva-amountOption, optional. Optional IVA amount on the row
--iva-categoryOption, optional. Explicit IVA category override for this transaction (e.g. intra_community_supply, export_third_country_zero_rated, export_assimilated_zero_rated, domestic_not_subject)
--counterparty-eu-member-stateOption, optional. EU member state or Northern Ireland IVA prefix of the counterparty (ISO 3166-1 alpha-2 lowercase, e.g. de or xi); required with –iva-category intra_community_supply, prohibited with export_third_country_zero_rated or export_assimilated_zero_rated
--recargo-amountOption, optional. Recargo de equivalencia cuota charged on this sale to a recargo-regime retailer (LIVA art. 161); aggregated into the Modelo 303 recargo cuota by IVA rate tier
--irpf-categoryOption, optional. IRPF-specific category key
--usage-ratio-idOption, optional. Existing configured usage-ratio id for proportional business use. Use a category id shown by ‘aeat app ledger ratios list’ or ‘aeat app ledger ratios eligible’; create one with ‘aeat app ledger ratios set <category-id> <ratio>’. Not arbitrary prose.
--prorrata-referenceOption, optional. IVA prorrata substrate reference
--art-104-tres-exclusionOption, optional. Operator-declared LIVA art. 104.Tres denominator exclusion (foreign permanent establishment or non-habitual real-estate/financial operation); excludes the operation from both terms of the prorrata ratio.
--input-classificationOption, optional. Operator-declared LIVA art. 106 prorrata-especial per-input use classification (exclusively_deductible: deducted in full; exclusively_non_deductible: no deduction; common: deducted at the general prorrata percentage); meaningful only for input rows in a bucket under prorrata especial.
--sectorOption, optional. Differentiated-sector id (LIVA arts. 9.1.c / 101) this input belongs to; must match a sector declared via ‘app ledger prorrata declare-sector’.
--purchase-invoice-evidence-idOption, optional. Canonical purchase-invoice evidence id
--attachment-idOption, optional. Supplementary attachment id (repeatable)
--notesOption, optional. Operator notes stored with the transaction
--actorOption, optional. Operator name recorded on the bucket event
--idempotency-keyOption, optional. Stable key for this logical add: passing the same key again is a safe no-op, so retries do not duplicate the row. Omit it to append a deliberate duplicate.
--source-jurisdictionOption, optional. Two-letter ISO 3166-1 alpha-2 country code identifying the regulatory source jurisdiction of the income or expense (e.g. ES for Spanish-source, FR for French-source). Required for IRNR scope and the Art. 93 LIRPF Beckham filter.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerAddResult.
aeat app ledger allocate¶
Record business/private proportionality for a ledger transaction
Command path: aeat app ledger allocate
Registry key: ledger.allocate
Parameters
transaction_idOption, required. Ledger transaction id to allocate
--business-pctOption, required. Business-use share from 0 to 1 for MIXED/proportional rows; do not use ledger allocate for a fully BUSINESS row.
--category-idOption, optional. Deductible-expense category id (expense transactions only; income needs no category)
--usage-ratio-idOption, optional. Existing configured usage-ratio id for proportional business use. Use a category id shown by ‘aeat app ledger ratios list’ or ‘aeat app ledger ratios eligible’; create one with ‘aeat app ledger ratios set <category-id> <ratio>’. Not arbitrary prose.
--prorrata-referenceOption, optional. IVA prorrata reference for IVA workflows
--actorOption, optional. Operator name recorded on the bucket event
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerAllocateResult.
aeat app ledger archive¶
Archive one ledger transaction in the active profile
Command path: aeat app ledger archive
Registry key: ledger.archive
Parameters
transaction_idOption, required. Ledger transaction id to archive
--reasonOption, optional. Reason recorded in lifecycle history
--yesOption, optional. Confirm archiving the ledger transaction
--actorOption, optional. Operator name recorded on the bucket event
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerArchiveResult.
aeat app ledger attach¶
Attach secure evidence objects to one ledger transaction. Create a purchase invoice evidence id first with ‘aeat app ledger evidence add PATH’.
Command path: aeat app ledger attach
Registry key: ledger.attach
Parameters
transaction_idOption, required. Ledger transaction id to attach evidence to
--purchase-invoice-evidence-idOption, optional. Purchase invoice evidence id supporting the transaction; create one with ‘aeat app ledger evidence add PATH’
--attachment-idOption, optional. Secure attachment id to link to the transaction; repeat for multiple attachments
--actorOption, optional. Operator name recorded on the bucket event
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerAttachResult.
aeat app ledger bienes-inversion declare¶
Declare one capital good tracked for IVA regularización.
Command path: aeat app ledger bienes-inversion declare
Registry key: ledger.bienes_inversion.declare
Parameters
identifierOption, required. Stable register identifier.
--descriptionOption, required. Human description of the good.
--acquisition-yearOption, required. Year the good was acquired.
--cuota-soportadaOption, required. Total input IVA borne on acquisition (positive).
--prorrata-inicialOption, required. Definitive deduction percentage of the acquisition year (0-100).
--kindOption, required. Regularisation window: mueble (4yr) or inmueble (9yr).
--art108-elegibleOption, optional. Whether the good qualifies as a bien de inversión under LIVA art. 108.
--asset-refOption, optional. Optional cross-reference to an AssetRecord identifier.
--disposal-yearOption, optional. Optional art-110 disposal year.
--disposal-regimeOption, optional. Disposal regime (sujeta_no_exenta or exenta_o_no_sujeta); required with –disposal-year.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._bienes_inversion_payloads.BienesInversionDeclareResult.
aeat app ledger bienes-inversion list¶
List every tracked capital good on the active profile register.
Command path: aeat app ledger bienes-inversion list
Registry key: ledger.bienes_inversion.list
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._bienes_inversion_payloads.BienesInversionListResult.
aeat app ledger categories¶
List the category ids accepted by –category-id and –irpf-category
Command path: aeat app ledger categories
Registry key: ledger.categories
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerCategoriesResult.
aeat app ledger check¶
Probe ledger transactions in the addressed profile (defaults to the active profile) and report anomaly rows aggregated across every period a transaction touches. Local-only; never contacts AEAT.
Command path: aeat app ledger check
Registry key: ledger.check
Parameters
--bucket-idOption, optional. Bucket id to probe (defaults to the active profile).
--periodOption, optional. Optional filing period as an AEAT token: 1T-4T (quarters), 0A (annual), 01-12 (months). Combine with –year to match ledger status.
--yearOption, optional. Filing year for –period (e.g. 2024).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerCheckResult.
aeat app ledger classify¶
Classify one ledger transaction in the active profile
Command path: aeat app ledger classify
Registry key: ledger.classify
Parameters
transaction_idOption, optional. Ledger transaction id to classify
--classificationOption, optional. Business classification state for the transaction
--from-csvOption, optional. Path to a CSV file with columns transaction_id, classification[, category_id, business_pct, usage_ratio_id, taxable_base, iva_rate, iva_amount, iva_category, irpf_category].
--business-pctOption, optional. Business-use share from 0 to 1; required with –classification MIXED, rejected for any other classification, and omitted for fully BUSINESS rows
--category-idOption, optional. Deductible-expense category id (expense transactions only; income needs no category)
--taxable-baseOption, optional. Taxable base amount
--iva-rateOption, optional. IVA rate as a decimal, for example 0.21
--iva-amountOption, optional. IVA amount
--irpf-categoryOption, optional. IRPF category id. Use aeat app ledger categories. Net-paid professional invoices use actividad_economica; net-paid rent uses arrendamiento_local/arrendamiento_vivienda_afecto. Royalties/SGAE: Art. 25.4 can be capital mobiliario when the taxpayer is not the author; use actividad_economica only for own-account activity under LIRPF Art. 27.
--iva-categoryOption, optional. Explicit IVA category override for this transaction (e.g. intra_community_supply, export_third_country_zero_rated, export_assimilated_zero_rated, domestic_not_subject)
--counterparty-eu-member-stateOption, optional. EU member state or Northern Ireland IVA prefix of the counterparty (ISO 3166-1 alpha-2 lowercase, e.g. de or xi); required with –iva-category intra_community_supply, prohibited with export_third_country_zero_rated or export_assimilated_zero_rated
--actorOption, optional. Operator name recorded on the bucket event
--reaffirmOption, optional. Reaffirm the classification of an already-classified transaction.
--llmOption, optional. Ask a local LLM provider (claude/antigravity/codex) to classify the transaction; preview by default, persist with –apply.
--applyOption, optional. Persist the LLM suggestion with llm: provenance instead of only previewing it.
--saturateOption, optional. Saturate via LLM: also select the IVA category and derive the rate, base, and IVA amount.
--read-evidenceOption, optional. Read the transaction’s attached evidence on-host and feed it to the classifier.
--evidence-acknowledgedOption, optional. Acknowledge that reading evidence with a cloud provider uploads it off your machine (required by the consent gate).
--vision-modelOption, optional. Override the local Ollama vision model for an image/scanned-invoice read (e.g. qwen2.5vl:7b); defaults to the configured model.
--auto-splitOption, optional. Read the attached invoice and, when it is multi-component, split it into per-line base/IVA children; otherwise classify it in place (requires –read-evidence).
--rejectOption, optional. Record an explicit rejection of the LLM suggestion as an audit event, without classifying the row (cannot be combined with –apply).
--reasonOption, optional. Free-text reason recorded as the transaction notes and as the classification decision’s provenance reason (visible on ledger view), or with a –reject decision.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerClassifySingleResult.
aeat app ledger doclink¶
Fetch a Drive document link and store its bytes as encrypted evidence on a ledger row.
Command path: aeat app ledger doclink
Registry key: ledger.doclink
Parameters
transaction_idOption, required. Ledger transaction id.
--sourceOption, required. Link source: gmail, google_drive, or url.
--referenceOption, required. The document link reference.
--noteOption, optional. Optional note.
--actorOption, optional. Operator label.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerAttachResult.
aeat app ledger evidence add¶
Register purchase invoice evidence from a PDF or image
Command path: aeat app ledger evidence add
Registry key: ledger.evidence.add
Parameters
source_pathOption, required. Path to the invoice PDF or image
--supplierOption, optional. Supplier name
--invoice-numberOption, optional. Supplier invoice number
--invoice-dateOption, optional. Invoice issue date in ISO 8601 (YYYY-MM-DD), e.g. 2026-01-15.
--taxable-baseOption, optional. Invoice taxable base
--iva-rateOption, optional. Applied IVA rate as a decimal
--iva-amountOption, optional. Invoice IVA amount
--notesOption, optional. Internal notes about the evidence
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.EvidenceAddResult.
aeat app ledger evidence confirm¶
Re-extract evidence on-host and confirm it into a real catalogue Invoice.
Command path: aeat app ledger evidence confirm
Registry key: ledger.evidence.confirm
Parameters
--kindOption, required. Invoice kind: issued (a customer owes you) or received (you owe a supplier)
--evidence-idOption, optional. Purchase invoice evidence record id to extract from.
--attachment-idOption, optional. Linked attachment id to extract from (alternative to –evidence-id).
--counterparty-nifOption, optional. Override the extracted supplier tax id.
--counterparty-nameOption, optional. Counterparty display name (no extraction heuristic yet; normally required).
--invoice-numberOption, optional. Override the extracted invoice number.
--invoice-dateOption, optional. Override the extracted invoice date (YYYY-MM-DD).
--taxable-baseOption, optional. Override the extracted taxable base.
--iva-rateOption, optional. Override the extracted IVA rate (omit to keep the extracted value).
--country-codeOption, optional. Counterparty ISO 3166-1 alpha-2 country code (defaults to ES).
--currencyOption, optional. ISO-4217 currency code.
--notesOption, optional. Internal notes about the evidence
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.EvidenceConfirmResult.
aeat app ledger evidence extract¶
Read an invoice PDF’s fields on-host into a reviewable draft.
Command path: aeat app ledger evidence extract
Registry key: ledger.evidence.extract
Parameters
--evidence-idOption, optional. Purchase invoice evidence record id to extract from.
--attachment-idOption, optional. Linked attachment id to extract from (alternative to –evidence-id).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.EvidenceExtractResult.
aeat app ledger evidence list¶
List registered purchase invoice evidence
Command path: aeat app ledger evidence list
Registry key: ledger.evidence.list
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.EvidenceListResult.
aeat app ledger evidence remove¶
Delete purchase invoice evidence
Command path: aeat app ledger evidence remove
Registry key: ledger.evidence.remove
Parameters
evidence_idOption, required. Evidence id (exact match)
--yesOption, optional. Confirm deleting the evidence
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.EvidenceRemoveResult.
aeat app ledger evidence update¶
Update purchase invoice evidence details
Command path: aeat app ledger evidence update
Registry key: ledger.evidence.update
Parameters
evidence_idOption, required. Evidence id (exact match)
--supplierOption, optional. No description.
--invoice-numberOption, optional. No description.
--invoice-dateOption, optional. No description.
--taxable-baseOption, optional. No description.
--iva-rateOption, optional. No description.
--iva-amountOption, optional. No description.
--notesOption, optional. No description.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.EvidenceUpdateResult.
aeat app ledger evidence view¶
Show purchase invoice evidence
Command path: aeat app ledger evidence view
Registry key: ledger.evidence.view
Parameters
evidence_idOption, required. Evidence id (exact match)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.EvidenceViewResult.
aeat app ledger exclude¶
Mark one reviewed ledger transaction as deliberately excluded from filing.
Command path: aeat app ledger exclude
Registry key: ledger.exclude
Parameters
transaction_idOption, required. Ledger transaction id.
--reasonOption, optional. Optional note recording why the row is excluded.
--yesOption, optional. Confirm the reviewed-excluded decision.
--actorOption, optional. Operator label.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerExcludeResult.
aeat app ledger export¶
Export canonical ledger rows from the active profile
Command path: aeat app ledger export
Registry key: ledger.export
Parameters
--outputOption, required. Path to write the exported ledger file
--export-formatOption, optional. Export serialization format
--include-inactiveOption, optional. Include archived and stashed ledger transactions
--periodOption, optional. Filing period as an AEAT token: 1T-4T (quarters), 0A (annual), 01-12 (months). Combine with –year to choose the year.
--yearOption, optional. Filing year for –period (e.g. 2024).
--actorOption, optional. Operator name recorded on the bucket event
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerExportPayload.
aeat app ledger history¶
Emit the chronological bucket-event chain for one ledger transaction id
Command path: aeat app ledger history
Registry key: ledger.history
Parameters
transaction_idOption, required. Ledger transaction id (or unambiguous hex prefix) to inspect
--include-split-siblingsOption, optional. Expand the chain to include events for every split sibling that shares a split_group_id with this transaction
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerHistoryResult.
aeat app ledger import¶
Import bank statements or records into the accounting ledger
Command path: aeat app ledger import
Registry key: ledger.import
Parameters
pathOption, required. Path to the bank statement file or directory
--providerOption, required. Statement format provider. Recognised values: auto, csv, ofx, qfx, xlsx, excel, n26, pdf, pdf-n26
--dry-runOption, optional. Run the import in dry-run mode (without saving)
--verifyOption, optional. Verify entries after import
--fileOption, optional. Original file used to verify imported rows.
--verboseOption, optional. Show detailed information during import
--periodOption, optional. Filing period as an AEAT token: 1T-4T (quarters), 0A (annual), 01-12 (months). Combine with –year to choose the year.
--yearOption, optional. Filing year for –period (e.g. 2024).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerImportPayload.
aeat app ledger inventory create¶
Create an inventory ledger for one activity and tax year
Command path: aeat app ledger inventory create
Registry key: ledger.inventory.create
Parameters
actividad_idOption, required. Economic activity identifier
--yearOption, required. Tax year
--valuation-methodOption, required. Valuation method (fifo or pmp)
--opening-stockOption, optional. Opening stock value
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.InventoryCreateResult.
aeat app ledger inventory list¶
List inventory ledgers in the active profile
Command path: aeat app ledger inventory list
Registry key: ledger.inventory.list
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.InventoryListResult.
aeat app ledger inventory movement add¶
Add a purchase, sale, or adjustment movement to the ledger
Command path: aeat app ledger inventory movement add
Registry key: ledger.inventory.movement.add
Parameters
--actividad-idOption, required. Economic activity identifier
--yearOption, required. Tax year
--movement-idOption, required. Movement id within the ledger
--dateOption, required. Movement date (YYYY-MM-DD)
--kindOption, required. Movement kind (purchase, sale, adjustment)
--quantityOption, required. Movement quantity, positive or negative
--unit-costOption, optional. Unit cost for purchase movements
--taxable-baseOption, optional. Taxable base linked to the movement
--iva-rateOption, optional. IVA rate as a percentage
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.InventoryMovementAddResult.
aeat app ledger inventory valuation preview¶
Preview closing stock and cost of sales
Command path: aeat app ledger inventory valuation preview
Registry key: ledger.inventory.valuation.preview
Parameters
--actividad-idOption, required. Economic activity identifier
--yearOption, required. Tax year
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.InventoryValuationPreviewPayload.
aeat app ledger invoice add¶
Register a new business invoice
Command path: aeat app ledger invoice add
Registry key: ledger.invoice.add
Parameters
--kindOption, required. Invoice kind: issued (a customer owes you) or received (you owe a supplier)
--counterparty-nifOption, required. No description.
--invoice-numberOption, required. No description.
--invoice-dateOption, required. Invoice issue date in ISO 8601 (YYYY-MM-DD), e.g. 2026-01-15.
--counterparty-nameOption, optional. No description.
--currencyOption, optional. No description.
--taxable-baseOption, optional. No description.
--iva-rateOption, optional. No description.
--iva-amountOption, optional. No description.
--total-amountOption, optional. No description.
--notesOption, optional. No description.
--country-codeOption, optional. Counterparty ISO 3166-1 alpha-2 country code (intracom EU operations)
--eu-iva-idOption, optional. Counterparty EU IVA-ID (e.g. DE345678901) for intracom operations
--operation-typeOption, optional. M349 operation type: E supply of goods, S services, T triangular, R rectification, A acquisition of goods, I acquisition of services, M miscellaneous
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.InvoiceAddResult.
aeat app ledger invoice catalogue create¶
Create a linkable reconciliation invoice in the catalogue.
Command path: aeat app ledger invoice catalogue create
Registry key: ledger.invoice.catalogue.create
Parameters
--kindOption, required. Invoice kind: issued (a customer owes you) or received (you owe a supplier)
--counterparty-nifOption, required. No description.
--counterparty-nameOption, required. No description.
--invoice-numberOption, required. No description.
--invoice-dateOption, required. Invoice issue date in ISO 8601 (YYYY-MM-DD), e.g. 2026-01-15.
--taxable-baseOption, required. No description.
--iva-rateOption, optional. No description.
--currencyOption, optional. No description.
--country-codeOption, optional. Counterparty ISO 3166-1 alpha-2 country code (defaults to ES).
--operation-typeOption, optional. M349 operation type: E supply of goods, S services, T triangular, R rectification, A acquisition of goods, I acquisition of services, M miscellaneous
--notesOption, optional. No description.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_catalogue_invoice_payloads.CatalogueInvoiceCreateResult.
aeat app ledger invoice catalogue import¶
Bulk-create catalogue invoices from a CSV or XLSX file.
Command path: aeat app ledger invoice catalogue import
Registry key: ledger.invoice.catalogue.import
Parameters
--fileOption, required. Path to a CSV or XLSX file of invoice rows (counterparty_nif, counterparty_name, invoice_number, invoice_date, taxable_base, and optional iva_rate/currency/country_code/notes).
--kindOption, required. Invoice kind: issued (a customer owes you) or received (you owe a supplier)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_catalogue_invoice_payloads.CatalogueInvoiceImportResult.
aeat app ledger invoice catalogue list¶
List reconciliation catalogue invoices.
Command path: aeat app ledger invoice catalogue list
Registry key: ledger.invoice.catalogue.list
Parameters
--kindOption, optional. Invoice kind: issued (a customer owes you) or received (you owe a supplier)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_catalogue_invoice_payloads.CatalogueInvoiceListResult.
aeat app ledger invoice catalogue remove¶
Delete one reconciliation catalogue invoice.
Command path: aeat app ledger invoice catalogue remove
Registry key: ledger.invoice.catalogue.remove
Parameters
invoice_idOption, required. Catalogue invoice id (or unambiguous prefix).
--yesOption, optional. Confirm deleting the invoice
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_catalogue_invoice_payloads.CatalogueInvoiceRemoveResult.
aeat app ledger invoice catalogue view¶
Show one reconciliation catalogue invoice by id or unambiguous prefix.
Command path: aeat app ledger invoice catalogue view
Registry key: ledger.invoice.catalogue.view
Parameters
invoice_idOption, required. Catalogue invoice id (or unambiguous prefix).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_catalogue_invoice_payloads.CatalogueInvoiceViewResult.
aeat app ledger invoice catalogue wizard¶
Guided, non-interactive manual entry when extraction is unavailable.
Command path: aeat app ledger invoice catalogue wizard
Registry key: ledger.invoice.catalogue.wizard
Parameters
--kindOption, required. Invoice kind: issued (a customer owes you) or received (you owe a supplier)
--counterparty-nifOption, required. No description.
--counterparty-nameOption, required. No description.
--invoice-numberOption, required. No description.
--invoice-dateOption, required. Invoice issue date in ISO 8601 (YYYY-MM-DD), e.g. 2026-01-15.
--taxable-baseOption, required. No description.
--iva-rateOption, optional. No description.
--currencyOption, optional. No description.
--country-codeOption, optional. Counterparty ISO 3166-1 alpha-2 country code (defaults to ES).
--operation-typeOption, optional. M349 operation type: E supply of goods, S services, T triangular, R rectification, A acquisition of goods, I acquisition of services, M miscellaneous
--notesOption, optional. No description.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_catalogue_invoice_payloads.CatalogueInvoiceWizardResult.
aeat app ledger invoice list¶
List business invoices (both kinds unless –kind filters)
Command path: aeat app ledger invoice list
Registry key: ledger.invoice.list
Parameters
--kindOption, optional. Invoice kind: issued (a customer owes you) or received (you owe a supplier)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.InvoiceListResult.
aeat app ledger invoice remove¶
Delete a business invoice
Command path: aeat app ledger invoice remove
Registry key: ledger.invoice.remove
Parameters
invoice_idOption, required. Invoice id (or unambiguous prefix)
--kindOption, required. Invoice kind: issued (a customer owes you) or received (you owe a supplier)
--yesOption, optional. Confirm deleting the invoice
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.InvoiceRemoveResult.
aeat app ledger invoice update¶
Update business invoice details
Command path: aeat app ledger invoice update
Registry key: ledger.invoice.update
Parameters
invoice_idOption, required. Invoice id (or unambiguous prefix)
--kindOption, required. Invoice kind: issued (a customer owes you) or received (you owe a supplier)
--counterparty-nifOption, optional. No description.
--counterparty-nameOption, optional. No description.
--invoice-numberOption, optional. No description.
--invoice-dateOption, optional. No description.
--currencyOption, optional. No description.
--taxable-baseOption, optional. No description.
--iva-rateOption, optional. No description.
--iva-amountOption, optional. No description.
--total-amountOption, optional. No description.
--notesOption, optional. No description.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.InvoiceUpdateResult.
aeat app ledger invoice view¶
Show one business invoice
Command path: aeat app ledger invoice view
Registry key: ledger.invoice.view
Parameters
invoice_idOption, required. Invoice id (or unambiguous prefix)
--kindOption, required. Invoice kind: issued (a customer owes you) or received (you owe a supplier)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_business_payloads.InvoiceViewResult.
aeat app ledger link¶
Bind a ledger transaction to an invoice and/or a purchase-invoice evidence record in a single canonical call. Refuses cross-bucket links. Local-only; never contacts AEAT.
Command path: aeat app ledger link
Registry key: ledger.link
Parameters
transaction_idOption, required. Ledger transaction id (SHA-256 or unambiguous prefix).
--invoice-idOption, optional. Rich invoice-catalogue id from an imported or reconciled invoice, or from ‘aeat app ledger invoice catalogue create’, bound bidirectionally to the transaction. This is NOT an ‘aeat app ledger invoice add’ id.
--evidence-idOption, optional. Purchase-invoice evidence id minted by ‘aeat app ledger evidence add’, attached to the transaction.
--byOption, optional. Operator label recorded on bucket events.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerLinkResult.
aeat app ledger list¶
List ledger transactions in the active profile
Command path: aeat app ledger list
Registry key: ledger.list
Parameters
--filterOption, optional. Filter rows by status, period (a bare AEAT token, e.g. period=1T) plus year (e.g. year=2026), classification, issue, import, direction (ingreso/gasto), or text. To filter by organisational group label use the separate –group option.
--periodOption, optional. Filing period as an AEAT token: 1T-4T (quarters), 0A (annual), 01-12 (months). Combine with –year to choose the year.
--yearOption, optional. Filing year for –period (e.g. 2024).
--limitOption, optional. Maximum rows to show (default: all rows).
--offsetOption, optional. Skip this many rows before listing (default: 0).
--groupOption, optional. Show only rows in this group label.
--by-groupOption, optional. Section the listing by group label.
--sort-byOption, optional. Sort the listed rows by this field (date, amount, description, created_at, modified_at, …).
--sort-orderOption, optional. Sort order: asc (ascending) or desc (descending).
--hide-llm-rejectedOption, optional. Hide rows whose most recent LLM suggestion was rejected (a reviewed-and-declined row drops out of the pending queue).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerListResult.
aeat app ledger llm-diagnostics¶
Report existing LLM usage, cost, and classification-confidence metrics.
Command path: aeat app ledger llm-diagnostics
Registry key: ledger.llm_diagnostics
Parameters
--sinceOption, optional. Inclusive lower ISO date (YYYY-MM-DD) bound on usage records.
--untilOption, optional. Inclusive upper ISO date (YYYY-MM-DD) bound on usage records.
--low-confidence-belowOption, optional. Confidence floor below which a classification counts as low-confidence.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_rule_payloads.LedgerLlmDiagnosticsResult.
aeat app ledger merge¶
Re-merge a complete cohort of split children into a fresh transaction
Command path: aeat app ledger merge
Registry key: ledger.merge
Parameters
--child-idOption, optional. One child id (or unambiguous prefix) to merge. Repeat for every sibling in the cohort; partial merges are refused.
--reasonOption, optional. Reason recorded in the bucket-event payload and lifecycle history
--yesOption, optional. Confirm the merge (archives every child and the parent, persists a fresh content-addressed merged transaction)
--actorOption, optional. Operator name recorded on the LEDGER_TRANSACTION_MERGED event
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerMergeResult.
aeat app ledger participation rebuild¶
Run rebuild_participation_index() for the active bucket.
Command path: aeat app ledger participation rebuild
Registry key: ledger.participation.rebuild
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerParticipationRebuildResult.
aeat app ledger preflight¶
Report missing ledger facts (category, taxable base, IVA amount/rate, currency, proportionality reference) for the active profile’s transactions in a given period. Local-only; never contacts AEAT.
Command path: aeat app ledger preflight
Registry key: ledger.preflight
Parameters
--periodOption, required. Filing period as an AEAT token: 1T-4T (quarters), 0A (annual), 01-12 (months). Combine with –year to choose the year.
--yearOption, required. Filing year (e.g. 2024).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerPreflightResult.
aeat app ledger prorrata declare-sector¶
Declare one differentiated sector (LIVA arts. 9.1.c / 101): the operator’s art. 9.1.c partition, never inferred from the ledger.
Command path: aeat app ledger prorrata declare-sector
Registry key: ledger.prorrata.declare_sector
Parameters
--sector-idOption, required. Stable sector id the register entries and ledger rows reference.
--letraOption, required. LIVA art. 9.1.c letra (a/b/c/d) that makes this sector differentiated.
--activity-codeOption, optional. CNAE / IAE activity code grouped into this sector (repeatable, at least one).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._prorrata_register_payloads.ProrrataDeclareSectorResult.
aeat app ledger prorrata elect-especial¶
Elect prorrata especial for an ejercicio (LIVA art. 103.Dos.1): per-input deduction routes by –input-classification on each ledger row.
Command path: aeat app ledger prorrata elect-especial
Registry key: ledger.prorrata.elect_especial
Parameters
--ejercicioOption, required. Filing year the election covers.
--percentageOption, required. Common-use deduction percentage 0-100 (LIVA art. 106.Uno regla 3.a / art. 104.Dos).
--provenanceOption, optional. LIVA art. 105 source of the provisional percentage.
--referenceOption, optional. AEAT authorisation (art. 105.Dos) or inicio proposal (art. 105.Tres) reference.
--sectorOption, optional. Differentiated-sector id this entry covers; omit for the whole-entity entry.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._prorrata_register_payloads.ProrrataElectEspecialResult.
aeat app ledger prorrata elect-general¶
Elect prorrata general for an ejercicio (LIVA art. 104): one deduction percentage applies to every deducible cuota.
Command path: aeat app ledger prorrata elect-general
Registry key: ledger.prorrata.elect_general
Parameters
--ejercicioOption, required. Filing year the election covers.
--percentageOption, required. Provisional deduction percentage 0-100 (LIVA art. 104.Uno + 105.Uno).
--provenanceOption, optional. LIVA art. 105 source of the provisional percentage.
--referenceOption, optional. AEAT authorisation (art. 105.Dos) or inicio proposal (art. 105.Tres) reference.
--sectorOption, optional. Differentiated-sector id this entry covers; omit for the whole-entity entry.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._prorrata_register_payloads.ProrrataElectGeneralResult.
aeat app ledger prorrata list¶
List every register entry and declared differentiated sector on the active profile.
Command path: aeat app ledger prorrata list
Registry key: ledger.prorrata.list
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._prorrata_register_payloads.ProrrataListResult.
aeat app ledger providers¶
List which subprocess LLM providers have a usable CLI on PATH.
Command path: aeat app ledger providers
Registry key: ledger.providers
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_rule_payloads.LedgerProvidersResult.
aeat app ledger pull-folder¶
Bulk-fetch every PDF/image invoice in a Drive folder and store each as encrypted evidence (unlinked to any transaction; link with ‘aeat app ledger attach’ or ‘link’).
Command path: aeat app ledger pull-folder
Registry key: ledger.pull_folder
Parameters
--folderOption, required. Drive folder URL or bare folder id to bulk-fetch invoice PDFs/images from.
--noteOption, optional. Optional note recorded on every fetched attachment.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerDocLinkPullFolderResult.
aeat app ledger ratios eligible¶
List categories that accept a specific ratio
Command path: aeat app ledger ratios eligible
Registry key: ledger.ratios.eligible
Parameters
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_ratios_payloads.RatiosEligibleResult.
aeat app ledger ratios list¶
List category ratios in the active profile
Command path: aeat app ledger ratios list
Registry key: ledger.ratios.list
Parameters
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_ratios_payloads.RatiosListResult.
aeat app ledger ratios set¶
Set or replace the ratio for a category
Command path: aeat app ledger ratios set
Registry key: ledger.ratios.set
Parameters
categoryOption, required. Spending category id (e.g. USAGE_RATIO_VEHICLE)
ratioOption, required. Applicable ratio between 0 and 1
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_ratios_payloads.RatiosSetResult.
aeat app ledger ratios unset¶
Remove the specific ratio for a category
Command path: aeat app ledger ratios unset
Registry key: ledger.ratios.unset
Parameters
categoryOption, required. Category id whose ratio you want to clear
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_ratios_payloads.RatiosUnsetResult.
aeat app ledger ratios validate¶
Validate ratios against eligible categories and bounds
Command path: aeat app ledger ratios validate
Registry key: ledger.ratios.validate
Parameters
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_ratios_payloads.RatiosValidateResult.
aeat app ledger remove¶
Remove one ledger transaction from the active profile
Command path: aeat app ledger remove
Registry key: ledger.remove
Parameters
transaction_idOption, required. Ledger transaction id to remove
--reasonOption, optional. Reason recorded in removal history
--dry-runOption, optional. Report removal effects without deleting the ledger transaction
--yesOption, optional. Confirm deletion of the ledger transaction
--actorOption, optional. Operator name recorded on the bucket event
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerRemoveResult.
aeat app ledger reset¶
Reset the active profile’s ledger catalogue
Command path: aeat app ledger reset
Registry key: ledger.reset
Parameters
--reasonOption, optional. Reason recorded in reset history
--dry-runOption, optional. Report reset effects without clearing the ledger catalogue
--yesOption, optional. Confirm clearing the active ledger catalogue
--actorOption, optional. Operator name recorded on the bucket event
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerResetResult.
aeat app ledger restore¶
Restore one stashed or archived ledger transaction to active
Command path: aeat app ledger restore
Registry key: ledger.restore
Parameters
transaction_idOption, required. Ledger transaction id to restore to active
--reasonOption, optional. Reason recorded in lifecycle history
--yesOption, optional. Confirm restoring the ledger transaction to active
--actorOption, optional. Operator name recorded on the bucket event
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerRestoreResult.
aeat app ledger review¶
Interactive review and validation of ledger entries
Command path: aeat app ledger review
Registry key: ledger.review
Parameters
--filterOption, optional. Filter rows by status, period (a bare AEAT token, e.g. period=1T) plus year (e.g. year=2026), issue, import, classification, text, or direction
record_idOption, optional. Identifier of the specific entry to review
--verboseOption, optional. Show detailed information during review
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerReviewResult.
aeat app ledger rule add¶
Add a classification rule that auto-classifies matching transactions.
Command path: aeat app ledger rule add
Registry key: ledger.rule.add
Parameters
--description-patternOption, required. Regex pattern matched (case-insensitive) against transaction description.
--classificationOption, required. Target classification for matching transactions.
--category-idOption, optional. Optional spending category to apply.
--priorityOption, optional. Numeric priority; lower value is evaluated first (default 100).
--actorOption, optional. Operator identifier recorded in the rule provenance.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_rule_payloads.RuleAddResult.
aeat app ledger rule apply¶
Apply stored classification rules to unclassified ACTIVE transactions.
Command path: aeat app ledger rule apply
Registry key: ledger.rule.apply
Parameters
--reaffirmOption, optional. Also re-classify transactions that were manually classified.
--dry-runOption, optional. Show what would be classified without persisting changes.
--actorOption, optional. Operator identifier recorded in the rule provenance.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_rule_payloads.RuleApplyResult.
aeat app ledger rule list¶
List stored classification rules ordered by priority.
Command path: aeat app ledger rule list
Registry key: ledger.rule.list
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_rule_payloads.RuleListResult.
aeat app ledger split¶
Redistribute one parent transaction into N child transactions whose amounts sum to the parent amount exactly
Command path: aeat app ledger split
Registry key: ledger.split
Parameters
transaction_idOption, required. Parent transaction id (or unambiguous hex prefix) to split
--child-amountOption, optional. One child amount as a non-negative magnitude in the parent’s currency. Repeat once per child; the count must match –child-description.
--child-descriptionOption, optional. One child narrative. Repeat once per child; the count must match –child-amount.
--llmOption, optional. Propose an evidence-driven N-way split with the given LLM provider.
--applyOption, optional. Persist the proposed –llm split (requires –yes); without it the proposal is previewed only.
--read-evidenceOption, optional. Read the transaction’s attached invoice on-host and feed it to the –llm split proposer.
--evidence-acknowledgedOption, optional. Acknowledge –read-evidence sends the evidence to a cloud model (off by default, gestor-barred).
--vision-modelOption, optional. Override the local Ollama vision model for an image/scanned-invoice read (e.g. qwen2.5vl:7b); defaults to the configured model.
--reasonOption, optional. Reason recorded in the bucket-event payload and lifecycle history
--yesOption, optional. Confirm the split (transitions the parent to SPLIT and persists N child transactions)
--actorOption, optional. Operator name recorded on the LEDGER_TRANSACTION_SPLIT event
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerSplitResult.
aeat app ledger stash¶
Stash one ledger transaction in the active profile
Command path: aeat app ledger stash
Registry key: ledger.stash
Parameters
transaction_idOption, required. Ledger transaction id to stash
--reasonOption, optional. Reason recorded in lifecycle history
--yesOption, optional. Confirm stashing the ledger transaction
--actorOption, optional. Operator name recorded on the bucket event
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerStashResult.
aeat app ledger status¶
Summarize ledger state and calculation readiness for the active profile
Command path: aeat app ledger status
Registry key: ledger.status
Parameters
--periodOption, optional. Filing period as an AEAT token: 1T-4T (quarters), 0A (annual), 01-12 (months). Combine with –year to choose the year.
--yearOption, optional. Filing year for –period (e.g. 2024).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerStatusResult.
aeat app ledger track¶
Show the event lineage for one ledger transaction
Command path: aeat app ledger track
Registry key: ledger.track
Parameters
transaction_idOption, required. Ledger transaction id to inspect
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerTrackResult.
aeat app ledger update¶
Update one ledger transaction with full-replace field semantics
Command path: aeat app ledger update
Registry key: ledger.update
Parameters
transaction_idOption, required. Ledger transaction id (or unambiguous hex prefix) to update
--dateOption, optional. New booked date (YYYY-MM-DD)
--value-dateOption, optional. New value date (YYYY-MM-DD)
--amountOption, optional. New non-negative amount magnitude (full replace)
--directionOption, optional. New transaction direction
--currencyOption, optional. New three-letter ISO 4217 currency code
--counterpartyOption, optional. New counterparty descriptor
--descriptionOption, optional. New narrative
--taxable-baseOption, optional. New IVA-exclusive base amount
--iva-rateOption, optional. New IVA rate as a decimal fraction
--iva-amountOption, optional. New IVA amount
--irpf-categoryOption, optional. New IRPF-specific category key
--notesOption, optional. New operator notes
--groupOption, optional. Assign an organisational group label (pass an empty string to clear).
--actorOption, optional. Operator name recorded on the bucket event
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerUpdateResult.
aeat app ledger view¶
View one ledger transaction in the active profile
Command path: aeat app ledger view
Registry key: ledger.view
Parameters
transaction_idOption, required. Ledger transaction id (or unambiguous hex prefix)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._ledger_payloads.LedgerViewResult.
aeat app live borrador 100 latest¶
Show the most recent active snapshot for a filing year
Command path: aeat app live borrador 100 latest
Registry key: app.live.borrador.100.latest
Parameters
--filing-yearOption, required. Filing year (e.g. 2024)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.Borrador100LatestResult.
aeat app live borrador 100 list¶
List persisted Modelo 100 borrador snapshots
Command path: aeat app live borrador 100 list
Registry key: app.live.borrador.100.list
Parameters
--stateOption, optional. Snapshot state filter: active, superseded, discarded, or all
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.Borrador100ListResult.
aeat app live borrador 100 view¶
Show one Modelo 100 borrador snapshot
Command path: aeat app live borrador 100 view
Registry key: app.live.borrador.100.view
Parameters
snapshot_idOption, required. Snapshot id (or unambiguous prefix)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.Borrador100ViewResult.
aeat app live expedientes latest¶
Show the most recent expediente snapshot
Command path: aeat app live expedientes latest
Registry key: app.live.expedientes.latest
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.ExpedientesLatestResult.
aeat app live expedientes list¶
List saved expediente snapshots
Command path: aeat app live expedientes list
Registry key: app.live.expedientes.list
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.ExpedientesListResult.
aeat app live expedientes pull¶
Pull the AEAT declaration register and persist a bucket-scoped snapshot.
Command path: aeat app live expedientes pull
Registry key: app.live.expedientes.pull
Parameters
--modeloOption, optional. Limit this pull to this modelo.
--yearOption, optional. Filing year
--from-yearOption, optional. First filing year
--to-yearOption, optional. Last filing year
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.ExpedientesCaptureResult.
aeat app live expedientes view¶
Show an expediente snapshot
Command path: aeat app live expedientes view
Registry key: app.live.expedientes.view
Parameters
snapshot_idOption, required. Snapshot id (or unambiguous prefix)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.ExpedientesViewResult.
aeat app live filed list¶
List filed declaration rows without downloading artefacts
Command path: aeat app live filed list
Registry key: app.live.filed.list
Parameters
--modeloOption, optional. Modelo code
--from-yearOption, optional. First filing year
--to-yearOption, optional. Last filing year
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.FiledListResult.
aeat app live filed pull¶
Pull filed-declaration data from the authenticated AEAT register.
Command path: aeat app live filed pull
Registry key: app.live.filed.pull
Parameters
--modeloOption, optional. Limit this pull to this modelo.
--yearOption, optional. Filing year
--from-yearOption, optional. First filing year
--to-yearOption, optional. Last filing year
--output-rootOption, optional. Directory for captured filed-declaration observations
--periodOption, optional. Filing period
--expedienteOption, optional. AEAT expediente identifier
--limitOption, optional. Maximum rows to capture
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.FiledCaptureResult.
aeat app live filed pull-sources¶
Pull the filed observations required by a target filing’s dependencies.
Command path: aeat app live filed pull-sources
Registry key: app.live.filed.pull_sources
Parameters
--modeloOption, required. Modelo code
--yearOption, required. Filing year
--periodOption, required. Filing period
--output-rootOption, optional. Directory for captured filed-declaration observations
--registry-rootOption, optional. Registry root
--source-rootOption, optional. Project source root
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.FiledCaptureSourcesResult.
aeat app live iva-wallet history¶
List secure local IVA compensation history, carry-forward lots, and persisted wallet authority decisions derived from Modelo 303 captures.
Command path: aeat app live iva-wallet history
Registry key: app.live.iva_wallet.history
Parameters
--as-of-yearOption, optional. Year used to age IVA compensation carry-forward lots.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.IvaWalletHistoryResult.
aeat app live iva-wallet pull¶
Live-fetch and persist AEAT’s IVA compensation wallet. The only AEAT form action allowed is the guarded wallet read query; representation gates only continue in own-name mode.
Command path: aeat app live iva-wallet pull
Registry key: app.live.iva_wallet.pull
Parameters
--yearOption, required. Filing year
--periodOption, required. Filing period
--taxpayer-nifOption, optional. Taxpayer NIF; defaults to the authenticated identity.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.IvaWalletPullResult.
aeat app live iva-wallet pull-evidence¶
Pull filed Modelo 303 history and attempt the AEAT IVA wallet/cartera read as one typed read-only acquisition.
Command path: aeat app live iva-wallet pull-evidence
Registry key: app.live.iva_wallet.pull_evidence
Parameters
--from-yearOption, required. First filing year
--to-yearOption, required. Last filing year
--target-yearOption, required. Filing year
--target-periodOption, required. Filing period
--taxpayer-nifOption, optional. Taxpayer NIF; defaults to the authenticated identity.
--output-rootOption, optional. Directory for captured filed-declaration observations
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.IvaWalletPullEvidenceResult.
aeat app live iva-wallet pull-history¶
Pull filed Modelo 303 history and persist secure IVA compensation state. No AEAT filing or wallet form choices are submitted.
Command path: aeat app live iva-wallet pull-history
Registry key: app.live.iva_wallet.pull_history
Parameters
--from-yearOption, required. First filing year
--to-yearOption, required. Last filing year
--output-rootOption, optional. Directory for captured filed-declaration observations
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.IvaWalletCaptureHistoryResult.
aeat app live justificante list¶
List persisted justificante captures in the active profile.
Command path: aeat app live justificante list
Registry key: app.live.justificante.list
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.JustificanteListResult.
aeat app live justificante pull¶
Pull the AEAT justificante for a filed period and persist it as official evidence.
Command path: aeat app live justificante pull
Registry key: app.live.justificante.pull
Parameters
--modeloOption, required. Modelo code
--yearOption, required. Filing year
--periodOption, required. Filing period
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.JustificanteCaptureResult.
aeat app live justificante view¶
View one justificante capture.
Command path: aeat app live justificante view
Registry key: app.live.justificante.view
Parameters
snapshot_idOption, required. Snapshot id (or unambiguous prefix).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.JustificanteViewResult.
aeat app live notifications latest¶
Show the most recent DEHU notification snapshot.
Command path: aeat app live notifications latest
Registry key: app.live.notifications.latest
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.NotificationsLatestResult.
aeat app live notifications list¶
List saved DEHú notification snapshots
Command path: aeat app live notifications list
Registry key: app.live.notifications.list
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.NotificationsListResult.
aeat app live notifications pull¶
Pull DEHu notifications and persist a bucket-scoped snapshot.
Command path: aeat app live notifications pull
Registry key: app.live.notifications.pull
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.NotificationsCaptureResult.
aeat app live notifications view¶
Show a DEHú notification snapshot
Command path: aeat app live notifications view
Registry key: app.live.notifications.view
Parameters
snapshot_idOption, required. Snapshot id (or unambiguous prefix)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.NotificationsViewResult.
aeat app live portals list¶
List portal catalogue entries
Command path: aeat app live portals list
Registry key: app.live.portals.list
Parameters
--categoryOption, optional. Filter by portal category
--modeloOption, optional. Filter by portals linked to a modelo
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.PortalsListResult.
aeat app live portals view¶
Show a portal catalogue entry
Command path: aeat app live portals view
Registry key: app.live.portals.view
Parameters
portal_idOption, required. Portal identifier
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.PortalsViewResult.
aeat app live verify latest¶
Show the most recent observation for surface and NIF
Command path: aeat app live verify latest
Registry key: app.live.verify.latest
Parameters
--surfaceOption, required. Verification surface: nif_iva or tgvi
--nifOption, required. NIF to look up
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.VerifyLatestResult.
aeat app live verify list¶
List saved verification observations
Command path: aeat app live verify list
Registry key: app.live.verify.list
Parameters
--surfaceOption, optional. Filter by surface: nif_iva or tgvi
--nifOption, optional. Filter by one NIF
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.VerifyListResult.
aeat app live verify nif-iva¶
Verify an intra-community NIF-IVA in AEAT IXVI and save the observation
Command path: aeat app live verify nif-iva
Registry key: app.live.verify.nif_iva
Parameters
nifOption, required. NIF-IVA value (e.g. ESB12345678)
--expectedOption, optional. Optional expected result (valid, invalid, or unknown)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.VerifyNifIvaResult.
aeat app live verify tgvi¶
Verify a NIF’s ROI/VIES registration in GROI and save the observation
Command path: aeat app live verify tgvi
Registry key: app.live.verify.tgvi
Parameters
nifOption, required. Spanish NIF/NIE to check
--expectedOption, optional. Optional expected result (valid, invalid, or unknown)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.VerifyTgviResult.
aeat app live verify view¶
Show a saved verification observation
Command path: aeat app live verify view
Registry key: app.live.verify.view
Parameters
observation_idOption, required. Observation id (or unambiguous prefix)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._app_live_payloads.VerifyViewResult.
aeat app modelo aggregate¶
Run the backend per-modelo aggregation service from explicit canonical observations. Accepted source_kind values are ledger_transaction, purchase_invoice_evidence, payable_invoice, and collectible_invoice.
Command path: aeat app modelo aggregate
Registry key: modelo.aggregate
Parameters
--modeloOption, required. Supported modelo code for the backend aggregation service (111, 115, 123, 180, 190, 193, 347, 349, or 720).
--yearOption, required. Tax year of the work unit (e.g. 2026)
--periodOption, required. Aggregation period token: 0A annual, 1T-4T quarters, 01-12 months.
--retencion-observationOption, optional. JSON RetencionObservation object. The source_kind value must be ledger_transaction, purchase_invoice_evidence, payable_invoice, or collectible_invoice. For Modelo 111 trabajo, scheme rendimientos_trabajo is the empleado progressive rate (LIRPF art. 101.1) and rendimientos_trabajo_administrador is the fixed administrador/consejero rate (LIRPF art. 101.2: 35 percent, or 19 percent when the entity’s net turnover is below 100,000 EUR). Repeat for multiple observations.
--counterpart-observationOption, optional. JSON CounterpartObservation object. The source_kind value must be ledger_transaction, purchase_invoice_evidence, payable_invoice, or collectible_invoice. Repeat for multiple observations.
--foreign-asset-observationOption, optional. JSON ForeignAssetObservation object. The source_kind value must be ledger_transaction, purchase_invoice_evidence, payable_invoice, or collectible_invoice. Repeat for multiple observations.
--withholding-observationOption, optional. Per-perceptor-clave withholding observation (JSON) for the Modelo 190 percepciones count; repeatable.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.ModeloAggregateResult.
aeat app modelo audit check¶
Re-verify an evidence bundle by recomputing record digests.
Command path: aeat app modelo audit check
Registry key: modelo.audit.check
Parameters
bundle_idOption, required. Evidence bundle id (full SHA-256 or unambiguous prefix).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_aux_payloads.ModeloAuditCheckResult.
aeat app modelo audit export¶
Write a deterministic ZIP archive of the evidence bundle (manifest.json emitted last).
Command path: aeat app modelo audit export
Registry key: modelo.audit.export
Parameters
bundle_idOption, required. Evidence bundle id (full SHA-256 or unambiguous prefix).
--outputOption, required. Output path for the bundle ZIP archive.
--force-incompleteOption, optional. Allow export when verification reports the bundle as incomplete.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_aux_payloads.ModeloAuditExportResult.
aeat app modelo audit replay¶
Re-run the evidence-case verification for forensic audit handoff; never contacts AEAT and never performs submission.
Command path: aeat app modelo audit replay
Registry key: modelo.audit.replay
Parameters
bundle_idOption, required. Evidence bundle id (full SHA-256 or unambiguous prefix).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_aux_payloads.ModeloAuditReplayResult.
aeat app modelo audit show¶
Render an evidence bundle’s manifest and referenced records
Command path: aeat app modelo audit show
Registry key: modelo.audit.show
Parameters
bundle_idOption, required. Evidence bundle id (full SHA-256 or unambiguous prefix).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_aux_payloads.ModeloAuditShowResult.
aeat app modelo bindings list¶
List the required and available bindings for a modelo / year / period
Command path: aeat app modelo bindings list
Registry key: modelo.bindings.list
Parameters
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the modelo (e.g. 2026)
--periodOption, optional. Period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--missingOption, optional. Filter to the bindings still owed: drops constant-valued bindings and any the active profile already resolves. With no active profile every non-constant binding is shown (the conservative answer).
--as-ofOption, optional. Resolve the modelo revision active on the supplied ISO date (YYYY-MM-DD)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_bindings_payloads.ModeloBindingsListResult.
aeat app modelo bindings resolve¶
Resolve bindings and show their values with optional temporary overrides, without mutating state
Command path: aeat app modelo bindings resolve
Registry key: modelo.bindings.resolve
Parameters
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the modelo (e.g. 2026)
--periodOption, optional. Period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--bindingOption, optional. Temporary binding override with KEY=VALUE syntax (repeatable)
--as-ofOption, optional. Resolve the modelo revision active on the supplied ISO date (YYYY-MM-DD)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_bindings_payloads.ModeloBindingsPreviewResult.
aeat app modelo casilla¶
Show the label, legal grounding, input kind, and formula for one casilla on the resolved registry snapshot.
Command path: aeat app modelo casilla
Registry key: modelo.casilla
Parameters
modeloOption, required. Tax form code (e.g. 303, 130, 100)
casilla_idOption, required. Casilla id or printed casilla number to describe (e.g. 0596).
--yearOption, optional. Filter the modelo catalogue to a single fiscal year
--periodOption, optional. Period token used to resolve the modelo revision: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--as-ofOption, optional. Resolve the modelo revision active on the supplied ISO date (YYYY-MM-DD)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.ModeloCasillaResult.
aeat app modelo casillas¶
List all casillas (fields/boxes) defined for a specific modelo revision.
Command path: aeat app modelo casillas
Registry key: modelo.casillas
Parameters
modeloOption, required. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Filter the modelo catalogue to a single fiscal year
--periodOption, optional. Period token used to resolve the modelo revision: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--as-ofOption, optional. Resolve the modelo revision active on the supplied ISO date (YYYY-MM-DD)
--input-kindOption, optional. Filter casillas by input kind (manual, bound, computed, informational)
--requiredOption, optional. Show only casillas the modelo marks as required
--form-numberOption, optional. Filter casillas by BOE-printed form number (e.g. 46)
--numberOption, optional. Filter casillas by printed casilla number or canonical id (e.g. 0596).
--explainOption, optional. Include localized help text in the text output.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.ModeloCasillasResult.
aeat app modelo compare¶
Compare two filing-year calculation revisions for the same modelo. Emits per-casilla delta rows (year_b - year_a) grouped by section.
Command path: aeat app modelo compare
Registry key: modelo.compare
Parameters
--yearOption, optional. Filing year to include in the comparison. Specify exactly twice (–year 2024 –year 2025).
--modeloOption, optional. Modelo number to compare (e.g. 100, 130).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.ModeloCompareResult.
aeat app modelo describe¶
Show detailed structure, metadata, and active periods for a specific modelo.
Command path: aeat app modelo describe
Registry key: modelo.describe
Parameters
modeloOption, required. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Filter the modelo catalogue to a single fiscal year
--periodOption, optional. Period token used to resolve the modelo revision: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--as-ofOption, optional. Resolve the modelo revision active on the supplied ISO date (YYYY-MM-DD)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_aux_payloads.ModeloDescribeResult.
aeat app modelo export¶
Export a verified-complete or filed modelo revision to a local AEAT-compatible fichero-BOE file. Local-only; never contacts AEAT, and the generated file is not official AEAT filing evidence. Use AEAT justificante, declaration consultation, or CSV cotejo evidence after filing.
Command path: aeat app modelo export
Registry key: modelo.export
Parameters
work_unit_idOption, optional. Work unit id (SHA-256 or unambiguous prefix).
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--registry-revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--selectOption, optional. Revision selector.
--outputOption, optional. Path to write the fichero-BOE artefact to.
--revisionOption, optional. Calculation revision id to export; defaults to the work unit’s most recent verified-complete or filed revision.
--byOption, optional. Operator label recorded into the MODELO_EXPORTED event.
--dispositionOption, optional. Modelo 303 negative-result disposition: compensar (carry the credit forward, default) or devolver (request a refund; only in the year’s last filing period for a non-REDEME taxpayer).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.ModeloExportPayload.
aeat app modelo filing-record import¶
Persist an externally-filed return as a baseline filing record carrying imported AEAT-attested evidence
Command path: aeat app modelo filing-record import
Registry key: modelo.filing_record.import
Parameters
work_unit_idOption, required. Stable 64-character SHA-256 identifier of the work unit
--evidence-kindOption, required. Kind of imported evidence (aeat_justificante_pdf, aeat_csv_register, aeat_live_capture)
--evidence-idOption, required. Stable reference id of the imported evidence (justificante number, CSV register id, live capture id)
--byOption, optional. Actor responsible for the action (free-text label up to 64 chars)
--setOption, optional. Imported casilla value with CASILLA_ID=DECIMAL syntax (repeatable; at least one required)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.FilingRecordImportResult.
aeat app modelo filing-record list¶
List registered filing records
Command path: aeat app modelo filing-record list
Registry key: modelo.filing_record.list
Parameters
--bucket-idOption, optional. Filter by profile
--modeloOption, optional. Filter by modelo code (e.g. 303, 130, 100)
--include-supersededOption, optional. Include superseded filing records (excluded by default)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.ModeloRecordListResult.
aeat app modelo filing-record observe-local¶
Record an operator-supplied local observation for calculation prefill
Command path: aeat app modelo filing-record observe-local
Registry key: modelo.filing_record.observe_local
Parameters
--modeloOption, required. Tax form code (e.g. 303, 130, 100)
--yearOption, required. Tax year of the work unit (e.g. 2026)
--periodOption, required. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--byOption, optional. Actor responsible for the action (free-text label up to 64 chars)
--setOption, optional. Canonical casilla.id and Decimal value to record, e.g. –set 1391=0
--fileOption, optional. Path to a local CSV or XLSX spreadsheet of casilla_code,value rows (a cert-free reconstruction of a past filing). Combines with –set; a –set value for the same casilla overrides the spreadsheet row
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.FilingRecordLocalObservationResult.
aeat app modelo filing-record view¶
Show one filing record by id
Command path: aeat app modelo filing-record view
Registry key: modelo.filing_record.view
Parameters
filing_record_idOption, required. Stable filing-record identifier
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.ModeloRecordShowResult.
aeat app modelo formulas¶
List all computed casillas and their formulas for a specific modelo revision.
Command path: aeat app modelo formulas
Registry key: modelo.formulas
Parameters
modeloOption, required. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Filter the modelo catalogue to a single fiscal year
--periodOption, optional. Period token used to resolve the modelo revision: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--as-ofOption, optional. Resolve the modelo revision active on the supplied ISO date (YYYY-MM-DD)
--explainOption, optional. Include the legal_refs and source_refs that ground each formula in the text output. The JSON payload always carries them.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.FormulasResult.
aeat app modelo history¶
Show the chronological lifecycle audit for one modelo
Command path: aeat app modelo history
Registry key: modelo.history
Parameters
--modeloOption, required. Modelo code (e.g. 100, 303)
--yearOption, optional. Optional filing year filter
--periodOption, optional. Optional period filter using the modelo revision token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.ModeloHistoryResult.
aeat app modelo iva-wallet balance¶
Show aggregated IVA compensation carry-forward balance computed from local Modelo 303 history. Reports total_balance, active_balance, expired_balance, lot_count, and next_expiry_year.
Command path: aeat app modelo iva-wallet balance
Registry key: modelo.iva_wallet.balance
Parameters
--as-of-yearOption, required. Reference year for carry-forward age and expiry calculations.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_iva_wallet_payloads.IvaWalletBalanceResult.
aeat app modelo iva-wallet correct¶
Correct a wrong opening Modelo 303 carry-forward balance previously seeded for a pre-history period. Overwrites the existing seeded amount; refuses when no record exists for the period (seed first) and when an already-filed Modelo 303 has consumed the seeded basis (correcting it would change a filed return). Records –reason into an audit event. Requires –confirm.
Command path: aeat app modelo iva-wallet correct
Registry key: modelo.iva_wallet.correct
Parameters
--filing-yearOption, required. Filing year of the seeded Modelo 303 period to correct.
--periodOption, required. Period of the seeded Modelo 303 record to correct (e.g. 4T, 3T).
--amountOption, required. Corrected carry-forward balance amount in EUR (decimal, e.g. 1200.50).
--reasonOption, required. Reason for the correction, recorded into the audit event.
--confirm,--yesOption, optional. Required confirmation flag. Acknowledge that this overwrites a previously seeded carry-forward balance and filing accuracy depends on the new value.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads_m036.IvaWalletCorrectResult.
aeat app modelo iva-wallet override¶
Record a taxpayer override for the Modelo 303 prior-compensation carry from evidence held outside the local wallet. It unblocks calculation only and does not satisfy the official-evidence verification gate. Requires –confirm.
Command path: aeat app modelo iva-wallet override
Registry key: modelo.iva_wallet.override
Parameters
--filing-yearOption, required. Filing year of the Modelo 303 period whose prior-compensation carry is overridden.
--periodOption, required. Period of the dependent Modelo 303 filing receiving the carry, for example 2T or 3T.
--amountOption, required. Overridden prior-compensation amount in EUR applied to iva.compensacion-pendiente-periodos-anteriores, AEAT box 110; decimal, for example 420.00.
--reasonOption, required. Required basis for the override, recorded as auditable provenance.
--evidence-locatorOption, required. Required locator for the evidence supporting the override, for example a prior justificante reference.
--confirm,--yesOption, optional. Required confirmation flag. Acknowledge that the override changes the filed prior-compensation figure and filing accuracy depends on the supplied value.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_iva_wallet_payloads.IvaWalletOverrideResult.
aeat app modelo iva-wallet seed¶
Declare a Modelo 303 carry-forward balance for a period that pre-dates local history. Refuses if a record already exists for the period.
Two cases:
–amount 0 True first-period: this is the taxpayer’s first ever Modelo 303 filing under this NIF. Casilla 110 is zero because no prior compensation balance exists (LIVA art. 99.5, Ley 37/1992). The reconciliation layer treats this as first_period_zero — non-blocking and legally certain.
- --amount X
Carry-in: the taxpayer has filed prior M303s under a different tool or directly with AEAT. X is the compensacion pendiente de periodos posteriores from the last filed M303.
Command path: aeat app modelo iva-wallet seed
Registry key: modelo.iva_wallet.seed
Parameters
--filing-yearOption, required. Filing year of the Modelo 303 period to seed.
--periodOption, required. Period of the Modelo 303 filing: 1T-4T quarters (e.g. 4T).
--amountOption, required. Carry-forward balance amount in EUR (decimal, e.g. 1200.50). This is the compensación pendiente de periodos anteriores for the NEXT period after the seeded one.
--confirmOption, optional. Required confirmation flag. Acknowledge that seeding declares a carry-forward balance and filing accuracy depends on the value supplied.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_iva_wallet_payloads.IvaWalletSeedResult.
aeat app modelo list¶
List all official tax forms (modelos) registered in the system.
Command path: aeat app modelo list
Registry key: modelo.list
Parameters
--yearOption, optional. Filter the modelo catalogue to a single fiscal year
--domainOption, optional. Filter the modelo catalogue to a single tax family (e.g. iva, irpf, is)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_aux_payloads.ModeloListResult.
aeat app modelo m036 alta¶
Record an M036 alta declaration (initial census registration) filed at sede.
Command path: aeat app modelo m036 alta
Registry key: modelo.m036.alta
Parameters
--declared-onOption, required. ISO date (YYYY-MM-DD) the operator filed the M036 at sede.
--sede-justificanteOption, optional. Optional AEAT acuse de recibo identifier emitted by sede for the filing.
--noteOption, optional. Optional operator note (up to 512 chars).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads_m036.M036DeclarationRecordResult.
aeat app modelo m036 baja¶
Record an M036 baja declaration (census deregistration) filed at sede.
Command path: aeat app modelo m036 baja
Registry key: modelo.m036.baja
Parameters
--declared-onOption, required. ISO date (YYYY-MM-DD) the operator filed the M036 at sede.
--sede-justificanteOption, optional. Optional AEAT acuse de recibo identifier emitted by sede for the filing.
--noteOption, optional. Optional operator note (up to 512 chars).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads_m036.M036DeclarationRecordResult.
aeat app modelo m036 list¶
List the M036 declarations recorded in the active profile.
Command path: aeat app modelo m036 list
Registry key: modelo.m036.list
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads_m036.M036DeclarationListResult.
aeat app modelo m036 modificacion¶
Record an M036 modificacion declaration (census update) filed at sede.
Command path: aeat app modelo m036 modificacion
Registry key: modelo.m036.modificacion
Parameters
--declared-onOption, required. ISO date (YYYY-MM-DD) the operator filed the M036 at sede.
--sede-justificanteOption, optional. Optional AEAT acuse de recibo identifier emitted by sede for the filing.
--noteOption, optional. Optional operator note (up to 512 chars).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads_m036.M036DeclarationRecordResult.
aeat app modelo m036 view¶
View one recorded M036 declaration by id (or unambiguous prefix).
Command path: aeat app modelo m036 view
Registry key: modelo.m036.view
Parameters
declaration_idOption, required. The declaration id (or an unambiguous prefix of it) to view.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads_m036.M036DeclarationShowResult.
aeat app modelo m145 create¶
Create a Modelo 145 local payer communication record.
Command path: aeat app modelo m145 create
Registry key: modelo.m145.create
Parameters
--yearOption, required. Communication year.
--periodOption, optional. Communication period token: comunicacion or variacion.
--casillaOption, optional. Repeatable registry field assignment, ID=VALUE.
--noteOption, optional. Optional operator note.
--byOption, optional. Operator label for the event.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads_m145.M145CommunicationRecordResult.
aeat app modelo m145 export¶
Export a Modelo 145 local payer communication record.
Command path: aeat app modelo m145 export
Registry key: modelo.m145.export
Parameters
communication_record_idOption, required. Communication record id or unambiguous prefix.
--byOption, optional. Operator label for the event.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads_m145.M145CommunicationExportResultPayload.
aeat app modelo m145 mark-delivered-to-payer¶
Mark a Modelo 145 local communication record delivered to the payer.
Command path: aeat app modelo m145 mark-delivered-to-payer
Registry key: modelo.m145.mark_delivered_to_payer
Parameters
communication_record_idOption, required. Communication record id or unambiguous prefix.
--byOption, optional. Operator label for the event.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads_m145.M145CommunicationRecordResult.
aeat app modelo m145 mark-locally-completed¶
Mark a Modelo 145 local communication record locally completed.
Command path: aeat app modelo m145 mark-locally-completed
Registry key: modelo.m145.mark_locally_completed
Parameters
communication_record_idOption, required. Communication record id or unambiguous prefix.
--byOption, optional. Operator label for the event.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads_m145.M145CommunicationRecordResult.
aeat app modelo m145 validate¶
Validate a Modelo 145 local payer communication record.
Command path: aeat app modelo m145 validate
Registry key: modelo.m145.validate
Parameters
communication_record_idOption, required. Communication record id or unambiguous prefix.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads_m145.M145CommunicationValidationResultPayload.
aeat app modelo project¶
Run modelo aggregate projections (e.g. year-end Modelo 130 aggregation).
Command path: aeat app modelo project
Registry key: modelo.project
Parameters
--yearOption, required. Filing year (e.g. 2024).
--ccaaOption, required. Autonomous community tax residence key for the M100 autonomic scale (e.g. cataluna, comunidad-valenciana). Must match the registry enum.
--casillaOption, optional. Additional M100 casilla override as CASILLA_ID=DECIMAL (e.g. 0513=1150 for age supplement). Repeat for multiple overrides.
--bindingOption, optional. Additional M100 binding override as KEY=VALUE. Repeat for multiple. Retenciones bindings default to zero when not supplied.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.ModeloProjectResult.
aeat app modelo readiness¶
Report whether the active profile is ready to file one modelo / year / period.
Command path: aeat app modelo readiness
Registry key: modelo.readiness
Parameters
--modeloOption, required. Modelo code (e.g. 303).
--revision-idOption, required. Registry revision id.
--yearOption, required. Filing year.
--periodOption, optional. Period token used to resolve the modelo revision: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.ModeloReadinessResult.
aeat app modelo reconcile file¶
Reconcile a work unit against a local justificante or declaración PDF. Local-only; never contacts AEAT.
Command path: aeat app modelo reconcile file
Registry key: modelo.reconcile.file
Parameters
--fileOption, required. Path to the local justificante or declaración PDF to reconcile against.
work_unit_idOption, optional. Work unit id (SHA-256 or unambiguous prefix).
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--byOption, optional. Actor responsible for the action (free-text label up to 64 chars)
--kindOption, optional. Evidence document kind: justificante (AEAT receipt, every modelo) or declaration (filed declaración PDF, casilla-level reconcile, enrolled modelos only). Defaults to justificante.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._payloads_modelo_reconcile.ModeloReconcileResult.
aeat app modelo reconcile history¶
List past reconciliations recorded for the active profile.
Command path: aeat app modelo reconcile history
Registry key: modelo.reconcile.history
Parameters
--work-unit-idOption, optional. Optional work unit id to narrow the history to one work unit.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads_m036.ModeloReconciliationHistoryResult.
aeat app modelo reconcile pull¶
Pull the justificante for a work unit from AEAT and reconcile against it. Contacts AEAT (read-only).
Command path: aeat app modelo reconcile pull
Registry key: modelo.reconcile.pull
Parameters
work_unit_idOption, optional. Work unit id (SHA-256 or unambiguous prefix).
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--byOption, optional. Actor responsible for the action (free-text label up to 64 chars)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._payloads_modelo_reconcile.ModeloReconcileResult.
aeat app modelo requires¶
Show the data-inventory checklist for one modelo and period: which casillas must be hand-entered, which are optional, which are populated automatically from the ledger, and which come from the active profile.
Command path: aeat app modelo requires
Registry key: modelo.requires
Parameters
modeloOption, required. Tax form code (e.g. 303, 130, 100).
--yearOption, required. Filter the modelo catalogue to a single fiscal year
--periodOption, required. Period token used to resolve the modelo revision: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.ModeloRequiresResult.
aeat app modelo review-package build¶
Assemble a shareable, checksum-verifiable review package (fichero-BOE draft, revision provenance, and bundled ledger evidence) for accountant handoff. Local-only; never contacts AEAT.
Command path: aeat app modelo review-package build
Registry key: modelo.review_package.build
Parameters
work_unit_idOption, optional. Work unit id (SHA-256 or unambiguous prefix).
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--registry-revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--selectOption, optional. Revision selector.
--outputOption, optional. Path to write the review package ZIP to.
--revisionOption, optional. Calculation revision id to package; defaults to the work unit’s most recent verified-complete or filed revision.
--byOption, optional. Operator label recorded into the package descriptor and the underlying export event.
--notesOption, optional. Free-text note embedded in the package descriptor (e.g. why it was shared).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_review_package_payloads.ModeloReviewPackageBuildResult.
aeat app modelo review-package counter-sign¶
Counter-sign an operator-signed review package on behalf of the receiving accountant and write the receipt envelope to –output. Local-only; never contacts AEAT.
Command path: aeat app modelo review-package counter-sign
Registry key: modelo.review_package.counter_sign
Parameters
packageOption, required. Path to the review package ZIP to verify.
signatureOption, required. Path to the signature envelope JSON produced by sign.
--outputOption, required. Path to write the counter-signed receipt JSON to.
--noteOption, optional. Free-text counter-signer note or verdict (e.g. ‘reviewed, no changes’).
--bucket-idOption, optional. Bucket id the review package operates on (defaults to the active profile).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_review_package_payloads.ModeloReviewPackageCounterSignResult.
aeat app modelo review-package decrypt¶
Open a recipient-encrypted review package with this bucket’s X25519 encryption keypair (minted on first use) and write the recovered package ZIP to –output. Local-only; never contacts AEAT.
Command path: aeat app modelo review-package decrypt
Registry key: modelo.review_package.decrypt
Parameters
envelope_pathOption, required. Path to the recipient-encrypted envelope JSON produced by encrypt-for-recipient.
--outputOption, required. Path to write the recovered review package ZIP to.
--bucket-idOption, optional. Bucket id the review package operates on (defaults to the active profile).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_review_package_payloads.ModeloReviewPackageDecryptResult.
aeat app modelo review-package encrypt-feedback¶
Seal a recipient’s review feedback (a note, optionally a counter-signed receipt) back to the originator so only the originator’s private key can open it, and write the envelope to –output. Local-only; never contacts AEAT.
Command path: aeat app modelo review-package encrypt-feedback
Registry key: modelo.review_package.encrypt_feedback
Parameters
--originatorOption, required. Registered originator id whose public key seals the feedback (see aeat config collab recipient add).
--work-unit-idOption, required. Work unit id the feedback concerns (from the reviewed package descriptor).
--calculation-revision-idOption, required. Calculation revision id the feedback concerns (from the reviewed package descriptor).
--byOption, required. The reviewer’s actor label (e.g. the accountant’s display name).
--outputOption, required. Path to write the originator-encrypted feedback envelope JSON to.
--noteOption, optional. Free-text verdict or note (e.g. reviewed, no changes).
--receiptOption, optional. Optional counter-signed receipt JSON (from counter-sign) to bundle as a formal sign-off.
--bucket-idOption, optional. Bucket id the review package operates on (defaults to the active profile).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_review_package_payloads.ModeloReviewPackageEncryptFeedbackResult.
aeat app modelo review-package encrypt-for-recipient¶
Seal a review package so only a registered recipient’s private key can open it, and write the encrypted envelope to –output. Local-only; never contacts AEAT.
Command path: aeat app modelo review-package encrypt-for-recipient
Registry key: modelo.review_package.encrypt_for_recipient
Parameters
packageOption, required. Path to the review package ZIP to verify.
--recipientOption, required. Registered recipient id (see aeat config collab recipient add).
--outputOption, required. Path to write the recipient-encrypted envelope JSON to.
--review-onlyOption, optional. Mark the sealed package as carrying no filing authority (the recipient may read and verify it, but it is not evidence the underlying revision has been or will be filed).
--valid-for-daysOption, optional. Optional validity window in days; omit for a package that never expires.
--bucket-idOption, optional. Bucket id the review package operates on (defaults to the active profile).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_review_package_payloads.ModeloReviewPackageEncryptForRecipientResult.
aeat app modelo review-package import-feedback¶
Open a feedback envelope with this bucket’s X25519 keypair, verify any counter-signed receipt against your locally-held review package, and attach the verified countersignature to your approval journal. Local-only; never contacts AEAT.
Command path: aeat app modelo review-package import-feedback
Registry key: modelo.review_package.import_feedback
Parameters
envelope_pathOption, required. Path to the originator-encrypted feedback envelope JSON produced by encrypt-feedback.
--packageOption, required. Path to your locally-held original review package ZIP a counter-signed receipt is verified against.
--operator-public-keyOption, required. Your own Ed25519 signing public key the original signature must verify against.
--counter-signer-public-keyOption, optional. The reviewer’s Ed25519 signing public key the counter-signature must verify against (required when the feedback carries a receipt).
--bucket-idOption, optional. Bucket id the review package operates on (defaults to the active profile).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_review_package_payloads.ModeloReviewPackageImportFeedbackResult.
aeat app modelo review-package sign¶
Sign a review package’s checksum manifest with the bucket’s Ed25519 signing keypair (minted on first use) and write the signature envelope to –output. Local-only; never contacts AEAT.
Command path: aeat app modelo review-package sign
Registry key: modelo.review_package.sign
Parameters
packageOption, required. Path to the review package ZIP to verify.
--outputOption, required. Path to write the signature envelope JSON to.
--bucket-idOption, optional. Bucket id the review package operates on (defaults to the active profile).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_review_package_payloads.ModeloReviewPackageSignResult.
aeat app modelo review-package verify¶
Verify a review package’s checksum manifest (integrity only; does not assert who built it). Local-only; never contacts AEAT.
Command path: aeat app modelo review-package verify
Registry key: modelo.review_package.verify
Parameters
packageOption, required. Path to the review package ZIP to verify.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_review_package_payloads.ModeloReviewPackageVerifyResult.
aeat app modelo review-package verify-receipt¶
Verify both signature layers of a counter-signed review-package receipt: the operator’s original signature and the accountant’s counter-signature. Local-only; never contacts AEAT.
Command path: aeat app modelo review-package verify-receipt
Registry key: modelo.review_package.verify_receipt
Parameters
packageOption, required. Path to the review package ZIP to verify.
receipt_pathOption, required. Path to the counter-signed receipt JSON produced by counter-sign.
--operator-public-keyOption, required. The operator’s (original signer’s) public key, as 64 lowercase hex characters.
--counter-signer-public-keyOption, required. The accountant’s (counter-signer’s) public key, as 64 lowercase hex characters.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_review_package_payloads.ModeloReviewPackageVerifyReceiptResult.
aeat app modelo review-package verify-signature¶
Verify a review package’s Ed25519 signature envelope against a signer’s public key (authenticity check; re-runs the checksum-manifest integrity check first). Local-only; never contacts AEAT.
Command path: aeat app modelo review-package verify-signature
Registry key: modelo.review_package.verify_signature
Parameters
packageOption, required. Path to the review package ZIP to verify.
signatureOption, required. Path to the signature envelope JSON produced by sign.
--public-keyOption, required. Signer’s public key, as 64 lowercase hex characters.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_review_package_payloads.ModeloReviewPackageVerifySignatureResult.
aeat app modelo support-matrix¶
Show the registry-wide per-modelo support matrix: calc-grade, completeness manifest, export formats, extractor coverage, declared casilla renames, deprecation decisions, and AEAT-portal cross-references.
Command path: aeat app modelo support-matrix
Registry key: modelo.support_matrix
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_support_matrix_payloads.ModeloSupportMatrixResult.
aeat app modelo verification-report list¶
List verification reports, optionally filtered to one calculation revision
Command path: aeat app modelo verification-report list
Registry key: modelo.verification_report.list
Parameters
--calculation-revision-idOption, optional. Stable 64-character SHA-256 id of a calculation revision
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.VerificationReportListResult.
aeat app modelo verification-report view¶
Show one verification report by id
Command path: aeat app modelo verification-report view
Registry key: modelo.verification_report.view
Parameters
verification_report_idOption, required. Stable 64-character SHA-256 identifier of a verification report
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.VerificationReportShowResult.
aeat app modelo work amend¶
Build a corrective amendment over an externally-filed return. Requires a filing record with imported AEAT-attested evidence
Command path: aeat app modelo work amend
Registry key: modelo.work.amend
Parameters
--from-filing-recordOption, optional. Stable id of the baseline filing record to amend. Must carry imported external evidence (justificante / CSV register / live capture)
--kindOption, optional. Legal kind of the amendment (complementaria or sustitutiva)
--reasonOption, optional. Free-text reason for the amendment (operator audit trail)
--byOption, optional. Actor responsible for the action (free-text label up to 64 chars)
--setOption, optional. Corrected casilla value with CASILLA_ID=DECIMAL syntax (repeatable; at least one required)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.WorkAmendResult.
aeat app modelo work amend-wizard¶
Walk an already-filed return’s amendment in plain language: which casillas changed, the corrected values, and the amendment kind, then file it
Command path: aeat app modelo work amend-wizard
Registry key: modelo.work.amend_wizard
Parameters
work_unit_idOption, optional. Stable 64-character SHA-256 identifier of the work unit
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--byOption, optional. Actor responsible for the action (free-text label up to 64 chars)
--output-languageOption, optional. Output language for rendered messages.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_amend_wizard_payloads.WorkAmendWizardResult.
aeat app modelo work calculate¶
Persist a new draft calculation revision for the work unit
Command path: aeat app modelo work calculate
Registry key: modelo.work.calculate
Parameters
work_unit_idOption, optional. Stable 64-character SHA-256 identifier of the work unit
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--casillaOption, optional. Casilla value with CASILLA_ID=DECIMAL syntax (repeatable). CASILLA_ID must be the canonical casilla.id shown by aeat app modelo casillas.
--bindingOption, optional. Binding value with KEY=VALUE syntax (repeatable); run aeat app modelo bindings list –missing to see the bindings the calculation needs.
--borradorOption, optional. Modelo 100 borrador snapshot id (full or unambiguous prefix). Snapshot binding values are used only for registry bindings marked aeat_prefilled; caller –binding overrides always take precedence.
--byOption, optional. Actor responsible for the action (free-text label up to 64 chars)
--relationOption, optional. Registry relation value as KEY=VALUE (repeatable). KEY is a registry relation id, not a binding id; use this for cross-period or cross-modelo relation inputs. Run aeat app modelo bindings list –missing for scoped relation guidance. For Modelo 200 M202 pagos fraccionados, use the mutually exclusive 40.3 casilla 34 and 40.2 casilla 03 relation channels, setting the unused modality to 0 when entering manual values.
--rowOption, optional. Typed detail row for multi-record informational modelos. Format: TYPE FIELD=value [FIELD=value …]. TYPE is ‘miembro’ (M184 attribution member), ‘vinculada’ (M232 related-party operation), ‘operador’ (M349 intracom operator), or ‘contraparte’ (M347 declared counterparty). Repeat to add multiple rows. Quote the whole row argument; quote spaced legal names inside it. M184 example: –row ‘miembro nif=12345678A porcentaje=40 importe=10000’. M349 example: –row ‘operador codigo_pais=DE nif_comunitario=DE123456789 razon_social=”DE Auto GmbH” clave_operacion=E importe=50000’.
--prestacion-inss-exentaOption, optional. Gross amount of INSS maternity/paternity benefit exempt from IRPF (Art. 7.h LIRPF). Recorded in the revision-specific exempt casilla and subtracted from total computable income. Enter the gross amount received from Social Security for maternity or paternity leave. Do NOT include this in –casilla 0003 (Retribuciones dinerarias).
--meses-trabajo-con-hijo-menor-3Option, optional. Months worked while the child under 3 was in the family unit (Art. 81 LIRPF maternity deduction). Format: HIJO_ID=MESES. Repeatable per child. HIJO_ID is a free label (e.g. 0, 1, ‘laia’). Computes sum(min(MESES × 100, 1200)) and injects into casilla 0611. Example: –meses-trabajo-con-hijo-menor-3 0=12 –meses-trabajo-con-hijo-menor-3 1=6 → 0611 = 1800.
--rescate-plan-pensiones-capitalOption, optional. Gross lump-sum pension-plan redemption amount (LIRPF transitional provision 12). Use it with –rescate-plan-pensiones-aportaciones-pre-2007 and –rescate-plan-pensiones-aportaciones-totales so the assistant calculates the 40% reduction and injects it into casilla 0011.
--rescate-plan-pensiones-aportaciones-pre-2007Option, optional. Contributions made to the pension plan up to 31 Dec 2006 (LIRPF transitional provision 12 proration base). Required with –rescate-plan-pensiones-capital and –rescate-plan-pensiones-aportaciones-totales.
--rescate-plan-pensiones-aportaciones-totalesOption, optional. Total pension-plan contributions (denominator for the LIRPF transitional provision 12 proration). Required with –rescate-plan-pensiones-capital and –rescate-plan-pensiones-aportaciones-pre-2007.
--rescate-typeOption, optional. Pension-plan capital rescate type (LIRPF DT 12a): total (whole capital at once) or parcial (staged withdrawals). A classification and provenance signal, not an amount change: the 40% reduction applies to the pre-2007 share of whatever is received. For parcial, each withdrawal shares the same apartado-4 window.
--contingencia-yearOption, optional. Year the pension-plan contingency (retirement, disability, death) occurred. Determines the LIRPF DT 12a apartado-4 time window (Ley 26/2014): if the window is closed for the rescate year, the 40% reduction is withheld.
--rescate-yearOption, optional. Year the rescate benefit is received (defaults to the filing year). Compared against the LIRPF DT 12a apartado-4 window measured from –contingencia-year.
--sal-beneficio-netoOption, optional. Net profit for the fiscal year of the worker-owned company (SAL/SLL, Law 44/2015 Art. 14). The assistant applies 10% to calculate the mandatory special reserve allocation, capped at the first euro cent above twice share capital. Use it with –sal-reserva-dotada and –sal-capital-social.
--sal-reserva-dotadaOption, optional. Special reserve accumulated in previous fiscal years (Law 44/2015 Art. 14). Used to check whether the reserve has reached the first euro cent above twice share capital. Required with –sal-beneficio-neto and –sal-capital-social.
--sal-capital-socialOption, optional. Share capital of the worker-owned company (Law 44/2015 Art. 14). Basis for the strict threshold: the allocation is zero once accumulated reserve reaches the first euro cent above twice share capital. Required with –sal-beneficio-neto and –sal-reserva-dotada.
--autoconsumo-promotor-baseOption, optional. Tax base for the real-estate developer self-supply (Art. 9.1.c + Art. 79.4 LISIVA): construction or renovation cost of properties converted to the rental estate. The assistant automatically applies 21% (Art. 90 LISIVA) to compute the IVA charge. Applicable to Modelo 303 only.
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.WorkCalculateResult.
aeat app modelo work compare-taxation¶
Compare IRPF cuota under joint (conjunta, Art. 82-84 LIRPF) vs. individual filing for an existing Modelo 100 work unit. Runs the registry engine twice — once with declaration_type=2 (conjunta) and once with declaration_type=1 (individual) — over identical profile bindings, and outputs the cuota differential and a recommendation. Ephemeral: no revision is persisted.
Command path: aeat app modelo work compare-taxation
Registry key: modelo.work.compare_taxation
Parameters
work_unit_idOption, optional. Stable 64-character SHA-256 identifier of the work unit
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--output-languageOption, optional. Output language for rendered messages.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._payloads_modelo_reconcile.WorkCompareTaxationResult.
aeat app modelo work create¶
Create or reuse a work unit for (modelo, year, period, revision)
Command path: aeat app modelo work create
Registry key: modelo.work.create
Parameters
--modeloOption, required. Tax form code (e.g. 303, 130, 100)
--yearOption, required. Tax year of the work unit (e.g. 2026)
--periodOption, required. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--nameOption, optional. Optional display name for the work unit
--byOption, optional. Actor responsible for the action (free-text label up to 64 chars)
--allow-not-applicableOption, optional. Create the work unit even when the modelo does not apply to the active profile’s taxpayer type.
--quietOption, optional. Skip human-readable confirmation output; the –format json envelope, notices, and exit code are unaffected.
--causante-ccaaOption, optional. CCAA of habitual residence of the deceased (ISD Modelo 650/660) or CCAA where the transferred asset is located (ITPyAJD Modelo 600/620). Determines the competent Hacienda (Ley 22/2009 Art. 32). País Vasco and Navarra are foral regimes; consult the corresponding regional Hacienda.
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.WorkCreateResult.
aeat app modelo work dependencies¶
Show cross-period filing-history dependencies and current clean-state blockers for a target filing
Command path: aeat app modelo work dependencies
Registry key: modelo.work.dependencies
Parameters
--yearOption, required. Tax year of the work unit (e.g. 2026)
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.WorkDependenciesResult.
aeat app modelo work discard¶
Mark a work unit as discarded (auditable state transition)
Command path: aeat app modelo work discard
Registry key: modelo.work.discard
Parameters
work_unit_idOption, optional. Stable 64-character SHA-256 identifier of the work unit
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--byOption, optional. Actor responsible for the action (free-text label up to 64 chars)
--reasonOption, optional. Optional free-text reason for the discard (up to 500 chars)
--yesOption, optional. Explicitly confirm the discard operation
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.WorkDiscardResult.
aeat app modelo work file¶
Mark a verified revision as internally filed. Does NOT submit to AEAT
Command path: aeat app modelo work file
Registry key: modelo.work.file
Parameters
calculation_revision_idOption, optional. Stable 64-character SHA-256 id of a calculation revision
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--work-unit-idOption, optional. Stable 64-character SHA-256 identifier of the work unit
--selectOption, optional. Revision selector.
--bucket-idOption, optional. Profile the work unit belongs to
--byOption, optional. Actor responsible for the action (free-text label up to 64 chars)
--notesOption, optional. Optional notes attached to the filing record
--dispositionOption, optional. Modelo 303 negative-result disposition: compensar (carry the credit forward, default) or devolver (request a refund; only in the year’s last filing period for a non-REDEME taxpayer).
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.WorkFileResult.
aeat app modelo work history¶
Show every lifecycle event for one work unit
Command path: aeat app modelo work history
Registry key: modelo.work.history
Parameters
work_unit_idOption, optional. Work unit id whose lifecycle you want to view
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_aux_payloads.WorkHistoryResult.
aeat app modelo work list¶
List registered work units, optionally filtered by profile
Command path: aeat app modelo work list
Registry key: modelo.work.list
Parameters
--bucket-idOption, optional. Profile the work unit belongs to
--include-discardedOption, optional. Include discarded work units in the listing (excluded by default)
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.WorkListResult.
aeat app modelo work observations¶
Show typed per-casilla calculation observations and provenance.
Command path: aeat app modelo work observations
Registry key: modelo.work.observations
Parameters
calculation_revision_idOption, optional. Stable 64-character SHA-256 id of a calculation revision
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--registry-revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--work-unit-idOption, optional. Stable 64-character SHA-256 identifier of the work unit
--selectOption, optional. Revision selector.
--bucket-idOption, optional. Profile the work unit belongs to
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_work_revision_payloads.WorkObservationsResult.
aeat app modelo work preview-maritime-exemption¶
Preview the Art. 7.p) / REBECA maritime worker IRPF exemption resolved from the active profile’s maritime_worker facts. Emits typed CasillaObservation rows with legal_refs; surfaces the RETMAR mandatory-filing warning when retmar_registered=True; refuses with the DA 41 inactive code when the tuna-fleet selector resolves.
Command path: aeat app modelo work preview-maritime-exemption
Registry key: modelo.work.preview_maritime_exemption
Parameters
--annual-salaryOption, optional. Gross annual salary in EUR (Decimal). Required when the active profile triggers Art. 7.p) eligibility (vessel_flag=foreign or waters_type=international).
--qualifying-daysOption, optional. Calendar days worked outside Spanish territory in the tax year. Required alongside –annual-salary when Art. 7.p) applies.
--gross-navigation-incomeOption, optional. Total gross employment income from navigation in EUR (Decimal). Required when the active profile triggers REBECA eligibility (vessel_registry in REBECA / rebeca_eu_eea / scheduled_canary_route).
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.WorkPreviewMaritimeExemptionResult.
aeat app modelo work rename¶
Update the display name of a work unit
Command path: aeat app modelo work rename
Registry key: modelo.work.rename
Parameters
work_unit_idOption, optional. Stable 64-character SHA-256 identifier of the work unit
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--nameOption, optional. Optional display name for the work unit
--byOption, optional. Actor responsible for the action (free-text label up to 64 chars)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.WorkRenameResult.
aeat app modelo work resume¶
Validate whether you can retry an interrupted workflow run without contacting AEAT. Use –modelo –year –period for the normal path; exact ids remain advanced escape hatches.
Command path: aeat app modelo work resume
Registry key: modelo.work.resume
Parameters
targetOption, optional. Optional 16-character workflow run id or 64-character work-unit id. Prefer –modelo –year –period.
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--selectOption, optional. Revision selector.
--work-unit-idOption, optional. Stable 64-character SHA-256 identifier of the work unit
--calculation-revision-idOption, optional. Stable 64-character SHA-256 id of a calculation revision
--bucket-idOption, optional. Profile the work unit belongs to
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.WorkResumeResult.
aeat app modelo work revision¶
Show one stored calculation revision’s persisted casilla values (without recomputing)
Command path: aeat app modelo work revision
Registry key: modelo.work.revision
Parameters
calculation_revision_idOption, optional. Stable 64-character SHA-256 id of a calculation revision
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--registry-revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--work-unit-idOption, optional. Stable 64-character SHA-256 identifier of the work unit
--selectOption, optional. Revision selector.
--bucket-idOption, optional. Profile the work unit belongs to
--verboseOption, optional. Expose the full per-casilla formula trace (op, formula_id, operand refs and values).
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_work_revision_payloads.WorkRevisionResult.
aeat app modelo work revisions¶
List calculation revisions, optionally filtered to one work unit
Command path: aeat app modelo work revisions
Registry key: modelo.work.revisions
Parameters
work_unit_idOption, optional. Stable 64-character SHA-256 identifier of the work unit
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.WorkRevisionsResult.
aeat app modelo work runs¶
List persisted workflow runs with their run ids, newest first. Use a run id with aeat app modelo work resume. Local-only; never contacts AEAT.
Command path: aeat app modelo work runs
Registry key: modelo.work.runs
Parameters
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_aux_payloads.WorkRunsResult.
aeat app modelo work status¶
Show the metadata of one work unit
Command path: aeat app modelo work status
Registry key: modelo.work.status
Parameters
work_unit_idOption, optional. Stable 64-character SHA-256 identifier of the work unit
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.WorkStatusResult.
aeat app modelo work verify¶
Verify a draft calculation revision against the verified-complete contract
Command path: aeat app modelo work verify
Registry key: modelo.work.verify
Parameters
calculation_revision_idOption, optional. Stable 64-character SHA-256 id of a calculation revision
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--work-unit-idOption, optional. Stable 64-character SHA-256 identifier of the work unit
--selectOption, optional. Draft revision selector (current, latest-draft, or explicit).
--bucket-idOption, optional. Profile the work unit belongs to
--byOption, optional. Actor responsible for the action (free-text label up to 64 chars)
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_payloads.WorkVerifyResult.
aeat app modelo work wizard¶
Walk the work unit’s outstanding manual inputs one at a time, in plain language, then calculate
Command path: aeat app modelo work wizard
Registry key: modelo.work.wizard
Parameters
work_unit_idOption, optional. Stable 64-character SHA-256 identifier of the work unit
--modeloOption, optional. Tax form code (e.g. 303, 130, 100)
--yearOption, optional. Tax year of the work unit (e.g. 2026)
--periodOption, optional. Work-unit period token: 0A annual, 1T-4T quarters, 01-12 months; for censo modelos (036) use alta, modificacion, or baja.
--revisionOption, optional. Stable id of the targeted registry modelo revision; run aeat app modelo describe MODELO to see the available revision ids.
--bucket-idOption, optional. Profile the work unit belongs to
--byOption, optional. Actor responsible for the action (free-text label up to 64 chars)
--output-languageOption, optional. Output language for rendered messages.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._modelo_work_wizard_payloads.WorkWizardResult.
aeat app overview agenda¶
Rank upcoming and past-due obligations around an as-of date. Surfaces a single next_due plus due-today / due-soon / overdue cohorts. Local-only; never contacts AEAT.
Command path: aeat app overview agenda
Registry key: overview.agenda
Parameters
--dateOption, optional. As-of date for the agenda (ISO YYYY-MM-DD); defaults to today.
--horizonOption, optional. Forward window (days) the due_soon cohort honours.
--allow-incompleteOption, optional. Render the agenda even when profile data is incomplete.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._overview_payloads.OverviewAgendaResult.
aeat app overview backlog¶
List past-due obligations the operator has not yet filed. Sorted oldest first so the most-overdue items triage first. Local-only; never contacts AEAT.
Command path: aeat app overview backlog
Registry key: overview.backlog
Parameters
--fromOption, optional. Inclusive start date (ISO YYYY-MM-DD); defaults to 365 days before today.
--toOption, optional. Inclusive end date (ISO YYYY-MM-DD); defaults to today.
--allow-incompleteOption, optional. Render the backlog even when profile data is incomplete.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._overview_payloads.OverviewBacklogResult.
aeat app overview calendar¶
Render the deadline calendar for the active profile across the supplied date window. Applies festivos and business-day shifts. Local-only; never contacts AEAT.
Command path: aeat app overview calendar
Registry key: overview.calendar
Parameters
--fromOption, required. Inclusive start date for the calendar window (ISO YYYY-MM-DD).
--toOption, required. Inclusive end date for the calendar window (ISO YYYY-MM-DD).
--allow-incompleteOption, optional. Render the calendar even when profile data is incomplete.
--show-suppressedOption, optional. Include filtered (non-applicable) obligations in the output with their applicability verdict and reason.
--all-profilesOption, optional. Render the calendar for every registered profile instead of the active one. Each block is prefixed with a profile header line.
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._overview_payloads.OverviewCalendarResult.
aeat app overview explain¶
Decompose a modelo’s applicability against the active profile. Surfaces the binary applicable flag, the registry-backed rationale text, and the profile facts the decision depends on. Local-only; never contacts AEAT.
Command path: aeat app overview explain
Registry key: overview.explain
Parameters
modeloOption, required. AEAT modelo identifier (e.g. 303, 130, 100).
--yearOption, optional. Fiscal year for the applicability evaluation; defaults to the current year.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._overview_payloads.OverviewExplainResult.
aeat app overview pipeline¶
Show cross-domain pipeline health for one filing period in one table: ledger classification/review state, modelo readiness (calculated / verified / filed / blocked) for every work unit in the period, and outstanding verification findings. Read-only; safe to run repeatedly; never contacts AEAT.
Command path: aeat app overview pipeline
Registry key: overview.pipeline
Parameters
--yearOption, required. Filing year (e.g. 2026).
--periodOption, required. Filing period as an AEAT token: 1T-4T (quarters), 0A (annual), 01-12 (months). Combine with –year to choose the year.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._overview_payloads.OverviewPipelineResult.
aeat app overview prepare¶
Walk through the data-preparation steps for one modelo/period in order: import transactions, classify them, attach purchase-invoice evidence, register business invoices, resolve ledger readiness gaps, then start or resume the modelo work unit. Shows each step’s current progress and the exact next command to run. Read-only; safe to run repeatedly; never contacts AEAT.
Command path: aeat app overview prepare
Registry key: overview.prepare
Parameters
--modeloOption, required. AEAT modelo identifier to prepare data for (e.g. 130, 303, 100).
--yearOption, required. Filing year (e.g. 2026).
--periodOption, required. Filing period as an AEAT token: 1T-4T (quarters), 0A (annual), 01-12 (months). Combine with –year to choose the year.
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._overview_payloads.OverviewPrepareResult.
aeat app overview status¶
Show profile, ledger, and modelo readiness
Command path: aeat app overview status
Registry key: overview.status
Parameters
--periodOption, optional. Filing period as an AEAT token: 1T-4T (quarters), 0A (annual), 01-12 (months). Combine with –year to choose the year.
--yearOption, optional. Filing year for –period (e.g. 2024).
--verboseOption, optional. Show details and next action when available
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._overview_payloads.OverviewStatusResult.
aeat app registry audit-oracles¶
Surface live-parity oracle binding mismatches at startup
Command path: aeat app registry audit-oracles
Registry key: registry.audit_oracles
Parameters
--registry-rootOption, optional. Path to the registry root directory
--environmentOption, optional. Live parity catalogue environment to audit against (production, test_environment, or both)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_payloads.RegistryAuditOraclesResult.
aeat app registry citations list¶
List the legal authorities codified in the legal corpus
Command path: aeat app registry citations list
Registry key: registry.citations.list
Parameters
--tagOption, optional. Filter by tax-domain tag (e.g. ‘irpf’, ‘iva’)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_corpus_payloads.CitationListResult.
aeat app registry citations verify¶
Verify the legal-norm corpus integrity
Command path: aeat app registry citations verify
Registry key: registry.citations.verify
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_corpus_payloads.CitationVerifyResult.
aeat app registry citations view¶
Show one legal authority and, optionally, one of its articles
Command path: aeat app registry citations view
Registry key: registry.citations.view
Parameters
legal_idOption, required. Stable legal authority id (e.g. ley-37-1992)
--articuloOption, optional. Specific article to show (e.g. 91.Uno.2.1º)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_corpus_payloads.CitationShowResult.
aeat app registry diff-revisions¶
Diff the registry revisions of one modelo across two filing years
Command path: aeat app registry diff-revisions
Registry key: registry.diff_revisions
Parameters
modeloOption, required. Modelo identifier to diff
--from-yearOption, required. Earlier filing year whose covering revision is the diff baseline
--to-yearOption, required. Later filing year whose covering revision is compared against the baseline
--registry-rootOption, optional. Path to the registry root directory
--source-rootOption, optional. Path to the source directory to verify
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_diff_payloads.RegistryDiffRevisionsResult.
aeat app registry inspect¶
Inspect registry status and references
Command path: aeat app registry inspect
Registry key: registry.inspect
Parameters
--registry-rootOption, optional. Path to the registry root directory
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_payloads.RegistryInspectResult.
aeat app registry manuals list¶
List manual parts available locally
Command path: aeat app registry manuals list
Registry key: registry.manuals.list
Parameters
--manualOption, optional. Manual identifier (renta, iva, sociedades)
--yearOption, optional. Tax year of the manual (e.g. 2024)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_corpus_payloads.ManualListResult.
aeat app registry manuals rules¶
List the rules codified in a manual
Command path: aeat app registry manuals rules
Registry key: registry.manuals.rules
Parameters
--manualOption, required. Manual identifier (renta, iva, sociedades)
--yearOption, required. Tax year of the manual (e.g. 2024)
--partOption, optional. Manual volume (single, part1, part2-deducciones-autonomicas, part3)
--kindOption, optional. Filter by manual rule kind
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_corpus_payloads.ManualRulesListResult.
aeat app registry manuals verify¶
Verify the manual integrity against its contract
Command path: aeat app registry manuals verify
Registry key: registry.manuals.verify
Parameters
--manualOption, required. Manual identifier (renta, iva, sociedades)
--yearOption, required. Tax year of the manual (e.g. 2024)
--partOption, optional. Manual volume (single, part1, part2-deducciones-autonomicas, part3)
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_corpus_payloads.ManualVerifyResult.
aeat app registry manuals view¶
Show a manual structure and, optionally, one section
Command path: aeat app registry manuals view
Registry key: registry.manuals.view
Parameters
--manualOption, required. Manual identifier (renta, iva, sociedades)
--yearOption, required. Tax year of the manual (e.g. 2024)
--partOption, optional. Manual volume (single, part1, part2-deducciones-autonomicas, part3)
--sectionOption, optional. Optional section identifier to show
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_corpus_payloads.ManualShowResult.
aeat app registry parity replay¶
Replay an archived parity tape against the current registry runtime
Command path: aeat app registry parity replay
Registry key: registry.parity.replay
Parameters
--tapeOption, required. Path to a stored parity tape JSON file
--registry-rootOption, optional. Path to the registry root directory
--source-rootOption, optional. Path to the source directory to verify
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_payloads.RegistryParityReplayResult.
aeat app registry parity run¶
Run a stored parity scenario and archive the resulting parity tape
Command path: aeat app registry parity run
Registry key: registry.parity.run
Parameters
--scenarioOption, required. Path to a parity scenario JSON file
--registry-rootOption, optional. Path to the registry root directory
--source-rootOption, optional. Path to the source directory to verify
--store-rootOption, optional. Root directory used to store generated parity tapes
--outputOption, optional. Destination JSON file for the generated parity tape
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_payloads.RegistryParityRunResult.
aeat app registry verify¶
Verify the integrity of the local registry
Command path: aeat app registry verify
Registry key: registry.verify
Parameters
--registry-rootOption, optional. Path to the registry root directory
--source-rootOption, optional. Path to the source directory to verify
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_payloads.RegistryVerifyResult.
aeat app registry verify-filed-state¶
Compare local registry calculation output against captured filed AEAT state
Command path: aeat app registry verify-filed-state
Registry key: registry.verify_filed_state
Parameters
--observationOption, required. Encrypted filed-declaration observation manifest to verify
--source-observationOption, optional. Encrypted source observation manifest required by previous-filing bindings or relations
--registry-rootOption, optional. Path to the registry root directory
--source-rootOption, optional. Path to the source directory to verify
--casillaOption, optional. Casilla id to compare; repeat to override the default computed casillas
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_payloads.RegistryVerifyFiledStateResult.
aeat app registry workbooks verify¶
Verify the integrity of the generated workbooks
Command path: aeat app registry workbooks verify
Registry key: registry.workbooks.verify
Parameters
--rootOption, optional. Root directory containing the workbooks definitions
--limitOption, optional. Limit of workbooks to compile
--per-file-timeoutOption, optional. Maximum timeout (in seconds) for the compilation
--outputOption, optional. Output directory for the compiled workbooks
--resume-fromOption, optional. Resume workbooks compilation from the last point
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._registry_payloads.RegistryWorkbooksVerifyResult.
aeat app review queue¶
List items waiting for operator review
Command path: aeat app review queue
Registry key: review.queue
Parameters
--kindOption, optional. Restrict the queue to one item kind
--source-kindOption, optional. Restrict the queue to one source kind
--stateOption, optional. Restrict the queue to one review state
--modeloOption, optional. Restrict the queue to one modelo
--confidence-belowOption, optional. Restrict the queue to classified transactions whose classification confidence is strictly below this threshold (a value between 0 and 1). Lowest-confidence rows surface first so they can be triaged.
--explainOption, optional. Include the legal_refs that ground each finding in the text output. The JSON payload always carries them.
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._review_payloads.ReviewQueueResult.
aeat app review view¶
Show review details for a single item
Command path: aeat app review view
Registry key: review.view
Parameters
item_idOption, required. Item id from the review queue
--explainOption, optional. Include the legal_refs that ground this finding in the text output. The JSON payload always carries them.
--output-language,--languageOption, optional. Output language for the response text (es, en, ca, hu).
Output schema
This command emits a SchemaEnvelope whose result field is validated against aeat.entrypoints.cli._review_payloads.ReviewViewResult.