Ejemplo C#
var fachadaRetenciones = new USLib.Retenciones.FachadaRetenciones();
fachadaRetenciones.P01DatosGenerales(folioInt: "1", fechaExp: DateTime.Now, cveRetenc: "01", descRetenc: "");
fachadaRetenciones.P02Emisor(rfcEmisor: "MAG041126GT8", nomDenRazSocE: "EMCORSOFT SC", cURPE: "");
fachadaRetenciones.P03ReceptorNacional(rfcRecep: "COMR850106QQA", nomDenRazSocR: "ROBERTO CORONA", cURPR: "COMR850106HSRRXB09");
fachadaRetenciones.P04Periodo(mesIni: 6, mesFin: 7, ejerc: 2017);
fachadaRetenciones.P05Totales(montoTotOperacion: 100, montoTotGrav: 100, montoTotExent: 0, montoTotRet: 100);
fachadaRetenciones.P07DatosGenerales(rutaCertificado: @"D:\Dropbox\CSD Pruebas\CSD_Pruebas_CFDI_MAG041126GT8\CSD_Pruebas_CFDI_MAG041126GT8.cer");
//En este punto se agregan los complementos
//Ejemplo de dividendos
var dividendos = new USLib.Retenciones.Complementos.Dividendos.FachadaDividendos();
dividendos.DividOUtil(cveTipDivOUtil: "01", montISRAcredRetMexico: 100, montISRAcredRetExtranjero: 0,
montRetExtDivExt: 0, tipoSocDistrDiv: "Sociedad Nacional", montISRAcredNal: 0, montDivAcumNal: 0, montDivAcumExt: 0);
dividendos.Remanente(proporcionRem: 0);
dividendos.Cerrar(fachadaRetenciones.Retenciones);
//Fin para agregar complementos
fachadaRetenciones.P08GenerarCadenaOriginal();
fachadaRetenciones.P09GenerarSelloDigital(rutaKey: @"D:\Dropbox\CSD Pruebas\CSD_Pruebas_CFDI_MAG041126GT8\CSD_Pruebas_CFDI_MAG041126GT8.key", passwordKey: "12345678a");
if (fachadaRetenciones.P10Timbrar(rutaGuardarXmlTimbrado: @"C:\Wsdl\Retencion_timbrada.xml", modoPrueba: true))
{
Console.WriteLine(@"Correcto");
Console.WriteLine(nameof(fachadaRetenciones.QrCadena) + @" - " + fachadaRetenciones.QrCadena);
Console.WriteLine(nameof(fachadaRetenciones.TfdCadenaOriginal) + @" - " + fachadaRetenciones.TfdCadenaOriginal);
Console.WriteLine(nameof(fachadaRetenciones.TfdFechaTimbrado) + @" - " + fachadaRetenciones.TfdFechaTimbrado);
Console.WriteLine(nameof(fachadaRetenciones.TfdNoCertificadoSat) + @" - " + fachadaRetenciones.TfdNoCertificadoSat);
Console.WriteLine(nameof(fachadaRetenciones.TfdUuid) + @" - " + fachadaRetenciones.TfdUuid);
Console.WriteLine(nameof(fachadaRetenciones.TfdSelloSat) + @" - " + fachadaRetenciones.TfdSelloSat);
}
else
{
Console.WriteLine(@"Mensaje de error: " + fachadaRetenciones.MensajeError);
}
Console.WriteLine(@"Fin");
Console.ReadKey();