While reviewing register details I found that write offs are recorded as cash received. Unless I misunderstand write-offs, no cash is received but is meant to act as a type of forgiveness. This is confusing because it adds to the total cash received in the cash register. The register summary excludes the write off in the total bankable, but without knowing why there is a difference between the total received and bankable it can lead to confusion. The current summary (example): Last cashup: 03/30/2021 01:28 PM Float: 25.00 Total income (cash): 68.95 (68.40) Total outgoing (cash): -5.10 (-5.10) Total bankable: 63.30 Proposed change (example): Last cashup: 03/30/2021 01:28 PM Float: 25.00 Total income (cash): 68.95 (68.40) Total outgoing (cash): -5.10 (-5.10) Total write-offs: -0.55 Total bankable: 63.30 Or even better, do not include write-offs as cash received since no money enters the drawer during that transaction.
Created attachment 119061 [details] Write off error Looking closer at my write off example, the total added to the drawer does not make sense. I've attached a screen shot. The lost item was automatically credited ($10.00) to the patron because the item was returned. The two remaining fines were written off and totaled $0.85. So where did the $0.55 come from?
Fixed in master by 24786 Before that bug, we had: 80 my $cash_register_id; 81 if ( C4::Context->preference('UseCashRegisters') ) { 82 $cash_register_id = $input->param('cash_register'); ... 93 if ( !$cash_register_id ) { 94 my $default_register = Koha::Cash::Registers->find( 95 { branch => $library_id, branch_default => 1 } ); 96 $cash_register_id = $default_register->id if $default_register; 97 } 98 $cash_register_id = $registers->next->id if !$cash_register_id; Which would set the cash register even for a write-off After that patch we get the value from the template - and don't set it for WRITEOFF
(In reply to Nick Clemens from comment #2) > Fixed in master by 24786 > > Before that bug, we had: > 80 my $cash_register_id; > 81 if ( C4::Context->preference('UseCashRegisters') ) { > 82 $cash_register_id = $input->param('cash_register'); > ... > 93 if ( !$cash_register_id ) { > 94 my $default_register = Koha::Cash::Registers->find( > 95 { branch => $library_id, branch_default => 1 } ); > 96 $cash_register_id = $default_register->id if > $default_register; > 97 } > 98 $cash_register_id = $registers->next->id if !$cash_register_id; > > > Which would set the cash register even for a write-off > > After that patch we get the value from the template - and don't set it for > WRITEOFF Bug 24786 is in 20.11, so it should be ok in all maintained versions.