NepalHRM
People & leaveFor HR and admins

An Employee Import Keeps Failing

The import preview shows red rows, or the confirm step fails after everything looked fine.

The short answer

The import validates every row and shows you a preview before writing anything, so red rows cost you nothing but a re-upload. Four failures account for nearly all of them: a department or position name that does not match the existing list exactly, an email already used somewhere on the platform, a salary written with a currency symbol or commas, and a hire date the parser cannot read. Create your departments and positions first, then fix the file and re-upload as often as you need. Nothing is written until you confirm, and the confirm runs in a single transaction so a failure part-way rolls the whole batch back.

What the message on your screen means

These are the strings NepalHRM shows, word for word. Find yours and read across.

  • Department not found

    What it means
    The department name in that row does not exist, or does not match an existing one exactly. Matching is by name and it is case sensitive.
    What to do
    Create the departments and positions first, then make the spelling and capitalisation in the file match them exactly.
  • email already used

    What it means
    That address already belongs to an account somewhere on the platform, not necessarily in your company.
    What to do
    Do not invent a variant address. Invite the person to your workspace instead, which links the existing account.
  • invalid salary

    What it means
    The value could not be read as a plain number, usually because it carries Rs., a comma or a decimal.
    What to do
    Strip the formatting in your spreadsheet before exporting. 50000, not Rs. 50,000.

Work through these in order

Cheapest first. Each step says what you should see if it worked, so you can stop as soon as it does.

  1. Download the current template

    Column headers change over time, and a template kept from an earlier import can drift out of date. Take a fresh one each time rather than reusing last year's file.

    Your headers match what the importer expects.

  2. Create departments and positions before importing people

    The importer matches them by name, so they have to exist first. This single step removes the most common batch of red rows.

    No row fails on a missing department or position.

  3. Clean the salary column in the spreadsheet

    Remove currency symbols, thousands separators and decimals before exporting to CSV. The importer reports an invalid salary rather than silently reading a formatted value as something much smaller.

    The salary column validates.

  4. Re-upload until the preview is fully green

    The preview is free. Nothing is written until you confirm, so there is no cost to fixing and re-uploading several times.

    Every row is green.

  5. Let the system generate employee IDs

    Supplying your own IDs is the usual cause of a confirm that fails after a clean preview, because two rows collide on an identifier. Leave the column out and let it auto-generate.

    The confirm completes.

  6. Decide about invitations before you confirm

    Each new employee also gets a user account, and by default an invitation email goes out. If you are staging data ahead of a launch, choose not to invite yet.

    People are created without being told before you are ready.

What the system does

Required columns
first name, last name, email, hire date, department, positioneverything else is optional
Department and position matching
by name, case sensitiveengineering does not match Engineering
Email uniqueness
across the whole platformnot just within your company
Salary format
plain integerno currency symbol, no commas, no decimals
Confirm
one transactiona mid-batch failure rolls everything back

Still stuck? Send us this

Include all of it in the first message and the first reply back is usually a fix rather than a question.

  • The exact error text against one failing row.
  • That row from the file, with anything sensitive removed.
  • Whether the departments and positions in the file already exist.
  • Whether the failure is on the preview or on the confirm.
Common questions

Asked most often

Matching is by name and it is case sensitive, so engineering will not match Engineering. Copy the names out of the existing list rather than retyping them.

Email addresses are unique across the whole platform, not per company. That person already has an account somewhere. Invite them to your workspace instead of creating a second one.

The usual cause is an employee ID collision. Leave the ID column out and let the system generate them, then re-upload.

No. The confirm runs as one transaction, so a failure part-way through rolls the whole batch back. You will not have to hunt for partially imported rows.

Yes. Choose not to invite yet on the confirm step. The accounts are created and the invitations can go out later, which is what you want when you are loading data before a launch date.

Checked against the product on 2026-08-07

Screens, labels and limits change between releases. If something here does not match what you see, tell us and we will correct the page.

Support you can actually reach. From Kathmandu.

Email, phone and WhatsApp, answered in English and Nepali by people who know the product. Most questions are closed on the first reply.

  • No minimum commitment
  • Nepal IRD compliant
  • Free onboarding
  • Cancel anytime