Top Five Mistakes when Creating a CSV Importer


Building a CSV/Spreadsheet importer is not an easy task. Aside from the development time and resources it takes to create it, there are many potential pitfalls that can make your CSV importer an unpleasant experience for a new visitor to your service or site. In this article, we will cover a few of the common mistakes. 


Lack of Flexibility

Your customer’s data is rarely in a format that matches yours, and when building your CSV importer, the goal is to make it as easy as possible to successfully upload their data into your system. Some attempt to achieve this by enforcing strict guidelines and matching requirements, therefore ensuring that if guidance is followed, the import is successful. However, this approach often negates the purpose of the CSV importer, as the customer performing the import has to essentially re-format/rewrite their CSV or spreadsheet to match the requirements of the system. However, the point of a strong CSV importer is that the user should not have to make significant changes to their file to succeed.


Unclear Guidance

As we mentioned, there will always be data manipulation required to make the data fit the target site or system. If it is unclear what changes are required, the import is almost guaranteed to fail. There are any number of questions that must be answered so the client achieves success on your system. 

  • How do I get all my existing data into a new template?
  • What fields are required, and what data needs to go in these fields?
  • Is there a size limit to what the importer can handle?
  • Does the importer only accept a particular CSV or spreadsheet format? (UTF-8, for example)
  • Do columns need to match? In a particular order as well as name?
  • Can data be updated/fixed during import, or will you have to abort, fix and retry?
  • Is there a template that needs to be followed?
  • Will the importer upload the rest of the data if an error occurs?

These questions and more must be answered for the customer to succeed. If the guidance provided is unclear, inaccurate, or inadequate, believe me, your organization will hear about it.


Unhelpful Errors

One of the most common issues seen in in-house CSV importers today is the lack of guidance provided by error messages when a problem occurs. Many importers are not equipped to tell the user what the issue is, or if it does, where the problem lies. Take for example this example from’s forum pages. 

Technical error message when importing

As you can see, the error message produced does not offer much in the way of explanation. The import stops, and the user is essentially left to guess at the issue, and comb through the CSV or Excel file for potential problems.

A similar example is found in JIRA/Confluence. In this one, we see the same vague error message, as well as an implication that the data may be in an unstable state. This sort of error message is frightening to the user. Was the data lost or corrupted in the upload process? If you got this error, would you want to risk spending an hour or two combing through your data, combing through documentation for clues as to the issue, only to worry that the importer might corrupt the results again?

Note: This issue is not typically a corruption issue, but the error message does not make this clear. There might be very little wrong with the data imported, but the user might believe he/she has to start over.)

Error message when importing data

No matter what the issue is, ill-defined error messages once again puts the onus on the user to troubleshoot the issue, leading to a poor user experience.


Lack of Validation

If there is an issue with an import, and the error message is helpful, a lack of validation in the importer can still make the experience a troublesome one. Perhaps the error tells you that there is an email address that is not properly configured. This provides clear direction. However, without validation, where the incorrect entry is, or whether it is the only one, is a mystery for the user to discover. This is not a big issue in a smaller file, but in a CSV of 1000 rows, this can mean a great deal of effort.


Poor User Flow/Clunky Interface

Ideally, your importer should be simple and intuitive to use, following a logical flow to the desired result. If the UI is poorly designed, with headers that are distracting or hard to read, or the web UI does not look inviting or doesn’t fit the style and logic presented by your organization, it can be more than a little disruptive to your users. For example, if the user flow requires you to return to the beginning of the process for minor errors, or if the button to initiate the CSV upload is not prominent, the user will not find your importer a positive experience. It is important to deliver a flow and user interface that reflects the experience you want your customer to have with the product itself. 


How We Can Help

The above guidance outlines the key challenges an organization might see in developing their own CSV importer. The above mistakes can prove costly to an organization, whether established or just starting out. It is important that each public-facing component is representative of the experience you are trying to cultivate, and this is difficult to do if importing tabular data is not your ‘bread and butter’. For Flatirons Fuse, it is. We know the pain points well, and have dedicated considerable resources to solving all the above problems, from in-system guidance, front and back-end validation, an intuitive UI and user flow, to branding options that ensure a seamless user experience. Why spend hours of development time building a solution of your own that may be subject to any number of the above issues? Give us a shout and try Flatirons Fuse instead.