cadrumo.domain.iva.regimen_simplificado_rows module

Canonical filing-year rows for Modelo 303 regimen simplificado.

The annual Orden owns the activity and module taxonomy. These models own only taxpayer facts and their evidence; official record slots are a projection of this collection and are never persisted as a second set of scalar inputs.

class ModuloOrdenAnual(**data)[source]

Bases: BaseModel

One module identity and position established by an annual Orden.

Parameters:
  • identity (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)])

  • order (int)

  • coefficient (Annotated[Decimal, FieldInfo(annotation=NoneType, required=True, metadata=[Gt(gt=Decimal('0'))])])

  • legal_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

  • source_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

identity: _Token
order: int
coefficient: _PositiveCoefficient
legal_refs: tuple[_Token, ...]
source_refs: tuple[_Token, ...]
class ActividadOrdenAnual(**data)[source]

Bases: BaseModel

Annual Orden taxonomy for one IAE simplified-regime activity.

Parameters:
  • orden_id (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=^[a-z0-9][a-z0-9._:-]*[a-z0-9]$|^[a-z0-9]$, ascii_only=None)])

  • ejercicio (Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=2000), Le(le=2099)])])

  • kind (Literal['agricola', 'no_agricola'])

  • activity_code (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)])

  • iae_epigrafe (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=32, pattern=None, ascii_only=None)] | None)

  • auxiliary_activity_indicator (Literal['1', '2'] | None)

  • modulos (tuple[ModuloOrdenAnual, ...])

  • cuota_minima_pct (Annotated[Decimal, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=Decimal('0'))])])

  • applicable_fact_identities (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

  • legal_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

  • source_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

orden_id: ActividadOrdenAnualId
ejercicio: FilingYear
kind: Literal['agricola', 'no_agricola']
activity_code: _Token
iae_epigrafe: IaeEpigrafe | None
auxiliary_activity_indicator: IndicadorAuxiliarActividad | None
modulos: tuple[ModuloOrdenAnual, ...]
cuota_minima_pct: _NonNegative
applicable_fact_identities: tuple[_Token, ...]
legal_refs: tuple[_Token, ...]
source_refs: tuple[_Token, ...]
class IndiceCuotaDevengadaAgricolaOrdenAnual(**data)[source]

Bases: BaseModel

One published agricultural quota index, deliberately not a filing code.

Parameters:
  • activity_name (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=500, pattern=None, ascii_only=None)])

  • cuota_devengada_index (Annotated[Decimal, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=Decimal('0'))])])

  • legal_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

  • source_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

activity_name: _OfficialActivityName
cuota_devengada_index: _NonNegative
legal_refs: tuple[_Token, ...]
source_refs: tuple[_Token, ...]
class PorcentajeIngresoCuentaAgricolaOrdenAnual(**data)[source]

Bases: BaseModel

One agricultural ingreso-a-cuenta rate, before an official code crosswalk exists.

Parameters:
  • activity_name (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=500, pattern=None, ascii_only=None)])

  • percentage (Annotated[Decimal, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=Decimal('0'))])])

  • legal_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

  • source_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

activity_name: _OfficialActivityName
percentage: _NonNegative
legal_refs: tuple[_Token, ...]
source_refs: tuple[_Token, ...]
class PorcentajeIngresoCuentaIaeOrdenAnual(**data)[source]

Bases: BaseModel

One source-published IAE ingreso-a-cuenta rate, retained outside filing identity selection.

Parameters:
  • iae_epigrafe (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=32, pattern=None, ascii_only=None)])

  • activity_name (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=500, pattern=None, ascii_only=None)])

  • percentage (Annotated[Decimal, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=Decimal('0'))])])

  • legal_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

  • source_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

iae_epigrafe: IaeEpigrafe
activity_name: _OfficialActivityName
percentage: _NonNegative
legal_refs: tuple[_Token, ...]
source_refs: tuple[_Token, ...]
class IndiceTemporadaOrdenAnual(**data)[source]

Bases: BaseModel

One contiguous source-published seasonal day band.

Parameters:
  • minimum_days (int)

  • maximum_days (int)

  • coefficient (Annotated[Decimal, FieldInfo(annotation=NoneType, required=True, metadata=[Gt(gt=Decimal('0'))])])

  • legal_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

  • source_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

minimum_days: int
maximum_days: int
coefficient: _PositiveCoefficient
legal_refs: tuple[_Token, ...]
source_refs: tuple[_Token, ...]
class DificilJustificacionOrdenAnual(**data)[source]

Bases: BaseModel

The single annually sourced IVA difficult-justification percentage.

Parameters:
  • percentage (Annotated[Decimal, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=Decimal('0'))])])

  • legal_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

  • source_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

percentage: _NonNegative
legal_refs: tuple[_Token, ...]
source_refs: tuple[_Token, ...]
class ReduccionLorcaOrdenAnual(**data)[source]

Bases: BaseModel

One registry-projected municipal IVA reduction before activity calculation.

Parameters:
  • ejercicio (Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=2000), Le(le=2099)])])

  • municipality (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)])

  • annex_scope (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)])

  • percentage (Annotated[Decimal, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=Decimal('0'))])])

  • calculation_periods (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

  • legal_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

  • source_refs (tuple[Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)], ...])

  • source_content_digest (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)])

