Inicio

Ejemplo VB6

Ejemplo C#

Precios

Preguntas frecuentes

Contacto

Factura electrónica en Uruguay

 

Le presentamos un nuevo software nacional, que proximamente estará

disponible para empresas que requieran incorporarse al régimen de factura

electrónica y para empresas desarrolladoras de software.

 

Para los comercios que deseen incorporarse al régimen de factura

electrónica tendrán un modulo de facturación con manejo de clientes,

proveedores, compras, etc.

 

Para empresas desarrolladoras de software que no quieran lidiar con la

complejidad de certificados digitales ni espacio requerido para

servidores dedicados, brindaremos los servicios necesarios de

comunicación con DGI a través de nuestros servidores.

 

Somos una empresa que se encuentra desarrollando el módulo de

facturación electrónica desde abril de 2012. Para aquellas empresas que no

deseen invertir tiempo en desarrollar una solución compleja para incorporarse

al régimen de factura electrónica, utilizar nuestra pasarela como herramienta

de incorporación a este régimen, será una gran oportunidad.

 

Desarrollo desde VB6

 

Menos de 50 líneas de código para enviar un CFE hacia DGI. 

 

    Dim cfgMgr As EFactura.ConfigurationManager

    Set cfgMgr = New EFactura.ConfigurationManager

 

    cfgMgr.IdComercio = 20   // Este es el id de comercio en nuestros servidores

    cfgMgr.IsPrivateKeyOffline = True

    cfgMgr.RutaCfes = "C:\\work\\DGI\\EFactura\\EFactura\\GUI_EFactura\\"

    cfgMgr.RutaPrivateKey = "C:\\work\\DGI\\certificado\\tucertificado.pfx"

    cfgMgr.PasswordPrivateKey = "tucontrasenia"

 

    Dim unCfe As EFactura.CFE

    Set unCfe = New EFactura.CFE

 

    Dim eTicket As EFactura.CFE_E_Ticket

    Set eTicket = New EFactura.CFE_E_Ticket

 

    eTicket.TmstFirma = Now

    Set eTicket.Encabezado = New EFactura.CFE_E_Ticket_Encabezado

 

    Set eTicket.Encabezado.Emisor = New EFactura.Emisor

    eTicket.Encabezado.Emisor.RUCEmisor = "216236720014"

    eTicket.Encabezado.Emisor.RznSoc = "Tu Pedido Web SRL"

    eTicket.Encabezado.Emisor.NomComercial = "Tu Pedido Web"

    eTicket.Encabezado.Emisor.EmiSucursal = "Sucursal 1"

    eTicket.Encabezado.Emisor.CdgDGISucur = 1

    eTicket.Encabezado.Emisor.Ciudad = "Ciudad de la Costa"

    eTicket.Encabezado.Emisor.Departamento = "Canelones"

 

    eTicket.Encabezado.IdentificacionDocumento.TipoCFE =

            Identificacion_E_Ticket_TipoCFE_CFE_E_Ticket

    eTicket.Encabezado.IdentificacionDocumento.Nro = 10

    eTicket.Encabezado.IdentificacionDocumento.Serie = "A"

    eTicket.Encabezado.IdentificacionDocumento.FchEmis = Now

    eTicket.Encabezado.IdentificacionDocumento.MntBruto =

            Identificacion_E_Ticket_MontoBruto_Indicador_montos_brutos

    eTicket.Encabezado.IdentificacionDocumento.FmaPago = Identificador_E_Ticket_FormaPago_Contado

 

    eTicket.Encabezado.Receptor.TipoDocRecep = Tipo_Documento_Rut

    eTicket.Encabezado.Receptor.CodPaisRecep = CodigoPais_UY

    eTicket.Encabezado.Receptor.DeptoRecep = "214844360018"

    eTicket.Encabezado.Receptor.RznSocRecep = "DGI"

 

    eTicket.Encabezado.Totales.TpoMoneda = TipMonType_UYU

    eTicket.Encabezado.Totales.MntNoGrv = 122

    eTicket.Encabezado.Totales.MntNetoIVATasaBasica = 100

    eTicket.Encabezado.Totales.MntIVATasaMin = 10

    eTicket.Encabezado.Totales.MntIVATasaBasica = 22

    eTicket.Encabezado.Totales.IVATasaBasica = 22

    eTicket.Encabezado.Totales.MntTotal = 122

    eTicket.Encabezado.Totales.CantLinDet = 1

    eTicket.Encabezado.Totales.MntPagar = 122

 

    Dim unDetalle As EFactura.Item_Detalle_Factura

    Set unDetalle = New EFactura.Item_Detalle_Factura

    unDetalle.NroLinDet = "1"

    unDetalle.IndFact = Item_Det_FactIndFact_Item1

    unDetalle.Cantidad = 1

    unDetalle.NomItem = "Tomates"

    unDetalle.UniMed = "kg"

    unDetalle.PrecioUnitario = 122

    unDetalle.MontoItem = 122

 

    eTicket.AddDetalle unDetalle

 

    Set unCfe.Item = eTicket

 

    If unCfe.FirmarCFE(unCfe, cfgMgr, True) Then

        MsgBox "Ok Firmado"

    End If

    unCfe.ImprimirCFE unCfe

 

    If (unCfe.EnviarCFE(unCfe, cfgMgr)) Then  'El servidor se encarga de comunicarse con DGI en caso de ser necesario (tipo documento EFactura, ETicket mayores a 10.000 UI, etc)

        MsgBox "Ok Enviado"

    End If

 

