Ver Mensaje Individual
  #5  
Antiguo 21-10-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.474
Reputación: 21
newtron Va camino a la fama
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
__________________
Be water my friend.
Responder Con Cita