Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
Pre-alpha Breaking changes are expected. Verify Agencia Estatal de Administración Tributaria (AEAT) deadlines before filing. Updates Latest download Report an issue
CADRUMO docs
Getting started CLI reference How it works API
EN
  • English
  • Español
  • Català
  • Magyar
Cadrumo documentation - local Spanish tax preparation
  • Getting started
  • Get Cadrumo
  • Install Cadrumo
  • Quickstart
  • Connect an agent (MCP)
  • First quarterly filing
  • The income-tax year
  • The IVA year

Your profile

  • Set up a profile
  • Authenticate with AEAT
  • Maintain census facts
  • Which modelos apply to you
  • Protect data access

Your calendar

  • Filing calendar
  • AEAT notifications
  • Filing readiness

Your ledger

  • Work with transactions
  • Classify transactions
  • Classify with an LLM
  • Attach invoices and receipts
  • Manage business invoices
  • Correct mistakes
  • IVA prorrata deductions

Your filings

  • The filing workflow
  • Modelo 036 (censo)
  • Modelo 100 (Renta)
  • Modelo 130 (IRPF instalment)
  • Modelo 303 (IVA)
  • Modelo 349 (intra-community)
  • Modelo 390 (IVA summary)
  • Calculation inputs
  • Google Sheets review
  • Verify a filing
  • File at AEAT
  • Reconcile a filing

Help

  • Troubleshooting
  • Publish runtime authority
  • Disclaimer

Reference

  • CLI reference
  • Cadrumo reference
  • Glossary
  • Casilla reference
  • Legal reference

How it works

  • Overview

