Code Duplication    Length = 25-25 lines in 2 locations

satcfdi/create/cfd/cfdi40.py 1 location

@@ 149-173 (lines=25) @@
146
        })
147
148
149
class Retencion(ScalarMap):
150
    """
151
    Nodo requerido para la información detallada de un traslado de impuesto específico.
152
153
    :param base: Atributo requerido para señalar la suma de los atributos Base de los conceptos del impuesto trasladado. No se permiten valores negativos.
154
    :param impuesto: Atributo requerido para señalar la clave del tipo de impuesto retencion.
155
    :param tipo_factor: Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.
156
    :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.
157
    :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.
158
    """
159
160
    def __init__(
161
            self,
162
            impuesto: str,
163
            tipo_factor: str,
164
            tasa_o_cuota: Decimal | int = None,
165
            importe: Decimal | int = None,
166
            base: Decimal | int = None,
167
    ):
168
        super().__init__({
169
            'Base': base,
170
            'Impuesto': CatImpuesto.get(impuesto, impuesto),
171
            'TipoFactor': tipo_factor,
172
            'TasaOCuota': tasa_o_cuota,
173
            'Importe': importe,
174
        })
175
176

satcfdi/create/cfd/cfdi33.py 1 location

@@ 95-119 (lines=25) @@
92
        })
93
94
95
class Retencion(ScalarMap):
96
    """
97
    Nodo requerido para la información detallada de un traslado de impuesto específico.
98
99
    :param base: Atributo requerido para señalar la suma de los atributos Base de los conceptos del impuesto trasladado. No se permiten valores negativos.
100
    :param impuesto: Atributo requerido para señalar la clave del tipo de impuesto retencion.
101
    :param tipo_factor: Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.
102
    :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.
103
    :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.
104
    """
105
106
    def __init__(
107
            self,
108
            impuesto: str,
109
            tipo_factor: str,
110
            tasa_o_cuota: Decimal | int = None,
111
            importe: Decimal | int = None,
112
            base: Decimal | int = None,
113
    ):
114
        super().__init__({
115
            'Base': base,
116
            'Impuesto': CatImpuesto.get(impuesto, impuesto),
117
            'TipoFactor': tipo_factor,
118
            'TasaOCuota': tasa_o_cuota,
119
            'Importe': importe,
120
        })
121
122