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.