I'm designing a form with which users will be able to bulk add some items into our database. The database consists of 16 columns including the delete button, it looks like this:

enter image description here

There are obvious problems, for example the "System Type" column is not wide enough to be displayed, it needs to be expanded.

Another problem is that every field is required and people could be adding 20 - 30 items at a time. In this case an expanding panel in columns of 3 probably isn't the most optimale since they have to click to open and close on every item.


The bulk addition is supposed to mimic the spreadsheet the data originally comes from, instead of maintaining code to import an ever increasingly complex spreadsheet, I am trying to do away with the spreadsheet all together as it decreases the complexity over the long run, a user bulk adding items would typically look something like: enter image description here

Edit 2

All fields are mandatory and have to filed out for each item, the fields which can have default values set along the top are the only ones which are repeated

Do you have any suggestions on how this design can be improved?

  • Why is the bulk addition so convenient? Is it that some fields (columns) have the same value (e.g. Manufacturer Code)? Can you share a typical user actions when adding bulk?
    – Mike
    Commented Feb 22, 2019 at 9:45
  • see edit should clear that up
    – Dan
    Commented Feb 22, 2019 at 10:07
  • Your first edit got me into thinking - why is it that your users keep the data in the spreadsheets and need to input it again into your system. Perhaps it can be done the other way round - they input it into your system and generate, say, a CSV for their spreadsheets?
    – Mike
    Commented Feb 22, 2019 at 11:02

2 Answers 2


My idea was similar to the one of colmcq's. Now as I can see the default values I came up with the following:


download bmml source – Wireframes created with Balsamiq Mockups

You can see a group of "common values" next to the "default values". There you place all the values that can be common in the whole batch and the user can chose (using the checkboxes on the left) whether to apply certain common value to the table below.

The common values work as follow:

  • on unchecking the checkbox a respective column will appear containing either default value or the value chosen in "common values".
  • on checking the checkbox the respective column will disappear making the table below smaller and simpler.

Now it is up to the user to divide their work in the smart way so the spreadsheet is sorted by most common values

  • You're welcome. I hope you found it useful.
    – Mike
    Commented Feb 26, 2019 at 11:31

Looking at your design I suggest that users will need to:

Identify what they want to add Input a sub set of attributes

It feels like some of these fields repeat themselves eg name and alias, manufacturer and supplier code. I think a round or two of user research to see what users need to input.

Objective: minimise some of the lesser used fields so that commonly used, important fields take up most of the visible space.

But do some user research to find out

  • I have updated my question to explain that all fields are mandatory and the fields which can have default values which are the ones which can be set as default values along the top
    – Dan
    Commented Feb 22, 2019 at 10:17
  • My post still makes sense. You need to prioritise your interface to give more space to more important fields. The goal would be the user leaves default values for the rarely accessed fields.
    – colmcq
    Commented Feb 22, 2019 at 10:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.