Resolución? Inicio Tienda Foros Descargas Manual Asistencia ZOOM +

Comercial 91 082 00 46 - - - Administración y Licencias 91 547 96 40

Asistencia directa
·TPV  ·PDA  ·Colores  ·delivery  ·Alta de artículo 
Horario de verano L-V 9:00-14:00 15:00 18:00 Almacén 9:00-15:00
Oficinas:
Plaza de España, 10 5º Izq 28008 Madrid
 

 
Secciones actuales
 
 
Ayuda TPV
Ayuda Gestión de TPVs
Empresa de trabajo
Menú principal
Terminales
Artículos
Escandallos
Almacenes
Compras
Personal
Cierres de caja
Listados e Informes
Configuración
Actualizar los TPVs
Otras pantallas
Ayuda ImpRouter
Ayuda Raddar
Ayuda Distribuidor
Ayuda Cursos
Vídeos
Pasos para el registro
 
  
 
TPV Utilidades Importacion III
titulo5/6titulo
 
 
Para trabajar con los cierres de caja desde otro software hay que diferenciar entre 3 tipos de datos
1-Datos de Movimientos: las entradas y salidas de dinero de caja, así que para sumar todos los datos de movimientos del dia
2-Datos de Ventas: Ventas hechas en el día , partes invitadas, etc
3- Otros movimientos y funciones ejecutadas en caja(no importantes)

Para obtener los Datos Tendremos una SQL


SELECT 1 AS Expr1, `Cambios:` AS Movimientos, Sum([PrecioTotal]) AS valor,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia
WHERE (((Ventadia.Familia) Like `cambio`));

union
SELECT 2, `Pagos:` aS Movimientos, Sum([Pagado]) as valor,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia where familia like `Pagos*` and pagado <>0

Union
SELECT 2, `Retirado:` aS Movimientos, Sum([PrecioTotal]) as valor,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia where familia like `Pagos*` and PrecioTotal <>0

union
SELECT 3,`Ingresos:` aS Movimientos, Sum([PrecioTotal]) as Valor,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia where familia like `Ingreso*`
union

SELECT 4,`Cobro No Efectivo: FP:` & forma_De_Pago & ` ` AS Movimientos, Sum([Pagado]) as VAlor,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia where Forma_De_Pago <> `` and Forma_De_Pago <>`PENDIENTECOBRO` and Forma_De_Pago <>`EFECTIVO`
Group by forma_De_Pago
having Sum([Pagado]) >0

union
SELECT 4,`Cobros: pendiente de cobro:` AS Movimientos, Sum(Pagado) as VAlor ,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia where Forma_De_Pago =`PENDIENTECOBRO`


UNION
SELECT 5,`Venta total Tickets incluyendo invitaciones` AS Movimientos, Sum(abs(PrecioTotalADD)*Cantidad/(abs(Cantidad))) as Valor,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia where Familia <> `Forma_De_Pago` and Ticket <>`` and cantidad <>0 and codPLU <> `ADD`


Union
SELECT 5,`Venta Total sin invitar: ` as Movimientos, sum(abs(PrecioTotalADD)*Cantidad/(abs(Cantidad))) as Valor,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia where Ticket <>`` and tipo_Invitado=0 and familia <> `Forma_De_Pago` and cantidad <>0 and codPLU <> `ADD`


union
SELECT 5,`Venta Total Invitado: ` as Movimientos, sum(abs(PrecioTotalADD)*CAntidad/(abs(Cantidad))) as Valor,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia where Ticket <>`` and tipo_Invitado=-1 and familia <> `Forma_De_Pago` and cantidad <>0 and codPLU <> `ADD`

union
SELECT 5,`Venta Total de ` & Camarero & `: sin invitar ` as Movimientos, sum(abs(PrecioTotalADD)*Cantidad/(abs(Cantidad))) as Valor,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia where Ticket <>`` and tipo_Invitado=0 and familia <> `Forma_De_Pago` and cantidad <>0
Group by Camarero

union
SELECT 5,`Venta Total de ` & Camarero & ` invitado : ` as Movimientos, sum(abs(PrecioTotalADD)*Cantidad/(Abs(Cantidad))) as Valor,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia where Ticket <>`` and tipo_Invitado=-1 and familia <> `Forma_De_Pago` and cantidad <>0
Group by Camarero

