Counter-intuitively, making terminal software is harder because you have to think hard about the UX. You have to design how the accountant (or the user) is going to use, you have to make shortcuts, you have to think about the progression, etc... This is not the case for what's happening on GUI-land where the "designers" just randomly put texts, buttons, buttons that look like text, input boxes, tables, etc... It's all there just click a few buttons to get there.
GUI software for professional use takes the same amount of care to develop. I've been involved in data entry applications used for call center agents, cashiers and industrial control. A lot of care is taken about tab-order, keyboard shortcuts, proper use of F-keys, readability of everything, color-coding related functions and stability of known workflows. The advantage that GUI brings to the table is that a novice or one-time-user can make progress by just using the mouse as always. But e.g. with tooltips, a mirrored F-key toolbar (think Norton/Total/Midnight Commander), always on hotkey hints, learning a more efficient workflow is made possible.
One of the pieces of software I was most proud about was a data entry system for a P&C insurance company, the old policy subscription terminal-based system allowed for about 200 policies/hour by user, then they "upgraded" to a GUI that slowed them to about 20/hour and I built a desktop application that allowed them to go back to 200 policies/hour but with stuff like auto-filling, geolocation, error correction so the data quality was much higher.
I worked with the end users a lot to make sure the UI matched the workflow, iterated over several versions and it definitely paid off.
This makes intuitive sense, but isn't an idea I'd thought of before. Are there any resources you'd point to as an intro to terminal/CLI/etc UX (especially any that contrast against GUI instincts)?