Skip to main content

Bulk Import Adjustments

When you need to apply adjustments to many employees at once - such as a company-wide festival bonus or a batch of monthly reimbursements - upload a CSV file instead of creating each adjustment by hand.

When to Use Bulk Import

Bulk import works well when:

  • You have many adjustments to create at once.
  • They span multiple employees (for example, the whole team gets a bonus).
  • You already have the data from another system that can export CSV.

For just a few adjustments, creating them one at a time is usually quicker. See Adding Adjustments.

CSV Format

Your CSV file should include a header row, then one row per adjustment. The importer reads these columns by name (column order does not matter, and headers are matched case-insensitively):

ColumnDescriptionRequiredExample
employee_emailThe employee's registered email in OmnivooYespriya@company.com
categoryaddition or deductionYesaddition
typeA short type label for the adjustmentYesPerformance Bonus
nameA short label that appears on the adjustmentYesDiwali Bonus 2026
amountA positive number, no currency symbols or commasYes15000
currencyISO 4217 currency code; defaults to INR if blankNoINR
notesInternal notes; leave blank if noneNoApproved by HR on 2026-03-15
effective_dateThe date the adjustment applies to, in YYYY-MM-DD formatNo2026-04-01

A single file can contain up to 1000 rows.

Notes on values

  • category must be exactly addition or deduction.
  • type is a free-text label. For consistency, match the type names used in the app (such as "Performance Bonus" or "Advance Repayment"), but the importer accepts any non-empty text.
  • amount must be a positive number greater than zero.
  • currency defaults to INR when left blank.

Sample CSV

employee_email,category,type,name,amount,currency,notes,effective_date
priya@company.com,addition,Festival Bonus,Diwali Bonus 2026,15000,INR,Annual festival bonus,2026-04-01
rahul@company.com,addition,Festival Bonus,Diwali Bonus 2026,15000,INR,Annual festival bonus,2026-04-01
anita@company.com,addition,Festival Bonus,Diwali Bonus 2026,12000,INR,Prorated,2026-04-01
deepak@company.com,deduction,Advance Repayment,March Advance Repayment,5000,INR,Installment 3 of 6,2026-04-01
sneha@company.com,addition,Travel Reimbursement,Home Office Setup,8500,INR,Receipt #4521,2026-04-01

Importing the File

  1. Open the Payroll Adjustments page (/employer/payroll/adjustments).
  2. Click Import CSV in the top-right. The Import Adjustments from CSV dialog opens.
  3. Choose your .csv file. The file is validated and processed as soon as it is selected.
  4. The dialog shows the result:
    • Import Successful - the number of adjustments created out of the total rows processed (for example, "5 adjustments created from 5 rows"). Because the import is all-or-nothing, this count equals the number of rows in the file.
    • Import Failed - a per-row error list (the row number followed by its messages) plus a summary line in the form "X valid, Y with errors out of Z total rows".
  5. Click Close.

Imported adjustments are created as drafts and appear in the Payroll Adjustments list, where you can review them and let them flow into a payroll run.

note

The import is all-or-nothing. If any row fails validation, no adjustments are created from that file - fix every listed row and upload again. The "X valid, Y with errors" summary on a failed import is only a diagnostic count of which rows passed and which did not. It does not mean the valid rows were saved.

Common Validation Errors

If the import fails, the dialog lists the problem rows. Common causes:

ErrorCauseFix
Employee not foundThe email does not match any employee on your accountCheck the email and make sure the employee is onboarded
Employee has no linked user accountThe matched employee is not yet linked to a userComplete the employee's onboarding, then re-import
category is required / invalidThe category is missing or not addition/deductionUse lowercase addition or deduction
type is requiredThe type cell is emptyAdd a type label
name is requiredThe name cell is emptyAdd a short name
amount invalidThe amount is missing, not a number, or zero or negativeUse a positive number with no symbols or commas
effective_date invalidThe date is not in YYYY-MM-DD formatUse the ISO format, for example 2026-04-01

Tips for a Clean Import

  • Test with a small file first - upload two or three rows to confirm the format before a large batch.
  • Double-check email addresses - "employee not found" is the most common error.
  • One adjustment per row - do not combine multiple adjustments into one summed row.
  • Keep notes simple - notes are stored as plain text; avoid extra commas or line breaks inside a cell.