Code Duplication    Length = 56-62 lines in 2 locations

satcfdi/create/cfd/cce11.py 1 location

@@ 191-252 (lines=62) @@
188
        })
189
        
190
191
class ComercioExterior(CFDI):
192
    """
193
    Complemento para incorporar la información en el caso de Exportación de Mercancías en definitiva.
194
    
195
    :param tipo_operacion: Atributo requerido que indica la clave del tipo de operación de Comercio Exterior que se realiza, conforme con el catálogo c_TipoOperacion publicado en el portal del SAT en internet.
196
    :param motivo_traslado: Atributo condicional que indica la clave del motivo por el cual en la exportación definitiva de mercancías con clave de pedimento A1, éstas no son objeto de enajenación o siéndolo sean a título gratuito, desde el domicilio del emisor hacia el domicilio del receptor o del destinatario. La clave del motivo es conforme con el catálogo c_MotivoTraslado publicado en el portal del SAT en internet.
197
    :param clave_de_pedimento: Atributo condicional que indica la clave de pedimento que se haya declarado conforme con el catálogo c_ClavePedimento publicado en el portal del SAT en internet.
198
    :param certificado_origen: Atributo condicional derivado de la excepción de certificados de Origen de los Tratados de Libre Comercio que ha celebrado México con diversos países. 0 = No Funge como certificado de origen 1 = Funge como certificado de origen.
199
    :param num_certificado_origen: Atributo condicional para expresar el folio del certificado de origen o el folio fiscal del CFDI con el que se pagó la expedición del certificado de origen.
200
    :param numero_exportador_confiable: Atributo condicional que indica el número de exportador confiable, conforme al artículo 22 del Anexo 1 del Tratado de Libre Comercio con la Asociación Europea y a la Decisión de la Comunidad Europea.
201
    :param incoterm: Atributo condicional que indica la clave del INCOTERM aplicable a la factura, conforme con el catálogo c_INCOTERM publicado en el portal del SAT en internet.
202
    :param subdivision: Atributo condicional que indica si la factura tiene o no subdivisión. Valores posibles: 0 - no tiene subdivisión,1 - si tiene subdivisión.
203
    :param observaciones: Atributo opcional en caso de ingresar alguna información adicional, como alguna leyenda que debe incluir en el CFDI.
204
    :param tipo_cambio_usd: Atributo condicional que indica el número de pesos mexicanos que equivalen a un dólar de Estados Unidos, de acuerdo al artículo 20 del Código Fiscal de la Federación.
205
    :param total_usd: Atributo condicional que indica el importe total del comprobante en dólares de Estados Unidos.
206
    :param emisor: Nodo opcional para capturar los datos complementarios del emisor del comprobante.
207
    :param propietario: Nodo condicional para capturar los datos del o los propietarios de la mercancía que se traslada y ésta no sea objeto de enajenación o siéndolo sea a título gratuito, cuando el emisor del CFDI es un tercero.
208
    :param receptor: Nodo condicional para capturar los datos complementarios del receptor del CFDI.
209
    :param destinatario: Nodo opcional para capturar los datos del destinatario de la mercancía cuando éste sea distinto del receptor del CFDI.
210
    :param mercancias: Nodo condicional para capturar la información de la declaración de las mercancías exportadas.
211
    """
212
    
213
    tag = '{http://www.sat.gob.mx/ComercioExterior11}ComercioExterior'
214
    version = '1.1'
215
    
216
    def __init__(
217
            self,
218
            tipo_operacion: str,
219
            motivo_traslado: str = None,
220
            clave_de_pedimento: str = None,
221
            certificado_origen: int = None,
222
            num_certificado_origen: str = None,
223
            numero_exportador_confiable: str = None,
224
            incoterm: str = None,
225
            subdivision: int = None,
226
            observaciones: str = None,
227
            tipo_cambio_usd: Decimal | int = None,
228
            total_usd: Decimal | int = None,
229
            emisor: Emisor | dict = None,
230
            propietario: Propietario | dict | Sequence[Propietario | dict] = None,
231
            receptor: Receptor | dict = None,
232
            destinatario: Destinatario | dict | Sequence[Destinatario | dict] = None,
233
            mercancias: Mercancia | dict | Sequence[Mercancia | dict] = None,
234
    ): 
235
        super().__init__({
236
            'Version': self.version,
237
            'TipoOperacion': tipo_operacion,
238
            'MotivoTraslado': motivo_traslado,
239
            'ClaveDePedimento': clave_de_pedimento,
240
            'CertificadoOrigen': certificado_origen,
241
            'NumCertificadoOrigen': num_certificado_origen,
242
            'NumeroExportadorConfiable': numero_exportador_confiable,
243
            'Incoterm': incoterm,
244
            'Subdivision': subdivision,
245
            'Observaciones': observaciones,
246
            'TipoCambioUSD': tipo_cambio_usd,
247
            'TotalUSD': total_usd,
248
            'Emisor': emisor,
249
            'Propietario': propietario,
250
            'Receptor': receptor,
251
            'Destinatario': destinatario,
252
            'Mercancias': mercancias,
253
        })