Desarrollo desde .Net

 

Menos de 50 líneas de código para enviar un CFE hacia DGI. 

 

            ConfigurationManager cfgMgr = new ConfigurationManager();

            cfgMgr.IdComercio = 20;

            cfgMgr.IsPrivateKeyOffline = true;

            cfgMgr.RutaCfes = "C:\\work\\DGI\\EFactura\\EFactura\\GUI_EFactura\\";

            cfgMgr.RutaPrivateKey = "C:\\work\\DGI\\certificado\\tucertificado.pfx";

            cfgMgr.PasswordPrivateKey = "tucontrasenia";

 

            CFE cfe = new CFE();

            cfe.version = "1.0";

 

            DateTime saveNow = DateTime.Now;

 

            CFE_E_Factura eFactura = new CFE_E_Factura();

            eFactura.TimestampFirma =

                    new DateTime(saveNow.Year, saveNow.Month, saveNow.Day, saveNow.Hour, saveNow.Minute,

                                saveNow.Second);

            eFactura.Encabezado.Emisor = new Emisor();

            eFactura.Encabezado.Emisor.RUCEmisor = "216236720014";

            eFactura.Encabezado.Emisor.RznSoc = "Tu Pedido Web SRL";

            eFactura.Encabezado.Emisor.NomComercial = "Tu Pedido Web";

            eFactura.Encabezado.Emisor.EmiSucursal = "Sucursal 1";

            eFactura.Encabezado.Emisor.CdgDGISucur = "1";

            eFactura.Encabezado.Emisor.Departamento = "Canelones";

            eFactura.Encabezado.Emisor.Ciudad = "Ciudad de la costa";

            eFactura.Encabezado.Emisor.Telefono.Add("26826065");

            eFactura.Encabezado.Emisor.DomFiscal = "Park way M.18S.14";

 

            eFactura.Encabezado.IdentificacionDocumento.TipoCFE =

                       Identificacion_E_Factura_TipoCFE.CFE_E_Factura;

            eFactura.Encabezado.IdentificacionDocumento.Nro = "45";

            eFactura.Encabezado.IdentificacionDocumento.Serie = "A";

            eFactura.Encabezado.IdentificacionDocumento.FchEmis =

                     new DateTime(saveNow.Year, saveNow.Month, saveNow.Day);

            eFactura.Encabezado.IdentificacionDocumento.MntBruto =

                     Identificador_E_Factura_Monto_Bruto.Indicador_montos_en_bruto;

            eFactura.Encabezado.IdentificacionDocumento.FmaPago =

                     Identificador_E_Factura_Forma_Pago.Contado;

            eFactura.Encabezado.IdentificacionDocumento.FchVenc = new DateTime(2012, 12, 31);

 

            eFactura.Encabezado.Receptor.TipoDocRecep = TipoDocumento.CI;

            eFactura.Encabezado.Receptor.CodPaisRecep = CodigoPais.UY;

            eFactura.Encabezado.Receptor.RznSocRecep = "Juan Perez";

            eFactura.Encabezado.Receptor.DocRecep = "13353214";

            eFactura.Encabezado.Receptor.DirRecep = "18 de Julio 2016";

            eFactura.Encabezado.Receptor.DeptoRecep = "Montevideo";

            eFactura.Encabezado.Receptor.CiudadRecep = "Montevideo";

 

            eFactura.Encabezado.Totales.TpoMoneda = TipoMoneda.UYU;

            eFactura.Encabezado.Totales.MntNoGrv = 122;

            eFactura.Encabezado.Totales.MntNetoIvaTasaMin = 0;

            eFactura.Encabezado.Totales.MntNetoIVATasaBasica = 100;

            eFactura.Encabezado.Totales.MntIVATasaMin = 0;

            eFactura.Encabezado.Totales.MntIVATasaBasica = 22;

            eFactura.Encabezado.Totales.IVATasaMin = 10;

            eFactura.Encabezado.Totales.IVATasaBasica = 22;

            eFactura.Encabezado.Totales.MntTotal = 122;

            eFactura.Encabezado.Totales.CantLinDet = "1";

            eFactura.Encabezado.Totales.MntPagar = 122;

 

            Item_Detalle_Factura item = new Item_Detalle_Factura();

            item.NroLinDet = "1";

            item.IndicadorFacturacion =

                  Item_Detalle_Factura_Indicador_Facturacion.Gravado_a_Tasa_Basica;

            item.Cantidad = 1;

            item.NomItem = "Tomates";

            item.UniMed = "kg";

            item.PrecioUnitario = 122;

            item.MontoItem = 122;

 

            eFactura.AddDetalle(item);

 

            eFactura.CAEData.CAE_ID = "1234567890";

            eFactura.CAEData.DNro = "1";

            eFactura.CAEData.HNro = "100";

            eFactura.CAEData.FecVenc = new DateTime(2012, 12, 31);

 

            cfe.Item = eFactura;

 

            if (cfe.FirmarCFE(cfe, cfgMgr, true) == true)

                MessageBox.Show("Generado y firmado OK.");

            else

                MessageBox.Show("No se pudo firmar.");

 

            EFactura.EFacturaService.ResultadoCfeVO resultado = cfe.EnviarCFE(cfe, cfgMgr);

            if (resultado.TipoError == -1)

                MessageBox.Show("No se pudo enviar Xml a EFacturaTPW. Error desconocido: " + resultado.MsgError);

            else if (resultado.TipoError == 0)

                MessageBox.Show("Enviado OK.");

            else

                MessageBox.Show("No se pudo enviar Xml a EFacturaTPW. Error: " + resultado.TipoError + ", " + resultado.MsgError);

 

  • Costo mensual para empresas

    Si usted desea un software de facturación sencillo y eficaz, con manejo de clientes, proveedores y con facturación electrónica homologada por DGI, nuestro sistema de factura electrónica es su solución.

  • Costo anual para desarrolladores

    Si usted ya tiene su sistema de facturación desarrollado en VB6, C#, Vb.net, Delphi, C++ o cualquier aplicación cliente y quiere incorporarse al sistema de factura electrónica utilizando nuestra pasarela, esta es la mejor opción.

  • Empresas medianas y grandes

    Usted recibe el código fuente de nuestra solucion para adaptarlo a sus necesidades como mejor lo requiera.

Ingrese sus consultas en el formulario de contacto y las iremos incorporando en esta página de preguntas frecuentes.