Project

  • Updates and downloads
  • Architecture
  • Authoring guide
  • API
    • cadrumo package
      • cadrumo.adapters package
      • cadrumo.application package
      • cadrumo.core package
      • cadrumo.domain package
        • cadrumo.domain.attachments package
        • cadrumo.domain.auth package
        • cadrumo.domain.bienes_inversion package
        • cadrumo.domain.buckets package
        • cadrumo.domain.calculations package
          • cadrumo.domain.calculations.registry package
            • cadrumo.domain.calculations.registry.facts package
            • cadrumo.domain.calculations.registry._applicability_labels module
            • cadrumo.domain.calculations.registry._formula_operator_contracts module
            • cadrumo.domain.calculations.registry._formula_runtime_irnr module
            • cadrumo.domain.calculations.registry._formula_runtime_m131 module
            • cadrumo.domain.calculations.registry._invoice_row_materialization module
            • cadrumo.domain.calculations.registry._ledger_binding_resolution module
            • cadrumo.domain.calculations.registry._schema_export_exemption module
            • cadrumo.domain.calculations.registry._toml_helpers module
            • cadrumo.domain.calculations.registry.activity_kind_catalogue module
            • cadrumo.domain.calculations.registry.amendment_regime_policy module
            • cadrumo.domain.calculations.registry.applicability module
            • cadrumo.domain.calculations.registry.applicability_modelo202 module
            • cadrumo.domain.calculations.registry.applicability_payer_facts module
            • cadrumo.domain.calculations.registry.applicability_routes module
            • cadrumo.domain.calculations.registry.authority module
            • cadrumo.domain.calculations.registry.authority_artifact module
            • cadrumo.domain.calculations.registry.authority_cache module
            • cadrumo.domain.calculations.registry.authority_store module
            • cadrumo.domain.calculations.registry.bienes_inversion_catalogue module
            • cadrumo.domain.calculations.registry.bienes_inversion_regularizacion_bindings module
            • cadrumo.domain.calculations.registry.binding_aggregation module
            • cadrumo.domain.calculations.registry.binding_provider module
            • cadrumo.domain.calculations.registry.binding_provider_registration module
            • cadrumo.domain.calculations.registry.binding_selector_utils module
            • cadrumo.domain.calculations.registry.binding_targets module
            • cadrumo.domain.calculations.registry.binding_temporal module
            • cadrumo.domain.calculations.registry.binding_terminal_audit module
            • cadrumo.domain.calculations.registry.binding_terminal_origin module
            • cadrumo.domain.calculations.registry.binding_value_contract module
            • cadrumo.domain.calculations.registry.bindings module
            • cadrumo.domain.calculations.registry.bindings_previous_filing module
            • cadrumo.domain.calculations.registry.calendar_ccaa_catalogue module
            • cadrumo.domain.calculations.registry.casilla_lineage module
            • cadrumo.domain.calculations.registry.casilla_lineage_totality module
            • cadrumo.domain.calculations.registry.casilla_membership module
            • cadrumo.domain.calculations.registry.casilla_structural_succession module
            • cadrumo.domain.calculations.registry.ccaa_catalogue module
            • cadrumo.domain.calculations.registry.censo_modelos module
            • cadrumo.domain.calculations.registry.checker_oracle_flow module
            • cadrumo.domain.calculations.registry.citation_blocklist module
            • cadrumo.domain.calculations.registry.cleared_families module
            • cadrumo.domain.calculations.registry.concepto_ingreso module
            • cadrumo.domain.calculations.registry.condition_mode module
            • cadrumo.domain.calculations.registry.convenio module
            • cadrumo.domain.calculations.registry.counterpart_bindings module
            • cadrumo.domain.calculations.registry.deadline_coordinate module
            • cadrumo.domain.calculations.registry.descendant_relacion_catalogue module
            • cadrumo.domain.calculations.registry.design_constant_bindings module
            • cadrumo.domain.calculations.registry.detail_record_bindings module
            • cadrumo.domain.calculations.registry.donativo_bindings module
            • cadrumo.domain.calculations.registry.entity_type module
            • cadrumo.domain.calculations.registry.errors module
            • cadrumo.domain.calculations.registry.eu_member_state_catalogue module
            • cadrumo.domain.calculations.registry.export module
            • cadrumo.domain.calculations.registry.export_field_casilla module
            • cadrumo.domain.calculations.registry.export_parse module
            • cadrumo.domain.calculations.registry.export_semantics module
            • cadrumo.domain.calculations.registry.export_value_policy module
            • cadrumo.domain.calculations.registry.fixed_width_codec module
            • cadrumo.domain.calculations.registry.foreign_asset_obligation_catalogue module
            • cadrumo.domain.calculations.registry.formula_initial_values module
            • cadrumo.domain.calculations.registry.formula_runtime module
            • cadrumo.domain.calculations.registry.formula_runtime_m100 module
            • cadrumo.domain.calculations.registry.formula_runtime_ops module
            • cadrumo.domain.calculations.registry.formula_text_inputs module
            • cadrumo.domain.calculations.registry.gasto193_bindings module
            • cadrumo.domain.calculations.registry.governed_fact_scope module
            • cadrumo.domain.calculations.registry.handoffs module
            • cadrumo.domain.calculations.registry.identifier_evolutions module
            • cadrumo.domain.calculations.registry.ids module
            • cadrumo.domain.calculations.registry.inventory_anexo_d_applicability module
            • cadrumo.domain.calculations.registry.inventory_bindings module
            • cadrumo.domain.calculations.registry.invoice_bindings module
            • cadrumo.domain.calculations.registry.invoice_legal_classification module
            • cadrumo.domain.calculations.registry.irnr_ledger_bindings module
            • cadrumo.domain.calculations.registry.irnr_tipo_renta module
            • cadrumo.domain.calculations.registry.irpf_income_categories module
            • cadrumo.domain.calculations.registry.irpf_regimes module
            • cadrumo.domain.calculations.registry.iva_category_catalogue module
            • cadrumo.domain.calculations.registry.iva_compensation_annual_partition_bindings module
            • cadrumo.domain.calculations.registry.iva_deduction_catalogue module
            • cadrumo.domain.calculations.registry.iva_flow_catalogue module
            • cadrumo.domain.calculations.registry.iva_rate_kind_catalogue module
            • cadrumo.domain.calculations.registry.iva_rate_role_catalogue module
            • cadrumo.domain.calculations.registry.iva_schema_vocabulary module
            • cadrumo.domain.calculations.registry.iva_wallet_carry_targets module
            • cadrumo.domain.calculations.registry.keyed_families module
            • cadrumo.domain.calculations.registry.ledger_binding_selector_support module
            • cadrumo.domain.calculations.registry.ledger_impatriado_bindings module
            • cadrumo.domain.calculations.registry.ledger_iva_bindings module
            • cadrumo.domain.calculations.registry.ledger_oss_bindings module
            • cadrumo.domain.calculations.registry.ledger_renta_gastos_estimacion_directa_bindings module
            • cadrumo.domain.calculations.registry.ledger_renta_gastos_pago_fraccionado_bindings module
            • cadrumo.domain.calculations.registry.ledger_renta_income_bindings module
            • cadrumo.domain.calculations.registry.legal module
            • cadrumo.domain.calculations.registry.lineage_attestation module
            • cadrumo.domain.calculations.registry.lorca_reduction module
            • cadrumo.domain.calculations.registry.m303_differentiated_deduction_projection module
            • cadrumo.domain.calculations.registry.m303_exonerado_390_projection module
            • cadrumo.domain.calculations.registry.m303_orden_constants module
            • cadrumo.domain.calculations.registry.m303_orden_projection_models module
            • cadrumo.domain.calculations.registry.m303_orden_resolution module
            • cadrumo.domain.calculations.registry.m303_prorrata_activity_projection module
            • cadrumo.domain.calculations.registry.m303_regimen_simplificado_annual_summary_bindings module
            • cadrumo.domain.calculations.registry.m303_regimen_simplificado_projection module
            • cadrumo.domain.calculations.registry.m347_threshold module
            • cadrumo.domain.calculations.registry.manual_input_selector module
            • cadrumo.domain.calculations.registry.modelo_inception module
            • cadrumo.domain.calculations.registry.modelo_localization module
            • cadrumo.domain.calculations.registry.modelo_obligation_scope module
            • cadrumo.domain.calculations.registry.modelo_pending_orden module
            • cadrumo.domain.calculations.registry.modelo_rendering module
            • cadrumo.domain.calculations.registry.nif_iva_catalogue module
            • cadrumo.domain.calculations.registry.observation_fold module
            • cadrumo.domain.calculations.registry.orden_applicability module
            • cadrumo.domain.calculations.registry.period_offset_math module
            • cadrumo.domain.calculations.registry.period_selector_match module
            • cadrumo.domain.calculations.registry.period_selector_overlap module
            • cadrumo.domain.calculations.registry.profile_bindings module
            • cadrumo.domain.calculations.registry.profile_grounding module
            • cadrumo.domain.calculations.registry.prorrata_exclusions module
            • cadrumo.domain.calculations.registry.prorrata_regime module
            • cadrumo.domain.calculations.registry.prorrata_register_catalogue module
            • cadrumo.domain.calculations.registry.prorrata_regularizacion_bindings module
            • cadrumo.domain.calculations.registry.prorrata_vocabulary module
            • cadrumo.domain.calculations.registry.provenance module
            • cadrumo.domain.calculations.registry.quantity_screen_enrolment module
            • cadrumo.domain.calculations.registry.queries module
            • cadrumo.domain.calculations.registry.query_reports module
            • cadrumo.domain.calculations.registry.rate_box_partition module
            • cadrumo.domain.calculations.registry.record_design_coverage module
            • cadrumo.domain.calculations.registry.reference_checker module
            • cadrumo.domain.calculations.registry.reference_checks module
            • cadrumo.domain.calculations.registry.reference_sections module
            • cadrumo.domain.calculations.registry.refund_eligibility module
            • cadrumo.domain.calculations.registry.relation_dependency module
            • cadrumo.domain.calculations.registry.relation_prefill_bindings module
            • cadrumo.domain.calculations.registry.relations module
            • cadrumo.domain.calculations.registry.remote_state_guard module
            • cadrumo.domain.calculations.registry.renta_codes_catalogue module
            • cadrumo.domain.calculations.registry.renta_expense_policy module
            • cadrumo.domain.calculations.registry.rental_reduction module
            • cadrumo.domain.calculations.registry.restated_families module
            • cadrumo.domain.calculations.registry.retenciones_bindings module
            • cadrumo.domain.calculations.registry.revision_context module
            • cadrumo.domain.calculations.registry.revision_contracts module
            • cadrumo.domain.calculations.registry.revision_order module
            • cadrumo.domain.calculations.registry.runtime_catalogues module
            • cadrumo.domain.calculations.registry.runtime_graph module
            • cadrumo.domain.calculations.registry.schedules module
            • cadrumo.domain.calculations.registry.schema module
            • cadrumo.domain.calculations.registry.schema_base module
            • cadrumo.domain.calculations.registry.schema_deadlines module
            • cadrumo.domain.calculations.registry.schema_exports module
            • cadrumo.domain.calculations.registry.schema_extraction module
            • cadrumo.domain.calculations.registry.schema_formula module
            • cadrumo.domain.calculations.registry.schema_governance module
            • cadrumo.domain.calculations.registry.schema_input_kind module
            • cadrumo.domain.calculations.registry.schema_references module
            • cadrumo.domain.calculations.registry.schema_revision_members module
            • cadrumo.domain.calculations.registry.schema_rounding module
            • cadrumo.domain.calculations.registry.schema_scalars module
            • cadrumo.domain.calculations.registry.schema_surfaces module
            • cadrumo.domain.calculations.registry.schema_verification module
            • cadrumo.domain.calculations.registry.setup_profile_bindings module
            • cadrumo.domain.calculations.registry.situacion_familiar_catalogue module
            • cadrumo.domain.calculations.registry.situacion_familiar_m145_catalogue module
            • cadrumo.domain.calculations.registry.snapshot module
            • cadrumo.domain.calculations.registry.source_byte_availability module
            • cadrumo.domain.calculations.registry.static_inspection module
            • cadrumo.domain.calculations.registry.support_matrix module
            • cadrumo.domain.calculations.registry.tax_id_format module
            • cadrumo.domain.calculations.registry.tax_id_runtime module
            • cadrumo.domain.calculations.registry.tax_identity_admission module
            • cadrumo.domain.calculations.registry.temporal module
            • cadrumo.domain.calculations.registry.third_party_declaration_roles module
            • cadrumo.domain.calculations.registry.travel_agency_mediation module
            • cadrumo.domain.calculations.registry.validate_cross_domain_snapshot module
            • cadrumo.domain.calculations.registry.validate_revision_identity module
            • cadrumo.domain.calculations.registry.verification_tolerance module
            • cadrumo.domain.calculations.registry.withholding296_bindings module
            • cadrumo.domain.calculations.registry.withholding_bindings module
          • cadrumo.domain.calculations.export_field_kind module
          • cadrumo.domain.calculations.row_casilla module
          • cadrumo.domain.calculations.row_source_identity module
        • cadrumo.domain.categories package
        • cadrumo.domain.censo package
        • cadrumo.domain.contribuyente package
        • cadrumo.domain.currency package
        • cadrumo.domain.deadlines package
        • cadrumo.domain.evidence_consent package
        • cadrumo.domain.filing package
        • cadrumo.domain.invoices package
        • cadrumo.domain.iva package
        • cadrumo.domain.iva_compensation package
        • cadrumo.domain.justificante package
        • cadrumo.domain.modelos package
        • cadrumo.domain.notifications package
        • cadrumo.domain.portals package
        • cadrumo.domain.prorrata_register package
        • cadrumo.domain.renta package
        • cadrumo.domain.retention package
        • cadrumo.domain.submission package
        • cadrumo.domain.transactions package
        • cadrumo.domain.usage_ratios package
        • cadrumo.domain.user_profile package
        • cadrumo.domain.errors module
        • cadrumo.domain.filing_evidence module
        • cadrumo.domain.identifiers module
        • cadrumo.domain.period module
      • cadrumo.entrypoints package
