CSV Imports - meanings of headers

I’m an absolute newbie trying to understand the import of data from our existing platform into ERPNext. I’ve downloaded some of the csv import templates, but I’m struggling to work out what some fields are. e.,g in the customer import template there’s fields “allowed to Transact with”, Party Account, but I can’t work out where these records are stored in a Customer record and what they relate to.

Hi @Ray_Daley

“Allowed to Transact with” is a field that has value “Company” by default. Please see the attached screenshot below. You need not worry about it.
I think it is a flag in the system to define that the customer can only transact with Company (using ERPNext) and not with other customers or suppliers

Thanks Manan. I was struggling with it because it was a mandatory field on the export/import process.

You do not have to fill in value for each customer. Please check out this screenshot.
Whenever you are stuck with what the meaning of a field is, try to add some values via ERPNext form and then export the data with values to figure out what could be the possible meaning or significance of that field.

Thank you Manan

1 Like

Here is a good rule of thumb for populating data in the Import Templates.

If you look at the columns in any of the templates, you will see that some very narrow columns only have the " ~ " symbol in the header. This symbol is used to mark off sections of the template.

Starting from the left, only the mandatory columns up to the first ~ symbol are required.

From this point on, you must pay attention to the columns that are grouped ‘between’ the ~ symbols. If you wish to populate data in any column between a pair of ~ symbols, then you must also populate any mandatory columns in that section.

However, if you do not have the data to populate any of the columns between a pair of ~ symbols, then it is safe to leave all columns in that section empty.

Remember, if you populate ANY column (even if it is not a mandatory data column) between a pair of ~ symbols, then you must, at minimum, also populate ALL mandatory columns in that same section.

This means it is safe to leave many parts of the template empty (except for the first columns before the first ~ symbol).

Also, when you want to create NEW records with an import you populate all the mandatory columns in the first section EXCEPT for the very first ID column. When you are MODIFYING data with an import, you must download the template ‘with data’ so the first ID column is pre-populated by the system, then modify the columns you are interested in changing.

So, if the first ID column is populated, you are MODIFYING data in the import, and if the first ID column is blank, you are ADDING new records with the import.

Hope this helps…



Also it is helpful to have a ‘sandbox’ system to experiment on while learning ERPNext. If you have one or are comfortable using the restore functions to go backwards after your experimental data, then you will have an advantage over having to ask questions in the forum and waiting for answers.

If you have a sandbox, then try adding some fake records of each type into the system and then download the templates for them to include your fake data. This will give you a greater understanding of how some of the columns are used by the system.

If you are using v11 ERPNext, then the way to download pre-populated templates is to start with telling the import interface you want to 'modify" existing records. Then you will be able to download a template with all the current data pre-populated.

Hope this helps…


thank you - that is very helpful