Help Center

Bulk Import — Customers & Vendors

For: Anyone adding many customers or vendors at once

Upload many customers or vendors at once from an Excel/CSV-style sheet instead of creating them one by one. This page explains what each row needs and what will cause a row to be rejected.


How it works

Every bulk upload has two steps. You run the same sheet through a Check first, fix anything it flags, then run it again to actually Create the records.

StepWhat it does
1. Check (recommended)Reviews your entire sheet and lists every row with a problem — without saving anything. Fix the issues and check again.
2. CreateOnce every row passes, upload again to actually create the records.

Danger: Creating is all-or-nothing: if even one row has a problem, none of the customers/vendors are created — the whole batch is rejected and rolled back. This is why checking first is strongly recommended.

Danger: Always mark each row explicitly as Customer or Vendor. A row left blank passes the Check step but is silently created as a Vendor on the final step — mark exactly one role to avoid surprises.

Required in every row

These must be filled in correctly on every row:

FieldWhat's needed
Display NameA unique name. It can't repeat elsewhere in the same sheet, and can't already exist for the same role (see Duplicates below).
Company NameRequired on every row.
Primary Contact First NameRequired on every row.
Business Partner TypeExactly 'Business' or 'Individual'.
GST TreatmentRequired on every row.
CurrencyA currency code (e.g. INR, USD) already configured for your company — it isn't created from the sheet.
Role (Customer / Vendor)Mark each row as Customer or Vendor. Don't leave it blank (see the warning above).

Optional fields with rules

These are optional — but if you fill them in, they must follow these rules:

FieldRule if you fill it in
EmailMust be a valid email address format, e.g. name@company.com.
Phone NumberDigits only — no +, spaces, or dashes.
GSTIN/UINNormally optional, but becomes required if GST Treatment is 'Registered Business Regular'.
Tax PreferenceMust be 'Taxable' or 'Tax Exempt'.
Payment TermsOne of: Due On Receipt, Due end of the month, Due end of next month, Net 15, Net 30, Net 45, Net 60, Net 75, Advance, After Dispatch.

Must match existing records

Addresses follow a Country → State → City hierarchy, applied separately to Billing and Shipping. You can leave an address blank, but if you fill in part of it, the level above must also be filled in. Country, State, and City must each match real names already in the system.

FieldWhat it must match
CurrencyMust be a currency code already set up for your company.
Billing / Shipping CountryMust match a real country name in the system. Country can stand alone.
Billing / Shipping StateIf a State is entered, both a City and a Country are required, and the State must belong to that Country.
Billing / Shipping CityIf a City is entered, a State is required (and via the State, a Country). The City must belong to that State.

Duplicates & uniqueness

SituationWhat happens
'Rahul Traders' exists as a Vendor, and you import 'Rahul Traders' as a CustomerAllowed — the same name can exist once as a customer and once as a vendor; roles are tracked separately.
'Rahul Traders' exists as a Customer, and you import another 'Rahul Traders' as a CustomerRejected — it already exists in that same role.
The same Display Name is used twice in your sheetRejected — names must be unique within the upload (not case-sensitive).

Common mistakes

If a row is rejected, it is usually for one of these reasons:

If this happens……here's what it means
Display Name missing, or used twice in the sheetEvery row needs a name, unique within the upload.
Display Name already used before in the same roleThat customer (or vendor) already exists — use a different name, or the other role.
Business Partner Type blank or misspelledMust be exactly 'Business' or 'Individual'.
Phone includes +, spaces, or dashesEnter digits only.
GST Treatment is 'Registered Business Regular' but GSTIN/UIN is missingGSTIN/UIN becomes mandatory the moment that treatment is selected.
Currency code missing or not set up for the companyOnly currencies already configured for your company can be used.
City filled but State blank (or State filled but City/Country blank)Follow the Country → State → City hierarchy.
Country / State / City name doesn't matchMust match existing names; State must belong to the Country and City to the State.

What happens on the final step

  • Each record is created with a sequential customer/vendor number (using your company's numbering).
  • The role you marked decides the account used (receivable for customers, payable for vendors) and the number prefix.
  • Billing and shipping addresses are attached as entered, matched to the country/state/city records.
  • The whole batch is written together in a single transaction — if anything fails, nothing is saved.

Recommended way to work

  1. Build your sheet with all the customers/vendors you want to add.
  2. Mark every row explicitly as Customer or Vendor.
  3. Run the Check step first and review the list of problem rows.
  4. Fix each issue in the sheet using the tables above as a guide.
  5. Run the Check step again until every row passes, then run Create.
  6. Tip: if you edit the sheet after checking, run Check once more before creating — new mistakes can slip in.