Your product has great potential.
This is an extension to the tag hierarchy suggestion. The tag hierarchies should be multi-dimensional......i.e., tags should be able to be present in several hierarchies and the user should be able to navigate the hierarchies. Example:
The user needs an interface to create and manage the hierarchies.
to assign tags to file the user types only enough characters to resolve the tag at the current level of the hierarchy. Example:
User typing: a,r.t,m.p,h,2.d;2015-04-03 would assign the tags:
accounting,receipt taxable,maybe and project,HW,2-a-hardware-prj
Obviously, the user needs to type enough characters to resolve to a unique tag before typing , or . The ; allows the user to enter data after the tag. For example d;2015-04-03 stores that date with the date-time tag. The ,.; chars do not require a shift.
It should also be possible for the user to designate that assignment to one hierarchy automatically initiates assignment to another hierarchy. Let's say anything assigned to Tax-Doc is also automatically assigned to Accounting.
I have a design in mind for a graphical UI for managing this process, but it would be difficult to describe in text only.