Code Duplication    Length = 25-25 lines in 2 locations

satcfdi/create/cfd/cfdi40.py 1 location

@@ 155-179 (lines=25) @@
152
        })
153
154
155
class Retencion(ScalarMap):
156
    """
157
    Nodo requerido para la información detallada de un traslado de impuesto específico.
158
159
    :param base: Atributo requerido para señalar la suma de los atributos Base de los conceptos del impuesto trasladado. No se permiten valores negativos.
160
    :param impuesto: Atributo requerido para señalar la clave del tipo de impuesto retencion.
161
    :param tipo_factor: Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.
162
    :param tasa_o_cuota: Atributo condicional para señalar el valor de la tasa o cuota del impuesto que se traslada por los conceptos amparados en el comprobante.
163
    :param importe: Atributo condicional para señalar la suma del importe del impuesto trasladado, agrupado por impuesto, TipoFactor y TasaOCuota. No se permiten valores negativos.
164
    """
165
166
    def __init__(
167
            self,
168
            impuesto: str,
169
            tipo_factor: str,
170
            tasa_o_cuota: Decimal | int = None,
171
            importe: Decimal | int = None,
172
            base: Decimal | int = None,
173
    ):
174
        super().__init__({
175
            'Base': base,
176
            'Impuesto': _find_impuesto(impuesto),
177
            'TipoFactor': tipo_factor,
178
            'TasaOCuota': tasa_o_cuota,
179
            'Importe': importe,
180
        })
181
182

satcfdi/create/cfd/cfdi33.py 1 location

@@ 102-126 (lines=25) @@
99
        })
100
101
102
class Retencion(ScalarMap):
103
    """
104
    Nodo requerido para la información detallada de un traslado de impuesto específico.
105
106
    :param base: Atributo requerido para señalar la suma de los atributos Base de los conceptos del impuesto trasladado. No se permiten valores negativos.
107
    :param impuesto: Atributo requerido para señalar la clave del tipo de impuesto retencion.
108
    :param tipo_factor: Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.
109
    :param tasa_o_cuota: Atributo condicional para señalar el valor de la tasa o cuota del impuesto que se traslada por los conceptos amparados en el comprobante.
110
    :param importe: Atributo condicional para señalar la suma del importe del impuesto trasladado, agrupado por impuesto, TipoFactor y TasaOCuota. No se permiten valores negativos.
111
    """
112
113
    def __init__(
114
            self,
115
            impuesto: str,
116
            tipo_factor: str,
117
            tasa_o_cuota: Decimal | int = None,
118
            importe: Decimal | int = None,
119
            base: Decimal | int = None,
120
    ):
121
        super().__init__({
122
            'Base': base,
123
            'Impuesto': _find_impuesto(impuesto),
124
            'TipoFactor': tipo_factor,
125
            'TasaOCuota': tasa_o_cuota,
126
            'Importe': importe,
127
        })
128
129