Función VirtualXML_AddConcepto_cfdi33 VirtualXML
Agrega un concepto (partida / producto) al comprobante para la versión CFDI 3.3.
En CFDI 3.3 no se aceptan valores en negativo, por lo tanto todas las cantidades numéricas deben expresarse positivas.

Namespace:
 VirtualXML®
Aplicación: CFDI ver. 3.3
Sintaxis

public static void VirtualXML_AddConcepto_cfdi33(
int p,
string ClaveProdServ,
string NoIdentificacion,
string Cantidad,
string ClaveUnidad,
string Unidad,
string Descripcion,
string ValorUnitario,
string Importe,
string Descuento
)

Parametros

p
Tipo: System  Int32
Identificador en memoria devuelto por la función VirtualXML_New()

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 de claves de productos o servicios 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 de unidades 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 3.3 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.
Ejemplo

private void GeneraDocto(String version)
{
// Creamos un comprobante 
    int hXml = VirtualXML_New("3.3");

// Llenado del documento 

    // Datos del emisor 

    // Datos del receptor 

    // Conceptos 
    // Aqui va un ciclo para añadir conceptos, agregamos 5 conceptos 
    for ( int i = 0; i < 5; i++)
{
VirtualXML_AddConcepto_cfdi33( hXml, "84111506", "SEF500", "1", "H87", "Timbre", "Paquete de 500 timbres fiscales", "500.00","500.00", "" );
// Agregmos un concepto con descuento del 10%
VirtualXML_AddConcepto_cfdi33( hXml, "84111506", "SEF250", "2", "H87", "Timbre", "Paquete de 250 timbres fiscales", "300.00","600.00", "60.00" );
}

// Procesamiento del documento 
    // .... 

    // Lectura de resultados 
    // .... 

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