aeat.domain.modelos package¶
Public facade for modelo filing domain records and repository boundaries.
The public surface exposes ModeloCode, WorkUnit,
CalculationRevision, ModeloRecord, VerificationReport,
their in-memory catalogues, encrypted repository boundaries, repository
protocols, row DTOs, derivation and upsert helpers, ExternalEvidence,
and WorkUnitId. ModeloCode validates identifier shape only;
filing availability and revision targeting are resolved through registry-aware
flows anchored on domain.calculations.registry.ModeloRevision.
These records are the domain aggregate carried by
application.modelo:
a WorkUnit fixes the bucket/modelo/year/period/registry-revision target
and carries current/filed pointers, while a CalculationRevision is
content-addressed, stateful, source-transaction aware, and records
domain.calculations.registry.CasillaObservation values plus
ModeloDetailRow rows. A ModeloRecord is the durable
filing-record receipt paired with a filed revision. Local filing writes keep
aeat_accepted=False and no
ExternalEvidence; only the external import path may stamp
AEAT-attested evidence, validated against
domain.justificante.Justificante metadata for receipt-bound
evidence kinds, and turn that record into an amendment baseline.
The package also owns the transaction participation index. A
TransactionRevisionParticipationIndex is a rebuildable read-side cache
keyed by ledger transaction id; verified and filed writes co-emit
TransactionRevisionParticipation entries, and the index can be rebuilt
from the calculation-revision, work-unit, and filing-record catalogues. The live
catalogues remain the source of truth.
Informational-declaration row models also live here:
Modelo184MemberRow, Modelo232VinculadaRow,
Modelo347ContraparteRow, Modelo349OperadorRow,
Modelo349RectificacionRow, and ModeloDetailRow, plus the
Modelo 349 NIF and country-prefix validators exposed by this root facade.
Regulatory constants such as the Modelo 347 declarability threshold remain in
core.external_constants.
See also
application.modeloApplication facade that creates, calculates, verifies, files, exports, reconciles, and rebuilds this aggregate.
CalculationRevisionImmutable calculation attempt with lifecycle state, source transaction ids, typed casilla observations, and content-addressed identity.
ModeloRecordFiling event record paired with the filed calculation revision.
ExternalEvidenceOfficial evidence metadata carried only by imported AEAT-attested filing records.
application.modelo.file_modelo_revision()Application service that records a verified revision as local/internal filed state without AEAT acceptance.
application.modelo.import_external_filing_evidence()Application service that imports AEAT-attested evidence into a current filing record.
application.modelo.amend_modelo_revision()Application service that consumes an externally evidenced current filing record as the amendment baseline.
domain.justificanteReceipt metadata domain referenced by justificante PDF, CSV-register, and live-capture evidence kinds.
TransactionRevisionParticipationIndexRebuildable inverse index from ledger transaction ids to finalized calculation revisions and filing records.
domain.calculations.registryRegistry snapshots, formulas, bindings, and observation types that produce the calculation payload stored on a revision.
Submodules¶
- aeat.domain.modelos._calculation_repository module
- aeat.domain.modelos._calculation_revision module
CalculationRevisionStateCalculationRevisionAmendmentKindderive_calculation_revision_id()CalculationSourceRefCalculationRevisionCalculationRevision.calculation_revision_idCalculationRevision.work_unit_idCalculationRevision.stateCalculationRevision.input_values_by_casilla_idCalculationRevision.binding_overridesCalculationRevision.row_binding_valuesCalculationRevision.relation_overridesCalculationRevision.source_transaction_idsCalculationRevision.borrador_snapshot_idCalculationRevision.bindings_sourced_from_borradorCalculationRevision.casilla_valuesCalculationRevision.observationsCalculationRevision.unresolved_outcomesCalculationRevision.ledger_filing_snapshotCalculationRevision.ledger_filing_evidenceCalculationRevision.source_provenanceCalculationRevision.detail_rowsCalculationRevision.created_atCalculationRevision.updated_atCalculationRevision.verified_atCalculationRevision.verified_byCalculationRevision.filed_atCalculationRevision.filed_byCalculationRevision.superseded_atCalculationRevision.discarded_atCalculationRevision.discarded_byCalculationRevision.discard_reasonCalculationRevision.amendment_kindCalculationRevision.amends_filing_record_idCalculationRevision.amendment_reason
CalculationRevisionCatalogueLedgerFilingCoverageErrorassert_revision_snapshot_evidence_coverage()
- aeat.domain.modelos._codes module
- aeat.domain.modelos._dt12_reduccion module
- aeat.domain.modelos._errors module
- aeat.domain.modelos._filing_record module
ModeloActorLabelModeloRecordStatusExternalEvidenceKindExternalEvidencederive_filing_record_id()ModeloRecordModeloRecord.filing_record_idModeloRecord.work_unit_idModeloRecord.calculation_revision_idModeloRecord.bucket_idModeloRecord.modeloModeloRecord.filing_yearModeloRecord.periodModeloRecord.member_nifModeloRecord.filed_atModeloRecord.filed_byModeloRecord.notesModeloRecord.aeat_acceptedModeloRecord.statusModeloRecord.superseded_atModeloRecord.superseded_by_filing_record_idModeloRecord.external_evidenceModeloRecord.amends_filing_record_idModeloRecord.source_transaction_ids
ModeloRecordCatalogue
- aeat.domain.modelos._filing_repository module
- aeat.domain.modelos._iae_exemption module
- aeat.domain.modelos._ids module
- aeat.domain.modelos._ledger_filing_snapshot module
LedgerRowFingerprintLedgerFilingSnapshotLedgerFilingStalenessVerdictsnapshot_fingerprint()diff_ledger_fingerprints()LedgerEvidenceRowLedgerEvidenceRow.transaction_idLedgerEvidenceRow.fingerprintLedgerEvidenceRow.booked_dateLedgerEvidenceRow.value_dateLedgerEvidenceRow.amountLedgerEvidenceRow.currencyLedgerEvidenceRow.directionLedgerEvidenceRow.business_classificationLedgerEvidenceRow.business_pctLedgerEvidenceRow.taxable_baseLedgerEvidenceRow.iva_rateLedgerEvidenceRow.iva_amountLedgerEvidenceRow.iva_categoryLedgerEvidenceRow.category_idLedgerEvidenceRow.irpf_categoryLedgerEvidenceRow.counterparty_eu_member_stateLedgerEvidenceRow.fx_rateLedgerEvidenceRow.value_in_eurLedgerEvidenceRow.lifecycle_stateLedgerEvidenceRow.counterpartyLedgerEvidenceRow.descriptionLedgerEvidenceRow.purchase_invoice_evidence_idLedgerEvidenceRow.attachment_idsLedgerEvidenceRow.document_link_idsLedgerEvidenceRow.legal_refsLedgerEvidenceRow.source_refs
ManualFactBasisEntryLedgerFilingEvidence
- aeat.domain.modelos._m232_row_materialisation module
- aeat.domain.modelos._participation_index module
derive_participation_index_id()TransactionRevisionParticipationTransactionRevisionParticipation.calculation_revision_idTransactionRevisionParticipation.work_unit_idTransactionRevisionParticipation.modeloTransactionRevisionParticipation.filing_yearTransactionRevisionParticipation.periodTransactionRevisionParticipation.revision_stateTransactionRevisionParticipation.filing_record_idTransactionRevisionParticipation.justificante_reference
TransactionRevisionParticipationIndexupsert_transaction_participation()TransactionParticipationIndexPersistenceError
- aeat.domain.modelos._protocols module
WorkUnitCatalogueRepositoryProtocolCalculationRevisionCatalogueRepositoryProtocolCalculationRevisionCatalogueRepositoryProtocol.bucket_idCalculationRevisionCatalogueRepositoryProtocol.exists()CalculationRevisionCatalogueRepositoryProtocol.load()CalculationRevisionCatalogueRepositoryProtocol.save()CalculationRevisionCatalogueRepositoryProtocol.to_secure_object_write()CalculationRevisionCatalogueRepositoryProtocol.save_with_secure_object_writes()
ModeloRecordCatalogueQueryProtocolModeloRecordCatalogueRepositoryProtocolModeloRecordCatalogueRepositoryProtocol.bucket_idModeloRecordCatalogueRepositoryProtocol.exists()ModeloRecordCatalogueRepositoryProtocol.load()ModeloRecordCatalogueRepositoryProtocol.save()ModeloRecordCatalogueRepositoryProtocol.to_secure_object_write()ModeloRecordCatalogueRepositoryProtocol.save_with_secure_object_writes()
VerificationReportCatalogueRepositoryProtocolTransactionParticipationIndexRepositoryProtocol
- aeat.domain.modelos._repository module
- aeat.domain.modelos._row_models module
Modelo184MemberRowModelo232VinculadaRowModelo349CountryPrefixContextErrorModelo349OperadorRowModelo349RectificacionRowModelo349RectificacionRow.row_typeModelo349RectificacionRow.codigo_paisModelo349RectificacionRow.nif_comunitarioModelo349RectificacionRow.razon_socialModelo349RectificacionRow.clave_operacionModelo349RectificacionRow.ejercicioModelo349RectificacionRow.periodoModelo349RectificacionRow.base_rectificadaModelo349RectificacionRow.base_anterior
validate_m349_nif_format()validate_m349_country_prefix_context()m349_nif_number_for_export()Modelo347ContraparteRowModelo347ContraparteRow.row_typeModelo347ContraparteRow.nifModelo347ContraparteRow.nombreModelo347ContraparteRow.importe_Q1Modelo347ContraparteRow.importe_Q2Modelo347ContraparteRow.importe_Q3Modelo347ContraparteRow.importe_Q4Modelo347ContraparteRow.clave_operacionModelo347ContraparteRow.pais_codigoModelo347ContraparteRow.importe_total
Modelo347ThresholdErrorModelo184ShareSumErrorvalidate_m347_threshold()validate_m184_member_share_sum()
- aeat.domain.modelos._sal_reserva_especial module
- aeat.domain.modelos._verification_report module
ModeloActorLabelVerificationCompletenessStatusModeloVerificationFindingKindModeloVerificationFindingKind.MISSING_REQUIRED_CASILLAModeloVerificationFindingKind.RECONCILIATION_MISMATCHModeloVerificationFindingKind.UNRESOLVED_BINDINGModeloVerificationFindingKind.CROSS_PERIOD_DEPENDENCY_UNCLEANModeloVerificationFindingKind.INVALID_WAIVERModeloVerificationFindingKind.BLOCKING_RULEModeloVerificationFindingKind.ADVISORY
ModeloVerificationFindingSeverityModeloVerificationFindingderive_verification_report_id()VerificationReportVerificationReport.verification_report_idVerificationReport.calculation_revision_idVerificationReport.completeness_statusVerificationReport.findingsVerificationReport.resolved_casilla_idsVerificationReport.missing_required_casilla_idsVerificationReport.run_atVerificationReport.verified_byVerificationReport.granted_verificado_completo
VerificationReportCatalogue
- aeat.domain.modelos._verification_repository module
- aeat.domain.modelos._work_unit module
WorkUnitStatederive_work_unit_id()WorkUnitWorkUnit.work_unit_idWorkUnit.bucket_idWorkUnit.modeloWorkUnit.filing_yearWorkUnit.periodWorkUnit.revision_idWorkUnit.nameWorkUnit.created_atWorkUnit.updated_atWorkUnit.stateWorkUnit.discarded_atWorkUnit.discarded_byWorkUnit.discard_reasonWorkUnit.current_calculation_revision_idWorkUnit.filed_calculation_revision_idWorkUnit.current_filing_record_idWorkUnit.censo_stamped_stale_atWorkUnit.censo_stale_reasonWorkUnit.ledger_stamped_stale_atWorkUnit.ledger_stale_reasonWorkUnit.causante_ccaa
WorkUnitCatalogue