PDA

Ver la Versión Completa : Ayuda Movimiento de caja


liito16
21-10-2011, 02:43:35
Hola amigos, como les va :)

Tengo una consulta para hacerles para que me orienten un poco en esto
Queria preguntarles como se realiza un movimiento de caja con su apertura y cierre, osea que tablas necesito con su correspondiente relacion
tengo una leve idea mas o menos pero quiero asegurarme

mi base de datos cuenta con:

Clientes
Productos
proveedores

En productos en campos tengo: idprod, nom_prod, precio_unitario, precio_venta, stock_min, stock_actual, id_prov
Productos esta relacionado con proveedores
Clientes: datos de clientes.
Proveedores: datos de los proveedores.

Desde delphi ya tengo creado clientes productos y proveedores con su correspondiente ABM, y busquedas.

La idea es realizar un movimiento de caja, con su fecha y ahora de apertura y su correspondiente cierre, donde pueda sacar informes de las ventas realizadas en efectivo, del algun gasto realizado. descuente de stock los productos vendidos. (esto corre por cuenta mia igual)
pero queria pedirles si me pueden orientar un poco con que tablas tengo que trabajar con que relaciones cada una como para tener un pantallazo de como realizarlo tanto en la BD como en DELPHI si es algo parecido como Maestro/detalle

mi idea era realizar una tabla CAJA, y otra VENTAS donde caja se realize la apertura con sus datos y el saldo inicial. y como detalle las ventas que tambien tendria fecha y ahora de la venta realizada, nose si es algo asi.

Estoy trabajando con:
INTERBASE
DELPHI 7
y COMPONENTES dbexpress.
Por las dudas se los aclaro.

Desde ya muchas gracias, espero que se entienda SALUDOS.

Caral
21-10-2011, 03:09:10
Hola
Hay muchas maneras de hacer lo que necesitas, pero es algo complicado sin saber que tipo de ventas se lleban a cabo, por ejemplo:
Credito, contado, simplemente compra por caja.?
Clientes fijos, nuevos, sin determinar clientes.?
Hay cuentas por cobrar ?
etc.
Saludos

liito16
21-10-2011, 03:14:51
si lo paga, es a consumidor final diríamos. y sino lo paga la deuda pasa como a una cuenta corriente de esa persona en el cual si no esta registrado se lo dará de alta. y luego se le pasara a su cuenta la deuda y luego cuando venga a pagar, tendría que registrarse en la caja del día que paga.
si no me entides tengo un word con todos los datos con un analisis de lo que me pidio.

Muchas gracias :)

Caral
21-10-2011, 03:19:43
Hola
Me imagino que en todos los paises se pagan impuestos, sea de venta, iva, etc.
Eso quiere decir que se necesita facturar, puede ser con un simple tiquete de caja, pero se necesita un consecutivo.
Para eso se necesita una tabla que lleve ese consecutivo (numero de factura) y ahi se incluye el codigo del cliente, el monto y la fecha, si quieres incluso la hora.
Luego se necesita otra tabla que sera el detalle de la venta, esto lo que hara sera ligar las dos tables por medio del numero de factura.
Ademas a la hora de hacer la venta se tendra que descontar el producto del inventario.
Saludos

newtron
21-10-2011, 09:53:57
Hola.

Esta es la manera de la que yo tengo orientada mi aplicación.

Básicamente hay tres tipos de documentos de venta:

1-Albaranes
2-Facturas
3-Tickets

Estos documentos los almaceno en dos tablas maestro/detalle y marco en un campo el tipo de documento que es. Por supuesto cada uno de ellos lleva una numeración independiente.

Cada uno de estos documentos pueden ser de contado o de crédito.

También manejo una tabla de cobros en la que se van almacenando los cobros de documentos de contado más los cobros de documentos que se hayan hecho a crédito anteriormente y los paguen después. De esta manera cada vez que se hace un albarán/factura/ticket de contado al mismo tiempo se genera un registro en la tabla de cobros y cuando se cobra un albarán/factura/ticket hecho a crédito anteriormente igualmente se genera un registro en la tabla de cobros.

Igualmente tienes que contemplar que haya salidas de caja por diferentes motivos (pago a proveedores, retirada de efectivo, etc) que también deberían ir en la misma tabla de cobros con signo negativo.

En una tabla de parámetros generales almaceno un campo con el saldo del último cierre de caja con lo cual la caja del día será el resultado de la suma del saldo inicial +- los movimientos de caja hasta el momento. Cuando hagas el cierre almacenas el saldo en el campo de saldo y marcas los registros de la tabla de cobros como procesados y podrás empezar a almacenar nuevos registros.

Esto es a grandes rasgos la idea del proceso de caja aunque tendrás que resolver temas como el mantener un control de los documentos cobrados/pagados para poder sacar listados de pendientes, contemplar cobrar documentos parcialmente, etc.

Saludos

liito16
21-10-2011, 16:52:40
Muchisimas gracias!, por sus respuestas me han servido.