Fill in a Workday EIB configuration workbook
Fill in a Workday EIB configuration workbook
A configuration workbook tells Pave how to fill one Workday EIB from your merit cycle. For each Workday field, you choose where the value comes from: a cycle column, a fixed value, or rules that pick a Workday ID based on the employee. You can also choose which employees the EIB includes.
You fill in one workbook per EIB, and one per Change Job sub-process. For an overview, see the article on getting started with Workday EIBs. For downloading templates and uploading, see the article on uploading configurations and generating Workday EIBs.
What's in a workbook
- π Field Mappings: one row per Workday field. This is where most of the work happens.
- π Reference IDs: rules for fields that need a different Workday ID depending on the employee. Can be left empty.
- π― Employee Filters (optional): rules for which employees the EIB includes. Not in the Change Job workbook.
- π Instructions and β FAQ: guidance only. Pave doesn't read them.
Don't change the tab names, the column headers, cell A2 of π Field Mappings (Pave reads it to know which EIB the workbook is for), or the Workday EIB Field and Column Grouping values. Changing any of these gets the upload rejected.
Find your column keys
To point a field at a cycle column, enter the column's key, not its display name. For example, a column labeled "Merit increase" might have the key salaryRaise. To find a key, open the column in your cycle's column configuration and check the Key field. See Configure cycle columns.
Two more keys are always available: currency (the employee's local currency code) and companyCurrency (your company's currency code). Keys are case-sensitive.
Fill in Field Mappings
:::info
Important: Pave only reads rows where Used? is set to YES. A row left blank is skipped, and that field comes out empty in the generated file. This includes the Spreadsheet Key and Row ID rows, which start with Used? blank.
:::
| Column | What to enter |
|---|---|
| Used? | YES to fill this field |
| Pave Column Key | The cycle column that fills this field, for example salaryRaise |
| OR Constant Value | A fixed value for everyone, for example a reason code or an effective date |
| Transformations | Optional formatting, for example formatDate or precision |
| Item Group | Leave blank unless an employee needs more than one item for this field |
The other columns are for reference. Required? shows whether Workday requires the field, and Notes is for your own use.
If you fill in both a column key and a constant, the constant is used for employees with no value in that column. A value of 0 counts as a value.
Spreadsheet Key and Row ID: Workday uses Spreadsheet Key to group rows into one transaction, and Row ID to number repeating items within it. Pave fills both. Leave the template's auto-generated values in place and set Used? to YES. Each employee gets one Spreadsheet Key per file. On Change Job, the same key is used on every sub-process sheet for that employee.
Amounts and currencies: amounts use the employee's local currency. To use your company's currency, add inCurrency:company in Transformations, and fill the matching currency field with companyCurrency so the two agree.
Fill in Reference IDs
Use π Reference IDs when a field needs a different Workday ID depending on the employee. Rules go under a heading in the format (Type: Workday ID type), which must match Workday's ID type exactly. A heading applies to every field of that ID type. Rules are checked from lowest Priority to highest, and the first match wins.
Example: pick a one-time payment plan by currency
Say your Workday tenant has two one-time payment plans: Spot_Bonus_US for employees paid in USD, and Spot_Bonus_Global for everyone else.
1. In π Field Mappings, set Used? to YES on the One Time Payment Plan* row, and leave Pave Column Key and OR Constant Value blank. Leaving both blank tells Pave to use Reference ID rules.
| Workday EIB Field | Used? | Pave Column Key | OR Constant Value |
|---|---|---|---|
| One Time Payment Plan* | YES |
2. In π Reference IDs, add the rules under a (Type: One-Time_Payment_Plan_ID) heading:
| Workday Reference ID | Condition Field | Operator | Condition Value | Priority |
|---|---|---|---|---|
Spot_Bonus_US | currency | eq | USD | 1 |
Spot_Bonus_Global | *any* | *any* | *any* | 2 |
3. Result:
| Employee's currency | One Time Payment Plan in the file |
|---|---|
| USD | Spot_Bonus_US |
| CAD | Spot_Bonus_Global |
*any* in all three condition columns makes a catch-all, used only when no other rule matches. Without a catch-all, an employee who matches no rule gets a blank.
Choose which employees are included
Each EIB has a default rule for who it includes:
| EIB | Includes by default |
|---|---|
| Request Compensation Change | Employees who aren't being promoted and have a merit increase, market adjustment, variable raise, or higher annual bonus target |
| Request One Time Payment | Employees who aren't being promoted and have a one-time bonus |
| Add Stock Grant | Employees who aren't being promoted and have a refresher, promotion, or performance grant, plus anyone with a discretionary equity grant |
| Change Job | Every employee being promoted |
| Change Job: Propose Compensation | Promoted employees with a merit or promotion increase |
| Change Job: Request One Time Payment | Promoted employees with a one-time bonus |
| Change Job: Request Stock Grant | Promoted employees with a refresher, promotion, or performance grant |
| Other Change Job sub-processes | Every employee being promoted |
Amounts count only when they're greater than zero. Promotions are read from the isPromotion column, so make sure your cycle has it. Employees marked as hidden in the cycle are never included.
Fill in Employee Filters
On Request Compensation Change, Request One Time Payment, and Add Stock Grant, filters replace the default rule entirely. On Change Job sub-processes, filters choose which promoted employees to include. The main Change Job workbook doesn't accept filters.
An employee is included if they match every row in at least one group. Rows with the same Group label must all match. A row with a blank Group is its own group. Only rows with Used? set to YES apply.
For example, to send only market adjustments to Request Compensation Change, for employees who aren't being promoted:
| Group | Condition Field | Operator | Condition Value | Used? |
|---|---|---|---|---|
| A | marketCashRaise | gt | 0 | YES |
| A | isPromotion | ne | true | YES |
Because filters replace the default, add an isPromotion ne true row to each group if promoted employees should still be left out.
Operators
Reference IDs and Employee Filters use the same operators, in lowercase:
| Operator | Meaning | Example |
|---|---|---|
eq / ne | Equals / doesn't equal (not case-sensitive) | currency eq USD |
gt / gte | Greater than / or equal to | salaryRaise gt 0 |
lt / lte | Less than / or equal to | salaryRaise lt 5000 |
Give one employee more than one item
Use Item Group when an employee needs more than one of the same thing, such as a refresher grant and a performance grant. Add a row per item on the same field, each with a different label:
| Workday EIB Field | Item Group | Used? | Pave Column Key |
|---|---|---|---|
| Grant Amount | Refresher | YES | equityRefresherShares |
| Grant Amount | Performance | YES | equityPerformanceShares |
Use the same labels, spelled the same way, on every other field that differs between items, such as the stock plan. An employee only gets an item if one of its tagged columns has a value.
On Request Compensation Change, Request One Time Payment, and Add Stock Grant, each item usually becomes its own transaction. In a repeating section (a section name ending in +), items become extra rows in the same transaction. Change Job always keeps an employee in one transaction.
Format values with transformations
Add transformations in the Transformations column. Separate multiple steps with commas, for example stripCurrency, precision.
| Transformation | What it does | Example |
|---|---|---|
formatDate | Converts a date to YYYY-MM-DD | 9/1/2026 β 2026-09-01 |
precision | Rounds to 2 decimal places (or precision:0, precision:3, and so on) | 187100 β 187100.00 |
round | Rounds to a whole number | 1234.56 β 1235 |
multiplyBy:12 | Multiplies the value | 5000 β 60000 |
divideBy:12 | Divides the value, to 2 decimal places | 60000 β 5000.00 |
stripCurrency | Removes currency symbols, commas, and spaces | $1,000 β 1000 |
inCurrency:company | Uses the amount in your company's currency | |
mapIf:isPaidHourly:true:newBaseHourly | If the first column equals the value, uses the third column instead | Hourly employees get newBaseHourly |
fallbackSource:equityPromotionShares | Uses another column when the value is blank | |
defaultIfEmpty:N | Uses this text when the value is blank | blank β N |
Also available: prefix:, suffix:, trim, toUpperCase, toLowerCase, stripPercent, parseFloat, and toBoolean. Column keys inside mapIf and fallbackSource aren't checked at upload, so double-check their spelling.
Common errors
unsupported Pave Column Keys: A column key doesn't exist in the cycle. Check the spelling and use the key, not the display name.
unrecognized Workday EIB Field: A Workday EIB Field or Column Grouping value was changed. Restore it from a fresh template.
used rows must include either Pave Column Key or a constant value: A row has Used? set to YES but nothing to fill it with. Add a column key, a constant, or Reference ID rules.
duplicate Workday EIB Field mappings: Two used rows fill the same field. Remove one, or give each a different Item Group.
Required field ... resolved to an empty value (when generating): Workday requires this field, and it came out blank for some employees. Add a constant or fallbackSource to cover blanks, or a catch-all Reference ID rule.
A field is empty in the generated file, with no error: Check that Used? is set to YES on that row.
