Preparar tu primera presentación trimestral del IRPF¶
Esta página cubre tu primera presentación trimestral del Modelo 130, de principio a fin: llevar un trimestre de transacciones al ledger, clasificarlas como ingresos de la actividad y gastos deducibles, preparar el borrador y comprobar que ha superado la verificación antes de exportarlo. Está escrita para un contribuyente autónomo con un NIF, CIF, NIE u otra identidad de presentación que usa Cadrumo por primera vez.
Cadrumo nunca presenta una declaración ante la Agencia Estatal de Administración Tributaria (AEAT). Produce localmente el artefacto fichero-BOE del Modelo 130; presentas ese fichero a través del canal oficial de la AEAT.
Las órdenes de esta página se ejecutan en directo al construir la documentación en un entorno de pruebas nuevo y sintético. Las transacciones, los importes y el contribuyente son inventados. Ejecuta las mismas órdenes con tu propio perfil para ver tus propias cifras.
Requisito: un perfil de contribuyente válido. Crea uno con aeat config profile create <name> antes de empezar. Configurar tu perfil lo explica paso a paso.
Trae las transacciones de tu trimestre¶
Importa el extracto bancario del trimestre. Este ejemplo lee un pequeño extracto separado por comas con dos movimientos: un cobro de un cliente y una compra de material de oficina.
aeat app ledger import --file fixtures/movimientos-2026-1t.csv --provider csvaeat app ledger import --file fixtures/movimientos-2026-1t.csv --provider csvRows 2 Entries imported 2 Skipped 0
aeat --format json app ledger list --year 2026 --period 1Taeat --format json app ledger list --year 2026 --period 1T{ "active_profile": "docs-sequence-sandbox", "command": "ledger.list", "notices": [], "result": { "bucket_id": "<bucket-id>", "limit": null, "offset": 0, "rows": [ { "amount": "1210", "attachment_ids": [], "booked_date": "2026-02-10", "business_classification": "NOT_YET_PROCESSED", "business_pct": null, "category_id": null, "classification_confidence": null, "classification_reason": "", "classified_at": null, "classified_by": "auto", "counterparty": "", "counterparty_country": null, "counterparty_identification_state": null, "created_at": "2026-04-01T09:00:00+00:00", "currency": "EUR", "date": "2026-02-10", "description": "Cobro factura F-2026-001 servicios de consultoria", "direction": "INCOMING", "display_id": "71a5db2b", "full_id": "71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518", "fx_rate": null, "group_label": null, "invoice_id": null, "irpf_category": null, "iva_amount": null, "iva_category": null, "iva_rate": null, "lifecycle_state": "ACTIVE", "m210_income_classification": null, "modified_at": "2026-04-01T09:00:00+00:00", "notes": "", "prorrata_reference": null, "purchase_invoice_evidence_id": null, "review_status": "pending", "source_jurisdiction": null, "taxable_base": null, "transaction_id": "71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518", "usage_ratio_id": null, "value_date": "2026-02-10", "value_in_eur": null }, { "amount": "605", "attachment_ids": [], "booked_date": "2026-02-11", "business_classification": "NOT_YET_PROCESSED", "business_pct": null, "category_id": null, "classification_confidence": null, "classification_reason": "", "classified_at": null, "classified_by": "auto", "counterparty": "", "counterparty_country": null, "counterparty_identification_state": null, "created_at": "2026-04-01T09:00:00+00:00", "currency": "EUR", "date": "2026-02-11", "description": "Compra de material de oficina proveedor local", "direction": "OUTGOING", "display_id": "e3eeac5e", "full_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d", "fx_rate": null, "group_label": null, "invoice_id": null, "irpf_category": null, "iva_amount": null, "iva_category": null, "iva_rate": null, "lifecycle_state": "ACTIVE", "m210_income_classification": null, "modified_at": "2026-04-01T09:00:00+00:00", "notes": "", "prorrata_reference": null, "purchase_invoice_evidence_id": null, "review_status": "pending", "source_jurisdiction": null, "taxable_base": null, "transaction_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d", "usage_ratio_id": null, "value_date": "2026-02-11", "value_in_eur": null } ], "shown": 2, "total": 2, "truncated": false }, "schema_version": "2", "status": "success" }
Confirm both movements are now in the ledger.
La importación lee el extracto y guarda cada movimiento como una fila del ledger. El listado confirma que las dos filas cayeron en el primer trimestre de 2026. Apunta --provider al formato que exporta tu banco; enumera los proveedores admitidos con:
aeat app ledger import --helpaeat app ledger import --helpUsage: aeat app ledger import [OPTIONS]
Import bank statements or records into the accounting ledger
Options:
--file <path> Path to the bank statement file or directory
[required]
--provider <auto|csv|ofx|qfx|xlsx|excel|n26|pdf|pdf-n26>
Statement format provider. [required]
--dry-run Run the import in dry-run mode (without
saving)
--verify Verify entries after import
--verify-source <path> Original file used to verify imported rows.
--verbose Show detailed information during import
--period <str> Filing period as an AEAT token: 1T-4T
(quarters), 0A (annual), 01-12 (months).
Combine with --year to choose the year.
--year <int> Filing year for --period (e.g. 2024).
--install-completion Install completion for the current shell.
--show-completion Show completion for the current shell, to
copy it or customize the installation.
--help Show this message and exit.
Confirm the import command lists its accepted providers.
Clasifica cada transacción¶
Una fila importada lleva una fecha y un importe, pero todavía no dice cómo debe tratarla el cálculo del impuesto. Clasifica cada fila antes de calcular.
Marca el cobro como ingreso de la actividad y la compra como gasto deducible de la actividad con una categoría. Toma cada id de transacción del listado de arriba. La clasificación de ingreso solo requiere la decisión de actividad:
aeat --format json app ledger classify 71a5db2b --classification BUSINESSaeat --format json app ledger classify 71a5db2b --classification BUSINESS{ "active_profile": "docs-sequence-sandbox", "command": "ledger.classify", "notices": [], "result": { "bucket_event_ids": [ "59813ece53d01035dac79cf9a8fc8cf9cd8928359b15b5d910766dbbc15948f8" ], "bucket_id": "<bucket-id>", "review_status": "reviewed", "transaction": { "amount": "1210", "attachment_ids": [], "booked_date": "2026-02-10", "business_classification": "BUSINESS", "business_pct": null, "category_id": null, "classification_confidence": "1", "classification_reason": "aeat app ledger classify", "classified_at": "2026-04-01T09:00:00+00:00", "classified_by": "manual", "counterparty": "", "counterparty_country": null, "counterparty_identification_state": null, "created_at": "2026-04-01T09:00:00+00:00", "currency": "EUR", "date": "2026-02-10", "description": "Cobro factura F-2026-001 servicios de consultoria", "direction": "INCOMING", "fx_rate": null, "invoice_id": null, "irpf_category": null, "iva_amount": null, "iva_category": null, "iva_rate": null, "lifecycle_state": "ACTIVE", "m210_income_classification": null, "modified_at": "2026-04-01T09:00:00+00:00", "notes": "", "prorrata_reference": null, "purchase_invoice_evidence_id": null, "source_jurisdiction": null, "taxable_base": null, "transaction_id": "71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518", "usage_ratio_id": null, "value_date": "2026-02-10", "value_in_eur": null }, "transaction_id": "71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518" }, "schema_version": "2", "status": "success" }
Confirm the collected payment is classified as business income.
Para un gasto, añade --category-id <category-id> más los campos de base imponible e IVA. Enumera las categorías admitidas en cualquier momento:
aeat --format json app ledger categoriesaeat --format json app ledger categories{ "active_profile": "docs-sequence-sandbox", "command": "ledger.categories", "notices": [], "result": { "category_ids": [ "cuotas_colegiales", "cuotas_autonomos_ss", "mutualidad_alternativa", "arrendamiento_local", "arrendamiento_vivienda_afecto", "ibi_local_afecto", "suministros_local_afecto", "suministros_home_office_luz", "suministros_home_office_agua", "suministros_home_office_gas", "suministros_home_office_internet", "amortizacion_vivienda_afecto", "ibi_vivienda_afecto", "comunidad_vivienda_afecto", "telefonia_movil", "telefonia_fija", "material_oficina", "software_suscripcion", "hardware_amortizable", "mobiliario_amortizable", "reparaciones_conservacion", "vehiculo_combustible", "vehiculo_mantenimiento", "vehiculo_seguro", "vehiculo_peaje", "vehiculo_parking", "manutencion_dietas_nacional", "manutencion_dietas_extranjero", "asesoria_fiscal", "asesoria_juridica", "asesoria_contable", "publicidad_marketing", "formacion_profesional", "viajes_transporte", "viajes_alojamiento", "seguros_responsabilidad_civil", "seguros_salud_autonomo", "gastos_bancarios", "gastos_financieros", "suministros_cliente_directos", "subcontratacion", "tributos_fiscalmente_deducibles" ], "families": [ { "category_ids": [ "cuotas_colegiales", "cuotas_autonomos_ss", "mutualidad_alternativa" ], "family": "social_security" }, { "category_ids": [ "arrendamiento_local", "ibi_local_afecto", "suministros_local_afecto" ], "family": "premises" }, { "category_ids": [ "suministros_home_office_luz", "suministros_home_office_agua", "suministros_home_office_gas", "suministros_home_office_internet", "telefonia_fija" ], "family": "home_office_suministros" }, { "category_ids": [ "amortizacion_vivienda_afecto", "ibi_vivienda_afecto", "comunidad_vivienda_afecto", "arrendamiento_vivienda_afecto" ], "family": "home_office_ownership" }, { "category_ids": [ "telefonia_movil" ], "family": "telecoms" }, { "category_ids": [ "material_oficina", "software_suscripcion", "hardware_amortizable", "mobiliario_amortizable", "reparaciones_conservacion", "publicidad_marketing", "formacion_profesional" ], "family": "office" }, { "category_ids": [ "vehiculo_combustible", "vehiculo_mantenimiento", "vehiculo_seguro", "vehiculo_peaje", "vehiculo_parking" ], "family": "vehicle" }, { "category_ids": [ "manutencion_dietas_nacional", "manutencion_dietas_extranjero" ], "family": "meals" }, { "category_ids": [ "asesoria_fiscal", "asesoria_juridica", "asesoria_contable" ], "family": "professional_services" }, { "category_ids": [ "viajes_transporte", "viajes_alojamiento" ], "family": "travel" }, { "category_ids": [ "seguros_responsabilidad_civil", "seguros_salud_autonomo" ], "family": "insurance" }, { "category_ids": [ "gastos_bancarios", "gastos_financieros" ], "family": "financial" }, { "category_ids": [ "suministros_cliente_directos", "subcontratacion" ], "family": "direct_costs" }, { "category_ids": [ "tributos_fiscalmente_deducibles" ], "family": "taxes" } ], "income_requires_category": false, "irpf_categories": [ { "directions": [ "INCOMING", "OUTGOING" ], "id": "actividad_economica", "net_paid_invoice": true, "purpose": "activity_income_withholding", "related_category_ids": [ "asesoria_contable", "asesoria_fiscal", "asesoria_juridica" ] }, { "directions": [ "OUTGOING" ], "id": "arrendamiento_local", "net_paid_invoice": true, "purpose": "rent_expense_withholding", "related_category_ids": [ "arrendamiento_local" ] }, { "directions": [ "OUTGOING" ], "id": "arrendamiento_vivienda_afecto", "net_paid_invoice": true, "purpose": "rent_expense_withholding", "related_category_ids": [ "arrendamiento_vivienda_afecto" ] }, { "directions": [ "INCOMING" ], "id": "trabajo", "net_paid_invoice": false, "purpose": "employment_income", "related_category_ids": [] } ], "irpf_category_ids": [ "actividad_economica", "arrendamiento_local", "arrendamiento_vivienda_afecto", "trabajo" ], "net_paid_withholding_irpf_category_ids": [ "actividad_economica", "arrendamiento_local", "arrendamiento_vivienda_afecto" ] }, "schema_version": "2", "status": "success" }
Confirm the accepted expense categories read back.
Para el flujo de clasificación completo (clasificación en bloque, porcentajes de uso mixto y la cola de revisión), lee Clasificar transacciones.
Prepara el borrador del Modelo 130¶
Una vez clasificadas las filas del trimestre, prepara el pago fraccionado. La preparación de abajo configura un perfil de autónomo y un ledger clasificado, y luego crea el borrador, lo calcula y lo verifica. El Modelo 130 es el pago a cuenta del IRPF por la actividad de autónomo en estimación directa.
aeat --format json app modelo work create --modelo 130 --year 2026 --period 1Taeat --format json app modelo work create --modelo 130 --year 2026 --period 1T{ "active_profile": "docs-sequence-sandbox", "command": "modelo.work.create", "notices": [], "result": { "applicability_guard_bypassed": false, "bucket_id": "<bucket-id>", "causante_ccaa": null, "created_at": "2026-04-01T09:00:00+00:00", "current_calculation_revision_id": null, "current_filing_record_id": null, "discard_reason": null, "discarded_at": null, "discarded_by": null, "filed_calculation_revision_id": null, "filing_year": 2026, "modelo": "130", "name": "130-2026-1T", "name_applied": null, "operation": "modelo.work.create", "period": { "code": "1T", "filing_year": 2026 }, "revision_id": "2019-y-siguientes", "short_current_calculation_revision_id": null, "short_filed_calculation_revision_id": null, "short_work_unit_id": "3d88172f4204", "state": "borrador", "status": "created", "status_message": "New work unit created.", "updated_at": "2026-04-01T09:00:00+00:00", "work_unit_id": "ca5815c72d1ed564e582924ad157fd1c3349eba45264da2a7b843d88172f4204" }, "schema_version": "2", "status": "success" }
aeat --format json app modelo work calculate {work_unit_id} --binding \
modelo-130-resultados-negativos-anteriores=0 --binding \
modelo-130-pagos-fraccionados-anteriores=0 --binding \
irpf.previous_year_economic_activity_net_income=0aeat --format json app modelo work calculate {work_unit_id} --binding `
modelo-130-resultados-negativos-anteriores=0 --binding `
modelo-130-pagos-fraccionados-anteriores=0 --binding `
irpf.previous_year_economic_activity_net_income=0{ "active_profile": "docs-sequence-sandbox", "command": "modelo.work.calculate", "notices": [], "result": { "authorization_state": null, "binding_overrides": { "irpf.previous_year_economic_activity_net_income": "0", "modelo-130-actividad-economica-gastos-cumulative": "500", "modelo-130-actividad-economica-ingresos-cumulative": "1000", "modelo-130-actividad-economica-ingresos-taxable-base-cumulative": "1000", "modelo-130-actividad-economica-rendimiento-neto-cumulative": "1000", "modelo-130-actividad-economica-retenciones-cumulative": "0", "modelo-130-pagos-fraccionados-anteriores": "0", "modelo-130-resultados-negativos-anteriores": "0" }, "calculation_revision_id": "07d9ed8eec846976eac02aeae13217e835e000f8a460d053909b33d9a3995fec", "casilla_values": { "01": "1000", "02": "500", "03": "500.00", "04": "100.00", "05": "0", "06": "0", "07": "100.00", "08": "0", "09": "0.00", "10": "0", "11": "0.00", "12": "100.00", "13": "100.00", "14": "0.00", "15": "0.00", "16": "0", "17": "0.00", "18": "0", "19": "0.00", "saldo-negativo-fin-periodo": "0.00" }, "created_at": "2026-04-01T09:00:00+00:00", "deadline": { "closes_on": "2026-04-20", "conditional_recargo_preview": null, "days_overdue": null, "days_remaining": 19 }, "detail_rows": [], "filed_at": null, "filed_by": null, "input_values_by_casilla_id": { "01": "1000", "02": "500", "05": "0", "06": "0" }, "modality": null, "modality_reason": null, "observations": [ { "absent_by_design": false, "casilla_id": "01", "formula_id": null, "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95", "ley-35-2006:art-27", "ley-35-2006:art-28" ], "op": null, "operand_casilla_refs": [], "operand_refs": [], "operand_values": [], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "1000" }, { "absent_by_design": false, "casilla_id": "02", "formula_id": null, "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95", "ley-35-2006:art-28", "ley-35-2006:art-30" ], "op": null, "operand_casilla_refs": [], "operand_refs": [], "operand_values": [], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "500" }, { "absent_by_design": false, "casilla_id": "03", "formula_id": "modelo-130-rendimiento-neto", "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": "subtract", "operand_casilla_refs": [ "01", "02" ], "operand_refs": [ "01", "02" ], "operand_values": [ "1000", "500" ], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "500.00" }, { "absent_by_design": false, "casilla_id": "04", "formula_id": "modelo-130-pago-fraccionado-directa", "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": "max", "operand_casilla_refs": [ "03" ], "operand_refs": [ "03", "irpf.direct_estimation_fractional_payment_rate" ], "operand_values": [ "500.00", "20" ], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "100.00" }, { "absent_by_design": false, "casilla_id": "05", "formula_id": null, "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": null, "operand_casilla_refs": [], "operand_refs": [], "operand_values": [], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "0" }, { "absent_by_design": false, "casilla_id": "06", "formula_id": null, "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": null, "operand_casilla_refs": [], "operand_refs": [], "operand_values": [], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "0" }, { "absent_by_design": false, "casilla_id": "07", "formula_id": "modelo-130-resultado-apartado-i", "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": "subtract", "operand_casilla_refs": [ "04", "05", "06" ], "operand_refs": [ "04", "05", "06" ], "operand_values": [ "100.00", "0", "0" ], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "100.00" }, { "absent_by_design": false, "casilla_id": "08", "formula_id": null, "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": null, "operand_casilla_refs": [], "operand_refs": [], "operand_values": [], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "0" }, { "absent_by_design": false, "casilla_id": "09", "formula_id": "modelo-130-pago-fraccionado-agrario", "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": "percent", "operand_casilla_refs": [ "08" ], "operand_refs": [ "08", "irpf.agriculture_fractional_payment_rate" ], "operand_values": [ "0", "2" ], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "0.00" }, { "absent_by_design": false, "casilla_id": "10", "formula_id": null, "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": null, "operand_casilla_refs": [], "operand_refs": [], "operand_values": [], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "0" }, { "absent_by_design": false, "casilla_id": "11", "formula_id": "modelo-130-resultado-apartado-ii", "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": "subtract", "operand_casilla_refs": [ "09", "10" ], "operand_refs": [ "09", "10" ], "operand_values": [ "0.00", "0" ], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "0.00" }, { "absent_by_design": false, "casilla_id": "12", "formula_id": "modelo-130-suma-parciales", "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": "max", "operand_casilla_refs": [ "07", "11" ], "operand_refs": [ "07", "11" ], "operand_values": [ "100.00", "0.00" ], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "100.00" }, { "absent_by_design": false, "casilla_id": "13", "formula_id": "modelo-130-minoracion-rendimientos-netos", "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": "if_then_else", "operand_casilla_refs": [], "operand_refs": [ "irpf.previous_year_economic_activity_net_income" ], "operand_values": [ "0" ], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "100.00" }, { "absent_by_design": false, "casilla_id": "14", "formula_id": "modelo-130-neto-tras-minoracion", "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": "subtract", "operand_casilla_refs": [ "12", "13" ], "operand_refs": [ "12", "13" ], "operand_values": [ "100.00", "100.00" ], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "0.00" }, { "absent_by_design": false, "casilla_id": "15", "formula_id": "modelo-130-resultados-negativos-anteriores-cap", "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": "min", "operand_casilla_refs": [ "14" ], "operand_refs": [ "modelo-130-resultados-negativos-anteriores", "14" ], "operand_values": [ "0", "0.00" ], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "0.00" }, { "absent_by_design": false, "casilla_id": "16", "formula_id": null, "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": null, "operand_casilla_refs": [], "operand_refs": [], "operand_values": [], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "0" }, { "absent_by_design": false, "casilla_id": "17", "formula_id": "modelo-130-diferencia", "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": "subtract", "operand_casilla_refs": [ "14", "15", "16" ], "operand_refs": [ "14", "15", "16" ], "operand_values": [ "0.00", "0.00", "0" ], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "0.00" }, { "absent_by_design": false, "casilla_id": "18", "formula_id": null, "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": null, "operand_casilla_refs": [], "operand_refs": [], "operand_values": [], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "0" }, { "absent_by_design": false, "casilla_id": "19", "formula_id": "modelo-130-resultado-final", "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": "subtract", "operand_casilla_refs": [ "17", "18" ], "operand_refs": [ "17", "18" ], "operand_values": [ "0.00", "0" ], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "0.00" }, { "absent_by_design": false, "casilla_id": "saldo-negativo-fin-periodo", "formula_id": "modelo-130-saldo-negativo-fin-periodo", "legal_refs": [ "rd-439-2007:art-110", "orden-eha-672-2007:art-1", "ley-35-2006:art-99", "rd-439-2007:art-95" ], "op": "max", "operand_casilla_refs": [ "17" ], "operand_refs": [ "17" ], "operand_values": [ "0.00" ], "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ], "value": "0.00" } ], "operation": "modelo.work.calculate", "registry_snapshot_ref": { "modelo": "130", "modelo_year": 2026, "period": "1T", "revision_id": "2019-y-siguientes" }, "relation_overrides": {}, "result_summary": [ { "casilla_id": "03", "label": "Net yield", "role": "key_figure", "value": "500.00" }, { "casilla_id": "04", "label": "Fractional payment amount", "role": "key_figure", "value": "100.00" }, { "casilla_id": "07", "label": "Partial result of Section I", "role": "key_figure", "value": "100.00" }, { "casilla_id": "09", "label": "Fractional payment amount", "role": "key_figure", "value": "0.00" }, { "casilla_id": "11", "label": "Partial result of Section II", "role": "key_figure", "value": "0.00" }, { "casilla_id": "12", "label": "Sum of partial results", "role": "key_figure", "value": "100.00" }, { "casilla_id": "13", "label": "Reduction for net yields", "role": "key_figure", "value": "100.00" }, { "casilla_id": "14", "label": "Net amount after reduction", "role": "key_figure", "value": "0.00" }, { "casilla_id": "17", "label": "Difference", "role": "key_figure", "value": "0.00" }, { "casilla_id": "19", "label": "Final result", "role": "key_figure", "value": "0.00" } ], "saved": true, "saved_confirmation": "Saved as draft calculation revision 07d9ed8eec846976eac02aeae13217e835e000f8a460d053909b33d9a3995fec (state: draft). It is persisted and can be resumed later.", "source_provenance": [ { "contributor_binding_source": "ledger_renta_income_aggregation", "contributor_source_kind": "ledger_renta_income_aggregation", "dependency_treatment": "", "fingerprint": null, "lineage_role": "primary", "parent_source_ref": null, "resolved_binding_source": "ledger_renta_income_aggregation", "resolver_id": "ledger_renta_income_aggregation", "source_ref": "transaction:71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518" }, { "contributor_binding_source": "ledger_renta_gastos_pago_fraccionado_aggregation", "contributor_source_kind": "ledger_renta_gastos_pago_fraccionado_aggregation", "dependency_treatment": "", "fingerprint": null, "lineage_role": "primary", "parent_source_ref": null, "resolved_binding_source": "ledger_renta_gastos_pago_fraccionado_aggregation", "resolver_id": "ledger_renta_gastos_pago_fraccionado_aggregation", "source_ref": "transaction:e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d" }, { "contributor_binding_source": "previous_filing", "contributor_source_kind": "previous_filing", "dependency_treatment": "factual_evidence", "fingerprint": null, "lineage_role": "primary", "parent_source_ref": null, "resolved_binding_source": "previous_filing", "resolver_id": "previous_filing", "source_ref": "100:2025:0A:irpf.previous_year_economic_activity_net_income" } ], "state": "borrador", "superseded_at": null, "updated_at": "2026-04-01T09:00:00+00:00", "verified_at": null, "verified_by": null, "work_unit_id": "ca5815c72d1ed564e582924ad157fd1c3349eba45264da2a7b843d88172f4204" }, "schema_version": "2", "status": "success" }
aeat --format json app modelo work verify {calculation_revision_id}aeat --format json app modelo work verify {calculation_revision_id}{ "active_profile": "docs-sequence-sandbox", "command": "modelo.work.verify", "notices": [ { "action": null, "code": "modelo.work.verify.finding.advisory", "context": { "activity_start_date": "2026-01-01", "kind": "advisory", "legal_refs": "rd-1065-2007:art-9", "origin_code": "previous_filing_binding", "severity": "warning", "source_filing_year": "2025", "source_modelo": "100", "source_period": "0A", "source_refs": "aeat-dr-130-2019-v12, aeat-modelo-130-instructions" }, "message": "Modelo 100 2025 0A is suppressed by operator declaration (previous_filing_binding), with declared activity start date 2026-01-01.", "severity": "warning" }, { "action": null, "code": "modelo.work.verify.finding.advisory", "context": { "binding_id": "71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518", "diagnostic_reason_code": "missing_transaction_evidence", "kind": "advisory", "legal_refs": "ley-37-1992:art-97, rd-1619-2012:art-2", "severity": "warning", "source_kind_code": "output_iva_evidence", "source_refs": "aeat-dr-130-2019-v12, aeat-modelo-130-instructions" }, "message": "An output transaction has no supporting evidence (binding 71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518, source output_iva_evidence, reason missing_transaction_evidence).", "severity": "warning" } ], "result": { "calculation_revision_id": "07d9ed8eec846976eac02aeae13217e835e000f8a460d053909b33d9a3995fec", "completeness_status": "complete", "findings": [ { "action": null, "casilla_id": null, "expectation_id": null, "kind": "advisory", "legal_refs": [ "rd-1065-2007:art-9" ], "message": "Modelo 100 2025 0A is suppressed by operator declaration (previous_filing_binding), with declared activity start date 2026-01-01.", "severity": "warning", "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ] }, { "action": null, "casilla_id": null, "expectation_id": null, "kind": "advisory", "legal_refs": [ "ley-37-1992:art-97", "rd-1619-2012:art-2" ], "message": "An output transaction has no supporting evidence (binding 71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518, source output_iva_evidence, reason missing_transaction_evidence).", "severity": "warning", "source_refs": [ "aeat-dr-130-2019-v12", "aeat-modelo-130-instructions" ] } ], "granted_verificado_completo": true, "missing_required_casilla_ids": [], "operation": "modelo.work.verify", "registry_snapshot_ref": { "modelo": "130", "modelo_year": 2026, "period": "1T", "revision_id": "2019-y-siguientes" }, "resolved_casilla_ids": [], "run_at": "2026-04-01T09:00:00+00:00", "verification_report_id": "475fedcde9467701a4a5f9a29274e4a6db03e03b6971e85112a4c911fe7f2f4f", "verified_by": "docs-sequence-sandbox" }, "schema_version": "2", "status": "warning" }
Confirm the draft passed verification before you file it.
Lee los paneles en orden:
Crea el borrador del Modelo 130, primer trimestre de 2026. La orden informa de un
work_unit_idque identifica el borrador.Calcúlalo. Cadrumo lee el ledger clasificado y rellena las casillas: la casilla
01es el ingreso del trimestre, la casilla02los gastos deducibles, la casilla03el rendimiento neto y la casilla04el pago fraccionado. La casilla 01 muestra 1000.00, no los 1210.00 que cobraste: el IVA nunca forma parte de tu ingreso, así que los 210.00 de IVA quedan fuera. Con el ledger de ejemplo el rendimiento neto es500.00y el pago fraccionado es100.00, el veinte por ciento del neto. Los tres valores--binding ...=0son los arrastres del periodo anterior que un verdadero primer trimestre no tiene.Verifica el borrador. El resultado muestra
granted_verificado_completoen true, así que el borrador está completo y listo para exportar.
Comprueba las cifras y exporta¶
El resultado de la verificación indica que el borrador está listo. La verificación se niega hasta que cada fila de gasto deducible tenga vinculada la evidencia de la factura de compra, por lo que este ejemplo registra la factura del proveedor y la adjunta antes de calcular. Hazlo en ese orden: el borrador incorpora su evidencia al verificarlo, de modo que una factura adjuntada después no llega a la presentación.
La secuencia siguiente exporta el borrador verificado y después registra el marcador local de presentado.
aeat --format json app modelo export --modelo 130 --year 2026 --period 1T --output \
./modelo-130.boeaeat --format json app modelo export --modelo 130 --year 2026 --period 1T --output `
./modelo-130.boe{ "active_profile": "docs-sequence-sandbox", "command": "modelo.export", "notices": [ { "action": null, "code": "modelo.export.local_export_not_official_evidence", "context": { "evidence_status": "local_export_not_official_aeat_filing_evidence", "filing_year": "2026", "modelo": "130", "period": "1T" }, "message": "The local export is not official filing evidence.", "severity": "warning" } ], "result": { "bucket_event_id": "3ff37989bdc94cfba48d032cd41b6f30e38e44375d3aded8bb46cd96f453832b", "bucket_id": "<bucket-id>", "byte_size": 946, "calculation_revision_id": "07d9ed8eec846976eac02aeae13217e835e000f8a460d053909b33d9a3995fec", "file_sha256": "eaf7e73156441acfec60519635ebea91a6a221f32b23b85a638b5219b8536c7d", "filing_year": 2026, "format": "fichero-boe", "modelo": "130", "operation": "modelo.export", "output_path": "modelo-130.boe", "payment_election": null, "period": { "code": "1T", "filing_year": 2026 }, "prior_domiciliation_election": { "baseline_evidence_reference_id": null, "baseline_filing_record_id": null, "baseline_result_disposition": null, "baseline_source_header_locator": null, "election": "keep" }, "refund_election": null, "resolved_result_disposition": "N", "work_unit_id": "ca5815c72d1ed564e582924ad157fd1c3349eba45264da2a7b843d88172f4204" }, "schema_version": "2", "status": "warning" }
aeat --format json app modelo work file --modelo 130 --year 2026 --period 1Taeat --format json app modelo work file --modelo 130 --year 2026 --period 1T{ "active_profile": "docs-sequence-sandbox", "command": "modelo.work.file", "notices": [], "result": { "aeat_accepted": false, "aeat_register": null, "amends_filing_record_id": null, "bucket_id": "<bucket-id>", "calculation_revision_id": "07d9ed8eec846976eac02aeae13217e835e000f8a460d053909b33d9a3995fec", "confirmation": "pendiente", "declaration_kind": "original", "external_evidence": null, "filed_at": "2026-04-01T09:00:00+00:00", "filed_by": "docs-sequence-sandbox", "filing_record_id": "608622207ce0b6d86cab159d3ba196e5848eb48f2517a06fa8e2bcc508da595b", "filing_year": 2026, "kind": "internal_filing", "live_submission": false, "member_nif": null, "modelo": "130", "notes": null, "operation": "modelo.work.file", "origin": "local", "period": { "code": "1T", "filing_year": 2026 }, "status": "vigente", "superseded_at": null, "superseded_by_filing_record_id": null, "work_unit_id": "ca5815c72d1ed564e582924ad157fd1c3349eba45264da2a7b843d88172f4204" }, "schema_version": "2", "status": "success" }
Confirm the export succeeds and the filing marker stays local.
Un trimestre posterior se apoya en este: deja sin fijar las tres vinculaciones del periodo anterior para que se resuelvan a partir de tu historial de presentaciones. Consulta Preparar un pago fraccionado del IRPF con el Modelo 130 para el comportamiento acumulado del año en curso.