Ingresar al Modulo de Facturación


Para ingresa a este modulo primero iniciamos sesión en G17 Windows.


Seleccionamos la empresa que vamos a utilizar, deberá ser la sucursal con la que vamos a facturar.


Ubicamos el botón del menú lateral en la esquina superior izquierda y damos clic.


Seleccionamos la opción "Facturación Externa"


Es posible que aparezca un mensaje de error la primera vez que se ingresa y no esta configurado, en ese caso solo se tendría que dar clic en aceptar.


También si es la primera vez que se ingresa la ventana en la que nos posicionara no sera la de facturación si no la de venta, para ellos solo damos clic en la X de la ventana de venta para cerrarla.


Luego de ello nos posiciona en la ventana correcta.


Configuración de conexión a la base de datos


En la ventana principal buscamos el botón de configuración ubicado en la parte superior derecha. (Damos clic sobre el botón)


En la ventana que aparece capturamos los siguientes datos:


Servidor\Instancia: El nombre de servidor e Instancia de SQL SERVER

Nota: En el caso de SQL SERVER solo ingresar el nombre de la base de datos o servidor porque ambas  se llaman igual.

Base de datos: Nombre de la base de datos a la que se va a conectar.

Usuario: (de la base de datos)

Contraseña: (del usuario de la base de datos)



Query's SQL


Después de capturar los datos iniciales para la conexión a la base de datos, lo siguiente es ingresar las consultas de SQL para que los listados nos muestren los la información que debe ir.


La siguiente sección de código contiene los query's utilizados para la Abarrotera los Arcos:


Búsqueda Ticket: (Tickets que no estén timbrados y tampoco cancelados [Venta])

SELECT Serie,FacturaID IdDocumento,Fecha,d.status Estado,Importe,Iva FROM Tickets d LEFT JOIN cfdiemitidos e ON  e.Folio =(d.Serie+CONVERT(varchar(26),d.FacturaId)) WHERE NOT EXISTS (SELECT  NULL FROM cfdiemitidos cfdi WHERE e.Folio =(d.Serie+CONVERT(varchar(26),d.FacturaId)) AND cfdi.TipoDocumento='Ticket' AND cfdi.Estado='Timbrado') AND d.Status <> 9 [AND] (FacturaID LIKE '%[FILTRO]%') ORDER BY Fecha DESC

Búsqueda Factura: (Facturas que no estén timbradas y tampoco canceladass [Factura])

SELECT Serie,FacturaID IdDocumento,Fecha,e.Estado Estado,Importe,Iva FROM Facturas d INNER JOIN Clientes c ON d.ClienteID = c.ClienteID LEFT JOIN cfdiemitidos e ON e.Folio =(d.Serie+CONVERT(varchar(26),d.FacturaId)) WHERE NOT EXISTS (SELECT NULL FROM cfdiemitidos cfdi WHERE e.Folio =(d.Serie+CONVERT(varchar(26),d.FacturaId)) AND cfdi.TipoDocumento='Factura' AND cfdi.Estado='Timbrado') AND d.Status <> 9 [AND] (FacturaID LIKE '%[FILTRO]%' OR Nombre LIKE '%[FILTRO]%') ORDER BY Fecha DESC

Tickets Facturados: (Tickets timbrados y no estén cancelados [Venta])

SELECT FacturaID IdDocumento, e.Estado EstadoCFDI, * FROM Tickets d LEFT JOIN cfdiemitidos e ON e.Folio =(d.Serie+CONVERT(varchar(26),d.FacturaId)) WHERE EXISTS (SELECT NULL FROM cfdiemitidos cfdi WHERE e.Folio =(d.Serie+CONVERT(varchar(26),d.FacturaId)) AND cfdi.TipoDocumento='Ticket' AND cfdi.Estado='Timbrado') AND d.Status <> 9 [AND] (FacturaID LIKE '%[FILTRO]%') ORDER BY Fecha DESC

Facturas Terminadas: (Facturas timbradas y que no estén canceladas [Factura])

