Veja o caso como é na prática.
O funcionário vai comessar o serviço, no 'caixa' dele quando ele abre a gaveta esta vazio sem dinheiro, mas também poderia ter um valor para troco, seria o TROCO-INICIAL.
No programa teria que informar qual o funcionário abriu qual caixa e se tem troco inicial, qual é o valor. Essa informação seria um registro numa tabela, que marcaria todas as aberturas de caixa (essa tabela também poderia ter os fechamentos, ou os fechamentos poderiam ser em outra tabela).
A idéia é dar condições do gerente por exemplo, saber qual funcionário abriu um caixa em qual dia, e qual seria o troco inicial dele.
Pode haver outras coisas, que devem ser contadas, ou não dependendo do caso.
1) Afastamento temporário do caixa. O caixa foi ao banheiro, fechou temporáriamente o caixa, essa informação talvez o gerente queira saber também, quando ele fechou, por quanto tempo, talvez porque, quanto tinha de dinheiro no caixa naquela hora.
2) Troca de operador. O operador ficou doente e teve que sair. Então outro vem no lugar, daí tem que marcar o quanto tinha de dinheiro do caixa anterior e o quanto foi conseguido no caixa novo. Também pode haver trocas normais, como por troca de turno.
3) Falta de dinheiro no caixa. Dependendo do caso, o valor de troco pode não ser o suficiente, para uma devolução de mercadoria por exemplo, então o caixa deveria pegar o dinheiro na tesouraria por exemplo, ele estaria então fazendo uma REFORÇO-DE-CAIXA.
4) SNGRIA. É a operação de tirar o dinheiro no caixa e levar para ser depositado no banco ou para a tesouraria por exemplo, teria que informar o quanto foi em dinheiro e em cheque.
Mas derrepente o teu caso pode não precisar de todas essas opções.