ejercicio: FilingYear
municipality: _Token
annex_scope: _Token
percentage: _NonNegative
calculation_periods: tuple[_Token, ...]
legal_refs: tuple[_Token, ...]
source_refs: tuple[_Token, ...]
source_content_digest: _Token
classmethod from_registry_source(*, ejercicio, municipality, percentage, legal_ref, source_ref, source_content_digest)[source]

Build the projection only after matching the selected facts authority.

Return type:

Self

Parameters:
  • ejercicio (Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=2000), Le(le=2099)])])

  • municipality (str)

  • percentage (Decimal)

  • legal_ref (str)

  • source_ref (str)

  • source_content_digest (str)

class AutoridadAgricolaOrdenAnualNoResuelta(**data)[source]

Bases: BaseModel

Published agricultural axes whose official two-digit filing-code crosswalk is absent.

Parameters:
  • status (Literal['official_code_crosswalk_unavailable'])

  • quota_indexes (tuple[IndiceCuotaDevengadaAgricolaOrdenAnual, ...])

  • ingreso_a_cuenta_percentages (tuple[PorcentajeIngresoCuentaAgricolaOrdenAnual, ...])

  • annual_orden_source_ref (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)])

  • record_design_source_ref (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)])

  • record_design_source_content_digest (Annotated[str, StringConstraints(strip_whitespace=True, to_upper=None, to_lower=None, strict=None, min_length=1, max_length=160, pattern=None, ascii_only=None)])

  • filing_record (Literal['DP30302'])

  • filing_code_digits (Literal[2])

  • refusal_reason (Literal['annual_orden_does_not_publish_dp30302_two_digit_agricultural_crosswalk'])

status: Literal['official_code_crosswalk_unavailable']
quota_indexes: tuple[IndiceCuotaDevengadaAgricolaOrdenAnual, ...]
ingreso_a_cuenta_percentages: tuple[PorcentajeIngresoCuentaAgricolaOrdenAnual, ...]
annual_orden_source_ref: _Token
record_design_source_ref: _Token
record_design_source_content_digest: _Token
filing_record: Literal['DP30302']
filing_code_digits: Literal[2]
refusal_reason: Literal['annual_orden_does_not_publish_dp30302_two_digit_agricultural_crosswalk']
class M303RegimenSimplificadoScope(value, *, _registry_validated=False)[source]

Bases: StrictRegistryToken

Opaque simplified-regime scope projected from the 0098 composition fact.

Parameters:
  • value (str)

  • _registry_validated (bool)

Return type:

Self

class M303RegimenSimplificadoScopeDecision(**data)[source]

Bases: BaseModel

Explicit registry-projected scope input for the M303 simplified branch.

Parameters:

data (Any)

scope: M303RegimenSimplificadoScope
property is_not_claimed: bool

Whether the registry-declared scope excludes the simplified branch.

class HechoActividadSimplificado(**data)[source]

Bases: BaseModel

One declared or attested activity fact at its closed semantic coordinate.

Parameters:

data (Any)

fact: M303RegimenSimplificadoFact
sub_index: int | None
value: str | Decimal
evidence_reference: FilingEvidenceReference
class EntradaModuloSimplificado(**data)[source]

Bases: BaseModel

One taxpayer-declared module quantity and its filing evidence.

Parameters:

data (Any)

module_identity: _Token
declared_quantity: _NonNegative
evidence_reference: FilingEvidenceReference
class ActividadAgricolaSimplificado(**data)[source]

Bases: BaseModel

One agricultural, livestock, or forestry simplified-regime activity.

Parameters:

data (Any)

kind: Literal['agricola']
orden_id: ActividadOrdenAnualId
ejercicio: FilingYear
activity_id: _Token
activity_code: _Token
facts: tuple[HechoActividadSimplificado, ...]
evidence_reference: FilingEvidenceReference
class LorcaActivityEligibility(**data)[source]

Bases: BaseModel

Evidence that this Annex II activity is, or is not, carried out in Lorca.

Parameters:

data (Any)

eligible: bool
evidence_reference: FilingEvidenceReference
class ActividadNoAgricolaSimplificado(**data)[source]

Bases: BaseModel

One non-agricultural simplified-regime IAE activity.

Parameters:

data (Any)

kind: Literal['no_agricola']
orden_id: ActividadOrdenAnualId
ejercicio: FilingYear
activity_id: _Token
iae_epigrafe: IaeEpigrafe
auxiliary_activity_indicator: IndicadorAuxiliarActividad | None
lorca_eligibility: LorcaActivityEligibility | None
modulos: tuple[EntradaModuloSimplificado, ...]
facts: tuple[HechoActividadSimplificado, ...]
evidence_reference: FilingEvidenceReference
class RegimenSimplificadoFilingRows(**data)[source]

Bases: BaseModel

Ordered canonical activity collection for one filing year.

Parameters:

data (Any)

ejercicio: FilingYear
activities: tuple[RegimenSimplificadoActivity, ...]
records()[source]

Pack exactly two activities of each kind into at most three records.

Return type:

tuple[tuple[ActividadAgricolaSimplificado | ActividadNoAgricolaSimplificado, ...], ...]

validate_regimen_simplificado_rows(rows, *, orden, agricultural_authority, applicable, censo_iae_epigraphs, orden_ejercicio=None)[source]

Fail closed on applicability, annual taxonomy, order, and censo conflicts.

Return type:

None

Parameters: