I spend more time trying to get your expense and mileage templates to import than it would take to enter everything manually.
When an upload fails, it simply rejects the entire file, giving a vague “computer says no” message about a single transaction. You fix, upload again, and then tells you about the next one.
Why not import the full file, highlight the specific lines with errors, and allow the user to correct them directly within the app? This would let users fix issues on the fly rather than forcing them to fix one line, re-upload, then repeat.
Currently, I’m battling to upload mileage data where it claims “user on line 52 can’t be found.” It’s the same user as on every other line, and after deleting lines 52, 51, and all lines below 50, the error still appears. The user field data is identical across all entries, so this makes no sense.
Your rejection process is unnecessarily painful and your error messages are too vague to be useful. In 2025, it’s unacceptable for a system to fail to pinpoint what is wrong with the data.
Additionally, your system should recognise when a user tries to upload a mileage template into the expenses section (or vice versa) and prompt: “It looks like you’re trying to upload a mileage template. Would you like to import it to the mileage section instead?” Instead, it forces the user to exit, re-navigate, and re-upload.
This is basic user experience design, and the current workflow feels unnecessarily frustrating and outdated. Please consider improving the upload process to save your users time and reduce friction.