UNION SELECT 6, `Z Total incluyendo Descuadre` as Movimientos, sum(PrecioTotal) as Valor,0 as unidades
,first (Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
From Ventadia where familia = `FUNCION` and (artnombre=`DESCUADRE` or artnombre=`Z`)

UNION SELECT 6, `Z Descuadre` as Movimientos, PrecioTotal as Valor,0 as unidades
,(Camarero) as Agente
,(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
From Ventadia where familia = `FUNCION` and artnombre=`DESCUADRE`;
UNION
SELECT 7,`Ticket:` & Ticket & ` cobrado` AS Movimientos, Sum(abs(PrecioTotalADD)*Cantidad/(abs(Cantidad))) as Valor,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia where Familia <> `Forma_De_Pago` and Ticket <>`` and tipo_Invitado=0 and cantidad <>0
Group by Ticket




UNION
SELECT 7,`Ticket:` & Ticket & ` invitado` AS Movimientos, Sum(ABS(PrecioTotalADD)*Cantidad/(abs(Cantidad))) as Valor,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia where Familia <> `Forma_De_Pago` and Ticket <>`` and tipo_Invitado=-1 and cantidad <>0
Group by Ticket;

UNION
SELECT 7,`Ticket:` & Ticket & ` info anula` AS Movimientos, ArtNombre,0 as unidades
,Camarero as Agente
,format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`) as FechaINI , format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`) as FechaFIN
FROM Ventadia where Familia =`Anulacion` and artNombre like `Anula el*`


UNION SELECT 7, `Ticket:` & Ticket & ` info anulado por` AS Movimientos, ArtNombre,0 as unidades
,(Camarero) as Agente
,(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia where Familia =`Anulacion` and artNombre like `Anulado*`;

UNION SELECT 8, `Total ` & format(Fecha,`yyyy/mm/dd`) &` ` & format(Hora,`hh`) AS Movimientos, Sum(abs(PrecioTotalADD)*Cantidad/(abs(Cantidad))) as Valor,Sum([Cantidad]) AS unidades
,first(Camarero) as Agente
,min(format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaINI ,max( format(fecha,`yyyy/mm/dd`) & `H` & format(Hora,`hh:mm`)) as FechaFIN
FROM Ventadia
where Familia <> `Forma_De_Pago` and Ticket <>`` and tipo_Invitado=0 and cantidad <>0
Group by `Total ` & format(Fecha,`yyyy/mm/dd`) &` ` & format(Hora,`hh`)







El resultado en una Base de datos de Pruebas es el siguiente

MovimientosvalorCambios:1000Cobro: FP:ESPECIAL1 4Cobro: FP:ESPECIAL2 2Cobro: pendiente de cobro:14Ingresos:200Pagos:400Ticket:14 cobrado6,1Ticket:15 cobrado4Ticket:16 invitado4Ticket:17 cobrado3Ticket:18 cobrado8Ticket:18 info anulado porAnulado en T:21Ticket:19 cobrado8,5Ticket:20 cobrado15Ticket:20 invitado42Ticket:21 cobrado-8Ticket:21 info anulaAnula el ticket 18Ticket:22 cobrado19Ticket:23 cobrado18Ticket:24 cobrado14Venta Total de ?? invitado : 46Venta Total de ??: sin invitar 33,6Venta Total de Agente 1: sin invitar 3Venta Total de Agente 2: sin invitar 51Venta Total Invitado: 46Venta Total sin invitar: 87,6Z Descuadre1132,4Z Real en Caja2000
*Pagos y retirado los hemos juntado en uno solo pero es fail de separar desde la base de datos

Datos del Cierre

Efectivo= Total Ventas-Pend De cobro-TarjetasyCheques-Pagos-Retirado+Ingresos+Cambio inicial
Efectivo=87,6-4-2-14+200-400+1000=867,6
Al cerrar la caja hemos contado el real y en el ejemplo salen 2000 euros así que hay un descuadre positivo de: 2000-867,6=1132,4 ( que tambien aparecen en la consulta), en general los descuadres vienen de devolver mal un cambio. Y no son tan altos

Los datos de cada venta se pueden obtener de la lista de tickets, si en la SQL quitamos las agrupaciones veremos la lista de los artículos del ticket.



Otras Consultas de tickets


SELECT Ticket,
first(numero) as mesa,
val(max(0 & comensales))+abs(isnull(max(comensales))) as personas,
format(min(fecha & ` ` & hora),`hh`) as h24, first(Camarero) as Agente,
Sum(abs(PrecioTotalADD)*Cantidad/(abs(Cantidad))) as Total,
Sum([Cantidad]) AS Unidades,
0 as Total_Anulado,
0 as Unidades_Anuladas,
0 as Total_Invitado,
0 as Unidades_Invitadas,
format(`00:00:` & datediff(`s`,min(fecha & ` ` & hora),max(fecha & ` ` & hora)),`hh:mm:ss`) as tiempoabierta
FROM Ventadia where Familia <> `Forma_De_Pago` and Ticket <>`` and tipo_Invitado=0 and cantidad <>0
Group by Ticket
Union
SELECT Ticket,
first(numero) as mesa,
val(max(0 & comensales))+abs(isnull(max(comensales))) as personas,
format(min(fecha & ` ` & hora),`hh`) as h24, first(Camarero) as Agente,
0 as Total,
0 AS Unidades,
Sum(abs(PrecioTotalADD)*Cantidad/(abs(Cantidad))) as Total_Anulado,
Sum([Cantidad]) AS Unidades_Anuladas,
0 as Total_Invitado,
0 as Unidades_Invitadas,
`00:00:00` as tiempoabierta
FROM Ventadia where Familia <> `Forma_De_Pago` and Ticket <>`` and tipo_Invitado=0 and cantidad <>0
Group by Ticket
Union
SELECT Ticket,
first(numero) as mesa,
val(max(0 & comensales))+abs(isnull(max(comensales))) as personas,
format(min(fecha & ` ` & hora),`hh`) as h24, first(Camarero) as Agente,
0 as Total,
0 AS Unidades,
0 as Total_Anulado,
0 AS Unidades_Anuladas,
Sum(abs(PrecioTotalADD)*Cantidad/(abs(Cantidad))) as Total_Invitado,
Sum([Cantidad]) AS Unidades_Invitadas,
`00:00:00` as tiempoabierta
FROM Ventadia where Familia <> `Forma_De_Pago` and Ticket <>`` and tipo_Invitado=0 and cantidad <>0
Group by Ticket
 
  
 
Comentarios
 
 
Añadir un nuevo comentario
Sea el primero en añadir un comentario.
 
  
 
Información
 
 
R:1300 r Creado 18/01/2007 9:51:18 Visto: 513 Actualizado: 03/05/2013 14:06:18
 
  
 
Videos YouTube de tpv
 
 
Necesitas Flash Player 8 o superior.
 
  
 
Relacionados
 
 
Sin relaciones con otros datos
[1/0]
 
  
 
Peticion de información
 
 
Introduzca sus datos y le enviaremos información sin compromiso:
 
  
 
Historial