SELECT Serie,FacturaID IdDocumento,FechaTimbrado,Fecha,Estado,Importe,Iva,d.ClienteID IdCliente,Nombre,Rfc FROM facturas d INNER JOIN cfdiemitidos cfdi ON cfdi.Folio =(d.Serie+CONVERT(varchar(26),d.FacturaId)) AND cfdi.TipoDocumento='Factura' INNER JOIN Clientes c ON d.ClienteID = c.ClienteID WHERE Status <> 9 [AND] (FacturaID LIKE '%[FILTRO]%' OR Nombre LIKE '%[FILTRO]%') ORDER BY Fecha DESC

Búsqueda Devoluciones: (Devoluciones que no estén timbrados y tampoco canceladas [Devolución])

SELECT LEFT(DevolucionID,1) Serie,SUBSTRING(DevolucionID,2,20) IdDocumento,Serie+CAST(FacturaID AS VARCHAR) Factura, Fecha,Importe,Iva,d.ClientID IdCliente,Nombre,Rfc FROM devoluciones d INNER JOIN Clientes c ON d.ClientID = c.ClienteID [AND] (DevolucionID LIKE '%[FILTRO]%' OR FacturaID LIKE '%[FILTRO]%' OR Nombre LIKE '%[FILTRO]%') ORDER BY Fecha DESC

Notas de crédito: (Devoluciones timbradas y que no estén canceladas [Devolución])

SELECT LEFT(DevolucionID,1) Serie,SUBSTRING(DevolucionID,2,20) IdDocumento,Serie+CAST(FacturaID AS VARCHAR) Factura, Fecha,Importe,Iva,d.ClientID IdCliente,Nombre,Rfc FROM devoluciones d INNER JOIN Clientes c ON d.ClientID = c.ClienteID INNER JOIN cfdiemitidos cfdi ON cfdi.Folio = d.DevolucionID WHERE cfdi.TipoDocumento='Devolucion' [AND] (DevolucionID LIKE '%[FILTRO]%' OR FacturaID LIKE '%[FILTRO]%' OR Nombre LIKE '%[FILTRO]%') ORDER BY Fecha DESC


Nota: Los querys tienen un limite de 500 caracteres, si se ingresan más de 500 aparecerá un mensaje.


Timbrar Tickets:

Seleccionamos el ticket que deseamos facturar y damos clic en el botón con el icono ">"


Después de esto se abrirá una ventana para ingresar los datos del cliente para facturar. 

(Como es un ticket no se carga ningún dato de cliente pero se puede utilizar la búsqueda para llenar en automático los datos del cliente).

Timbrar Facturas:

Seleccionamos el factura que deseamos facturar y damos clic en el botón con el icono ">"


Después de esto se abrirá una ventana para ingresar los datos de la factura, puesto que los datos del cliente ya fueron capturados previamente por lo que se cargan en automático, si se necesita pueden editarse también.


Timbrar Devoluciones:

Seleccionamos el devolución que deseamos timbrar y damos clic en el botón con el icono ">"



Se abrirá una ventana para ingresar los datos de la nota de la nota de crédito, puesto que los datos del cliente ya fueron capturados previamente por lo que se cargan en automático, si se necesita pueden editarse también, para este documento se agrega un campo el cual es el tipo de relación y el documento relacionado lo toma en automático.





Configuraciones en G17 Web


Formato de impresión

Se utilizo el formato de impresión CFDI0035 ya que se modifico para que muestre en localidad lo que se capture en el campo "Adicional5" como se muestra en la siguiente imagen, esto para evitar usar el catalogo del SAT que solo acepta valores ya definidos.



Listado cobrar notas

En el listado de cobrar notas de G17 Web la configuración que se utiliza es la siguiente.


Se utiliza Pendientes como filtro para que nos muestre todas las que no se han saldado, y en el siguiente filtro se utiliza notas para complemento puesto que como se toman en cuenta solo las facturas en Pago en parcialidades o diferido [PPD] por que las de Pago en una sola exhibición [PUE] se asume que ya fueron saldadas puesto que la venta se hizo en el sistema local y cuando se factura es porque ya se realizo el pago.


Reportes Utilizados


Impuestos x forma de pago: Indica el total de la nota y la cantidad en dinero que se paga de impuestos esto agrupado por PPD y PUE


Facturas por cobrar PPD: Muestra las facturas que están pendientes de pago pero solo las que tienen método de pago PPD.


(Ambos reportes están adjuntos en esta misma solución en caso de requerirse.