public override List <string> FormatearRegistro(int lineNumber, Lbl.Comprobantes.ComprobanteFacturable ComprobanteFacturable) { string Renglon = ""; //Formato CITI Ventas Renglon += ComprobanteFacturable.Fecha.ToString("yyyyMMdd"); // Fecha del comprobante Renglon += ((int)(CitiTablas.ComprobantesTiposPorLetra[ComprobanteFacturable.Tipo.Nomenclatura])).ToString().PadLeft(3, '0'); // Tipo de comprobante Renglon += ComprobanteFacturable.PV.ToString().PadLeft(5, '0'); // Punto de venta Renglon += ComprobanteFacturable.Numero.ToString().PadLeft(20, '0'); // Numero de comrpbante Renglon += ComprobanteFacturable.Numero.ToString().PadLeft(20, '0'); // Numero de comrpbante hasta if (ComprobanteFacturable.Cliente.SituacionTributaria == null || ComprobanteFacturable.Cliente.SituacionTributaria.EsConsumidorFinal) { if (string.IsNullOrEmpty(ComprobanteFacturable.Cliente.NumeroDocumento)) { Renglon += "99"; // 99: Sin identificar Renglon += ComprobanteFacturable.Cliente.NumeroDocumento.ToString().PadLeft(20, '0'); // Nº de identificación del comprador } else { Renglon += "96"; // 96: DNI Renglon += ComprobanteFacturable.Cliente.NumeroDocumento.ToString().PadLeft(20, '0'); // Nº de identificación del comprador } Renglon += ComprobanteFacturable.Cliente.ToString().PadRight(30, ' ').Substring(0, 30).ToUpper(); //Apellido y nombre o Denominacion del comprador } else { Renglon += "80"; // 80: CUIT Renglon += ComprobanteFacturable.Cliente.Cuit.ToString().Replace("-", "").Replace(" ", "").Replace("/", "").Replace(".", "").PadLeft(20, '0'); // Nº de identificación del comprador Renglon += ComprobanteFacturable.Cliente.RazonSocial.ToString().PadRight(30, ' ').Substring(0, 30).ToUpper(); //Apellido y nombre o Denominacion del vendedor } Renglon += Lfx.Types.Formatting.FormatCurrency(ComprobanteFacturable.Total, 2).ToString().Replace(".", "").PadLeft(15, '0'); // Importe Total de la operacion Renglon += "".PadLeft(15, '0'); // Conceptos que no integran el precio neto gravado Renglon += "".PadLeft(15, '0'); // Percepcion a No Categorizados Renglon += "".PadLeft(15, '0'); // Importe Operaciones Exentas Renglon += "".PadLeft(15, '0'); // Percepciones o pagos a cuenta de otros imp nacionales Renglon += "".PadLeft(15, '0'); // Percepciones de ingresos brutos Renglon += "".PadLeft(15, '0'); // Percepciones de impuestos municipales Renglon += "".PadLeft(15, '0'); // Impuestos internos Renglon += "PES"; // Codigo de moneda Renglon += "000100"; // Tipo de cambio Renglon += ComprobanteFacturable.AlicuotasUsadas().Count.ToString().PadLeft(5, '0'); // Cantidad de alicuotas de IVA if (ComprobanteFacturable.Cliente.ObtenerSituacionIva() == Impuestos.SituacionIva.Exento) { Renglon += "N"; } else { Renglon += "0"; // Codigo de operacion } Renglon += "".PadLeft(15, '0'); // Otros Tributos Renglon += ComprobanteFacturable.Fecha.ToString("yyyyMMdd"); // Fecha de Vencimiento return(new List <string>() { Renglon }); }
public override List <string> FormatearRegistro(int lineNumber, Lbl.Comprobantes.ComprobanteFacturable ComprobanteFacturable) { string Renglon = ""; //Formato CITI COMPRAS Renglon += ComprobanteFacturable.Fecha.ToString("yyyyMMdd"); // Fecha del comprobante 1-8 Renglon += ((int)(CitiTablas.ComprobantesTiposPorLetra[ComprobanteFacturable.Tipo.Nomenclatura])).ToString().PadLeft(3, '0'); // Tipo de comprobante 9-11 Renglon += ComprobanteFacturable.PV.ToString().PadLeft(5, '0'); // Punto de venta 12-16 Renglon += ComprobanteFacturable.Numero.ToString().PadLeft(20, '0'); // Numero de comrpbante 17-36 Renglon += "".PadRight(16, ' '); // Numero de despacho de importacion 37-52 Renglon += "80"; // 80:CUIT Codigo de documento del vendedor 53-54 Renglon += ComprobanteFacturable.Cliente.Cuit.ToString().Replace("-", "").Replace(" ", "").Replace("/", "").Replace(".", "").PadLeft(20, '0'); // Numero de identificacion del vendedor 64-74 Renglon += ComprobanteFacturable.Cliente.RazonSocial.ToString().PadRight(30, ' ').Substring(0, 30).ToUpper(); //Apellido y nombre o Denominacion del vendedor 75-104 Renglon += Lfx.Types.Formatting.FormatCurrency(ComprobanteFacturable.Total, 2).ToString().Replace(".", "").PadLeft(15, '0'); // Importe Total de la operacion 105-119 Renglon += "".PadLeft(15, '0'); // Conceptos que no integran el precio neto gravado 120-134 Renglon += "".PadLeft(15, '0'); // Importes de operaciones extras 135-149 Renglon += "".PadLeft(15, '0'); // Percepciones o pagos a cuenta del IVA 150-164 Renglon += "".PadLeft(15, '0'); // Percepciones o pagos a cuenta de otros imp nacionales 165-179 Renglon += "".PadLeft(15, '0'); // Percepciones de ingresos brutos 180-194 Renglon += "".PadLeft(15, '0'); // Percepciones de impuestos municipales 195-209 Renglon += "".PadLeft(15, '0'); // Impuestos internos 210-224 Renglon += "PES"; // Codigo de moneda 225-227 Renglon += "000100"; // Tipo de cambio 228-233 if (ComprobanteFacturable.DiscriminaIva) { Renglon += ComprobanteFacturable.AlicuotasUsadas().Count.ToString().PadLeft(5, '0'); // Cantidad de alicuotas de IVA 234-238 } else { Renglon += "".PadLeft(5, '0'); // Cantidad de alicuotas de IVA 234-238 } if (ComprobanteFacturable.Cliente.PagaIva == Impuestos.SituacionIva.Exento) { Renglon += "N"; } else { Renglon += "0"; // Codigo de operacion 239 } Renglon += "".PadLeft(15, '0'); // IVA Liquidado o Credito fiscal computable 240-254 Renglon += "".PadLeft(15, '0'); // Otros Tributos 255-269 Renglon += "".PadLeft(11, '0'); // CUIT emisor/corredor 270-280 Renglon += "".PadRight(30, ' '); // Denominación del emisor/corredor 281-310 Renglon += "".PadLeft(15, '0'); // IVA comisión 311-325 return(new List <string>() { Renglon }); }
public override List <string> FormatearRegistro(int lineNumber, Lbl.Comprobantes.ComprobanteFacturable ComprobanteFacturable) { var Res = new List <string>(); var Alicuotas = ComprobanteFacturable.AlicuotasUsadas(); if (ComprobanteFacturable.Cliente.ObtenerSituacionIva() == Impuestos.SituacionIva.Exento) { decimal ImporteIva = 0m; decimal ImporteGravado = ComprobanteFacturable.Total - ImporteIva; string Renglon = ((int)(CitiTablas.ComprobantesTiposPorLetra[ComprobanteFacturable.Tipo.Nomenclatura])).ToString().PadLeft(3, '0'); // Tipo de comprobante 1-3 Renglon += ComprobanteFacturable.PV.ToString().PadLeft(5, '0'); // Punto de venta 4-8 Renglon += ComprobanteFacturable.Numero.ToString().PadLeft(20, '0'); // Numero de comprobante 9-28 Renglon += "80"; // 80:CUIT Codigo de documento del vendedor 29-30 Renglon += "".PadLeft(9, '0'); // Imoprte del Comprobante sin iva 31-39 Renglon += ComprobanteFacturable.Cliente.Cuit.ToString().Replace("-", "").Replace(" ", "").Replace("/", "").Replace(".", ""); // Numero de identificacion del vendedor 40-50 Renglon += Lfx.Types.Formatting.FormatCurrency(ImporteGravado, 2).Replace(".", "").PadLeft(15, '0'); // Neto Gravado 51-65 Renglon += "3".PadLeft(4, '0'); // Codigo de Alicuota 66-69 Renglon += Lfx.Types.Formatting.FormatCurrency(ImporteIva, 2).Replace(".", "").PadLeft(15, '0'); //Impuesto liquidado 58-62 Res.Add(Renglon); } else { foreach (Lbl.Impuestos.Alicuota Alic in Alicuotas.Values) { decimal ImporteIva = ComprobanteFacturable.TotalIvaAlicuota(Alic.Id); decimal ImporteGravado = ComprobanteFacturable.TotalConIvaAlicuota(Alic.Id) - ImporteIva; string Renglon = ""; Renglon += ((int)(CitiTablas.ComprobantesTiposPorLetra[ComprobanteFacturable.Tipo.Nomenclatura])).ToString().PadLeft(3, '0'); // Tipo de comprobante 1-3 Renglon += ComprobanteFacturable.PV.ToString().PadLeft(5, '0'); // Punto de venta 4-8 Renglon += ComprobanteFacturable.Numero.ToString().PadLeft(20, '0'); // Numero de comprobante 9-28 Renglon += "80"; // 80:CUIT Codigo de documento del vendedor 29-30 Renglon += "".PadLeft(9, '0'); // Imoprte del Comprobante sin iva 31-39 Renglon += ComprobanteFacturable.Cliente.Cuit.ToString().Replace("-", "").Replace(" ", "").Replace("/", "").Replace(".", ""); // Numero de identificacion del vendedor 40-50 Renglon += Lfx.Types.Formatting.FormatCurrency(ImporteGravado, 2).Replace(".", "").PadLeft(15, '0'); // Neto Gravado 51-65 Renglon += CitiTablas.Alicuotas[Alic.Id].ToString().PadLeft(4, '0'); // Codigo de Alicuota 66-69 Renglon += Lfx.Types.Formatting.FormatCurrency(ImporteIva, 2).Replace(".", "").PadLeft(15, '0'); //Impuesto liquidado 58-62 Res.Add(Renglon); } } return(Res); }