We need to build a tool that allows data entry from people to find transactions from an external data source and match them to our transactions. The transactions don't always align by a particular field so it may require searching across multiple fields. We currently have two designs, but would appreciate any other better options.
Both are searchable tables.
The first design is a table with universal search that searches across all fields for a matching term and returns all rows that contain the term. The user can further filter by sorting Ascending or Descending on any particular row.
The second design came from the scenario where the user is searching for "car" hoping to find records where the field "type" is "car" and receives back results that include the "name" "carlos". The solution here was to allow the user to click on any header and enter a search term, which would create a tag and there would be a search performed for that specific term on that column as well as additional filtering for any terms added to other columns on those respective columns.
The counter argument to the second approach is that while theoretically more efficient because it allows the user more fine grain control, it will not actually be more efficient due to the cognitive load of the user needing to first think about which field will they need to enter the search term on and then locating the field (there are 10 columns and some need to be made unhidden due to not being visible by default for lack of on screen space) and then thinking about the next field and locating that field, now multiply that by dozens of transactions the user will need to find per day and they may get mentally fatigued faster than just relying on muscle memory and constantly going to universal search.
What would be the optimal solution, perhaps it's some option not even considered?