lo basico es tener dos tablas una con los datos k no se repiten y otra para el detalle de los articulos Ej.
1.- Factura,Cliente,Fecha,Valor,Impuesto,Descuento,Programa,tipo,Usuario
2.- Factura,Cliente,Fecha,Articulo,Valor,Almacen,Programa
*** Repito la fecha por si necesito un reporte de articulos vendidos por fecha es mas rapido k relacionando con la tabla matriz de factura, Lo mismo aplica para el cliente
******* el campo programa lo utilizo para saber si es venta o devolucion y sumo o resta segun la necesidad.
*** ahora bien aunque sepuede utilizar la misma tabla de ventas para grabar la devolucion en empresas grandes lomejor es tener su propio juego de tablas (devolucion y detalle de devolucion)
Con relacion a la devoluciones lo logico es tener un formulario casiigual a una venta (Nota de Credito de ventas) que tome el articulo devuelto y lo introduzca en el inventario,reste el dinero en el cuadre de ventas del dia,y si es a credito haga un recibo de ingreso automatico.
no es recomendable modificar una factura despues de impresa por normas de contabilidad y proteccion contra robo (la cajera y el facturador se poner de acuerdo la cajera cobra elfacturador modifica y roban) es lo mismo k un cheque un banco no te acepta un cheque modificado o con errores si te equivocaste lo anula y tienes k hacer otro.