Code Duplication    Length = 35-39 lines in 5 locations

satcfdi/create/cfd/cfdi33.py 1 location

@@ 43-81 (lines=39) @@
40
        })
41
42
43
class Parte(XElement):
44
    """
45
    http://www.sat.gob.mx/cfd/3
46
    Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital por Internet.
47
    """
48
49
    def __init__(
50
            self,
51
            clave_prod_serv: str,
52
            cantidad: Decimal | int,
53
            descripcion: str,
54
            no_identificacion: str = None,
55
            unidad: str = None,
56
            valor_unitario: Decimal | int = None,
57
            importe: Decimal | int = None,
58
            informacion_aduanera: str | Sequence[str] = None,
59
    ):
60
        """
61
        Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital por Internet.
62
63
        :param clave_prod_serv: Atributo requerido para expresar la clave del producto o del servicio amparado por la presente parte. Es requerido y deben utilizar las claves del catálogo de productos y servicios, cuando los conceptos que registren por sus actividades correspondan con dichos conceptos.
64
        :param cantidad: Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por la presente parte.
65
        :param descripcion: Atributo requerido para precisar la descripción del bien o servicio cubierto por la presente parte.
66
        :param no_identificacion: Atributo opcional para expresar el número de serie, número de parte del bien o identificador del producto o del servicio amparado por la presente parte. Opcionalmente se puede utilizar claves del estándar GTIN.
67
        :param unidad: Atributo opcional para precisar la unidad de medida propia de la operación del emisor, aplicable para la cantidad expresada en la parte. La unidad debe corresponder con la descripción de la parte.
68
        :param valor_unitario: Atributo opcional para precisar el valor o precio unitario del bien o servicio cubierto por la presente parte. No se permiten valores negativos.
69
        :param importe: Atributo opcional para precisar el importe total de los bienes o servicios de la presente parte. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en la parte. No se permiten valores negativos.
70
        :param informacion_aduanera: Nodo opcional para introducir la información aduanera aplicable cuando se trate de ventas de primera mano de mercancías importadas o se trate de operaciones de comercio exterior con bienes o servicios.
71
        """
72
73
        super().__init__({
74
            'ClaveProdServ': clave_prod_serv,
75
            'Cantidad': cantidad,
76
            'Descripcion': descripcion,
77
            'NoIdentificacion': no_identificacion,
78
            'Unidad': unidad,
79
            'ValorUnitario': valor_unitario,
80
            'Importe': importe,
81
            'InformacionAduanera': informacion_aduanera,
82
        })
83
84

satcfdi/create/cfd/cfdi32.py 1 location

@@ 205-239 (lines=35) @@
202
        })
203
        
204
205
class Parte(XElement):
206
    """
207
    http://www.sat.gob.mx/cfd/3
208
    Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital a través de Internet
209
    """
210
    def __init__(
211
            self,
212
            cantidad: Decimal | int,
213
            descripcion: str,
214
            unidad: str = None,
215
            no_identificacion: str = None,
216
            valor_unitario: Decimal | int = None,
217
            importe: Decimal | int = None,
218
            informacion_aduanera: TInformacionAduanera | dict | Sequence[TInformacionAduanera | dict] = None,
219
    ): 
220
        """
221
        Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital a través de Internet
222
        
223
        :param cantidad: Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por la presente parte.
224
        :param descripcion: Atributo requerido para precisar la descripción del bien o servicio cubierto por la presente parte.
225
        :param unidad: Atributo opcional para precisar la unidad de medida aplicable para la cantidad expresada en la parte.
226
        :param no_identificacion: Atributo opcional para expresar el número de serie del bien o identificador del servicio amparado por la presente parte.
227
        :param valor_unitario: Atributo opcional para precisar el valor o precio unitario del bien o servicio cubierto por la presente parte.
228
        :param importe: Atributo opcional para precisar el importe total de los bienes o servicios de la presente parte. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en la parte.
229
        :param informacion_aduanera: Nodo opcional para introducir la información aduanera aplicable cuando se trate de partes o componentes importados vendidos de primera mano.
230
        """
231
        
232
        super().__init__({
233
            'Cantidad': cantidad,
234
            'Descripcion': descripcion,
235
            'Unidad': unidad,
236
            'NoIdentificacion': no_identificacion,
237
            'ValorUnitario': valor_unitario,
238
            'Importe': importe,
239
            'InformacionAduanera': informacion_aduanera,
240
        })
241
        
242

satcfdi/create/cfd/terceros11.py 1 location

@@ 80-114 (lines=35) @@
77
        })
78
        
79
80
class Parte(XElement):
81
    """
82
    http://www.sat.gob.mx/terceros
83
    Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el CFD o CFDI
84
    """
85
    def __init__(
86
            self,
87
            cantidad: Decimal | int,
88
            descripcion: str,
89
            unidad: str = None,
90
            no_identificacion: str = None,
91
            valor_unitario: Decimal | int = None,
92
            importe: Decimal | int = None,
93
            informacion_aduanera: TInformacionAduanera | dict | Sequence[TInformacionAduanera | dict] = None,
94
    ): 
