Passed
Push — main ( c89de9...8b8d32 )
by Sat CFDI
04:44
created

satcfdi.create.retencion.intereses10   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Test Coverage

Coverage 90.91%

Importance

Changes 0
Metric Value
eloc 26
dl 0
loc 42
ccs 10
cts 11
cp 0.9091
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A Intereses.__init__() 0 17 1
1
"""intereses http://www.sat.gob.mx/esquemas/retencionpago/1/intereses"""
2 1
from decimal import Decimal
3 1
from datetime import datetime, date, time
4 1
from collections.abc import Sequence
5 1
from ...cfdi import CFDI
6 1
from ...xelement import XElement
7 1
from ...utils import ScalarMap
8
9
10 1
class Intereses(CFDI):
11
    """
12
    Complemento para expresar los intereses obtenidos por rendimiento en inversiones
13
    
14
    :param sist_financiero: Atributo requerido para expresar si los interés obtenidos en el periodo o ejercicio provienen del sistema financiero
15
    :param retiro_aoresret_int: Atributo requerido para expresar si los intereses obtenidos fueron retirados en el periodo o ejercicio
16
    :param oper_financ_derivad: Atributo requerido para expresar si los intereses obtenidos corresponden a operaciones financieras derivadas.
17
    :param mont_int_nominal: Atributo requerido para expresar el importe del interés Nóminal obtenido en un periodo o ejercicio
18
    :param mont_int_real: Atributo requerido para expresar el monto de los intereses reales (diferencia que se obtiene restando al tipo de interés nominal y la tasa de inflación del periodo o ejercicio )
19
    :param perdida: Atributo requerido para expresar la pérdida por los intereses obtenidos en el periodo o ejercicio
20
    """
21
    
22 1
    tag = '{http://www.sat.gob.mx/esquemas/retencionpago/1/intereses}Intereses'
23 1
    version = '1.0'
24
    
25 1
    def __init__(
26
            self,
27
            sist_financiero: str,
28
            retiro_aoresret_int: str,
29
            oper_financ_derivad: str,
30
            mont_int_nominal: Decimal | int,
31
            mont_int_real: Decimal | int,
32
            perdida: Decimal | int,
33
    ): 
34
        super().__init__({
35
            'Version': self.version,
36
            'SistFinanciero': sist_financiero,
37
            'RetiroAORESRetInt': retiro_aoresret_int,
38
            'OperFinancDerivad': oper_financ_derivad,
39
            'MontIntNominal': mont_int_nominal,
40
            'MontIntReal': mont_int_real,
41
            'Perdida': perdida,
42
        })
43
        
44
45