Back to Playbook
Act 3: Day-to-Day Operations

17. Data Import/Export

Story

Sarah is moving an existing company onto Zetta HRM mid-year. Instead of importing each module separately and hoping the order is right, she downloads one workbook with a tab for every entity — departments, designations, employees, salary structures, leave types, holidays, loans, and opening balances — fills in what she has, and uploads it once.

The system validates the whole workbook, shows her a single cross-module preview, and configures nothing until she approves. Because she is joining part-way through the year, she also brings each employee's opening balances so the first payroll run continues cleanly instead of resetting year-to-date totals to zero.

Later, when she just needs to correct one module or add a batch of new hires, she uses the standard single-module import. And every month she exports reports for payroll reviews, finance, and auditors.

Happy Path

### Import & Start Working — the guided onboarding (one workbook)

### Single-module import (top-ups and corrections)

### Export

  • Download the all-in-one workbook: an Instructions sheet plus one sheet per module, ordered so each step builds on the last.
  • Fill only the sheets you have data for; leave the rest blank.
  • Upload once — every sheet is validated and merged into a single combined report and preview.
  • Review per-module results; rows that need attention are flagged but never block the valid rows.
  • Approve, then apply — nothing is written before approval. Modules are created in dependency (topological) order, e.g. departments before employees, employees before salary structures and opening balances.
  • Opening balances seed mid-year year-to-date figures (pensionable/insurable earnings, CPP/EI, provident fund) so statutory caps continue from the real position.
  • Statutory tax setup is provisioned automatically from the country pack on apply (Bangladesh income tax; Canada CPP/EI + federal/provincial) — there is no separate tax file to upload.
  • Download a single-module template (CSV or XLSX) with the exact columns required.
  • Fill it offline, upload, run validation, then execute after validation passes.
  • Track long-running imports through progress status with detailed row-level feedback.
  • Generate report and operational-data exports in CSV or PDF.
  • Long exports run in the background with clear status; download when complete.

Failure Modes

FailureWhat the user seesWhat happens next
Workbook sheet has invalid format or a renamed/reordered headerRow- and sheet-level validation errors in the combined reportFix the flagged cells (or re-download the template) and re-upload
Some rows are invalid but others are fine"X created, Y failed" per module, with a downloadable error reportValid rows still apply; fix the failed rows and re-apply
Apply stops part-way (e.g. a later module errors)Session marked PARTIAL/FAILED; already-applied modules stayRe-apply resumes from the first incomplete module — earlier modules are not re-created
Statutory provisioning hiccups during applyApply still completes; the statutory step is reported as failedRe-apply — statutory setup re-runs idempotently and seeds the rows
A module references another that is not in the file yet (e.g. an employee's department)Row-level "not found" error for that referenceInclude the referenced rows, or import that module first
Single-module CSV has duplicate rowsRows skipped or corrected per the module's unique keyDe-duplicate and retry

Edge Cases

ScenarioBehaviorWhy
Nothing is applied before approvalValidate and preview only stage data; approval flips the gateThe guarantee: you see every change before it touches your workspace
Mid-year onboarding with opening balancesYTD seeds carry into the first payroll run; statutory caps continue, not resetA joiner part-way through the tax year withholds correctly
Re-importing the same opening balances or existing loansRe-import corrects in place rather than duplicatingImports key on stable unique fields and are idempotent
Existing (already-disbursed) loansImported as active with paid installments already marked, so they are never re-deductedOnboarded loans reflect real outstanding state, not a fresh schedule
Combined workbook vs single templateBoth are offered on the Import Center; the workbook is the guided full setup, single templates are top-upsOne file for go-live, focused files for day-to-day corrections
Large export generationJobs move through PENDING → PROCESSING → COMPLETED/FAILEDVisibility for long-running background tasks