Fallback to Company Default Task Rate broken when selecting a Client with no custom rate set (v5.13.44 Self-Hosted)

Version ie v5.13.44

Environment VPS Zip

Checklist

  • Can you replicate the issue on our v5 demo site https://demo.invoiceninja.com
    • No, seems to work on demo
  • Have you searched existing issues?
    • yes
  • Have you inspected the logs in storage/logs/laravel.log for any errors?
    • no errors

Describe the bug

It appears the dynamic task rate fallback hierarchy is not behaving as expected when assigning a client to a new task. Selecting a client whose individual “Task Rate” setting is blank overrides and clears out the pre-populated Company Default Task Rate.

Steps To Reproduce

Set a global default rate under Settings > Task Settings > Default Task Rate (e.g., $50.00).
Ensure a specific client has no custom hourly/task rate set (the field is left completely blank in client settings).
Go to Tasks > Create Task.
Observe that the Rate field correctly pre-fills with the company default ($50.00).
Select the client from step 2 in the client dropdown.

Expected Behavior

Since the selected client has no custom rate specified, the task form should maintain the Company Default Rate ($50.00), or fall back to it upon saving.
Actual Behavior:
As soon as the client is selected, the reactive form reloads and clears the Rate input field (setting/leaving it blank). Upon saving the task, no default rate is inherited or calculated, effectively leaving the task rate at $0.00.

Additional context

Browser cache cleared and tested across multiple browsers.
Workaround currently requires manually re-entering the hourly rate on every new task or explicitly setting a rate on every individual client profile.

Screenshots

Logs

Hi,

Do you see a difference in the web vs desktop apps?

I see the problem in Web & React App, but not in macOS desktop app.

Thank you, in that case please create an issue here to track the problem.

1 Like