Importing transaction data
Use Data Management > Import Data to bring sales and transaction data into Perslace. The four-step wizard supports spreadsheet uploads, connected business systems, databases, APIs, and joined lookup files.
For: Primary Admins, Admins, and authorised data or integration owners
Access and page tabs
Section titled “Access and page tabs”Only Primary Admin and Admin roles can upload files, commit imports, or revert completed file imports. Employees and Managers can view data but cannot import it.
| Tab | When it appears |
|---|---|
| View Data | Always |
| Edit Data | When data comes from a manual CSV or Excel upload |
| Import Data | For administrators; not available to Employees |
When an organisation connects an external system, that system remains the source of truth. Edit Data is hidden and corrections must be made at the source.
Before you begin
Section titled “Before you begin”Prepare:
- The approved source, file, database view, or API endpoint
- A representative sample and the expected row count
- The source schema and identifiers used for transactions and employees
- The expected date, number, and currency formats
- Least-privilege credentials for connected sources
- Approval for the data scope, refresh method, and affected date range
Step 1: Choose a data source
Section titled “Step 1: Choose a data source”Open Data Management > Import Data, then choose one source:
- Spreadsheet File: Drag and drop or browse for a
.csv,.xlsx,.xls, or.xlsmfile. Excel workbooks can contain multiple sheets. File-size limits and upload rate limits apply. - Google Sheets: Connect a Google account, then select a spreadsheet from Google Drive.
- Salesforce: Connect through OAuth, choose the main object, and optionally set a date range, change-tracking field, related-object join, and filters.
- HubSpot: Connect through OAuth and import pipeline deal data.
- Zoho: Connect through OAuth and import Zoho CRM data.
- Microsoft Dynamics: Connect through OAuth using the approved environment URL.
- SharePoint: Connect to a site and list, then import the list items.
- Database: Connect to PostgreSQL or MySQL, test the connection, and select a table, database view, or materialised view. You can also select an optional join table. If your organisation already maintains a view containing an approved SQL query, select that view to import its result rather than raw tables.
- API: Connect a REST/JSON endpoint and configure authentication headers, pagination, and nested records. An FXBO-ready template can configure the FxBackOffice
/rest/transactionsendpoint and a user-details join.
Connected CRM and database sources also provide Sync Now for authorised, on-demand refreshes.
Step 2: Connect supplementary files
Section titled “Step 2: Connect supplementary files”When an import uses more than one file, upload the primary transaction file first, then attach one or more lookup files. Define each join using a shared key, such as a transaction’s user identifier and the matching user record.
Perslace supports:
- One-to-one: One lookup row for each transaction
- One-to-many: Multiple detail rows for each transaction, stored as child records such as trade or ticket details
Joined columns use a namespace such as user.id, which makes the source of each mapped value clear. You can also filter each source, for example to include only rows whose status is Completed.
Step 3: Map and validate fields
Section titled “Step 3: Map and validate fields”Map each source column to the corresponding Perslace field. The wizard cannot continue until these required values are mapped:
- Transaction ID
- Employee / Rep Identifier
- Transaction Date
- At least one Amount field
Perslace suggests mappings from column names, remembers the organisation’s previous mapping, detects numeric, date, text, and currency data, and validates sample rows while you work. Date and number formats are detected from the file, including regional date formats, US or EU number formats, and formatted Excel date cells.
You can retain unmapped source columns as searchable and filterable custom transaction fields.
Supported standard fields
Section titled “Supported standard fields”| Perslace field | What it captures | Notes |
|---|---|---|
| Transaction ID | External transaction reference | Used for duplicate detection |
| Transaction Date | Date and time of the transaction | Required |
| Amount | Primary transaction value | At least one amount is required |
| Amount 2 / Amount 3 | Secondary values such as cost, margin, or bonus | Optional |
| Currency | Transaction currency such as USD or EUR | Converted to the organisation’s base currency |
| Employee / Rep Identifier | Original representative identifier | Used to resolve the employee |
| Employee Name | Representative or manager name | Retained as an audit copy |
| Client Name | Client or account for the transaction | Optional |
| Status | Source deal or transaction status | Maps to the source status column |
| Product Type | Product category or item | Optional |
| Transaction Type | Sale, refund, renewal, upgrade, or similar type | Optional |
| Sales Channel | Channel that produced the transaction | Optional |
| Country | Country code or regional label | Normalised while retaining the original value for audit |
| First-Time Deposit | Whether the transaction is the client’s first deposit | Yes or No |
Step 4: Preview and commit
Section titled “Step 4: Preview and commit”- Review the preview table and its per-row status and validation messages.
- Check transaction identifiers, employee attribution, dates, amounts, currencies, and representative custom fields.
- Confirm that currency conversion uses the expected live or organisation-defined fixed rate and base currency.
- Correct mapping or source-data problems before committing.
- Select Import to commit the valid rows.
- Complete the OTP verification required by the security workflow.
- Monitor the background job. The progress view shows processed and total rows, processing speed, and estimated time remaining.
After the import
Section titled “After the import”The completion summary shows created, failed, and duplicate-skipped rows. If any rows fail, download the error report. It contains only failed rows and the reason for each failure.
Import statuses
Section titled “Import statuses”| Status | Meaning |
|---|---|
| Uploaded / Validated | The file and mapping are saved but not committed |
| Processing | The background import is running |
| Completed | All valid rows were imported |
| Completed with Errors | Valid rows were imported and failed rows were reported |
| Failed | The import could not complete |
Imports are duplicate-safe. Retrying the same job does not create duplicate transactions, and Perslace also detects duplicate transaction IDs across import jobs.
History, syncs, and reverts
Section titled “History, syncs, and reverts”Open History or Sync History to review file imports and connected-source syncs. The list includes status, record counts, duration, and downloadable error reports.
An Admin can revert a completed file import after OTP verification. The imported records are soft-deleted, restoring the state from before that import. Correct data in an externally connected source rather than editing it in Perslace.
Automatic post-processing
Section titled “Automatic post-processing”After an import completes, Perslace can:
- Enable multi-currency settings when required
- Mark data onboarding as complete for a new organisation
- Recalculate commissions and payouts for the affected period
- Recompute custom computed columns used by reports, filters, sorting, metrics, targets, and scheme rules
Save and resume a draft
Section titled “Save and resume a draft”You can leave the wizard before committing and return later. Perslace restores the selected file, joins, mapping, and format preferences so you can continue from the same point.
Security safeguards
Section titled “Security safeguards”- Only Primary Admins and Admins can import or revert data.
- Upload, commit, revert, and source-disconnection actions require OTP verification.
- File-size limits and upload rate limits help protect the service from abuse.
- Every import and sync is audit-logged.
- Connected external systems remain the authoritative source.
Troubleshooting
Section titled “Troubleshooting”Some rows are invalid
Section titled “Some rows are invalid”Review the inline validation message and download the error report after completion. Correct the source value or mapping, then retry. Valid rows can still be imported while invalid rows are reported; rows are not silently dropped.
A transaction is missing
Section titled “A transaction is missing”Confirm the transaction exists in the source and check its identifier, employee identifier, date, filters, and mapping. Then review History or Sync History and search the error report.
The same transaction appears more than once
Section titled “The same transaction appears more than once”Confirm that every source record has a stable, unique Transaction ID. Review the import history before retrying or reverting data.
A connected source does not refresh
Section titled “A connected source does not refresh”Check the connection status and Sync History, then use Sync Now only when authorised. Correct credentials, filters, or source data at the external system.
An import was committed by mistake
Section titled “An import was committed by mistake”An Admin can open the completed file import and select the revert action. Review the affected record count and date range, complete OTP verification, and confirm downstream results after the revert.
Related articles
Section titled “Related articles”- Creating computed columns
- Creating a Metric Definition
- A data source does not sync
- A transaction is missing
- Reconciling dashboard, report, and imported totals
- Data protection and safe support sharing
Last updated: August 2026