Quick Answer
ADP Workforce Now payroll imports expect no header row and map columns by position. Gusto Smart CSV requires a header row with exact column names from the Gusto template. Workday EIB requires an exact column count per template row — adding a column without adding all required trailing columns breaks row-length validation. Date format expectations differ: ADP and Gusto commonly use MM/DD/YYYY; Workday EIB templates often use YYYY-MM-DD (ISO 8601). Encoding: Gusto requires UTF-8; ADP typically accepts both UTF-8 and Windows-1252. These differences cause identical employee data to import on one platform and fail on another.
Note: CSV format requirements vary by ADP company configuration, Gusto plan and template version, and Workday EIB template. Requirements described here reflect documentation and community-reported patterns as of May 2026. Confirm against your specific platform template before import.
TL;DR: The same 430-row payroll extract will import cleanly into ADP Workforce Now, fail at upload in Gusto with an encoding error, and fail row-by-row in Workday EIB with column count violations — if the file was prepared for ADP and not reformatted for the target platform. The three failure types map to three format differences: Gusto rejects non-UTF-8 files at upload (before row processing begins); ADP reads every row as an employee record (header row causes "Bad employee number" on row 1); Workday EIB counts columns and rejects rows where the count does not match the template schema. The same employee, the same data — three preparation requirements.
The Reality: One Record, Three Formats
Here is the same employee record prepared for each platform. All values are fictional.
For ADP Workforce Now (no header row, positional mapping):
EMP-10382,Johnson,Michael,547-82-3901,021000021,13857294016,3200.00,REG,80,BiWeekly
For Gusto Smart CSV (header row required, column names from template):
Employee ID,First Name,Last Name,SSN,Routing Number,Account Number,Pay Rate,Pay Type,Regular Hours,Pay Schedule
EMP-10382,Johnson,Michael,547-82-3901,021000021,13857294016,3200.00,Salary,80,BiWeekly
For Workday EIB (header row, exact column count per template, ISO date format):
Worker_ID,First_Name,Last_Name,National_ID,Pay_Rate,Pay_Rate_Frequency,Effective_Date
EMP-10382,Johnson,Michael,547-82-3901,3200.00,Biweekly,2026-05-23
Three versions of the same employee record. Each would fail validation on a platform it was not prepared for:
- The ADP row (no header) imported into Gusto fails because Gusto reads column names from the header to map fields — without a header, column assignment is ambiguous.
- The Gusto row imported into ADP fails on row 1: ADP processes the header row as an employee record, and "Employee ID" fails employee number format validation.
- The Workday EIB row imported into ADP fails: column names do not match ADP's expected positional schema (first column should be the ADP-configured employee number field, not a labeled header).
Format Comparison Matrix
| Attribute | ADP Workforce Now | Gusto Smart CSV | Workday EIB |
|---|---|---|---|
| Header row | Not included (standard) | Required — must match template column names | Required — must match EIB template exactly |
| Column mapping method | Positional (by column order) | By header name | By column position in EIB template |
| Date format | MM/DD/YYYY (standard) | MM/DD/YYYY | Commonly YYYY-MM-DD — varies by EIB template |
| Encoding | UTF-8 or Windows-1252 (varies) | UTF-8 required | UTF-8 |
| Delimiter | Comma | Comma | Comma (some EIBs use pipe or tab) |
| Earning code format | Employer-specific strings, case-sensitive | Gusto-defined pay types (Hourly, Salary, etc.) | Integration-specific field values |
| Column count validation | No explicit count — shifts on mismatch | Template-defined — unknown columns flagged | Rigid — wrong count fails row |
| File size limits | Varies by ADP product tier | Varies by plan | Varies by EIB configuration |
ADP Workforce Now: Positional Mapping, No Header Row
ADP Workforce Now payroll imports are positional — every column is mapped by its position in the file (column 1, column 2, etc.), not by a column header name. This has two consequences:
No header row in the standard configuration. ADP does not skip or detect a header row. Every row in the import file is processed as an employee record. A header row causes a "Bad employee number in row 1" error because the column label "Employee_Number" fails ADP's employee number format validation. The fix is to remove the header row before import.
Column reorders break imports silently. If you add, remove, or reorder columns in your export, ADP continues mapping by position. Column 7 in the new file maps to whatever field ADP assigned to position 7 in the import layout — which may now be a different field than it was before the column change. The import succeeds with no error, but salary lands in the hours field or pay grade lands in the earning code field. Verify the column order matches the ADP import layout before every export.
Earning codes are employer-specific. ADP earning codes are configured per employer and are case-sensitive strings. The code "REG" at one employer may not be a registered code at another. The same file that works for one ADP customer fails for another because earning codes are not universal ADP standards. See ADP CSV Import Errors: Fix Bad Employee Number & Codes for the full earning code diagnosis.
Gusto Smart CSV: Header-Mapped, UTF-8 Required
Gusto's Smart CSV import uses a template-based approach: Gusto provides a downloadable CSV template with specific column names, and the import maps fields by matching column headers to the template column names.
Header row is required and must match the template exactly. Column names in the template are not configurable — they are defined by Gusto. A header column named "EmployeeID" when the template expects "Employee ID" (with a space) will fail to map. After the upload, Gusto shows which columns mapped successfully and which were unrecognized.
UTF-8 encoding is required. Files exported from Excel as Windows-1252 (the default for many locales in Excel on Windows) are rejected at upload with: File encoding not supported. Please upload a UTF-8 encoded file. (Exact wording may vary by Gusto version.) The rejection happens before row processing begins — no rows are read. Fix: in Excel, Save As → CSV UTF-8 (Comma delimited). See Gusto Payroll CSV Import Errors for the full encoding fix workflow.
Placeholder dates cause row-level failures. Gusto validates date values on import. The placeholder date 00/00/0000 — common in payroll exports where hire date is absent — fails date validation. Fix: identify and correct placeholder date values before import using How to Prepare Employee CSV Files for HRIS Import.
Workday EIB: Rigid Column Count, ISO Date Format
Workday Enterprise Interface Builder (EIB) templates have a fixed schema: the template defines exactly which columns are present, in which order, and in which format. The EIB validates every row against this schema before committing any data.
Column count is validated per row. Every row in the import file must have exactly the same number of columns as the EIB template. If you add a column to your export — even an empty trailing column — every row now has one more field than the template expects. The EIB treats this as a row-length violation and rejects affected rows. Adding a column requires updating the EIB template to include the new column in the correct position, with all required validation rules.
Date format is typically YYYY-MM-DD. Most Workday EIB templates for HR data expect dates in ISO 8601 format (YYYY-MM-DD). A date value of 05/23/2026 (MM/DD/YYYY) fails EIB date field validation in templates configured for ISO format. Verify the date format requirement against your specific EIB template — some templates use MM/DD/YYYY depending on tenant configuration.
EIB validation is row-by-row and stops at blocking errors. When a row fails EIB validation, that row is rejected and reported in the error output. Non-blocking validation warnings may still allow rows to import. Blocking validation failures prevent the row from importing and appear in the EIB error report. See Workday EIB CSV Errors: Row Length, Date and Validation Fixes for the cause/fix table.
Encoding: The Upload-Stage Difference
Encoding errors are the only failure type that occurs before any row is processed. A Gusto upload fails immediately with an encoding error; no rows are evaluated. ADP and Workday EIB are generally more permissive about encoding, though UTF-8 is the safe default for all three.
| Platform | Encoding behavior |
|---|---|
| ADP Workforce Now | Accepts UTF-8 and Windows-1252 in most configurations |
| Gusto | Requires UTF-8; Windows-1252 rejected at upload |
| Workday EIB | UTF-8 preferred; behavior with non-UTF-8 varies by EIB configuration |
The encoding check is the fastest to run and the safest to do first. Use SplitForge Format Checker to detect encoding before upload — the check runs in your browser, no upload required.
Preparing a Single File for Multiple Platforms
If you are managing payroll across multiple platforms — for example, a company running ADP for US payroll and Workday for international — you will need to prepare platform-specific files from the same source data.
The workflow:
- Export once from your source HRIS
- Clean the raw export (deduplication, whitespace, blank ID removal) using Data Cleaner
- Produce a platform-specific version for each target:
- For ADP: remove the header row; verify column order matches ADP import layout; confirm earning codes match ADP company configuration
- For Gusto: add header row with Gusto template column names; verify UTF-8 encoding; normalize date format to MM/DD/YYYY
- For Workday EIB: map to EIB column schema; normalize dates to YYYY-MM-DD (if required by your EIB template); verify column count per row matches the template exactly
Use SplitForge Format Checker to verify encoding and structural integrity of each platform-specific file before submission. Format Checker validates encoding, delimiter, and column count consistency across rows — in your browser, without uploading the file.
Pre-Import Format Check Routine
Before submitting to any platform:
- Encoding: UTF-8 for Gusto (required); UTF-8 recommended for ADP and Workday EIB
- Header row: absent for ADP standard imports; present and template-matched for Gusto and Workday EIB
- Date format: MM/DD/YYYY for ADP and Gusto standard; YYYY-MM-DD for most Workday EIB templates (verify)
- Column count: matches the import template column count exactly (critical for Workday EIB; verify for ADP positional mapping)
- Delimiter: comma for all three in standard configurations (verify for Workday EIB — some templates use pipe or tab)
- Earning codes: match your company's platform-specific registered codes exactly (case-sensitive)
- File extension:
.csvfor all three
Privacy Note: Checking Format Without Upload
Payroll files checked with an online format checker are transmitted to a third-party server, creating a GDPR Article 28 processor relationship. Format Checker validates file encoding, delimiter, and column count consistency across rows in your browser — no file data is transmitted. For the full privacy analysis of online tool upload risk, see Never Upload a Payroll CSV to an Online Tool. For the broader privacy-first processing framework, see Privacy-First Data Processing Guide. For the HR/payroll data handling framework, see the HR & Payroll CSV Data Prep Guide.