fbpx

Solicita tu kit de integración

Ejemplo Cfdi 3.3 – Complemento para la Venta de Vehículos Usados

Updated on diciembre 29, 2020

Complemento opcional que permite incorporar información a los contribuyentes que enajenen vehículos nuevos a personas físicas que no tributen en los términos de las Secciones I y II del Capítulo II del Título IV de la ley del ISR, y que reciban en contraprestación como resultados de esa enajenación un vehículo usado y dinero

Ejemplo C#
  
using System;
namespace Cfdi.Complemento.VehiculosUsados
{
class Program
{
static void Main()
{
USLib.FachadaCfdv33 usLib = new USLib.FachadaCfdv33();
//Configurar el núemero de decimales que se manejaran
//La libreria TRUNCA - NO REDONDEA
//Ejemplo: 1.123999 a 3 decimales resultado: 1.123
usLib.P00Setup(
numeroDecimalesEnTotales: 2, numeroDecimalesEnDetalle: 6, numeroDecimalesEnImpuestos: 6,
cerFile: @"D:DropboxCSD PruebasCSD_Pruebas_CFDI_MAG041126GT8CSD_Pruebas_CFDI_MAG041126GT8.cer",
keyFile: @"D:DropboxCSD PruebasCSD_Pruebas_CFDI_MAG041126GT8CSD_Pruebas_CFDI_MAG041126GT8.key",
passwordKey: "12345678a");
//NOTA: Si el campo es opcional se envía null o string vacio "" para omitirlo
usLib.P01DatosGenerales(
serie: "A", //Atributo opcional para precisar la serie para control interno del contribuyente. Este atributo acepta una cadena de caracteres.
folio: "12345", //Atributo opcional para control interno del contribuyente que expresa el folio del comprobante, acepta una cadena de caracteres.
fecha: DateTime.Now.ToString("s"), //Atributo requerido para la expresión de la fecha y hora de expedición del Comprobante Fiscal Digital por Internet. Se expresa en la forma AAAA-MM-DDThh:mm:ss y debe corresponder con la hora local donde se expide el comprobante.
formaPago: "01", //Atributo condicional para expresar la clave de la forma de pago de los bienes o servicios amparados por el comprobante. Si no se conoce la forma de pago este atributo se debe omitir.
condicionesDePago: "Contado", //Atributo condicional para expresar las condiciones comerciales aplicables para el pago del comprobante fiscal digital por Internet. Este atributo puede ser condicionado mediante atributos o complementos.
subTotal: "100.00", //Atributo requerido para representar la suma de los importes de los conceptos antes de descuentos e impuesto. No se permiten valores negativos.
descuento: "0.00", //Atributo condicional para representar el importe total de los descuentos aplicables antes de impuestos. No se permiten valores negativos. Se debe registrar cuando existan conceptos con descuento.
moneda: "MXN", //Atributo requerido para identificar la clave de la moneda utilizada para expresar los montos, cuando se usa moneda nacional se registra MXN. Conforme con la especificación ISO 4217.
tipoCambio: "1.00", //Atributo condicional para representar el tipo de cambio conforme con la moneda usada. Es requerido cuando la clave de moneda es distinta de MXN y de XXX. El valor debe reflejar el número de pesos mexicanos que equivalen a una unidad de la divisa señalada en el atributo moneda. Si el valor está fuera del porcentaje aplicable a la moneda tomado del catálogo c_Moneda, el emisor debe obtener del PAC que vaya a timbrar el CFDI, de manera no automática, una clave de confirmación para ratificar que el valor es correcto e integrar dicha clave en el atributo Confirmacion.
total: "116.00", //Atributo requerido para representar la suma del subtotal, menos los descuentos aplicables, más las contribuciones recibidas (impuestos trasladados - federales o locales, derechos, productos, aprovechamientos, aportaciones de seguridad social, contribuciones de mejoras) menos los impuestos retenidos. Si el valor es superior al límite que establezca el SAT en la Resolución Miscelánea Fiscal vigente, el emisor debe obtener del PAC que vaya a timbrar el CFDI, de manera no automática, una clave de confirmación para ratificar que el valor es correcto e integrar dicha clave en el atributo Confirmacion. No se permiten valores negativos.
tipoDeComprobante: "I", //Atributo requerido para expresar la clave del efecto del comprobante fiscal para el contribuyente emisor.
metodoPago: "PUE", //Atributo condicional para precisar la clave del método de pago que aplica para este comprobante fiscal digital por Internet, conforme al Artículo 29-A fracción VII incisos a y b del CFF.
lugarExpedicion: "85040", //Atributo requerido para incorporar el código postal del lugar de expedición del comprobante (domicilio de la matriz o de la sucursal).
confirmacion: ""
);
//Nodo requerido para expresar la información del contribuyente emisor del comprobante.
usLib.P03Emisor(
rfc: "MAG041126GT8", //Atributo requerido para registrar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente emisor del comprobante.
nombre: "EMCORSOFT SC", //Atributo opcional para registrar el nombre, denominación o razón social del contribuyente emisor del comprobante.
regimenFiscal: "601" //Atributo requerido para incorporar la clave del régimen del contribuyente emisor al que aplicará el efecto fiscal de este comprobante.
);
//Nodo requerido para precisar la información del contribuyente receptor del comprobante.
usLib.P04Receptor(
rfc: "USO110603I26", //Atributo requerido para precisar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente receptor del comprobante.
nombre: "UMBRALL SOFTWARE SA DE CV", //Atributo opcional para precisar el nombre, denominación o razón social del contribuyente receptor del comprobante.
residenciaFiscal: "", //Atributo condicional para registrar la clave del país de residencia para efectos fiscales del receptor del comprobante, cuando se trate de un extranjero, y que es conforme con la especificación ISO 3166-1 alpha-3. Es requerido cuando se incluya el complemento de comercio exterior o se registre el atributo NumRegIdTrib.
numRegIdTrib: "", //Atributo condicional para expresar el número de registro de identidad fiscal del receptor cuando sea residente en el extranjero. Es requerido cuando se incluya el complemento de comercio exterior.
usoCfdi: "G01" //Atributo requerido para expresar la clave del uso que dará a esta factura el receptor del CFDI.
);
//Nodo requerido para enlistar los conceptos cubiertos por el comprobante.
//Nodo para introducir la información detallada de un bien o servicio amparado en el comprobante.
//Puede agregar 1 o más
var c1 = usLib.P05ConceptosAgregar(
claveProdServ: "01010101", //Atributo requerido para expresar la clave del producto o del servicio amparado por el presente concepto. 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.
noIdentificacion: "998877660011", //Atributo opcional para expresar el número de parte, identificador del producto o del servicio, la clave de producto o servicio, SKU o equivalente, propia de la operación del emisor, amparado por el presente concepto. Opcionalmente se puede utilizar claves del estándar GTIN.
cantidad: "1.00", //Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por el presente concepto.
claveUnidad: "H87", //Atributo requerido para precisar la clave de unidad de medida estandarizada aplicable para la cantidad expresada en el concepto. La unidad debe corresponder con la descripción del concepto.
unidad: "Pieza", //Atributo opcional para precisar la unidad de medida propia de la operación del emisor, aplicable para la cantidad expresada en el concepto. La unidad debe corresponder con la descripción del concepto.
descripcion: "CABLE NUMERO 5", //Atributo requerido para precisar la descripción del bien o servicio cubierto por el presente concepto.
valorUnitario: "100.00", //Atributo requerido para precisar el valor o precio unitario del bien o servicio cubierto por el presente concepto.
importe: "100.00", //Atributo requerido para precisar el importe total de los bienes o servicios del presente concepto. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en el concepto. No se permiten valores negativos.
descuento: "0.00"
);
usLib.P05ConceptoAgregarImpuestoTraslado(baseCalculoImpuesto:
"100.00", impuesto: "002", tipoFactor: "Tasa", tasaOCuota:
"0.160000", importe: "16.00", concepto: c1);
//Impuestos
//Impuestos - Trasladados
usLib.P06ImpuestosTrasladosAgregar(
impuesto: "002", //Atributo requerido para señalar la clave del tipo de impuesto trasladado.
tipoFactor: "Tasa", //Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.
tasaOCuota: "0.160000", //Atributo requerido para señalar el valor de la tasa o cuota del impuesto que se traslada por los conceptos amparados en el comprobante.
importe: "16.00" //Atributo requerido para señalar la suma del importe del impuesto trasladado, agrupado por impuesto, TipoFactor y TasaOCuota. No se permiten valores negativos.
);
//INICO
//En este punto, se pueden incluir los complementos oficiales del SAT
var vehiculo = new USLib.Complementos.Comprobante.VehiculosUsados.FachadaVehiculoUsado();
vehiculo.AgregarComplementoVehiculoUsado(montoAdquisicion:
9999, //Atributo requerido para expresar el monto de adquisición del vehículo usado según factura original, primera venta
montoEnajenacion: 500, //Atributo requerido para expresar el monto de enajenación del vehículo usado
claveVehicular: "Clave", //Atributo requerido para expresar la clave vehicular del vehículo usado
marca: "Marca", //Atributo requerido para expresar la marca del vehículo usado
tipo: "tipo", //Atributo requerido para expresar el tipo del vehículo usado
modelo: "2016", //Atributo requerido para expresar el año modelo del vehículo usado
numeroMotor: "", //Atributo opcional para expresar el número de motor del vehículo usado (en caso de contar con dicho número se deberá ingresar)
numeroSerie: "", //Atributo opcional para expresar el número de serie de la carrocería del vehículo usado (en caso de contar con dicho número se deberá ingresar)
niv: "", //Atributo opcional para expresar el número de identificación vehicular del vehículo usado (Cuando exista el NIV deberá incluirse este invariablemente)
valor: 1564, //Atributo requerido para expresar el valor del vehículo, establecido en la Guía EBC o Libro Azul (Guía de Información a Comerciantes de Automóviles y Camiones y Aseguradores de la República Mexicana) vigente, emitida por la Asociación Nacional de Comerciantes en Automóviles y Camiones nuevos y usados A.C.
aduanaNumero: null, //Atributo requerido para expresar el número del documento aduanero que ampara la importación del bien.
aduanaFecha: null, //Atributo requerido para expresar la fecha de expedición del documento aduanero que ampara la importación del bien.
aduanaNombre: null, //Atributo opcional para precisar la aduana por la que se efectuó la importación del bien.
cfd: usLib.Cfd
);
//FIN
//Firmar el comprobante
//Este paso genera automáticamente la cadena original
usLib.P08GenerarSelloDigital();
var result = usLib.P09TimbrarDocumento(esPrueba: true, validacionPrevia: false, key: "", referencia: "USLib");
if (result.OperacionExitosa)
{
var rfcProveedor = usLib.ResumenCfdv33.TfdRfcProvCertif;
var uuid = usLib.ResumenCfdv33.TfdUuid;
var fechaTimbrado = usLib.ResumenCfdv33.TfdFechaTimbrado;
var selloSat = usLib.ResumenCfdv33.TfdSelloSat;
var noCertificadoSat = usLib.ResumenCfdv33.TfdNoCertificadoSat;
var noCertificadoEmisor = usLib.CsdSerie;
var cadenaSat = usLib.ResumenCfdv33.TfdCadenaOriginal;
System.IO.File.WriteAllBytes(@"C:Wsdl" + usLib.ResumenCfdv33.TfdUuid + ".jpg", usLib.ResumenCfdv33.QrImagen);
Console.WriteLine("OK");
System.IO.File.WriteAllBytes(@"C:Wsdl" + usLib.ResumenCfdv33.TfdUuid + ".xml", result.XmlFile);
}
else
{
System.IO.File.WriteAllBytes(@"C:WsdlError.xml", result.XmlFile);
Console.WriteLine(result.MensajeError);
}
Console.WriteLine("Fin");
Console.ReadKey();
}
}
} 
Xml de salida
  
