Tienes que guardar mas que el ticket la transacción realizada. El ticket únicamente muestra el detalle de la transacción y obviamente su número.Y sí la tabla puede engordar un poco pero realmente no necesitas muchos datos que guardar Yo le pondría:
Código:
FECHA
NUM_TRANSACCION
HORA
NUM_TERMINAL
NUM_OPERADOR
TOTAL
IMPUESTOS
FORMA_PAGO
REF_APROBACION_TARJETA
Código:
NUM_TRANSACCION
NUM_ITEM
CODIGO_ITEM (VENTA, DEVOLUCION, SERVICIO, ETC.)
UPC_EAN (CODIGO DE BARRA SI APLICA)
DESCRIPCION
IMPORTE (PUEDE SER POSITIVO (VENTAS) O NEGATIVO (DEVOLUCIONES O CANCELACIONES)
Con esas 2 tablas tienes para elaborar y controlar las transacciones, hay que tener en cuenta que los campos que se toman de otras tablas (operador, upc, descripcion, etc.) deben almacenarse en la tabla y no como referencia ya que si por algún motivo se borrase el registro la tabla que usamos tendriamos incompletas las transacciones, es decir. Tu T-Log (registro de transacciones) debe ser inmune a los cambios en otras tablas del sistema y poder ser leído sin necesidad de contar mas que con estas dos tablas.