VXML_AddConcepto_Cfdi40 VXml
Agrega un concepto (partida / producto) al comprobante para la versión CFDI 4.0, agrega el nodo <cfdi:Conceptos> y sus subnodos <cfdi:Concepto>. Se debe utilizar tantas veces como conceptos contenga el CFDI.

En CFDI 4.0 no se aceptan valores en negativos, por lo tanto todas las cantidades numéricas deben expresarse en valores positivos.

Versión de VXml que soporta esta función: 2.0.0.9 Junio 2026
Aplicación: CFDI ver. 4.0
Sintáxis:

public static void VXML_AddConcepto_Cfdi40 (
					int hXml,
					string ClaveProdServ,
					string NoIdentificacion,
					string Cantidad,
					string ClaveUnidad,
					string Unidad,
					string Descripcion,
					string ValorUnitario,
					string Importe,
					string Descuento,
					string ObjetoImp
					)
								

Parámetros:

hXml
Tipo: Int32
Identificador en memoria del documento, devuelto por las funciones VXML_New() ó VXML_NewWithLog()

ClaveProdServ
Tipo: System String
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. Revise el catálogo c_ClaveProdServ publicado por el SAT para conocer los valores posibles de este parámetro.
NoIdentificacion
Tipo: System String
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
Tipo: System String
Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por el presente concepto.
ClaveUnidad
Tipo: System String
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. Revise el catálogo c_ClaveUnidad publicado por el SAT para conocer los valores posibles de este parámetro.
Unidad
Tipo: System String
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
Tipo: System String
Atributo requerido para precisar la descripción del bien o servicio cubierto por el presente concepto.
ValorUnitario
Tipo: System String
Atributo requerido para precisar el valor o precio unitario del bien o servicio cubierto por el presente concepto.
Importe
Tipo: System String
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
Tipo: System String
Atributo opcional para representar el importe de los descuentos aplicables al concepto. No se permiten valores negativos.
Se expresa como cantidad monetaria (no en porcentaje) aplicable al importe total, POR CONCEPTO.
CFDI 4.0 no acepta descuento global sobre el importe total de la factura, cada concepto debe llevar calculado su propio descuento. La suma de estos descuentos debe coincidir con el atributo Descuento del nodo <cfdi:Comprobante>.
ObjetoImp
Tipo: System String
Atributo requerido para expresar si la operación comercial es objeto o no de impuesto. Revise el  catálogo c_ObjetoImp publicado por el SAT para conocer los valores posibles de este parámetro.
Ejemplo:

private void GeneraCFDI()
	{  
	// Creamos un comprobante
	int hXml = VXML_NewWitLog("4.0","MiBitacora.LOG");
	// Establecemos las credenciales de acceso al servicio VXml
	VXML_SetUserInfo(hXml,"MiUsuarioVxml","demo")
	// Datos generales del CFDI 
	VXML_SetComprobanteInfo_Cfdi40( hXml, "A", "5", "%cb_date", "99", "1000.00", "", "MXN", "", "1160.00", "I", "PPD", "53050", "", "03" );
	// Datos del emisor
	 VXml_SetEmisorInfo_cfdi40(hXml,"EKU9003173C9","ESCUELA KEMPER URGATE","601","");
	// datos del receptor
	VXml_SetReceptorInfo_cfdi40(hXml,"CTE940531F58","CIBERNETICA Y TECNOLOGIA","","","G03","53050","601");
// agregamos conceptos VXml_AddConcepto_cfdi40( hXml,"43211500","EQU-0025","1","H87","Computadora","COMPUTADORA HP PORTATIL","6034.48","6034.48","0.00","01"); VXML_AddConcepto_cfdi40( hXml,"84111506","SEF250", "2","H87","Timbre","Paquete de 250 timbres fiscales","300.00","600.00","60.00","01");
// Procesamiento del documento // .... // Lectura de resultados // .... // Liberacion de memoria VXML_Free(hXml); }
Veáse También:


VXML_AddConceptoComplementoHidroYPetro
VXML_AddConceptoComplementoIEDU10
VXML_AddConceptoComplementoVentaVehiculos11_Cfdi40
VXML_AddConceptoTraslado_Cfdi40
VXML_AddConceptoRetencion_Cfdi40
VXML_AddConceptoCuentaPredial_Cfdi40
VXML_AddConceptoInformacionAduanera_Cfdi40
VXML_AddConceptoParte_Cfdi40
VXML_SetConceptoAcuentaTerceros_cfdi40
VXML_AddComplementoConcepto_Cfdi40