Ejemplo de factura retenciones dividendos2 en C# SDK
using FacturacionSDK;
MFSDK sdk;
sdk = new MFSDK();
sdk.Iniciales.Add("MODOINI", "DIVISOR");
sdk.Iniciales.Add("RESPUESTA_UTF8", "SI");
sdk.Iniciales.Add("cfdi", "c:/sdk2/timbrados/ejemplo_retenciones_dividendos2.xml");
sdk.Iniciales.Add("remueve_acentos", "SI");
sdk.Iniciales.Add("retencion", "SI");
sdk.Iniciales.Add("version_retencion", "2");
sdk.Iniciales.Add("validacion_local", "NO");
sdk.Iniciales.Add("php_openssl", "SI");
sdk.Iniciales.Add("xml_debug", "c:/sdk2/timbrados/ejemplo_retenciones_dividendos2_debug.xml");
//#NODO [dividendos]
MFObject dividendos = new MFObject("dividendos");
//#NODO [dividendos/Remanente]
MFObject dividendos_Remanente = new MFObject("Remanente");
dividendos_Remanente["ProporcionRem"] = "1000.00";
//#NODO [dividendos/DividOUtil]
MFObject dividendos_DividOUtil = new MFObject("DividOUtil");
dividendos_DividOUtil["CveTipDivOUtil"] = "04";
dividendos_DividOUtil["MontISRAcredRetMexico"] = "100.00";
dividendos_DividOUtil["MontISRAcredRetExtranjero"] = "200.00";
dividendos_DividOUtil["MontRetExtDivExt"] = "300.00";
dividendos_DividOUtil["MontISRAcredNal"] = "400.00";
dividendos_DividOUtil["MontDivAcumNal"] = "500.00";
dividendos_DividOUtil["MontDivAcumExt"] = "600.00";
dividendos_DividOUtil["TipoSocDistrDiv"] = "Sociedad Nacional";
//#NODO [periodo]
MFObject periodo = new MFObject("periodo");
periodo["MesIni"] = "10";
periodo["MesFin"] = "10";
periodo["Ejercicio"] = "2021";
//#NODO [emisor]
MFObject emisor = new MFObject("emisor");
emisor["RegimenFiscalE"] = "601";
emisor["RfcE"] = "EKU9003173C9";
emisor["NomDenRazSocE"] = "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 [totales]
MFObject totales = new MFObject("totales");
totales["MontoTotExent"] = "0.00";
totales["MontoTotRet"] = "1000.00";
totales["MontoTotOperacion"] = "9000.00";
totales["MontoTotGrav"] = "9000.00";
//#NODO [totales/ImpRetenidos]
MFObject totales_ImpRetenidos = new MFObject("ImpRetenidos");
//#NODO [totales/ImpRetenidos/0]
MFObject totales_ImpRetenidos_0 = new MFObject("0");
totales_ImpRetenidos_0["TipoPagoRet"] = "01";
totales_ImpRetenidos_0["ImpuestoRet"] = "002";
totales_ImpRetenidos_0["MontoRet"] = "1000.00";
totales_ImpRetenidos_0["BaseRet"] = "9000";
totales_ImpRetenidos.AgregaSubnodo(totales_ImpRetenidos_0);
//#NODO [receptor]
MFObject receptor = new MFObject("receptor");
receptor["DomicilioFiscalReceptor"] = "27054";
receptor["UsoCFDI"] = "G01";
receptor["nombre"] = "MIGUEL ANGEL SOSA HERNANDEZ";
receptor["NacionalidadR"] = "Nacional";
receptor["rfc"] = "SOHM7509289MA";
//#NODO [receptor/Nacional]
MFObject receptor_Nacional = new MFObject("Nacional");
receptor_Nacional["DomicilioFiscalR"] = "65000";
receptor_Nacional["NomDenRazSocR"] = "UNIVERSIDAD ROBOTICA ESPA�OLA";
receptor_Nacional["RfcR"] = "URE180429TM6";
//#NODO [factura]
MFObject factura = new MFObject("factura");
factura["DescRetenc"] = "004";
factura["CveRetenc"] = "08";
factura["FechaExp"] = "2023-09-27T10:50:02";
factura["FolioInt"] = "21RET";
factura["LugarExpRetenc"] = "45079";
factura["fecha_expedicion"] = "AUTO";
//#Agrega Nodos
sdk.AgregaObjeto(PAC);
sdk.AgregaObjeto(conf);
sdk.AgregaObjeto(factura);
sdk.AgregaObjeto(emisor);
receptor.AgregaSubnodo(receptor_Nacional);
sdk.AgregaObjeto(receptor);
sdk.AgregaObjeto(periodo);
totales.AgregaSubnodo(totales_ImpRetenidos);
sdk.AgregaObjeto(totales);
dividendos.AgregaSubnodo(dividendos_DividOUtil);
dividendos.AgregaSubnodo(dividendos_Remanente);
sdk.AgregaObjeto(dividendos);
//#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);