private XmlResult XmlForVentaInternal(InvoiceHeader venta) { var res = _xmlGenerator.GeneraDocumentoInvoice(venta); return(new XmlResult { Success = res.Success, Description = res.Error, Path = res.FileName, Content = res.Content, Code = res.Success ? null : CodeStatus.ConErrores }); }
public void GeneraDocumentoInvoiceTest() { var invoice = new InvoiceHeader { TipoDocumento = TipoDocumentoElectronico.Factura, SerieDocumento = "F001", CorrelativoDocumento = "00005214", FechaEmision = DateTime.Now.Subtract(TimeSpan.FromDays(2)), NombreRazonSocialCliente = "SUPERMERCADOS Ñro <xml> íó PERUANOS SOCIEDAD ANóNIMA 'O ' S.P.S.A.", NroDocCliente = "20100070970", CorreoCliente = "*****@*****.**", DireccionCliente = "DIRECCION DETALLADA DEL CLIENTE", RucEmisor = "20600995805", NombreRazonSocialEmisor = "ABLIMATEX EXPORT SAC", CodigoMoneda = "PEN", NombreComercialEmisor = "C-ABLIMATEX EXPORT SAC", DocumentoReferenciaNumero = "F001-2233", Compra = "00000043", VendedorCodigo = "112", VendedorNombre = "JUAN PEREZ", DocumentoReferenciaTipoDocumento = TipoDocumentoElectronico.Factura, TipoDocumentoIdentidadCliente = TipoDocumentoIdentidad.RegistroUnicoContribuyentes, TipoDocumentoIdentidadEmisor = TipoDocumentoIdentidad.RegistroUnicoContribuyentes, InfoAddicional = new List <AdditionalPropertyType>() { new AdditionalPropertyType { ID = "1000", Value = "MIL QUINIENTOS SETENTE Y TRES CON 60/100"//UtilsFacturacion.ConvertirenLetras(156377.60M) } }, GuiaRemisionReferencia = new List <GuiaRemisionType> { new GuiaRemisionType { IdTipoGuiaRemision = "09", NumeroGuiaRemision = "0001-111111" } }, DetallesDocumento = new List <InvoiceDetail> { new InvoiceDetail { CodigoProducto = "PROD001", Cantidad = 120, DescripcionProducto = "PRODUCTO PRUEBA 001", PrecioUnitario = 1, PrecioAlternativos = new List <PrecioItemType> { new PrecioItemType { TipoDePrecio = TipoPrecioVenta.PrecioUnitario, Monto = 1.18M } }, UnidadMedida = "NIU", ValorVenta = 120, Impuesto = new List <TotalImpuestosType> { new TotalImpuestosType { TipoTributo = TipoTributo.IGV_VAT, Monto = 21.60M, TipoAfectacion = TipoAfectacionIgv.GravadoOperacionOnerosa }, }, }, new InvoiceDetail { CodigoProducto = "PROD002", Cantidad = 100, DescripcionProducto = "PRODUCTO PRUEBA 002", PrecioUnitario = 2, PrecioAlternativos = new List <PrecioItemType> { new PrecioItemType { TipoDePrecio = TipoPrecioVenta.PrecioUnitario, Monto = 2.36M } }, UnidadMedida = "NIU", ValorVenta = 200, Impuesto = new List <TotalImpuestosType> { new TotalImpuestosType { TipoTributo = TipoTributo.IGV_VAT, Monto = 36M, TipoAfectacion = TipoAfectacionIgv.GravadoOperacionOnerosa }, }, }, }, DescuentoGlobal = 20.0m, TotalVenta = 377.60M, TotalTributosAdicionales = new List <TotalTributosType> { new TotalTributosType { Id = OtrosConceptosTributarios.TotalVentaOperacionesGravadas, MontoPagable = 320M }, new TotalTributosType { Id = OtrosConceptosTributarios.Detracciones, MontoPagable = 2208.962M, Porcentaje = 9.000M } }, Impuesto = new List <TotalImpuestosType> { new TotalImpuestosType { TipoTributo = TipoTributo.IGV_VAT, Monto = 57.6M }, new TotalImpuestosType { TipoTributo = TipoTributo.ISC_EXC, Monto = 0M } }, DireccionEmisor = new DireccionType { CodigoUbigueo = "150111", Direccion = "AV. LOS PRECURSORES #1245", Zona = "URB. MIGUEL GRAU", Departamento = "LIMA", Provincia = "LIMA", Distrito = "EL AGUSTINO", CodigoPais = "PE" } }; var res = _generator.GeneraDocumentoInvoice(invoice); if (!res.Success) { Trace.WriteLine(res.Error); } Assert.IsTrue(res.Success); var name = res.FileName + ".xml"; File.WriteAllBytes(name, res.Content); Assert.IsNotNull(res.Content); Assert.IsTrue(res.Content.Length > 0); if (Environment.GetEnvironmentVariable("CI") == null) { Process.Start(name); } }