meta data de esta página
Método EnviarLiquidacion()
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
(Solo rellenar los nodos que consideren necesarios y que apliquen para su modelo de Liquidación)
<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" xmlns:ecu4="http://schemas.datacontract.org/2004/07/EcuadorLibraryObject.Common.Other"> <soapenv:Header/> <soapenv:Body> <tem:EnviarLiquidacion> <!--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:Detalles> <!--Zero or more repetitions:--> <ecu2:Detalle> <!--Optional:--> <ecu2:Cantidad>?</ecu2:Cantidad> <!--Optional:--> <ecu2:CodigoAuxiliar>?</ecu2:CodigoAuxiliar> <!--Optional:--> <ecu2:CodigoPrincipal>?</ecu2:CodigoPrincipal> <!--Optional:--> <ecu2:Descripcion>?</ecu2:Descripcion> <!--Optional:--> <ecu2:Descuento>?</ecu2:Descuento> <!--Optional:--> <ecu2:DetAdicional> <!--Zero or more repetitions:--> <ecu2:DetAdicional> <!--Optional:--> <ecu2:Nombre>?</ecu2:Nombre> <!--Optional:--> <ecu2:Valor>?</ecu2:Valor> </ecu2:DetAdicional> </ecu2:DetAdicional> <!--Optional:--> <ecu2:Impuestos> <!--Zero or more repetitions:--> <ecu2:ImpuestoDetalle> <!--Optional:--> <ecu2:BaseImponible>?</ecu2:BaseImponible> <!--Optional:--> <ecu2:Codigo>?</ecu2:Codigo> <!--Optional:--> <ecu2:CodigoPorRet>?</ecu2:CodigoPorRet> <!--Optional:--> <ecu2:Valor>?</ecu2:Valor> <!--Optional:--> <ecu2:Tarifa>?</ecu2:Tarifa> </ecu2:ImpuestoDetalle> </ecu2:Impuestos> <!--Optional:--> <ecu2:PrecioSinSubsidio>?</ecu2:PrecioSinSubsidio> <!--Optional:--> <ecu2:PrecioTotalSinImpuesto>?</ecu2:PrecioTotalSinImpuesto> <!--Optional:--> <ecu2:PrecioUnitario>?</ecu2:PrecioUnitario> <!--Optional:--> <ecu2:UnidadMedida>?</ecu2:UnidadMedida> </ecu2:Detalle> </ecu:Detalles> <!--Optional:--> <ecu:DirCliente>?</ecu:DirCliente> <!--Optional:--> <ecu:InfoLiquidacion> <!--Optional:--> <ecu3:CodDocReembolso>?</ecu3:CodDocReembolso> <!--Optional:--> <ecu3:ContribuyenteEspecial>?</ecu3:ContribuyenteEspecial> <!--Optional:--> <ecu3:DirEstablecimiento>?</ecu3:DirEstablecimiento> <!--Optional:--> <ecu3:DireccionProveedor>?</ecu3:DireccionProveedor> <!--Optional:--> <ecu3:FechaEmision>?</ecu3:FechaEmision> <!--Optional:--> <ecu3:IdentificacionProveedor>?</ecu3:IdentificacionProveedor> <!--Optional:--> <ecu3:ImporteTotal>?</ecu3:ImporteTotal> <!--Optional:--> <ecu3:Moneda>?</ecu3:Moneda> <!--Optional:--> <ecu3:ObligadoContabilidad>?</ecu3:ObligadoContabilidad> <!--Optional:--> <ecu3:Pagos> <!--Zero or more repetitions:--> <ecu3:Pago> <!--Optional:--> <ecu3:FormaPago>?</ecu3:FormaPago> <!--Optional:--> <ecu3:Plazo>?</ecu3:Plazo> <!--Optional:--> <ecu3:Total>?</ecu3:Total> <!--Optional:--> <ecu3:UnidadTiempo>?</ecu3:UnidadTiempo> </ecu3:Pago> </ecu3:Pagos> <!--Optional:--> <ecu3:RazonSocialProveedor>?</ecu3:RazonSocialProveedor> <!--Optional:--> <ecu3:TipoIdentificacionProveedor>?</ecu3:TipoIdentificacionProveedor> <!--Optional:--> <ecu3:TotalBaseImponibleReembolso>?</ecu3:TotalBaseImponibleReembolso> <!--Optional:--> <ecu3:TotalComprobantesReembolso>?</ecu3:TotalComprobantesReembolso> <!--Optional:--> <ecu3:TotalConImpuestos> <!--Zero or more repetitions:--> <ecu3:ImpuestoTotalLiquidacion> <!--Optional:--> <ecu3:BaseImponible>?</ecu3:BaseImponible> <!--Optional:--> <ecu3:Codigo>?</ecu3:Codigo> <!--Optional:--> <ecu3:CodigoPorcentaje>?</ecu3:CodigoPorcentaje> <!--Optional:--> <ecu3:Valor>?</ecu3:Valor> <!--Optional:--> <ecu3:DescuentoAdicional>?</ecu3:DescuentoAdicional> <!--Optional:--> <ecu3:Tarifa>?</ecu3:Tarifa> </ecu3:ImpuestoTotalLiquidacion> </ecu3:TotalConImpuestos> <!--Optional:--> <ecu3:TotalDescuento>?</ecu3:TotalDescuento> <!--Optional:--> <ecu3:TotalImpuestoReembolso>?</ecu3:TotalImpuestoReembolso> <!--Optional:--> <ecu3:TotalSinImpuestos>?</ecu3:TotalSinImpuestos> </ecu:InfoLiquidacion> <!--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:Negociable> <!--Optional:--> <ecu1:Correo>?</ecu1:Correo> </ecu:Negociable> <!--Optional:--> <ecu:Notificar>?</ecu:Notificar> <!--Optional:--> <ecu:Reembolsos> <!--Zero or more repetitions:--> <ecu4:ReembolsoDetalle> <!--Optional:--> <ecu4:CodDocReembolso>?</ecu4:CodDocReembolso> <!--Optional:--> <ecu4:CodPaisPagoProveedorReembolso>?</ecu4:CodPaisPagoProveedorReembolso> <!--Optional:--> <ecu4:CompensacionesReembolso> <!--Zero or more repetitions:--> <ecu3:Compensacion> <!--Optional:--> <ecu3:Codigo>?</ecu3:Codigo> <!--Optional:--> <ecu3:Tarifa>?</ecu3:Tarifa> <!--Optional:--> <ecu3:Valor>?</ecu3:Valor> </ecu3:Compensacion> </ecu4:CompensacionesReembolso> <!--Optional:--> <ecu4:DetalleImpuestos> <!--Zero or more repetitions:--> <ecu2:ImpuestoDetalle> <!--Optional:--> <ecu2:BaseImponible>?</ecu2:BaseImponible> <!--Optional:--> <ecu2:Codigo>?</ecu2:Codigo> <!--Optional:--> <ecu2:CodigoPorRet>?</ecu2:CodigoPorRet> <!--Optional:--> <ecu2:Valor>?</ecu2:Valor> <!--Optional:--> <ecu2:Tarifa>?</ecu2:Tarifa> </ecu2:ImpuestoDetalle> </ecu4:DetalleImpuestos> <!--Optional:--> <ecu4:EstabDocReembolso>?</ecu4:EstabDocReembolso> <!--Optional:--> <ecu4:FechaEmisionDocReembolso>?</ecu4:FechaEmisionDocReembolso> <!--Optional:--> <ecu4:IdentificacionProveedorReembolso>?</ecu4:IdentificacionProveedorReembolso> <!--Optional:--> <ecu4:NumeroautorizacionDocReemb>?</ecu4:NumeroautorizacionDocReemb> <!--Optional:--> <ecu4:PtoEmiDocReembolso>?</ecu4:PtoEmiDocReembolso> <!--Optional:--> <ecu4:SecuencialDocReembolso>?</ecu4:SecuencialDocReembolso> <!--Optional:--> <ecu4:TipoIdentificacionProveedorReembolso>?</ecu4:TipoIdentificacionProveedorReembolso> <!--Optional:--> <ecu4:TipoProveedorReembolso>?</ecu4:TipoProveedorReembolso> </ecu4:ReembolsoDetalle> </ecu:Reembolsos> <!--Optional:--> <ecu:TelefonoCliente>?</ecu:TelefonoCliente> <!--Optional:--> <ecu:Version>?</ecu:Version> </wsec:Documento> </tem:data> </tem:EnviarLiquidacion> </soapenv:Body> </soapenv:Envelope>
Proceso para consumo EnviarLiquidacion
- Se inicializa un objeto ServiceClient o Servicio
- Se inicializa un objeto PeticionLiquidacion donde se ingresan el RUC, el usuario de Integración ,clave de Integración y Documento
- Se hace consumo del método EnviarLiquidacion contenido en el objeto serviceClient y se coloca como parámetro la petición anterior, la respuesta estará contenida en un objeto llamado RepuestaPeticion, la respuesta tendrá los parámetros Código, Mensaje y Archivo
- Codigo Ejemplo .NET
try { ServiceClient servicio = new ServiceClient(); PeticionLiquidacion pet = new PeticionLiquidacion { Clave = "claveintegracion", RUC = "0992109876543", Usuario = "usuariointegracion" }; pet.Documento = new Liquidacion(); Liquidacion liq = new Liquidacion(); //***************************************INFOTRIBUTARIA************************************ liq.InfoTributaria = new InfoTributaria(); liq.InfoTributaria = InformacionTrib(); liq.Version = "1.1.0"; liq.CorreoNotificar = textBox76.Text; liq.DirCliente = "Direccion del cliente"; //*********************************************INFOLIQUIDACION***************************** liq.InfoLiquidacion = new InfoLiquidacionCompra(); InfoLiquidacionCompra info = new InfoLiquidacionCompra { CodDocReembolso = "00", ContribuyenteEspecial = "CONTRIBUYENTE", DireccionProveedor = "direccion proveedor", DirEstablecimiento = "dir establecimineto", FechaEmision = textBox1.Text, IdentificacionProveedor = "0993264032001", TipoIdentificacionProveedor = "04", RazonSocialProveedor = "INDYANAPOLIS C.A", ObligadoContabilidad = "SI", Moneda = "USD", ImporteTotal = "112.00", TotalSinImpuestos = "100.00", TotalBaseImponibleReembolso = "10.00", TotalComprobantesReembolso = "10.00", TotalDescuento = "0.00", TotalImpuestoReembolso = "0.00" }; info.Pagos = new List<Pago>(); Pago pago = new Pago { FormaPago = textBox63.Text, Total = textBox64.Text, Plazo = textBox65.Text, UnidadTiempo = textBox66.Text }; info.Pagos.Add(pago); info.TotalConImpuestos = new List<ImpuestoTotalLiquidacion>(); ImpuestoTotalLiquidacion imp = new ImpuestoTotalLiquidacion { BaseImponible = textBox35.Text, Codigo = textBox36.Text, CodigoPorcentaje = textBox37.Text, Tarifa = textBox39.Text, Valor = textBox40.Text, DescuentoAdicional="0.00" }; info.TotalConImpuestos.Add(imp); liq.InfoLiquidacion = info; //******************************************+DETALLES************************* liq.Detalles = new List<Detalle>(); Detalle det = new Detalle { CodigoPrincipal = textBox67.Text, CodigoAuxiliar = textBox68.Text, Descripcion = textBox69.Text, Cantidad = textBox70.Text, PrecioUnitario = textBox71.Text, UnidadMedida = textBox72.Text, Descuento = textBox73.Text, PrecioSinSubsidio = textBox74.Text, PrecioTotalSinImpuesto = textBox75.Text, }; det.Impuestos = new List<ImpuestoDetalle>(); det.Impuestos.Add(ImpuestDet()); liq.Detalles.Add(det); liq.CorreoNotificar = textBox76.Text; liq.CampoAdicional = new List<infoAdicional>(); infoAdicional inf = new infoAdicional { Nombre = "nombre adicional", Valor = "1876543" }; liq.CampoAdicional.Add(inf); liq.Reembolsos = new List<ReembolsoDetalle>(); ReembolsoDetalle rem = new ReembolsoDetalle { CodDocReembolso = "00", CodPaisPagoProveedorReembolso = "345", EstabDocReembolso = "001", PtoEmiDocReembolso = "002", SecuencialDocReembolso = "000000887", FechaEmisionDocReembolso = "05/08/2021", IdentificacionProveedorReembolso = "0993264032001", TipoIdentificacionProveedorReembolso = "04", TipoProveedorReembolso = "01", NumeroautorizacionDocReemb= "1108202101179204823000120010010000047837000070019" }; rem.DetalleImpuestos = new List<ImpuestoDetalle>(); rem.DetalleImpuestos.Add(ImpuestDet()); liq.Reembolsos.Add(rem); pet.Documento = liq; var resp = servicio.EnviarLiquidacion(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 FACTURA XML/XSD
En este enlace se encuentran disponibles los xml y xsd de Liquidacion en sus distintas versiones