cadrumo.domain.transactions.volumen_ingresos module¶
Whether a receipt belongs in the volumen de ingresos a pago fraccionado is fixed on.
One predicate, so the art. 110.1.c) exclusion is applied identically everywhere and a
consumer never re-derives it from the concept’s name. That last part is the trap this
module exists to remove: SUBVENCION_CORRIENTE and SUBVENCION_CAPITAL share a
prefix and land on opposite sides of the rule, so anything keyed on the word “subvención”
gets exactly one of them wrong, and it is the inclusion that breaks — a filer’s
operating subsidy silently dropped out of the declared volume.
See also
ConceptoIngresoThe closed set this reads.
- counts_toward_volumen_de_ingresos(concepto, *, effective_date, authority=None)[source]¶
Return whether a receipt of this concept belongs in the volumen de ingresos.
Grounded in RD 439/2007 art. 110.1.c) — el 2 por ciento del volumen de ingresos del trimestre, excluidas las subvenciones de capital y las indemnizaciones — and in the AEAT Modelo 131 instrucciones for casilla 05, which state the inclusion side explicitly: incluidas las subvenciones corrientes y excluidas las subvenciones de capital y las indemnizaciones.
- Parameters:
concepto (
ConceptoIngreso|None) – The declared concept, orNonewhen the operator declared none.effective_date (
date) – Filing-period coordinate for the governed exclusion fact.authority (
GovernedFactSource|None) – Optional validated authority used to resolve that fact.
- Return type:
- Returns:
Truefor ordinary income, for a subvención corriente, and for an undeclared concept;Falsefor a subvención de capital or an indemnización.Nonecounting as included is a deliberate direction for the error to point. An unmarked receipt is far more likely to be ordinary than exceptional, and the alternative — treating silence as exclusion — would drop real income out of a declared volume. The cost is that an unmarked capital subsidy over-declares, which is the tolerable side of a rule that cannot be inferred from the row.
- counts_toward_art_109_activity_income(concepto, *, effective_date, authority=None)[source]¶
Return whether a receipt belongs in the Art. 109 retention-coverage base.
Grounded in RD 439/2007 art. 109.3 and 109.4 – al menos el 70 por ciento de los ingresos procedentes de la explotación, con excepción de las subvenciones corrientes y de capital y de las indemnizaciones, fueron objeto de retención o ingreso a cuenta.
Distinct from
counts_toward_volumen_de_ingresos()on purpose. That predicate serves art. 110.1.c), which keeps subvenciones corrientes IN the base; this one takes them out. The two provisions genuinely disagree, so they get two predicates rather than one with a flag – a flag would put the choice at the call site, which is where it would eventually be got wrong.- Parameters:
concepto (
ConceptoIngreso|None) – The declared concept, orNonewhen the operator declared none.effective_date (
date) – Filing-period coordinate for the governed exclusion fact.authority (
GovernedFactSource|None) – Optional validated authority used to resolve that fact.
- Return type:
- Returns:
Truefor ordinary income and for an undeclared concept;Falsefor a subvención of either kind and for an indemnización.