meta data de esta página
¡Esta es una revisión vieja del documento!
Método EnviarRetencion()
El request del método es el siguiente:
Request: Parámetro a enviar | ||
Tipo | Identificador | Descripción |
---|---|---|
String | RUC | Proporcionado por el cliente. |
String | Usuario | Proporcionado por The Factory HKA. |
String | Password | Proporcionado por The Factory HKA. |
Object | Documento | xml siguiente |
OBJETO EJEMPLO
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:wsec="http://schemas.datacontract.org/2004/07/WSEcuadorService.Request" xmlns:ecu="http://schemas.datacontract.org/2004/07/EcuadorLibraryObject" xmlns:ecu1="http://schemas.datacontract.org/2004/07/EcuadorLibraryObject.Other" xmlns:ecu2="http://schemas.datacontract.org/2004/07/EcuadorLibraryObject.Common.Detail" xmlns:ecu3="http://schemas.datacontract.org/2004/07/EcuadorLibraryObject.Common.Body"> <soapenv:Header/> <soapenv:Body> <tem:EnviarRetencion> <!--Optional:--> <tem:data> <!--Optional:--> <wsec:Clave>?</wsec:Clave> <!--Optional:--> <wsec:RUC>?</wsec:RUC> <!--Optional:--> <wsec:Usuario>?</wsec:Usuario> <!--Optional:--> <wsec:Documento> <!--Optional:--> <ecu:CPCliente>?</ecu:CPCliente> <!--Optional:--> <ecu:CampoAdicional> <!--Zero or more repetitions:--> <ecu1:infoAdicional> <!--Optional:--> <ecu2:Nombre>?</ecu2:Nombre> <!--Optional:--> <ecu2:Valor>?</ecu2:Valor> </ecu1:infoAdicional> </ecu:CampoAdicional> <!--Optional:--> <ecu:CorreoNegociable>?</ecu:CorreoNegociable> <!--Optional:--> <ecu:CorreoNotificar>?</ecu:CorreoNotificar> <!--Optional:--> <ecu:DirCliente>?</ecu:DirCliente> <!--Optional:--> <ecu:Impuestos> <!--Zero or more repetitions:--> <ecu2:ImpuestoDetalleRetencion> <!--Optional:--> <ecu2:BaseImponible>?</ecu2:BaseImponible> <!--Optional:--> <ecu2:Codigo>?</ecu2:Codigo> <!--Optional:--> <ecu2:CodigoPorRet>?</ecu2:CodigoPorRet> <!--Optional:--> <ecu2:Valor>?</ecu2:Valor> <!--Optional:--> <ecu2:CodDocSustento>?</ecu2:CodDocSustento> <!--Optional:--> <ecu2:FechaEmisionDocSustento>?</ecu2:FechaEmisionDocSustento> <!--Optional:--> <ecu2:NumDocSustento>?</ecu2:NumDocSustento> <!--Optional:--> <ecu2:PorcentajeRetener>?</ecu2:PorcentajeRetener> </ecu2:ImpuestoDetalleRetencion> </ecu:Impuestos> <!--Optional:--> <ecu:InfoRetencion> <!--Optional:--> <ecu3:ContribuyenteEspecial>?</ecu3:ContribuyenteEspecial> <!--Optional:--> <ecu3:DirEstablecimiento>?</ecu3:DirEstablecimiento> <!--Optional:--> <ecu3:FechaEmision>?</ecu3:FechaEmision> <!--Optional:--> <ecu3:IdentificacionSujetoRetenido>?</ecu3:IdentificacionSujetoRetenido> <!--Optional:--> <ecu3:ObligadoContabilidad>?</ecu3:ObligadoContabilidad> <!--Optional:--> <ecu3:PeriodoFiscal>?</ecu3:PeriodoFiscal> <!--Optional:--> <ecu3:RazonSocialSujetoRetenido>?</ecu3:RazonSocialSujetoRetenido> <!--Optional:--> <ecu3:TipoIdentificacionSujetoRetenido>?</ecu3:TipoIdentificacionSujetoRetenido> </ecu:InfoRetencion> <!--Optional:--> <ecu:InfoTributaria> <!--Optional:--> <ecu3:AgenteRetencion>?</ecu3:AgenteRetencion> <!--Optional:--> <ecu3:CodigoNumerico>?</ecu3:CodigoNumerico> <!--Optional:--> <ecu3:DirMatriz>?</ecu3:DirMatriz> <!--Optional:--> <ecu3:Estab>?</ecu3:Estab> <!--Optional:--> <ecu3:NombreComercial>?</ecu3:NombreComercial> <!--Optional:--> <ecu3:PtoEmi>?</ecu3:PtoEmi> <!--Optional:--> <ecu3:RazonSocial>?</ecu3:RazonSocial> <!--Optional:--> <ecu3:RegimenMicroempresas>?</ecu3:RegimenMicroempresas> <!--Optional:--> <ecu3:Secuencial>?</ecu3:Secuencial> </ecu:InfoTributaria> <!--Optional:--> <ecu:Maquinafiscal> <!--Optional:--> <ecu1:marca>?</ecu1:marca> <!--Optional:--> <ecu1:modelo>?</ecu1:modelo> <!--Optional:--> <ecu1:serie>?</ecu1:serie> </ecu:Maquinafiscal> <!--Optional:--> <ecu:Notificar>?</ecu:Notificar> <!--Optional:--> <ecu:TelefonoCliente>?</ecu:TelefonoCliente> <!--Optional:--> <ecu:Version>?</ecu:Version> </wsec:Documento> </tem:data> </tem:EnviarRetencion> </soapenv:Body> </soapenv:Envelope>
Proceso para consumo EnviarRetencion
- Se inicializa un objeto ServiceClient o Servicio
- Se inicializa un objeto PeticionRetencion donde se ingresan el RUC, el usuario de Integración ,clave de Integración y Documento
- Se hace consumo del método EnviarRetencion contenido en el objeto serviceClient y se coloca como parámetro la petición anterior, la respuesta estará contenida en un objeto llamado RespuestaPeticion, la respuesta tendrá los parámetros Código , Mensaje y Archivo
- Codigo Ejemplo .NET
try { ServiceClient servicio = new ServiceClient(); PeticionRetencion pet = new PeticionRetencion() { Clave = "claveintegracion", RUC = "1792412345678", Usuario = "usuariointegracion" }; pet.Documento = new ComprobanteRetencion(); ComprobanteRetencion ret = new ComprobanteRetencion(); //******************************INFOTRIBUTARIA********************************* ret.InfoTributaria = new InfoTributaria(); ret.InfoTributaria = InformacionTrib(); ret.CorreoNotificar = textBox76.Text; ret.DirCliente = "Direccioncliente"; ret.CPCliente = "CPcliente"; ret.TelefonoCliente = "234567890"; //**************************************INFO RETENCION********************************* ret.InfoRetencion = new InfoCompRetencion() { ContribuyenteEspecial = "contrubuyebte", DirEstablecimiento = "direstableciemie", FechaEmision = textBox1.Text, IdentificacionSujetoRetenido = textBox7.Text, ObligadoContabilidad = "SI", PeriodoFiscal = "09/2021", RazonSocialSujetoRetenido = "razon social sujeto detenido", TipoIdentificacionSujetoRetenido = "04" }; ret.Impuestos = new List<ImpuestoDetalleRetencion>(); ImpuestoDetalleRetencion imp = new ImpuestoDetalleRetencion { CodDocSustento = "01", BaseImponible = "100.00", Codigo = "3", CodigoPorRet = "346", Valor = "1.75", FechaEmisionDocSustento = "05/09/2021", NumDocSustento = "001002333444555", PorcentajeRetener = "1", }; ret.Impuestos.Add(imp); ret.Impuestos.Add(imp); ret.Version = "1.0.0"; pet.Documento = ret; var resp = servicio.EnviarRetencion(pet); servicio.Close(); richTextBox1.Text = "Codigo: " + resp.Codigo + "\n\r" + "Mensaje: " + resp.Mensaje + "\r\n" + resp.Archivo; } catch (Exception ex) { MessageBox.Show("Mensaje error: " + ex); }
ARCHIVOS RETENCIÓN XML/XSD
En este enlace se encuentran disponibles los xml y xsd de Retencion
xml_y_xsd_comprobante_de_retencion.zip