Back to top
View this page
Edit this page
Home/Python API overview/cadrumo package/cadrumo.domain package/cadrumo.domain.calculations package/cadrumo.domain.calculations.registry package/cadrumo.domain.calculations.registry.invoice_legal_classification module

cadrumo.domain.calculations.registry.invoice_legal_classification module¶

Typed projection of the invoice legal-classification vocabulary (0141).

class InvoiceClassDefinition(token, description, legal_refs)[source]¶

Bases: object

One registry-declared invoice class and its legal semantics.

Parameters:
  • token (InvoiceClass)

  • description (str)

  • legal_refs (tuple[str, ...])

token: InvoiceClass¶
description: str¶
legal_refs: tuple[str, ...]¶
class InvoiceOperationDateRoleDefinition(token, description, legal_refs)[source]¶

Bases: object

One registry-declared operation-date role and its legal semantics.

Parameters:
  • token (InvoiceOperationDateRole)

  • description (str)

  • legal_refs (tuple[str, ...])

token: InvoiceOperationDateRole¶
description: str¶
legal_refs: tuple[str, ...]¶
class InvoiceLegalClassificationCatalogue(declarations, invoice_classes, operation_date_roles, ordinaria_token, simplificada_token, rectificativa_token, operation_performed_token, advance_payment_received_token)[source]¶

