Source code for satcfdi.create.cfd.destruccion10

"""destruccion http://www.sat.gob.mx/certificadodestruccion"""
from decimal import Decimal
from datetime import datetime, date, time
from collections.abc import Sequence
from ... import CFDI, XElement, ScalarMap


[docs]class InformacionAduanera(ScalarMap): """ Nodo opcional para expresar la información aduanera aplicable cuando se trate de un vehículo importado que se destruyó. :param num_ped_imp: Atributo requerido para expresar el número de documento aduanero que ampara la importación del vehículo a destruir. :param fecha: Atributo requerido para expresar la fecha de expedición del documento aduanero que ampara la importación del vehículo a destruir. :param aduana: Atributo requerido para precisar la aduana a través de la cual se regularizó la legal estancia en el país del vehículo destruido. """ def __init__( self, num_ped_imp: str, fecha: date, aduana: str, ): super().__init__({ 'NumPedImp': num_ped_imp, 'Fecha': fecha, 'Aduana': aduana, })
[docs]class VehiculoDestruido(ScalarMap): """ Nodo requerido para expresar la información del vehículo que se destruyó. :param marca: Atributo requerido para expresar la marca del vehículo que se destruyó. :param tipo_o_clase: Atributo requerido para expresar el tipo o clase del vehículo que se destruyó. :param ano: Atributo requerido para la expresión del año del vehículo. :param num_placas: Atributo requerido para expresar el número de placas metálicas de identificación del servicio público federal o, en su caso, del servicio público de autotransporte de pasajero urbano o suburbano. :param num_fol_tarj_cir: Atributo requerido para expresar el número de folio de la tarjeta de circulación. :param modelo: Atributo opcional para expresar el modelo del vehículo que se destruyó. :param niv: Atributo opcional para expresar el número de identificación vehicular del vehículo (Cuando exista el NIV deberá incluirse este invariablemente). :param num_serie: Atributo opcional para expresar el número de serie de la carrocería del vehículo (en caso de contar con dicho número se deberá ingresar) :param num_motor: Atributo opcional para expresar el número de motor del vehículo (en caso de contar con dicho número se deberá ingresar). """ def __init__( self, marca: str, tipo_o_clase: str, ano: int, num_placas: str, num_fol_tarj_cir: str, modelo: str = None, niv: str = None, num_serie: str = None, num_motor: str = None, ): super().__init__({ 'Marca': marca, 'TipooClase': tipo_o_clase, 'Año': ano, 'NumPlacas': num_placas, 'NumFolTarjCir': num_fol_tarj_cir, 'Modelo': modelo, 'NIV': niv, 'NumSerie': num_serie, 'NumMotor': num_motor, })
[docs]class Certificadodedestruccion(CFDI): """ Complemento para incorporar la información que integra el certificado de destrucción de vehículos destruidos por los centros de destrucción autorizados por el SAT. :param serie: Atributo requerido para expresar la serie de acuerdo al catálogo. :param num_fol_des_veh: Atributo requerido que expresa el número de folio para la destrucción del vehículo emitido por el Servicio de Administración Tributaria. :param vehiculo_destruido: Nodo requerido para expresar la información del vehículo que se destruyó. :param informacion_aduanera: Nodo opcional para expresar la información aduanera aplicable cuando se trate de un vehículo importado que se destruyó. """ tag = '{http://www.sat.gob.mx/certificadodestruccion}certificadodedestruccion' version = '1.0' def __init__( self, serie: str, num_fol_des_veh: str, vehiculo_destruido: VehiculoDestruido | dict, informacion_aduanera: InformacionAduanera | dict = None, ): super().__init__({ 'Version': self.version, 'Serie': serie, 'NumFolDesVeh': num_fol_des_veh, 'VehiculoDestruido': vehiculo_destruido, 'InformacionAduanera': informacion_aduanera, })