Newbie guidance - is CloverETL suitable for this task?

Apologies for the newbie question - but having completed the intro guides I think CloverETL will do what I need, but before I make a start I thought I would check with the experts.

Here is the use case:

1. Group company which owns acquired businesses scattered around the world.

2. Each business maintains their own employee file in whatever application they have. There is no standard HR system.

3. Group wants to keep a central file of employees (approx 10,000 records) with only a handful of of key fields (name, location, email address, function, job title etc.) accurate as of the previous month end.

4. Each business can output an Excel file containing basic data, but each is in a different format (different field order, different field names, different codes.

5. Group does not want to impose overhead on the businesses and demand a common format file - would prefer to receive what the businesses can provide and work from that.

So I need a tool to:
A. Take input from several different Excel layouts, make all codes common, check for obvious duff data (email address, telephone numbers etc.) and output one file per business in a common format.
B. Combine the newly created individual inputs into one common file.

In an ideal world:
I could update the master list from input files that only contain changed records, rather than create a new master list every month. I think this is significantly harder to achieve.

Question - am I looking at the right tool in CloverETL?

Hi,

The scenario you have described can be easily done by CloverETL. You do not even have to copy files to your computer since you can work with files remotely. With CloverETL you can also read data from other types of sources (web services, databases etc.) – that means whenever you decide to use another application that does not export data to Excel, all you will need to do is to replace a component in the graph.

The last thing you have mentioned is UPSERT (insert/update) operation. Again, there are multiple options how to do this. Probably the most straightforward solution would be using DataIntersection component (http://doc.cloveretl.com/documentation/UserGuide/index.jsp?topic=/com.cloveretl.gui.docs/docs/dataintersection.html).

Hope this helps.