Is there any way, without modifying/hacking the core, to provide users with better and more meaningful feedback when something goes wrong?
My end users don't have access to the application logs, so when an error occurs they often have to stop working until I can investigate it. In many cases, I then find that the issue is simply a basic validation error that could have been communicated directly to the user.
This is becoming quite frustrating for my users, and I can understand why. I don't think users should be expected to check logs for what are, in perhaps 90% of cases, relatively straightforward validation or data-entry errors.
To give an example of the kind of issue I'm referring to, this is one that recently stopped an end user from completing their work. I had to stop what I was doing to investigate it and explain the problem, resulting in several hours of lost productivity:
[2026-09-02 13:18:36] ALERT: (0) Address cannot have more than 3 lines :: POST /Invoice/6a916f046c8031e7a/validateEInvoice :: /var/www/html/custom/Espo/Modules/Sales/vendor/josemmo/einvoicing/src/Traits/PostalAddressTrait.php(31)
In this case, the actual problem was simply that the address contained more than three lines. Ideally, the user should have received a clear message such as:
rather than a generic error requiring someone with access to the logs to diagnose it.
I'm more than happy to implement a solution myself, and I'm willing to use anything that is update-safe. I just don't know where the best place to start is.
Is there an established way in EspoCRM to intercept these types of exceptions/validation errors and present a user-friendly message without modifying the core?
My end users don't have access to the application logs, so when an error occurs they often have to stop working until I can investigate it. In many cases, I then find that the issue is simply a basic validation error that could have been communicated directly to the user.
This is becoming quite frustrating for my users, and I can understand why. I don't think users should be expected to check logs for what are, in perhaps 90% of cases, relatively straightforward validation or data-entry errors.
To give an example of the kind of issue I'm referring to, this is one that recently stopped an end user from completing their work. I had to stop what I was doing to investigate it and explain the problem, resulting in several hours of lost productivity:
[2026-09-02 13:18:36] ALERT: (0) Address cannot have more than 3 lines :: POST /Invoice/6a916f046c8031e7a/validateEInvoice :: /var/www/html/custom/Espo/Modules/Sales/vendor/josemmo/einvoicing/src/Traits/PostalAddressTrait.php(31)
In this case, the actual problem was simply that the address contained more than three lines. Ideally, the user should have received a clear message such as:
"The address cannot contain more than 3 lines. Please shorten the address and try again."
rather than a generic error requiring someone with access to the logs to diagnose it.
I'm more than happy to implement a solution myself, and I'm willing to use anything that is update-safe. I just don't know where the best place to start is.
Is there an established way in EspoCRM to intercept these types of exceptions/validation errors and present a user-friendly message without modifying the core?

Comment