ERP Integration
The ERP Integration activity runs a data update against a configured ERP connection, pulling dimension members and optionally balance data into the Una model.
Purpose
Use the ERP Integration activity to:
- Automatically synchronise ERP dimension hierarchies (accounts, departments, entities) into Una
- Pull ERP data as part of a scheduled data pipeline
- Combine an ERP sync with downstream ETL, calculations, and reporting steps
Prerequisites
An ERP connection must be configured in Una (under Settings → Integrations → ERP). The connection defines:
- The ERP credentials and endpoint
- A dimension mapping that maps ERP dimension names to Una dimension names
Configuration
Connection
Select the ERP connection from the dropdown. The dropdown lists every configured ERP connection by its integration name — the name shown on the ERP Connections screen.
Sync Dimensions
A multi-select list of the ERP dimensions to synchronise. The list is built from the values of the selected connection's dimension mapping, so the names shown are the ERP's own dimension names, not Una's.
Check each dimension you want to sync during this activity run. You can select one, several, or all mapped dimensions.
Sync Data
When enabled, balance data is synced in addition to dimension members.
When disabled, only dimension member updates are synced.
Behavior
- The ERP connection is resolved by name, and its credentials and configuration are loaded.
- The dimension mapping is validated — if it is not configured, the activity fails with an error.
- Each selected ERP dimension is resolved back to its Una dimension name. An entry that is no longer mapped is skipped with a warning rather than failing the run, so a dimension renamed or unmapped in the connection does not break the workflow.
- The activity takes the same run lock the ERP screens use. If a build or data update is already running for this connection, the sync is skipped with a warning and the activity returns Success — the run holding the lock is already doing the work.
- Otherwise a data update runs. Whether that is a full snapshot or an incremental delta is decided by the connection's own Update Mode setting, not by this activity.
- If the data update reports failure, the activity returns Error. On success it returns Success. Any exception is logged and returns Error.
Usage Patterns
Nightly Dimension Sync
(Scheduled nightly) ──> ERP Integration ──> Process Metadata Changes
└── Connection: NetSuite Production (to apply dimension updates to the model)
Dimensions: Department, Account
Sync Data: false
Full Sync Including Data
ERP Integration ──> Run Calculation ("RefreshAllocations")
└── Connection: Sage Production
Dimensions: Location, Account, Department
Sync Data: true
Usage Notes
- The Sync Dimensions list is populated from the dimension mapping of the selected connection. If a dimension you expect is not listed, check the mapping configuration in the ERP integration settings.
- Progress notifications from the ERP sync are written to the workflow run log as the sync progresses. This is the durable record — the in-app notifications are not stored.
- After syncing dimension members, you typically need a Process Metadata Changes activity to apply the structural updates to the Una model.
- A run that is skipped because the lock was held reports Success. Check the run log if you need to confirm the sync actually executed.
Best Practices
- Pair ERP Integration with Process Metadata Changes when syncing dimension members, so the model reflects the new structure before any calculations run.
- Sync only the dimensions that are expected to change on a given schedule — syncing all dimensions every run is slower than necessary.
- Avoid scheduling a run at a time when a manual build is likely, since the scheduled run will skip rather than queue.
- Wire an error arrow so ERP connection failures are immediately surfaced rather than silently passing.
JSON Reference
{
"discriminator": "ErpIntegrationWorkflowActivity",
"activityId": "<uuid>",
"name": "ERP Integration",
"positionX": 0,
"positionY": 0,
"advanceRule": 2,
"parametersName": "NetSuite Production",
"syncDimensions": ["Department", "Account"],
"syncData": false
}
| Property | Type | Description |
|---|---|---|
parametersName | string | Corresponds to the Connection dropdown. The name of the ERP integration to run. |
syncDimensions | string[] | Corresponds to the Sync Dimensions multi-select. Array of ERP dimension names (the values of the connection's dimension mapping). |
syncData | boolean | Corresponds to the Sync Data toggle. When true, balance data is synced in addition to dimension members. |