Bases: object

Complete dated projection of fact 0141.

Parameters:
  • declarations (Mapping[str, str])

  • invoice_classes (tuple[InvoiceClassDefinition, ...])

  • operation_date_roles (tuple[InvoiceOperationDateRoleDefinition, ...])

  • ordinaria_token (InvoiceClass)

  • simplificada_token (InvoiceClass)

  • rectificativa_token (InvoiceClass)

  • operation_performed_token (InvoiceOperationDateRole)

  • advance_payment_received_token (InvoiceOperationDateRole)

declarations: Mapping[str, str]¶
invoice_classes: tuple[InvoiceClassDefinition, ...]¶
operation_date_roles: tuple[InvoiceOperationDateRoleDefinition, ...]¶
ordinaria_token: InvoiceClass¶
simplificada_token: InvoiceClass¶
rectificativa_token: InvoiceClass¶
operation_performed_token: InvoiceOperationDateRole¶
advance_payment_received_token: InvoiceOperationDateRole¶
property invoice_class_choices: tuple[InvoiceClass, ...]¶

Return invoice classes in the registry-authored order.

property operation_date_role_choices: tuple[InvoiceOperationDateRole, ...]¶

Return operation-date roles in the registry-authored order.

require_invoice_class(value)[source]¶

Project an invoice class only when the selected fact declares it.

