I have a client whos software contains lists of companies.

A company can have users, locations and other attributes associated with it.

Users have complained that they cannot merge two companies together.

When a company is merged the user must be able to pick:

a)which company is going to inherit the data of the other b)which data of each company to exclude

Here is an example wireframe of the kind of thing I have in mind:

enter image description here

User has clicked Company A from a table. 'Merge-able' companies are provided in a list. The user has selected Company B. The user can view (and edit) details of each company by following the View details link under the drop down menu. When the user clicks Next a list of Company locations of Company B is provided. The user selects which ones to merge and clicks Merge. The companies details are merged.

(There might be an intermediary step where the user selects which users to merge but that's not important for the purposes of illustrating the scenario.)

My question: I'm not sure this is the best approach as it fragments the process into steps. Would it be better to display data about each company side by side? Have you any precedent patterns?

I am aware that similar questions have been asked for merging contact data but I feel this question is different enough to warrant its own thread.

Edit updated wireframe enter image description here

BTW both non merged companies are held on the system so the merging process is never irreversible.

The user can specify which profile details to use as default via radio control (looking at it again, these aren't needed as the drop downs define this!)

The choose users/locations brings up easy to check list of all users/locations from both companies, default 'all' is checked but user can deselect certain users/locations if s/he wants.

Ignore the post it

  • is it possible that two different companies share no fields in common or do all fields in each record from one company exactly line up with records from a different company?
    – DaveAlger
    Mar 24, 2015 at 13:23
  • the attributes are exactly matched
    – colmcq
    Mar 24, 2015 at 13:58

1 Answer 1


Use a non-destructive operation

A merge company transaction is both complex and possibly destructive. A delete company operation, on the other hand, is destructive but not complex at all.

You would need to test this solution with users but the following solution should have everything you're looking for broken down into a few simple and non-destructive interactions...

1. Make it easy to manage the list of all companies

It looks like you already have a way to see all the companies. I would make it so one or more companies in the list could be selected and then have action buttons appear based on what's selected (kind of like gmail) such as Add new, Merge selected, Delete selected ...

2. Make it easy to manage the list of all records in a company

You may have already done this as well but having a good filtering mechanism on a list of records in a company will allow users to quickly see the exact subset of items they want to combine as one record, delete, view, etc.

The actions that could be performed would change based on the selected items once again such as Add item, Edit item, Combine selected items, Delete selected items, ...

3. Automatically name the result of a Merge and make it easy to edit

The final piece to the puzzle is making it so an entire merge operation can be done in 3 clicks. Select "Company A", select "Company B", click the "Merge selected" action.

The result would be a new company called "Merged Company A, Company B" with all the records from both. This is non-destructive and let's the user get things just how they like it before removing one or both of the starting companies.

It should be easy to update "Merged Company A, Company B" using the actions that they are already familiar with.

  • I've updated my wires and some of your answer ties in with what the interface does. Thanks!
    – colmcq
    Mar 26, 2015 at 16:55

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.