A continuación se muestra un ejemplo de factura básica en VB SDK
Ejemplo de factura básica en VB SDK
Dim sdk As MFSDK;
sdk = new MFSDK();
sdk.Iniciales.Add("MODOINI", "DIVISOR");
sdk.Iniciales.Add("RESPUESTA_UTF8", "SI");
sdk.Iniciales.Add("version_cfdi", "4.0");
sdk.Iniciales.Add("validacion_local", "NO");
sdk.Iniciales.Add("cfdi", "c:/sdk2/timbrados/ejemplo_factura_basica.xml");
sdk.Iniciales.Add("xml_debug", "c:/sdk2/timbrados/ejemplo_factura_basica_debug.xml");
//#NODO [conceptos]
Dim conceptos As MFObject = New MFObject("conceptos");
//#NODO [conceptos/1]
Dim conceptos_1 As MFObject = New MFObject("1");
conceptos_1["unidad"] = "NA";
conceptos_1["cantidad"] = "1";
conceptos_1["ObjetoImp"] = "02";
conceptos_1["ID"] = "1586";
conceptos_1["descripcion"] = "PRODUCTO DE PRUEBA 2";
conceptos_1["valorunitario"] = "199";
conceptos_1["importe"] = "199";
conceptos_1["ClaveProdServ"] = "01010101";
conceptos_1["ClaveUnidad"] = "ACT";
//#NODO [conceptos/1/Impuestos]
Dim conceptos_1_Impuestos As MFObject = New MFObject("Impuestos");
//#NODO [conceptos/1/Impuestos/Traslados]
Dim conceptos_1_Impuestos_Traslados As MFObject = New MFObject("Traslados");
//#NODO [conceptos/1/Impuestos/Traslados/0]
Dim conceptos_1_Impuestos_Traslados_0 As MFObject = New MFObject("0");
conceptos_1_Impuestos_Traslados_0["TasaOCuota"] = "0.160000";
conceptos_1_Impuestos_Traslados_0["Impuesto"] = "002";
conceptos_1_Impuestos_Traslados_0["TipoFactor"] = "Tasa";
conceptos_1_Impuestos_Traslados_0["Importe"] = "31.84";
conceptos_1_Impuestos_Traslados_0["Base"] = "199";
conceptos_1_Impuestos_Traslados.AgregaSubnodo(conceptos_1_Impuestos_Traslados_0);
conceptos_1_Impuestos.AgregaSubnodo(conceptos_1_Impuestos_Traslados);
conceptos_1.AgregaSubnodo(conceptos_1_Impuestos);
//#NODO [conceptos/0]
Dim conceptos_0 As MFObject = New MFObject("0");
conceptos_0["unidad"] = "Pieza";
conceptos_0["cantidad"] = "1";
conceptos_0["ObjetoImp"] = "02";
conceptos_0["ID"] = "1726";
conceptos_0["descripcion"] = "Cigarros";
conceptos_0["valorunitario"] = "99";
conceptos_0["importe"] = "99";
conceptos_0["ClaveProdServ"] = "50211503";
conceptos_0["ClaveUnidad"] = "H87";
//#NODO [conceptos/0/Impuestos]
Dim conceptos_0_Impuestos As MFObject = New MFObject("Impuestos");
//#NODO [conceptos/0/Impuestos/Traslados]
Dim conceptos_0_Impuestos_Traslados As MFObject = New MFObject("Traslados");
//#NODO [conceptos/0/Impuestos/Traslados/0]
Dim conceptos_0_Impuestos_Traslados_0 As MFObject = New MFObject("0");
conceptos_0_Impuestos_Traslados_0["TasaOCuota"] = "0.160000";
conceptos_0_Impuestos_Traslados_0["Impuesto"] = "002";
conceptos_0_Impuestos_Traslados_0["TipoFactor"] = "Tasa";
conceptos_0_Impuestos_Traslados_0["Importe"] = "15.84";
conceptos_0_Impuestos_Traslados_0["Base"] = "99";
conceptos_0_Impuestos_Traslados.AgregaSubnodo(conceptos_0_Impuestos_Traslados_0);
conceptos_0_Impuestos.AgregaSubnodo(conceptos_0_Impuestos_Traslados);
conceptos_0.AgregaSubnodo(conceptos_0_Impuestos);
//#NODO [impuestos]
Dim impuestos As MFObject = New MFObject("impuestos");
impuestos["TotalImpuestosTrasladados"] = "47.68";
//#NODO [impuestos/translados]
Dim impuestos_translados As MFObject = New MFObject("translados");
//#NODO [impuestos/translados/0]
Dim impuestos_translados_0 As MFObject = New MFObject("0");
impuestos_translados_0["tasa"] = "0.160000";
impuestos_translados_0["impuesto"] = "002";
impuestos_translados_0["TipoFactor"] = "Tasa";
impuestos_translados_0["importe"] = "47.68";
impuestos_translados_0["Base"] = "298";
impuestos_translados.AgregaSubnodo(impuestos_translados_0);
//#NODO [emisor]
Dim emisor As MFObject = New MFObject("emisor");
emisor["RegimenFiscal"] = "603";
emisor["rfc"] = "EKU9003173C9";
emisor["nombre"] = "ESCUELA KEMPER URGATE";
//#NODO [conf]
Dim conf As MFObject = New MFObject("conf");
conf["pass"] = "12345678a";
conf["cer"] = "c:/sdk2/certificados/EKU9003173C9.cer.pem";
conf["key"] = "c:/sdk2/certificados/EKU9003173C9.key.pem";
//#NODO [PAC]
Dim PAC As MFObject = New MFObject("PAC");
PAC["usuario"] = "DEMO700101XXX";
PAC["pass"] = "DEMO700101XXX";
PAC["produccion"] = "NO";
//#NODO [receptor]
Dim receptor As MFObject = New MFObject("receptor");
receptor["RegimenFiscalReceptor"] = "601";
receptor["DomicilioFiscalReceptor"] = "27054";
receptor["UsoCFDI"] = "G01";
receptor["nombre"] = "MIGUEL ANGEL SOSA HERNANDEZ";
receptor["rfc"] = "SOHM7509289MA";
//#NODO [factura]
Dim factura As MFObject = New MFObject("factura");
factura["forma_pago"] = "01";
factura["folio"] = "100";
factura["LugarExpedicion"] = "45079";
factura["serie"] = "A";
factura["fecha_expedicion"] = "AUTO";
factura["condicionesDePago"] = "CONDICIONEES";
factura["tipocomprobante"] = "E";
factura["moneda"] = "MXN";
factura["metodo_pago"] = "PUE";
factura["tipocambio"] = "1";
factura["Exportacion"] = "01";
factura["subtotal"] = "298";
factura["total"] = "345.68";
//#Agrega Nodos
sdk.AgregaObjeto(PAC);
sdk.AgregaObjeto(conf);
sdk.AgregaObjeto(factura);
sdk.AgregaObjeto(emisor);
sdk.AgregaObjeto(receptor);
conceptos.AgregaSubnodo(conceptos_0);
conceptos.AgregaSubnodo(conceptos_1);
sdk.AgregaObjeto(conceptos);
impuestos.AgregaSubnodo(impuestos_translados);
sdk.AgregaObjeto(impuestos);
//#Ejecuta KIT
SDKRespuesta respuesta = sdk.Timbrar(@"C:\sdk2\timbrar32.bat", @"C:\sdk2\timbrados\", "factura", false);
//Muestra el archivo ini
//textBox1.Text = sdk.Ini;
//Muestra la respuesta de timbrado
//textBox2.Text = respuesta.RespuestaOriginalSDK;
// Se notifica que el SDK se ejecutó
string mensaje = string.Format("Código: {0}\r\nMensaje: {1}", respuesta.Codigo_MF_Numero, respuesta.Codigo_MF_Texto);
MessageBox.Show(this, mensaje, Application.ProductName, MessageBoxButtons.OK, respuesta.Codigo_MF_Numero == "0" ? MessageBoxIcon.Information : MessageBoxIcon.Warning);