Return type:

InvoiceClass

Parameters:

value (object)

require_operation_date_role(value)[source]¶

Project an operation-date role only when the selected fact declares it.

Return type:

InvoiceOperationDateRole

Parameters:

value (object)

resolve_invoice_legal_classification_catalogue(*, effective_date=None, authority=None)[source]¶

Resolve the dated invoice class and operation-date vocabulary.

Core types: ValidatedRegistryAuthority.

Return type:

InvoiceLegalClassificationCatalogue

Parameters:
  • effective_date (date | None)

  • authority (ValidatedRegistryAuthority | None)

require_invoice_class(value, *, effective_date=None, authority=None)[source]¶

Return an invoice-class token only when fact 0141 declares it.

Core types: ValidatedRegistryAuthority.

Return type:

InvoiceClass

Parameters:
  • value (object)

  • effective_date (date | None)

  • authority (ValidatedRegistryAuthority | None)

require_invoice_operation_date_role(value, *, effective_date=None, authority=None)[source]¶

Return an operation-date role only when fact 0141 declares it.

Core types: ValidatedRegistryAuthority.

Return type:

InvoiceOperationDateRole

Parameters:
  • value (object)

  • effective_date (date | None)

  • authority (ValidatedRegistryAuthority | None)

invoice_class_ordinaria(*, effective_date=None, authority=None)[source]¶

