Source code for aeat.domain.contribuyente._deduccion_maternidad
"""Art. 81 LIRPF deducción maternidad computation helpers.Pure-domain arithmetic; no entrypoint or CLI dependencies.:func:`compute_deduccion_maternidad_0611` applies the central:data:`core.external_constants.DEDUCCION_MATERNIDAD_MENSUAL_EUR` and:data:`core.external_constants.DEDUCCION_MATERNIDAD_ANUAL_CAP_EUR`limits used by :class:`RentaFamilyProfile`."""from__future__importannotationsfrom...core.external_constantsimport(DEDUCCION_MATERNIDAD_ANUAL_CAP_EUR,DEDUCCION_MATERNIDAD_MENSUAL_EUR,)
[docs]defcompute_deduccion_maternidad_0611(meses_por_hijo:list[tuple[str,int]])->int:"""Compute Art. 81 LIRPF deducción maternidad from per-hijo meses pairs. Formula: ``sum(min(meses × :data:`DEDUCCION_MATERNIDAD_MENSUAL_EUR`, :data:`DEDUCCION_MATERNIDAD_ANUAL_CAP_EUR`))`` for each ``(hijo_id, meses)`` pair. Returns an integer euros amount. """returnsum(min(meses*DEDUCCION_MATERNIDAD_MENSUAL_EUR,DEDUCCION_MATERNIDAD_ANUAL_CAP_EUR)for_,mesesinmeses_por_hijo)