Esempio n. 1
0
        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
            });
        }
Esempio n. 2
0
        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);
        }