Code Duplication    Length = 35-39 lines in 5 locations

satcfdi/create/cfd/cfdi40.py 1 location

@@ 115-153 (lines=39) @@
112
        })
113
114
115
class Parte(ScalarMap):
116
    """
117
    http://www.sat.gob.mx/cfd/4
118
    Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital por Internet.
119
    """
120
121
    def __init__(
122
            self,
123
            clave_prod_serv: str,
124
            cantidad: Decimal | int,
125
            descripcion: str,
126
            no_identificacion: str = None,
127
            unidad: str = None,
128
            valor_unitario: Decimal | int = None,
129
            importe: Decimal | int = None,
130
            informacion_aduanera: str | Sequence[str] = None,
131
    ):
132
        """
133
        Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital por Internet.
134
135
        :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.
136
        :param cantidad: Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por la presente parte.
137
        :param descripcion: Atributo requerido para precisar la descripción del bien o servicio cubierto por la presente parte.
138
        :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.
139
        :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.
140
        :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.
141
        :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.
142
        :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.
143
        """
144
145
        super().__init__({
146
            'ClaveProdServ': clave_prod_serv,
147
            'Cantidad': cantidad,
148
            'Descripcion': descripcion,
149
            'NoIdentificacion': no_identificacion,
150
            'Unidad': unidad,
151
            'ValorUnitario': valor_unitario,
152
            'Importe': importe,
153
            'InformacionAduanera': informacion_aduanera,
154
        })
155
156

satcfdi/create/cfd/cfdi33.py 1 location

@@ 43-81 (lines=39) @@
40
        })
41
42
43
class Parte(ScalarMap):
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(ScalarMap):
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(ScalarMap):
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(ScalarMap):
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