We do have similar examples. It is typical in Supply chain.
Based on today's demand & supply situation, I have a gap of 50 units on a particular material. I want to release a Purchase requisition to buy 50 units of the material. System calculates for all materials that need to be top up like this. Lets call them "planned orders". If the planner decides to convert them to real orders, in this case as a "Purchase requisition" for exection, the planner has to tick on a boolean called "Release". Then at the end of the day or after the planner reviews all lines, an action has to be triggered by the user to import all the selected planned orders to get converted as "Purchase requisitions". The purchase requisition is a record and can be tracked when it was created, when it was delivered etc. Whereas planned orders are dynamic, changes with time & data. These cases need an import, typically triggered by the supply chain planners.
I totally agree the action should not prompt the user when importing which is what I stated:
First, it is really not best practices to have endusers upload files to a production model because:
could possibly lose data integrity
data can no longer be audited back to the source (user can manipulate/change the data before they upload it)
when a user runs an action, it blocks the model for input by others, so now there could be a concurrency issue
Second, when a member or metadata is loaded, the member has to go into a list first and then the supporting metadata or transactional data goes into a module. So, if you are importing a new member to the list and then want to load supporting information to a module, you can do that with two actions:
load member to list
load supporting data to module.
By doing that, it will only load the data from that one file.