<?xml version="1.0" encoding="utf-8"?>
<cfdi:Comprobante
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:vehiculousado = "http://www.sat.gob.mx/vehiculousado"
xsi:schemaLocation = "http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd http://www.sat.gob.mx/vehiculousado http://www.sat.gob.mx/sitio_internet/cfd/vehiculousado/vehiculousado.xsd http://www.sat.gob.mx/vehiculousado http://www.sat.gob.mx/sitio_internet/cfd/vehiculousado/vehiculousado.xsd"
MetodoPago = "PUE"
TipoDeComprobante = "I"
Total = "116.00"
TipoCambio = "1"
Moneda = "MXN"
SubTotal = "100.00"
CondicionesDePago = "Contado"
Sello = "fpwOUR3kv4yuFPBRFV5UpQap8sBpNMGEvJkrhiZCfrHekFeDqTS27WEy6fQtQj3yNHWmH5HGjLOTV/wnPY1LQINP5hqpQh0w6ebqiRwFtO5bnc860XeGknfRFzdVL8sBAkSw1uDRSzA0CI1RM4mvSe4YdssXyeP6nmL85VJ4ic0URPrFVwlHjppHLEx/Amfk7nWsv3JQYSnlZOdfaF3Y2HwOFiQtPgua9woMBSRc7dyE+6cjc/Ktl5V7O5ssla+v9V9N5VKtyaZVvt5HEX3ffSuQ/Bt6huEwawsJlHxFAcUWUFDLoQtljdFcFZWidgj/veMFjLKL67UVH2hmLQD2eA=="
NoCertificado = "20001000000300022755"
FormaPago = "01"
LugarExpedicion = "85040"
Fecha = "2018-01-31T09:49:38"
Folio = "12345"
Serie = "A"
Version = "3.3"
Certificado = "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"
xmlns:cfdi = "http://www.sat.gob.mx/cfd/3">
<cfdi:Emisor Rfc = "MAG041126GT8" Nombre = "EMCORSOFT SC" RegimenFiscal = "601"/>
<cfdi:Receptor Rfc = "USO110603I26" Nombre = "UMBRALL SOFTWARE SA DE CV" UsoCFDI = "G01"/>
<cfdi:Conceptos>
<cfdi:Concepto ClaveProdServ = "01010101" NoIdentificacion = "998877660011" Cantidad = "1.000000" ClaveUnidad = "H87" Unidad = "Pieza" Descripcion = "CABLE NUMERO 5" ValorUnitario = "100.000000" Importe = "100.000000">
<cfdi:Impuestos>
<cfdi:Traslados>
<cfdi:Traslado Base = "100.000000" Impuesto = "002" TipoFactor = "Tasa" TasaOCuota = "0.160000" Importe = "16.000000"/>
</cfdi:Traslados>
</cfdi:Impuestos>
</cfdi:Concepto>
</cfdi:Conceptos>
<cfdi:Impuestos TotalImpuestosTrasladados = "16.00">
<cfdi:Traslados>
<cfdi:Traslado Impuesto = "002" TipoFactor = "Tasa" TasaOCuota = "0.160000" Importe = "16.00"/>
</cfdi:Traslados>
</cfdi:Impuestos>
<cfdi:Complemento>
<tfd:TimbreFiscalDigital
xsi:schemaLocation = "http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd"
Version = "1.1"
UUID = "9E09D879-C6AF-AAAA-AAAA-526444336600"
FechaTimbrado = "2018-01-31T10:49:38"
RfcProvCertif = "IAD121214B34"
SelloCFD = "fpwOUR3kv4yuFPBRFV5UpQap8sBpNMGEvJkrhiZCfrHekFeDqTS27WEy6fQtQj3yNHWmH5HGjLOTV/wnPY1LQINP5hqpQh0w6ebqiRwFtO5bnc860XeGknfRFzdVL8sBAkSw1uDRSzA0CI1RM4mvSe4YdssXyeP6nmL85VJ4ic0URPrFVwlHjppHLEx/Amfk7nWsv3JQYSnlZOdfaF3Y2HwOFiQtPgua9woMBSRc7dyE+6cjc/Ktl5V7O5ssla+v9V9N5VKtyaZVvt5HEX3ffSuQ/Bt6huEwawsJlHxFAcUWUFDLoQtljdFcFZWidgj/veMFjLKL67UVH2hmLQD2eA=="
NoCertificadoSAT = "20001000000300022323"
SelloSAT = "L7QCYJd22O9na1DzHiN6Yt22u7w74+r3n8cbP6gKinnuPfsoeJ3ubmbBd7ldA8jmkIEbbi0taolJOX0JartcpAdktAS01ovDIsRicAiPYQpis83AF/LY1MGGoLwXE0DSkKT2axzQ/FzS/AjdielkX39NYmvu+iAGZ03y7k5mtTDrSRXyPGG5nX7ZazElMmCqOw+Aw9efLJfLpQ2ebaaG5kN1uM3Y/3JFARuWlK1M0+BtqWmXS2IxP0fpPs+0jT/OxrhM7dYlK7mNBMOt3zCQK3dSoOoIr87A9UzASLBTOIst+oV/LRY8YCAPqbENFf8tM9quSjzLhxdzVAyc9G2WRQ=="
xmlns:tfd = "http://www.sat.gob.mx/TimbreFiscalDigital"/>
<vehiculousado:VehiculoUsado
xsi:schemaLocation = "http://www.sat.gob.mx/vehiculousado http://www.sat.gob.mx/sitio_internet/cfd/vehiculousado/vehiculousado.xsd"
Version = "1.0"
montoAdquisicion = "9999.00"
montoEnajenacion = "500.00"
claveVehicular = "Clave"
marca = "Marca"
tipo = "tipo"
modelo = "2016"
valor = "1564.00"/>
</cfdi:Complemento>
</cfdi:Comprobante> 

Estamos cerca de ti, ¡síguenos!
Y entérate de nuestras promociones

© emcor software todos los derechos reservados 2020.

Solicita tu

Kit de integración

Ingresa tus datos


Recibe nuestro kit de integración!, solo tienes que solicitarlo por medio de este formulario.