Skip to main content

Módulo de Python que realiza la actualización de rentas de alquiler por anualidades completas con el IPC (LAU) descrita en la web del INE de España.

Project description

ArrendaTools Actualiza Renta

License Build Status GitHub last commit GitHub commit activity

Módulo de python para calcular la actualización de rentas de alquiler en España por anualidades completas. Compatible con múltiples métodos, incluyendo:

  • Porcentaje
  • Cantidad fija
  • Actualización basada en IPC (Índice de Precios al Consumo)
  • IRAV (Índice de Rentas de Alquiler de Viviendas)
  • Combinación mínima entre IPC y porcentaje

El cálculo usando el IPC (LAU), se basa según lo descrito en la página web del Instituto Nacional de Estadística (INE). Es equivalente a utilizar la calculadora publicada por el INE en el siguiente enlace Actualización de rentas con el IPC general (sistema IPC base 2021) para periodos anuales completos.

Limitaciones

Este módulo es válido solamente:

  • En España
  • Actualización usando el IPC: Para los periodos comprendidos entre marzo de 1954 y el último mes con datos de IPC publicados por el INE.
  • Actualización usando el IRAV: Para los periodos comprendidos entre noviembre de 2024 y el último mes con datos de IRAV publicados por el INE.

Estructura

El módulo utiliza una arquitectura basada en clases con un patrón Factory para la creación dinámica de diferentes métodos de actualización:

  1. ActualizacionRenta: Clase base abstracta que define la interfaz para las actualizaciones.

  2. Factory: Proporciona una forma dinámica de instanciar clases de actualización según el tipo requerido.

  3. Implementaciones:

    • Porcentaje
    • CantidadFija
    • IPC
    • MinimoIPCPorcentaje
    • IRAV
  4. INE: Clase que se conecta al INE para obtener los datos del IPC e IRAV.

Requisitos

Este módulo requiere Python 3.8 o superior.

Uso

Parámetros de entrada

cantidad (Decimal): Obligatorio. La cantidad de la renta a actualizar.

mes (int): Obligatorio para los tipos de actualización IPC, IRAV y MinimoIPCPorcentaje. El mes en que se quiere calcular la actualización de la renta (1 a 12).

anyo_inicial (int): Obligatorio para los tipos de actualización IPC, IRAV y MinimoIPCPorcentaje. El año inicial de referencia para el cálculo.

anyo_final (int): Obligatorio para los tipos de actualización IPC y MinimoIPCPorcentaje. El año final de referencia para el cálculo.

dato (Decimal): Obligatorio para los tipos de actualización Porcentaje, CantidadFija y MinimoIPCPorcentaje. Dato adicional para hacer los cálculos, por ejemplo en la actualización por porcentaje es el porcentaje de actualización (-1 -> -100% y 1 -> 100%). En la actualización por cantidad fija es la cantidad a actualizar.

Retorno

La función devuelve un diccionario con los siguientes campos:

cantidad (Decimal): Obligatorio. La cantidad pasada inicialmente por el usuario.

cantidad_actualizada (Decimal): Obligatorio. La cantidad de la renta actualizada con el método escogido.

indice_inicial (int): Opcional, sólo se devuelve para la actualización por IPC o MinimoIPCPorcentaje. El índice del IPC del mes inicial.

indice_final (int): Opcional, sólo se devuelve para la actualización por IPC o MinimoIPCPorcentaje. El índice del IPC del mes final.

mes (str): Opcional, sólo se devuelve para la actualización por IPC, MinimoIPCPorcentaje o IRAV. El nombre del mes en que se calculó la actualización de la renta.

anyo_inicial (int): Opcional, sólo se devuelve para la actualización por IPC, MinimoIPCPorcentaje o IRAV. El año inicial de referencia para el cálculo.

anyo_final (int): Opcional, sólo se devuelve para la actualización por IPC o MinimoIPCPorcentaje. El año final de referencia para el cálculo.

tasa_variacion (Decimal): Opcional, sólo se devuelve para la actualización por IPC, MinimoIPCPorcentaje, IRAV, Porcentaje. La tasa de variación utilizada en el cálculo. Multiplicado por 100 es el porcentaje.

Ejemplo de uso

from decimal import Decimal
from arrendatools.actualiza_renta.factory import ActualizacionRentaFactory

# Crear una instancia usando el Factory
actualizacion_renta = ActualizacionRentaFactory.crear("Porcentaje")

# Calcular pasando los datos al método calcular
resultado = actualizacion_renta.calcular(
    cantidad=Decimal("1000.00"),
    dato=Decimal("0.05")
)

print(resultado)

Resultado:

{'cantidad': Decimal('1000.00'), 'dato': Decimal('0.05'), 'cantidad_actualizada': Decimal('1050.00'), 'tasa_variacion': Decimal('0.05')}

Descargo de responsabilidad

Este módulo proporciona una opción para actualizar una renta de alquiler en España por anualidades completas usando varios métodos como el IPC (LAU) o IRAV y realiza los cálculos necesarios conectándose a la página web del INE. Sin embargo, es importante tener en cuenta que este módulo no garantiza el cálculo correcto ni sirve como certificación oficial ante el arrendatario. El usuario es responsable de verificar la exactitud de los datos generados y de obtener el certificado correspondiente en la página web del INE si es necesario.

Es importante destacar que el autor de este módulo está exento de cualquier tipo de responsabilidad derivada del uso de la información generada por este módulo. La veracidad y exactitud de los datos generados son responsabilidad exclusiva del usuario. Cualquier sanción que pudiera derivarse del uso correcto, incorrecto o fraudulento de los datos generados por este módulo será responsabilidad exclusiva del usuario.

Por tanto, se recomienda al usuario revisar cuidadosamente la información generada antes de notificar al inquilino la actualización de la renta y asegurarse de que cumple con los requisitos y está libre de errores.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arrendatools_actualiza_renta-1.1.0.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arrendatools_actualiza_renta-1.1.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file arrendatools_actualiza_renta-1.1.0.tar.gz.

File metadata

File hashes

Hashes for arrendatools_actualiza_renta-1.1.0.tar.gz
Algorithm Hash digest
SHA256 de5aafcf4a3141b9ea1e01400b4970e5dfb292b265d1e6c359b2bc63900f8046
MD5 1bab815b85654051b5990aeaf4a14a42
BLAKE2b-256 4bb7aecbe576f05c7456dbb0d8bc3ec9f53274d26767272491ea2022cae47833

See more details on using hashes here.

Provenance

The following attestation bundles were made for arrendatools_actualiza_renta-1.1.0.tar.gz:

Publisher: main.yml on hokus15/ArrendaToolsActualizaRenta

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arrendatools_actualiza_renta-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for arrendatools_actualiza_renta-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d430c93082cbb5155177ea5c9f196e4991f6de1cc7dea41bc1d3e5c98ad87139
MD5 86b5a743d24b354538ebfc8492964083
BLAKE2b-256 47a23e03d430bb26a603dbccd339ad7c4b1c30308ced20fd0669c75fcdab9907

See more details on using hashes here.

Provenance

The following attestation bundles were made for arrendatools_actualiza_renta-1.1.0-py3-none-any.whl:

Publisher: main.yml on hokus15/ArrendaToolsActualizaRenta

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page