An integration can add values to benefits, or change the values they already have, from an Excel spreadsheet. Each row of the spreadsheet holds one value: a benefit, a series such as Plan or Actual, a period, and the amount. You create the integration from an initiative's Tools > Integrations page, by clicking New Integration, with the Adapter set to Excel and the Import Data Type set to Benefit Values (Time Phased). Where your instance calls benefits Impacts, these labels read Impacts instead.
This article covers both the Advanced and Simple Models, and needs permission to run integrations on the initiative. This is different from Administration > Integrations, which connects third-party applications — see Connecting a Third-Party Application.
Before you start
Permissions and settings
- Enable Integrations — needs to be turned on for the classification of the initiative you import into. In the Advanced Model, it is a setting on the initiative classification — see Configuring Initiative Classifications (Advanced Model). In the Simple Model, it is a setting on the program's Features page — see Program Features.
- Integrations — you need a team role on the initiative with the Integrations permission set to Full. See Team Roles. A Full Admin, or a user with an admin role that has Hierarchy set to Full, doesn't need a team role — see Admin Roles. They still need Enable Integrations to be on.
What must exist first
This import doesn't create benefits. Each benefit in the spreadsheet needs to exist already, with its start and end dates and its reporting cadence (month, quarter, or financial year) set. To create benefits, see Managing Benefits, or import them from a spreadsheet — see Importing Benefits.
Where you identify benefits by External ID, the benefit's classification needs Enable External ID turned on, and each benefit needs an External ID. See Configuring Benefit Classifications (Advanced Model).
Choosing the initiative
Set the integration up on the highest initiative that holds every benefit in the spreadsheet. A benefit outside that initiative and the initiatives below it isn't found, and its rows fail. In the Simple Model, set it up on the program.
File limits
- The file must be an Excel file (.xlsx) of 5 MB or less.
- A run reads one sheet, of up to 2,000 rows. The row of column headings isn't counted where Header? is checked.
- Where a sheet has more rows, split it across several sheets or files, and run them one after the other.
Preparing the spreadsheet
Use one row for each value, not one column for each month. A benefit with a Plan of 1,000 in January and 1,500 in February takes two rows: the benefit, Plan, January, 1,000; and the benefit, Plan, February, 1,500. A benefit with both Plan and Actual values takes a row for every period of each series.
The spreadsheet needs these five columns. The column headings can be anything, because each column is mapped by its position. The names below are the ones you map the columns to.
- Parent — the benefit the value belongs to, identified by its name, its ID, or its External ID. Matching on name uses the first active benefit with that name, so use the ID or External ID where two benefits share a name.
- Parent Type — whether the row is for a benefit or a measure: Benefit or Measure. The capitalization doesn't matter.
- Series — which series the value goes in, such as Plan or Actual.
- Start Date — the first day of the period the value is for.
- Value — the amount.
Any other column, such as a column of benefit names, is mapped to No Action.
Choosing the Parent Type
- Benefit — the row sets one of the benefit's own values. Use it for every benefit that doesn't have a Benefit Formula.
- Measure — the row sets one of a measure's values. Use it for a benefit that has a Benefit Formula, which is calculated from its measures and has no values of its own to import. Measures are available in the Advanced Model only. Identify the measure by its name or ID. An External ID can't be used for a measure. See Managing Measures.
A row for a benefit with a Benefit Formula is skipped. Its message says the benefit is calculated with a formula, and lists the IDs of the measures to update instead.
Choosing the series
The names are not case-sensitive. Use the series names as your instance shows them.
- Benefit rows — Plan, Actual, or Forecast.
- Measure rows, where the measure is an advanced measure — CMO, FMO, Actual, or Forecast. CMO and FMO are the measure's plan series.
- Measure rows, where the measure is not an advanced measure — Plan, Actual, or Forecast.
Rows that are skipped
A row is skipped, and the rest of the file still imports, where:
- The series is Plan and the benefit's plan is locked. The message reads "Skipped because Plan values have been locked". A plan is locked where the benefit's classification has Prevent modifications to the Plan turned on, or where the initiative's stage gate process locks plan values — see Stage Gate Process. A Full Admin, or a user with an admin role that has Hierarchy set to Full, can import Plan values where they are locked.
- The series is Forecast and the benefit's classification doesn't have Enable Forecast turned on, or has the forecast set to Amplify. An Amplify forecast is calculated automatically, so it can't be imported.
Dates
- Use any date Amplify can read, such as 2026-03-01 or 1 Mar 2026. A date inside a month is moved to the first day of that month.
- The date must fall within the benefit's start and end dates.
- The date must be the start of a period of the benefit's reporting cadence. A monthly benefit takes the first day of any month. A quarterly benefit takes the first day of a quarter. A financial year benefit takes the first day of the financial year.
Quarters and financial years follow the instance's financial year end. For example, where the financial year ends on 30 June, it starts in July and the quarters start in July, October, January, and April. A row with any other month for a quarterly benefit, or any month other than July for a financial year benefit, is skipped.
Values
Enter the value as a plain number. A blank cell, or text such as $1,000, can't be read, and the row is skipped.
Creating the integration
To create the integration:
- Open the initiative you chose.
- Navigate to Tools > Integrations. The initiative's integrations are listed.
- Click New Integration.
- Enter a Name for the integration.
- Select Benefit Values (Time Phased) as the Import Data Type.
- Click Create.
The Adapter is always Excel.
Uploading the spreadsheet
To upload the spreadsheet:
- On the initiative's integrations, click Run... next to the integration. A window opens.
- Where the integration has been run before, select Upload New, or Use Previous to use the last file again.
- Choose the file.
- Check Header? where the first row holds column headings.
- Select the Sheet that holds the values.
- Click Continue. The session opens, showing the rows from the sheet, and the preview starts.
Mapping the columns
The first time you run the integration, you map each column of the spreadsheet to what it holds. Mapping is by column position, so it applies to whatever is in that column on the next run. It is saved as you make each change.
To map the columns:
- Click Edit Mapping. A Type list appears for each column.
- Select the Type for the column.
- Where the Type is Attribute Assignment, select the Attribute.
- Where the Type is Parent, select the Match on Attribute.
- Repeat for each column.
Map the five columns like this:
- The benefit column — Type Parent, with Match on Attribute set to Name, ID, or External ID.
- The Parent Type column — Type Attribute Assignment, with Attribute Parent Type.
- The series column — Type Attribute Assignment, with Attribute Series.
- The date column — Type Attribute Assignment, with Attribute Start Date.
- The value column — Type Attribute Assignment, with Attribute Value.
- Every other column — Type No Action.
Mapping types
- Parent — finds the benefit or measure the row belongs to. Only one column can be mapped to it.
- Attribute Assignment — sets one of the fields of the value from the column, such as Parent Type, Series, Start Date, or Value.
- No Action — ignores the column.
This import type has no fallback option. A row whose benefit isn't found is skipped.
When the mapping is incomplete
The import can't run until all five columns are mapped. Until then, a message says the minimum requirement for creating or updating hasn't been met, and Preview and Import... are disabled. Where the series column isn't mapped, a message says "A definition for Code doesn't exist." Code is this message's name for the Series attribute.
Each row is marked with a plus icon, as if it were creating a value, even where it replaces a value that is already there.
Previewing and importing
Previewing the import
The preview runs when the session opens, and nothing is saved. Each row shows whether it will succeed, and any errors or warnings. A red icon marks a problem, and an amber icon is a heads-up. Hover over an icon to read its message. A row with a red icon is skipped. A row with only an amber icon still imports.
Where rows fail, a message such as "N rows were unsuccessful." says how many. Click View these rows only. to show just those rows, and Show all rows. to show them all again.
The most common reasons a row fails are:
- The benefit isn't found, or is outside the initiative the integration belongs to.
- The Parent Type isn't Benefit or Measure.
- The series isn't one the benefit accepts.
- The date is outside the benefit's start and end dates, or isn't the start of a period of its reporting cadence.
- The value isn't a number.
Changing the mapping doesn't run the preview again. Click Preview to check the new mapping. To correct the spreadsheet, fix it and run the integration again.
Importing the values
To import the values:
- Click Import.... A confirmation opens.
- Click Confirm.
- Wait for the message that the import has been completed successfully, or for the count of rows that were unsuccessful.
- Click End Session.
Import... is disabled while a preview or import is running, and while the mapping is incomplete. Rows that failed don't disable it. Rows with errors are skipped, and every other row is imported, including other rows for the same benefit.
Until the session is ended, the integration shows Terminate in place of Run.... Click Terminate to end a session that was left open.
Updating values later
Run the same integration again whenever values change. Run it with Upload New to use a new file, or Use Previous to use the last one. The mapping is kept, so as long as the columns are in the same positions, you don't need to map them again.
- A value for a period that already has one replaces it. Running the same file twice gives the same result, and doesn't add anything twice.
- Periods that aren't in the file are left as they are. An import can't remove a value.
- Where the same benefit, series, and date appear on more than one row, the later row's value is saved.
- To import rows that failed, fix them in the spreadsheet and run it again. Rows that were already imported are replaced with the same values.
Things to know
An import can't be undone. Preview first, and try a few rows before importing a large file. To put a value back, import the previous value again. The benefit's Timeline shows the value each period had before.
Periods without a value are saved as zero
Each series is saved without gaps. Where the spreadsheet skips periods between the benefit's start date and the last period it imports, those periods are saved with a value of 0, unless they already have a value. For example, importing a single Actual for June saves 0 as the Actual for every earlier month the benefit doesn't have one for.
Approvals
Imported values aren't sent for approval. Imported Actual values skip the approval workflow for actuals, and imported Plan and Forecast values are saved without an approval of the new total, even where the benefit's classification has approval workflows. Check imported values yourself, or enter values that need approval in Amplify instead.
For how approvals work where values are entered in Amplify, see Managing Benefits.
History on the Timeline
Each imported value that differs from the value before it is recorded on the benefit's Timeline, with the person who ran the import, the period and series, the value before, and the value after. A value that is imported unchanged isn't recorded. The entries are written in the background, so they can appear a short while after the import finishes. For filtering and searching the Timeline, see Activity Timelines.
For the other types of import, see Importing Data.