95
        """
96
        Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el CFD o CFDI
97
        
98
        :param cantidad: Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por la presente parte.
99
        :param descripcion: Atributo requerido para precisar la descripción del bien o servicio cubierto por la presente parte.
100
        :param unidad: Atributo opcional para precisar la unidad de medida aplicable para la cantidad expresada en la parte.
101
        :param no_identificacion: Atributo opcional para expresar el número de serie del bien o identificador del servicio amparado por la presente parte.
102
        :param valor_unitario: Atributo opcional para precisar el valor o precio unitario del bien o servicio cubierto por la presente parte.
103
        :param importe: Atributo opcional para precisar el importe total de los bienes o servicios de la presente parte. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en la parte.
104
        :param informacion_aduanera: Nodo opcional para introducir la información aduanera aplicable cuando se trate de partes o componentes importados vendidos de primera mano.
105
        """
106
        
107
        super().__init__({
108
            'Cantidad': cantidad,
109
            'Descripcion': descripcion,
110
            'Unidad': unidad,
111
            'NoIdentificacion': no_identificacion,
112
            'ValorUnitario': valor_unitario,
113
            'Importe': importe,
114
            'InformacionAduanera': informacion_aduanera,
115
        })
116
        
117

satcfdi/create/cfd/ventavehiculos11.py 1 location

@@ 33-67 (lines=35) @@
30
        })
31
        
32
33
class Parte(XElement):
34
    """
35
    http://www.sat.gob.mx/ventavehiculos
36
    Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el CFDI.
37
    """
38
    def __init__(
39
            self,
40
            cantidad: Decimal | int,
41
            descripcion: str,
42
            unidad: str = None,
43
            no_identificacion: str = None,
44
            valor_unitario: Decimal | int = None,
45
            importe: Decimal | int = None,
46
            informacion_aduanera: TInformacionAduanera | dict | Sequence[TInformacionAduanera | dict] = None,
47
    ): 
48
        """
49
        Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el CFDI.
50
        
51
        :param cantidad: Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por la presente parte.
52
        :param descripcion: Atributo requerido para precisar la descripción del bien o servicio cubierto por la presente parte.
53
        :param unidad: Atributo opcional para precisar la unidad de medida aplicable para la cantidad expresada en la parte.
54
        :param no_identificacion: Atributo opcional para expresar el número de serie del bien o identificador del servicio amparado por la presente parte.
55
        :param valor_unitario: Atributo opcional para precisar el valor o precio unitario del bien o servicio cubierto por la presente parte.
56
        :param importe: Atributo opcional para precisar el importe total de los bienes o servicios de la presente parte. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en la parte.
57
        :param informacion_aduanera: Nodo opcional para introducir la información aduanera aplicable cuando se trate de partes o componentes importados vendidos de primera mano.
58
        """
59
        
60
        super().__init__({
61
            'Cantidad': cantidad,
62
            'Descripcion': descripcion,
63
            'Unidad': unidad,
64
            'NoIdentificacion': no_identificacion,
65
            'ValorUnitario': valor_unitario,
66
            'Importe': importe,
67
            'InformacionAduanera': informacion_aduanera,
68
        })
69
        
70

satcfdi/create/cfd/cfdi40.py 1 location

@@ 114-152 (lines=39) @@
111
        })
112
113
114
class Parte(XElement):
115
    """
116
    http://www.sat.gob.mx/cfd/4
117
    Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital por Internet.
118
    """
119
120
    def __init__(
121
            self,
122
            clave_prod_serv: str,
123
            cantidad: Decimal | int,
124
            descripcion: str,
125
            no_identificacion: str = None,
126
            unidad: str = None,
127
            valor_unitario: Decimal | int = None,
128
            importe: Decimal | int = None,
129
            informacion_aduanera: str | Sequence[str] = None,
130
    ):
131
        """
132
        Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital por Internet.
133
134
        :param clave_prod_serv: Atributo requerido para expresar la clave del producto o del servicio amparado por la presente parte. Es requerido y deben utilizar las claves del catálogo de productos y servicios, cuando los conceptos que registren por sus actividades correspondan con dichos conceptos.
135
        :param cantidad: Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por la presente parte.
136
        :param descripcion: Atributo requerido para precisar la descripción del bien o servicio cubierto por la presente parte.
137
        :param no_identificacion: Atributo opcional para expresar el número de serie, número de parte del bien o identificador del producto o del servicio amparado por la presente parte. Opcionalmente se puede utilizar claves del estándar GTIN.
138
        :param unidad: Atributo opcional para precisar la unidad de medida propia de la operación del emisor, aplicable para la cantidad expresada en la parte. La unidad debe corresponder con la descripción de la parte.
139
        :param valor_unitario: Atributo opcional para precisar el valor o precio unitario del bien o servicio cubierto por la presente parte. No se permiten valores negativos.
140
        :param importe: Atributo opcional para precisar el importe total de los bienes o servicios de la presente parte. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en la parte. No se permiten valores negativos.
141
        :param informacion_aduanera: Nodo opcional para introducir la información aduanera aplicable cuando se trate de ventas de primera mano de mercancías importadas o se trate de operaciones de comercio exterior con bienes o servicios.
142
        """
143
144
        super().__init__({
145
            'ClaveProdServ': clave_prod_serv,
146
            'Cantidad': cantidad,
147
            'Descripcion': descripcion,
148
            'NoIdentificacion': no_identificacion,
149
            'Unidad': unidad,
150
            'ValorUnitario': valor_unitario,
151
            'Importe': importe,
152
            'InformacionAduanera': informacion_aduanera,
153
        })
154
155