Ejemplo de factura tasa cero exento y tasa 16 en C# SDK
using FacturacionSDK;
MFSDK sdk;
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_tasa_cero_exento_y_tasa_16.xml");
sdk.Iniciales.Add("xml_debug", "c:/sdk2/timbrados/ejemplo_factura_tasa_cero_exento_y_tasa_16_debug.xml");
//#NODO [impuestos]
MFObject impuestos = new MFObject("impuestos");
impuestos["TotalImpuestosTrasladados"] = "13.79";
//#NODO [impuestos/translados]
MFObject impuestos_translados = new MFObject("translados");
//#NODO [impuestos/translados/0]
MFObject impuestos_translados_0 = new MFObject("0");
impuestos_translados_0["tasa"] = "0.160000";
impuestos_translados_0["impuesto"] = "002";
impuestos_translados_0["TipoFactor"] = "Tasa";
impuestos_translados_0["importe"] = "13.79";
impuestos_translados_0["Base"] = "86.21";
impuestos_translados.AgregaSubnodo(impuestos_translados_0);
//#NODO [impuestos/translados/1]
MFObject impuestos_translados_1 = new MFObject("1");
impuestos_translados_1["tasa"] = "0.000000";
impuestos_translados_1["importe"] = "0";
impuestos_translados_1["impuesto"] = "002";
impuestos_translados_1["TipoFactor"] = "Tasa";
impuestos_translados_1["Base"] = "100";
impuestos_translados.AgregaSubnodo(impuestos_translados_1);
//#NODO [conceptos]
MFObject conceptos = new MFObject("conceptos");
//#NODO [conceptos/1]
MFObject conceptos_1 = new MFObject("1");
conceptos_1["ID"] = "M7390Z";
conceptos_1["unidad"] = "PIEZA";
conceptos_1["descripcion"] = "PRODUCTO CON TASA CERO";
conceptos_1["cantidad"] = "1";
conceptos_1["ObjetoImp"] = "02";
conceptos_1["valorunitario"] = "100";
conceptos_1["importe"] = "100";
conceptos_1["ClaveProdServ"] = "53102700";
conceptos_1["ClaveUnidad"] = "H87";
//#NODO [conceptos/1/Impuestos]
MFObject conceptos_1_Impuestos = new MFObject("Impuestos");
//#NODO [conceptos/1/Impuestos/Traslados]
MFObject conceptos_1_Impuestos_Traslados = new MFObject("Traslados");
//#NODO [conceptos/1/Impuestos/Traslados/0]
MFObject conceptos_1_Impuestos_Traslados_0 = new MFObject("0");
conceptos_1_Impuestos_Traslados_0["TasaOCuota"] = "0.000000";
conceptos_1_Impuestos_Traslados_0["Impuesto"] = "002";
conceptos_1_Impuestos_Traslados_0["TipoFactor"] = "Tasa";
conceptos_1_Impuestos_Traslados_0["Importe"] = "0";
conceptos_1_Impuestos_Traslados_0["Base"] = "100";
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]
MFObject conceptos_0 = new MFObject("0");
conceptos_0["ID"] = "M7390Z";
conceptos_0["unidad"] = "PIEZA";
conceptos_0["descripcion"] = "PRODUCTO EXENTO DE IMPUESTOS";
conceptos_0["cantidad"] = "1";
conceptos_0["ObjetoImp"] = "02";
conceptos_0["valorunitario"] = "100";
conceptos_0["importe"] = "100";
conceptos_0["ClaveProdServ"] = "53102700";
conceptos_0["ClaveUnidad"] = "H87";
//#NODO [conceptos/0/Impuestos]
MFObject conceptos_0_Impuestos = new MFObject("Impuestos");
//#NODO [conceptos/0/Impuestos/Traslados]
MFObject conceptos_0_Impuestos_Traslados = new MFObject("Traslados");
//#NODO [conceptos/0/Impuestos/Traslados/0]
MFObject conceptos_0_Impuestos_Traslados_0 = new MFObject("0");
conceptos_0_Impuestos_Traslados_0["Impuesto"] = "002";
conceptos_0_Impuestos_Traslados_0["TipoFactor"] = "Exento";
conceptos_0_Impuestos_Traslados_0["Base"] = "100";
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 [conceptos/2]
MFObject conceptos_2 = new MFObject("2");
conceptos_2["ID"] = "M7390Z";
conceptos_2["unidad"] = "PIEZA";
conceptos_2["descripcion"] = "producto con tasa 16";
conceptos_2["cantidad"] = "1";
conceptos_2["ObjetoImp"] = "02";
conceptos_2["valorunitario"] = "86.21";
conceptos_2["importe"] = "86.21";
conceptos_2["ClaveProdServ"] = "53102700";
conceptos_2["ClaveUnidad"] = "H87";
//#NODO [conceptos/2/Impuestos]
MFObject conceptos_2_Impuestos = new MFObject("Impuestos");
//#NODO [conceptos/2/Impuestos/Traslados]
MFObject conceptos_2_Impuestos_Traslados = new MFObject("Traslados");
//#NODO [conceptos/2/Impuestos/Traslados/0]
MFObject conceptos_2_Impuestos_Traslados_0 = new MFObject("0");
conceptos_2_Impuestos_Traslados_0["TasaOCuota"] = "0.160000";
conceptos_2_Impuestos_Traslados_0["Impuesto"] = "002";
conceptos_2_Impuestos_Traslados_0["TipoFactor"] = "Tasa";
conceptos_2_Impuestos_Traslados_0["Importe"] = "13.79";
conceptos_2_Impuestos_Traslados_0["Base"] = "86.21";
conceptos_2_Impuestos_Traslados.AgregaSubnodo(conceptos_2_Impuestos_Traslados_0);
conceptos_2_Impuestos.AgregaSubnodo(conceptos_2_Impuestos_Traslados);
conceptos_2.AgregaSubnodo(conceptos_2_Impuestos);
//#NODO [emisor]
MFObject emisor = new MFObject("emisor");
emisor["RegimenFiscal"] = "603";
emisor["rfc"] = "EKU9003173C9";
emisor["nombre"] = "ESCUELA KEMPER URGATE";
//#NODO [conf]
MFObject conf = new MFObject("conf");
conf["pass"] = "12345678a";
conf["cer"] = "c:/sdk2/certificados/EKU9003173C9.cer.pem";
conf["key"] = "c:/sdk2/certificados/EKU9003173C9.key.pem";
//#NODO [PAC]
MFObject PAC = new MFObject("PAC");
PAC["usuario"] = "DEMO700101XXX";
PAC["pass"] = "DEMO700101XXX";
PAC["produccion"] = "NO";
//#NODO [receptor]
MFObject receptor = new MFObject("receptor");
receptor["RegimenFiscalReceptor"] = "601";
receptor["DomicilioFiscalReceptor"] = "27054";
receptor["UsoCFDI"] = "G01";
receptor["nombre"] = "MIGUEL ANGEL SOSA HERNANDEZ";
receptor["rfc"] = "SOHM7509289MA";
//#NODO [factura]
MFObject factura = new MFObject("factura");
factura["descuento"] = "0.00";
factura["forma_pago"] = "04";
factura["LugarExpedicion"] = "77712";
factura["folio"] = "659155";
factura["serie"] = "A";
factura["fecha_expedicion"] = "AUTO";
factura["condicionesDePago"] = "CONTADO";
factura["tipocomprobante"] = "I";
factura["moneda"] = "MXN";
factura["metodo_pago"] = "PUE";
factura["tipocambio"] = "1";
factura["Exportacion"] = "01";
factura["subtotal"] = "286.21";
factura["total"] = "300";
//#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);
conceptos.AgregaSubnodo(conceptos_2);
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);