The Data Import Tool is a great way to upload (or edit) bulk data, specially master data, into the system. To Open the data import tool, you either go to Setup or go to the Transaction you want to Import. If Data Import is allowed, you will see an Import Button: Start Import The tool has two sections, one to download a template and the second to upload the data. (Note: Only those DocTypes are allowed for Import whose Document Type is "Master" or Allow Import property is set.) ### 1\. Downloading The Template Data in ERPNext is stored in tables, much like a spreadsheet with columns and rows of data. Each entity in ERPNext can have multiple child tables associated with it too. The child tables are linked to the parent tables and are implemented where there are multiple values for any property. For example an Item can have multiple prices, An Invoice has multiple Items and so on. Download Template * Click on the table you want to download or "All Tables" * For bulk editing, you can click on "Download With Data" ### 2\. Fill in the Template After downloading the template, open it in a spreadsheet application and fill in the data below the column headings. ![Spreadsheet]({{docs_base_url}}/assets/old_images/erpnext/import-3.png) Then export your template or save it as a **Comma Separated Values** (CSV) file. ![Spreadsheet]({{docs_base_url}}/assets/old_images/erpnext/import-4.png) ### 3\. Upload the .csv File Finally attach the .csv file in the section. Click on the "Upload and Import" button. Upload #### Notes: 1. Make sure that if your application allows, use encoding as UTF-8. 1. Keep the ID column blank for new records. ### 4\. Uploading All Tables (Main + Child) If you select all tables, you will get columns belonging to all the tables in one row separated by `~` columns. If you have multiple child rows then you must start a new main item on a new row. See the example: Main Table ~ Child Table Column 1 Column 2 Column 3 ~ Column 1 Column 2 Column 3 v11 v12 v13 c11 c12 c13 c14 c15 c17 v21 v22 v23 c21 c22 c23 > To see how its done, enter a few records manually using forms and export "All Tables" with "Download with Data" ### 5\. Overwriting ERPNext also allows you to overwrite all / certain columns. If you want to update certain columns, you can download the template with data. Remember to check on the “Overwrite” box before uploading. > Note: For child records, if you select Overwrite, it will delete all the child records of that parent. ### 6\. Upload Limitations ERPNext restricts the amount of data you can upload in one file. Though the number may vary based on the type of data. It is usually safe to upload around 1000 rows of a table at one go. If the system will not accept, then you will see an error. Why is this? Uploading a lot of data can cause your system to crash, specially if there are other users doing things in parallel. Hence ERPNext restricts the number of “writes” you can process in one request. *** #### How to Attach files? When you open a form, on the right sidebar, you will see a section to attach files. Click on “Add” and select the file you want to attach. Click on “Upload” and you are set. #### What is a CSV file? A CSV (Comma Separated Value) file is a data file that you can upload into ERPNext to update various data. Any spreadsheet file from popular spreadsheet applications like MS Excel or Open Office Spreadsheet can be saved as a CSV file. If you are using Microsoft Excel and using non-English characters, make sure to save your file encoded as UTF-8. For older versions of Excel, there is no clear way of saving as UTF-8. So save your file as a CSV, then open it in Notepad, and save as “UTF-8”. (Sorry blame Microsoft for this!) {next}