VXML_AddConceptoRetencion_cfdi40 VXml
Agrega un impuesto retenido (IVA o ISR) a un concepto previamente creado con la función Virtual_XMLAddConcepto_Cfdi40().

En la versión 4.0 cada concepto debe llevar sus impuestos calculados individualmente, el uso de esta función requiere haber creado previamente un concepto para el comprobante usando la función VXML_AddConcepto_cfdi40().

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_AddConceptoRetencion_Cfdi40 (
					int hXml,
					string Base,
					string Impuesto,
					string TipoFactor,
					string TasaOCuota,
					string Importe
					)
								

Parámetros:

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

Base
Tipo: System String
Atributo requerido para señalar la base para el cálculo del impuesto, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos.
Impuesto
Tipo: System String
Atributo requerido para señalar la clave del tipo de impuesto retenido aplicable al concepto. Revise el catálogo de impuestos publicado por el SAT para conocer los valores posibles de este parámetro.
TipoFactor
Tipo: System String
Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.
TasaOCuota
Tipo: System String
Atributo condicional para señalar el valor de la tasa o cuota del impuesto que se retiene para el presente concepto. Es requerido cuando el atributo TipoFactor tenga una clave que corresponda a Tasa o Cuota. Revise el catálogo de tasa o cuota publicado por el SAT para conocer los valores posibles de este parámetro.
Importe
Tipo: System String
Atributo condicional para señalar el importe del impuesto retenido que aplica al concepto. No se permiten valores negativos. Es requerido cuando TipoFactor sea Tasa o Cuota.
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, "", "2470", "%cb_date", "99", "4720.29", "", "MXN", "", "4500.01", "I", "PPD", "53050", "", "01" );
	// datos del emisor 
	VXml_SetEmisorInfo_cfdi40(hXml,"FOSM380609Q76","MARTIN FLORES SOLORZANO","612","");
	// datos del receptor 
	VXml_SetReceptorInfo_cfdi40(hXml,"TIN180913HS7","TELEMATICA E INNOVACION","","","G03","14390","601");
// agregamos conceptos VXml_AddConcepto_cfdi40( hXml,"84111500","","1","E48","Servicio","Honorarios por servicios profesionales","4720.29","4720.29","0.00","02"); // agregamos el traslado (IVA) del concepto anterior VXml_AddConceptoTraslado_Cfdi40(hXml,"4720.29","002","Tasa","0.160000","755.25"); // agregamos retenciones para concepto anterior VXml_AddConceptoRetencion_Cfdi40(hXml,"4720.29","002","Tasa","0.106667","503.50"); // retencion IVA 10.66% VXml_AddConceptoRetencion_Cfdi40(hXml,"4720.29","001","Tasa","0.100000","472.03"); // retencion ISR 10%
// Llenado del documento // Procesamiento del documento // .... // Lectura de resultados // .... // Liberacion de memoria VXML_Free(hXml); }
Veáse También:


VXml_AddConcepto_Cfdi40
VXml_AddConceptoTraslado_Cfdi40
VXML_SetImpuestosInfo_Cfdi40