Bug 39512

Summary: Error 500 when applying payout of 0
Product: Koha Reporter: Caroline Cyr La Rose <caroline.cyr-la-rose>
Component: CirculationAssignee: Bugs List <koha-bugs>
Status: NEW --- QA Contact: Testopia <testopia>
Severity: minor    
Priority: P5 - low CC: dcook, gmcharlt, kyle
Version: unspecified   
Hardware: All   
OS: All   
GIT URL: Change sponsored?: ---
Patch complexity: --- Documentation contact:
Documentation submission: Text to go in the release notes:
Version(s) released in:
Circulation function:

Description Caroline Cyr La Rose 2025-04-01 13:27:57 UTC
I was testing something else and did not enter a payout amount, which resulted in an error 500. I think it should result in a warning or error message to tell the staff member that they forgot to enter a value in the payout input.

To recreate:
1. Go to a patron account > Accounting
2. Click 'Create manual invoice'
3. Enter an amount
4. Click 'Save and pay'
5. Click 'Confirm'
6. Click 'Transactions'
7. Click 'Payout amount' (should the button even appear if the patron has 0 due?)
8. Click 'Confirm'

It should say something like "Please enter a payout amount".
Comment 1 David Cook 2025-10-07 05:44:53 UTC
I bumped into this today as well. 

I've noticed if there's no accountlines for the borrower and you do a payout of $0 then it redirects, but if there are accountlines - even if the balances is 0 because of a $10 debit followed by a $10 credit, then you get the 500 error.

Reproduced this in KTD on main. In the plack-error.log you get this error message:

Exception 'Koha::Exceptions::Account::AmountNotPositive' thrown 'Payout amount passed is not positive'
Comment 2 David Cook 2025-10-07 05:46:00 UTC
I suspect that one of my libraries double clicked the button because it was slow to process the first click, so some accidental errors could be prevented by preventing double clicks.

But... the key thing would be to handle the error more gracefully.