cadrumo.application.foreign_asset_thresholds module

Registry-resolved thresholds for Modelo 720 and Modelo 721 foreign assets.

class ForeignAssetDeclarationThreshold(group, initial_declaration_floor_eur, redeclaration_increase_delta_eur, legal_refs, source_refs, revision_review_status)[source]

Bases: object

One selected revision’s declaration and re-declaration limits for a bloque.

Parameters:
group: ForeignAssetObligationGroup
initial_declaration_floor_eur: Decimal
redeclaration_increase_delta_eur: Decimal
legal_refs: tuple[str, ...]
source_refs: tuple[str, ...]
revision_review_status: RevisionReviewStatus

Whether a human has attested the revision these figures were read from.

Carried beside legal_refs and source_refs because it is the same kind of fact: provenance travelling with the value. Obligation is answered from an unattested revision on purpose — refusing would make a legal duty unanswerable rather than merely unfilable — but the answer then rests on a figure nobody has verified, and a taxpayer told they fall BELOW a wrong threshold misses a penalised filing obligation silently.

This field only makes that knowable. It is not a disposition and it lets no gate pass: the filing path still refuses an unattested revision. Surfacing it to the operator belongs at the CLI envelope’s notices channel, which no caller of this module currently reaches.

foreign_asset_declaration_thresholds(*, modelo, filing_year, operation)[source]

Resolve foreign-asset thresholds from the selected bundled registry revision.

Deciding whether a taxpayer is OBLIGED to declare happens before, and independently of, filing: a filing-grade snapshot would additionally require operator review, so an unreviewed revision would make the obligation unanswerable rather than merely unfilable. The filing path builds its own filing-grade snapshot when it files.

Reads the selected revision through the caller’s generation-pinned operation.

Return type:

Mapping[ForeignAssetObligationGroup, ForeignAssetDeclarationThreshold]

Parameters:
foreign_asset_declaration_thresholds_for_revision(*, modelo, revision, filing_date)[source]

Resolve the threshold parameters declared by one already-selected revision.

Parameters:
  • modelo (str) – The Modelo 720/721 code the thresholds are declared under.

  • revision (ModeloRevision) – The already-selected ModeloRevision whose parameters carry the initial-declaration and re-declaration threshold values.

  • filing_date (date) – The date used to resolve a date-scoped parameter value.

Return type:

Mapping[ForeignAssetObligationGroup, ForeignAssetDeclarationThreshold]

foreign_asset_declaration_thresholds_for_parameters(*, modelo, parameters, filing_date, revision_review_status)[source]

Resolve the thresholds from a already-selected revision’s parameter declarations.

The parameters are the whole input, so a caller holding a non-filing revision projection can resolve an obligation threshold without constructing a filing-grade snapshot it has no use for.

Parameters:
  • modelo (str) – The Modelo 720/721 code the thresholds are declared under.

  • parameters (Sequence[ParameterDefinition]) – The selected revision’s parameter declarations.

  • filing_date (date) – The date used to resolve a date-scoped parameter value.

  • revision_review_status (RevisionReviewStatus) – The selected revision’s attestation stamp, carried onto every threshold so a consumer can tell whether the figures rest on a revision a human has verified.

Return type:

Mapping[ForeignAssetObligationGroup, ForeignAssetDeclarationThreshold]