254
        
255

satcfdi/create/cfd/cce20.py 1 location

@@ 191-246 (lines=56) @@
188
        })
189
        
190
191
class ComercioExterior(CFDI):
192
    """
193
    Complemento para incorporar la información en caso de exportación definitiva de mercancías.
194
    
195
    :param clave_de_pedimento: Atributo requerido que indica la clave de pedimento que se haya declarado conforme al catálogo c_ClavePedimento publicado en el Portal del SAT en internet.
196
    :param certificado_origen: Atributo requerido para indicar la excepción de certificados de Origen de los Tratados de Libre Comercio que ha celebrado México con diversos países. 0 = No Funge como certificado de origen 1 = Funge como certificado de origen.
197
    :param tipo_cambio_usd: Atributo requerido que indica el número de pesos mexicanos que equivalen a un dólar de Estados Unidos de América, de acuerdo con el artículo 20 del Código Fiscal de la Federación.
198
    :param total_usd: Atributo requerido que indica el importe total del comprobante en dólares de Estados Unidos de América.
199
    :param mercancias: Nodo requerido para capturar la información de la declaración de las mercancías exportadas.
200
    :param motivo_traslado: Atributo condicional que indica la clave del motivo por el cual en la exportación definitiva de mercancías con clave de pedimento A1, éstas no son objeto de enajenación o siéndolo sean a título gratuito, desde el domicilio del emisor hacia el domicilio del receptor o del destinatario. La clave del motivo es conforme con el catálogo c_MotivoTraslado publicado en el Portal del SAT en internet.
201
    :param num_certificado_origen: Atributo condicional para expresar el folio del certificado de origen o el folio fiscal del CFDI con el que se pagó la expedición del certificado de origen.
202
    :param numero_exportador_confiable: Atributo condicional que indica el número de exportador confiable, conforme al artículo 22 del Anexo 1 del Tratado de Libre Comercio con la Asociación Europea y a la Decisión de la Comunidad Europea.
203
    :param incoterm: Atributo condicional que indica la clave del INCOTERM aplicable a la factura, conforme al catálogo c_INCOTERM publicado en el Portal del SAT en internet.
204
    :param observaciones: Atributo opcional para ingresar información adicional, como alguna leyenda que se considere incluir en el CFDI.
205
    :param emisor: Nodo opcional para capturar los datos complementarios del emisor del comprobante.
206
    :param propietario: Nodo condicional para capturar los datos del o los propietarios de la mercancía que se traslada y ésta no sea objeto de enajenación o siéndolo sea a título gratuito, cuando el emisor del CFDI es un tercero.
207
    :param receptor: Nodo condicional para capturar los datos complementarios del receptor del CFDI.
208
    :param destinatario: Nodo opcional para capturar los datos del destinatario de la mercancía cuando éste sea distinto del receptor del CFDI.
209
    """
210
    
211
    tag = '{http://www.sat.gob.mx/ComercioExterior20}ComercioExterior'
212
    version = '2.0'
213
    
214
    def __init__(
215
            self,
216
            clave_de_pedimento: str,
217
            certificado_origen: int,
218
            tipo_cambio_usd: Decimal | int,
219
            total_usd: Decimal | int,
220
            mercancias: Mercancia | dict | Sequence[Mercancia | dict],
221
            motivo_traslado: str = None,
222
            num_certificado_origen: str = None,
223
            numero_exportador_confiable: str = None,
224
            incoterm: str = None,
225
            observaciones: str = None,
226
            emisor: Emisor | dict = None,
227
            propietario: Propietario | dict | Sequence[Propietario | dict] = None,
228
            receptor: Receptor | dict = None,
229
            destinatario: Destinatario | dict | Sequence[Destinatario | dict] = None,
230
    ): 
231
        super().__init__({
232
            'Version': self.version,
233
            'ClaveDePedimento': clave_de_pedimento,
234
            'CertificadoOrigen': certificado_origen,
235
            'TipoCambioUSD': tipo_cambio_usd,
236
            'TotalUSD': total_usd,
237
            'Mercancias': mercancias,
238
            'MotivoTraslado': motivo_traslado,
239
            'NumCertificadoOrigen': num_certificado_origen,
240
            'NumeroExportadorConfiable': numero_exportador_confiable,
241
            'Incoterm': incoterm,
242
            'Observaciones': observaciones,
243
            'Emisor': emisor,
244
            'Propietario': propietario,
245
            'Receptor': receptor,
246
            'Destinatario': destinatario,
247
        })
248
        
249