aeat.domain.iva._refund_eligibility module¶
Modelo 303 refund (devolución) disposition eligibility.
A negative Modelo 303 result may be elected as a refund — fichero “Tipo de
declaración” code D (solicitud de devolución) — only when the taxpayer is
inscribed in the Registro de devolución mensual (REDEME, art. 30 RD 1624/1992),
which makes a monthly refund available every period, OR when the period is the
last filing period of the year (the annual liquidación). Outside those two cases
the only lawful negative disposition is compensación — code C, a credit
carried forward. The operator may always carry forward; the refund is the gated
election.
This module is the law-determined eligibility gate of the REDEME company refund
schema. It is a pure predicate over the typed redeme_enrolled axis and the
Period — it raises no error and resolves no locale, so it has
no dependency on the result-disposition serialization framework or on operator
message catalogues; a consumer layers the operator-facing election + refusal on
top. The reason it returns is a machine code, not operator-facing prose.
Legal basis: RD 1624/1992 (RIVA) art. 30 (Registro de devolución mensual); Ley 37/1992 (LIVA) art. 116 (the monthly-refund right of an inscribed taxpayer).
- LAST_FILING_PERIOD_TOKENS: Final¶
The last Modelo 303 filing-period tokens of a year, after which a negative result may be requested as a refund:
4T(quarterly cadence),12(monthly cadence),0A(annual). Membership is the “annual liquidación” condition.
- class RefundEligibilityReason(*values)[source]¶
Bases:
StrEnumWhy a Modelo 303 refund (devolución) is or is not available for a period.
A machine code (not operator-facing prose) that a consumer maps to a grounded message.
REDEME_INSCRIBEDandLAST_PERIOD_OF_YEARpermit theDelection;NOT_ELIGIBLEpermits only compensación (C).- REDEME_INSCRIBED¶
- LAST_PERIOD_OF_YEAR¶
- NOT_ELIGIBLE¶
- is_last_filing_period_of_year(period)[source]¶
Return whether
periodis the last Modelo 303 filing period of its year.
- refund_disposition_available(*, redeme_enrolled, period)[source]¶
Return whether a refund (devolución,
D) may be elected for a negative result.Trueiff the taxpayer is REDEME-inscribed (art. 30 RD 1624/1992 — monthly refund, available every period) ORperiodis the last filing period of the year (the annual refund, Ley 37/1992 art. 116). Otherwise only compensación (C) is lawful and this returnsFalse.
- refund_eligibility_reason(*, redeme_enrolled, period)[source]¶
Classify the refund eligibility of a Modelo 303 period as a machine reason code.
REDEME enrolment takes precedence (it makes the refund available every period); otherwise the last-period condition; otherwise
NOT_ELIGIBLE(carry forward). The consumer maps the code to a grounded operator message.- Return type:
- Returns:
The
RefundEligibilityReasonfor the supplied period.- Parameters: