Función VirtualXML_AddConceptoRetencion_cfdi40 VirtualXML
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 VirtualXML_AddConcepto_cfdi33().
Namespace: VirtualXML®
Aplicación: CFDI 4.0
Sintaxis

public static void VirtualXML_AddConceptoRetencion_cfdi40(
int p,
string Base,
string Impuesto,
string Tipofactor,
string TasaOCuota,
string Importe
)

Parametros

p
Tipo: System  Int32
Identificador en memoria devuelto por la función VirtualXML_New()
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 GeneraDocto(String version)
{
// Creamos un comprobante 
    int hXml = VirtualXML_New("4.0");

// Llenado del documento 

    // Datos del emisor 

    // Datos del receptor 

    // Conceptos

VirtualXML_AddConcepto_cfdi40( hXml, "84111506", "SEF500", "1", "H87", "Servicio", "Honorarios profesionales del mes", "1000.00","1000.00");
// Agregmos el impuesto trasladado correspondiente al concepto
VirtualXML_AddConceptoTraslado_cfdi40( hXml, "1000.00", "002", "Tasa", "0.160000", "160.00" );
// Agregmos 2 retenciones de impuestos IVA e ISR:
VirtualXML_AddConceptoRetencion_cfdi40( hXml, "1000.00", "002", "Tasa", "0.106666", "106.67" );
VirtualXML_AddConceptoRetencion_cfdi40( hXml, "1000.00", "001", "Tasa", "0.100000", "100.00" );

// Procesamiento del documento 
    // .... 

    // Lectura de resultados 
    // .... 

    // Liberacion de memoria
VirtualXML_Free(hXml);
}
Vease Tambien