Return the registry-declared ordinary invoice-class token.

Core types: ValidatedRegistryAuthority.

Return type:

InvoiceClass

Parameters:
  • effective_date (date | None)

  • authority (ValidatedRegistryAuthority | None)

invoice_class_simplificada(*, effective_date=None, authority=None)[source]¶

Return the registry-declared simplified invoice-class token.

Core types: ValidatedRegistryAuthority.

Return type:

InvoiceClass

Parameters:
  • effective_date (date | None)

  • authority (ValidatedRegistryAuthority | None)

invoice_class_rectificativa(*, effective_date=None, authority=None)[source]¶

Return the registry-declared corrective invoice-class token.

Core types: ValidatedRegistryAuthority.

Return type:

InvoiceClass

Parameters:
  • effective_date (date | None)

  • authority (ValidatedRegistryAuthority | None)

operation_performed_role(*, effective_date=None, authority=None)[source]¶

Return the registry-declared performed-operation date role.

Core types: ValidatedRegistryAuthority.

Return type:

InvoiceOperationDateRole

Parameters:
  • effective_date (date | None)

  • authority (ValidatedRegistryAuthority | None)

advance_payment_received_role(*, effective_date=None, authority=None)[source]¶

Return the registry-declared advance-payment date role.

Core types: ValidatedRegistryAuthority.

Return type:

InvoiceOperationDateRole

Parameters:
  • effective_date (date | None)

  • authority (ValidatedRegistryAuthority | None)

Project notices

Cadrumo is pre-alpha, local-first software. It is not tax advice, is not affiliated with the Agencia Estatal de Administración Tributaria (AEAT), and never replaces official AEAT tools or advice from a qualified professional.

Stay current

  • Critical updates
  • Latest download
  • Release notes

Get help

  • Report an issue
  • CLI reference
  • How it works

Trust and responsibility

  • Disclaimer
  • Events and deadlines
  • Repository
Next
cadrumo.domain.calculations.registry.irnr_ledger_bindings module
Previous
cadrumo.domain.calculations.registry.invoice_bindings module
Copyright © 2026, the Cadrumo authors
Made with Sphinx and @pradyunsg's Furo
On this page
  • cadrumo.domain.calculations.registry.invoice_legal_classification module
    • InvoiceClassDefinition
      • InvoiceClassDefinition.token
      • InvoiceClassDefinition.description
      • InvoiceClassDefinition.legal_refs
    • InvoiceOperationDateRoleDefinition
      • InvoiceOperationDateRoleDefinition.token
      • InvoiceOperationDateRoleDefinition.description
      • InvoiceOperationDateRoleDefinition.legal_refs
    • InvoiceLegalClassificationCatalogue
      • InvoiceLegalClassificationCatalogue.declarations
      • InvoiceLegalClassificationCatalogue.invoice_classes
      • InvoiceLegalClassificationCatalogue.operation_date_roles
      • InvoiceLegalClassificationCatalogue.ordinaria_token
      • InvoiceLegalClassificationCatalogue.simplificada_token
      • InvoiceLegalClassificationCatalogue.rectificativa_token
      • InvoiceLegalClassificationCatalogue.operation_performed_token
      • InvoiceLegalClassificationCatalogue.advance_payment_received_token
      • InvoiceLegalClassificationCatalogue.invoice_class_choices
      • InvoiceLegalClassificationCatalogue.operation_date_role_choices
      • InvoiceLegalClassificationCatalogue.require_invoice_class()
      • InvoiceLegalClassificationCatalogue.require_operation_date_role()
    • resolve_invoice_legal_classification_catalogue()
    • require_invoice_class()
    • require_invoice_operation_date_role()
    • invoice_class_ordinaria()
    • invoice_class_simplificada()
    • invoice_class_rectificativa()
    • operation_performed_role()
    • advance_payment_received_role()