Mapping

Configure iterations and data mapping for each import source — how raw rows become Actuals transactions (and often multiple journal lines).
Open Transformation › Setup › Mapping in the app.
This combines the old per-source Data Mapping and Iterations pages.

Mapping list

Choose a source to open its mapping. The list shows ID, Name, Type, Status, Iterations, Last updated, and Connection. Use Search & Filter and Refresh to find sources. Manage Transformation Schedule opens the company processing schedule.
Screenshot coming soon — Replace with: Transformation › Setup › Mapping list
Screenshot coming soon — Replace with: Transformation › Setup › Mapping list
Row actions include View mapping, Edit mapping, and more.

Mapping detail

On a source mapping you typically see:
  • Header with source name/ID, plus Test mapping, View, and Edit
  • Tabs: Step 1: Ledger Mapping and Step 2: Field Mapping
  • Source processing context such as column reference type (Headers or columns), data processing type (for example Incremental), and file deduplication (for example deduplicate on identical file name)
  • An iterations table (Iteration, Substep, Enabled/Mode, Substep Details)
Screenshot coming soon — Replace with: Mapping detail (Ledger Mapping / Field Mapping tabs + iterations)
Screenshot coming soon — Replace with: Mapping detail (Ledger Mapping / Field Mapping tabs + iterations)

What mapping covers

Iterations

Use iterations to define how many output rows (journal entry lines) each input row should produce.
Example: one sales input line may need separate iterations for Debtors, Revenue, and VAT.
Best practice: name each iteration after the journal line it represents.
Iterations also support:
  • Assigning general ledger accounts (ledger mapping)
  • Filtering rows (exclude rows that should never become transactions)
  • Expanding one raw row into multiple output rows

Field mapping

Map import columns to Actuals transaction properties (transaction id, timestamp, amount, and many more).
  • Default data mapping applies to every iteration unless overridden
  • Iteration data mapping customizes fields for a specific iteration
Column references:
  • By index: __column1__, __column2__, …
  • By header name (when configured): {{ColumnName}}
When multicurrency is enabled, amount and amount currency are required.

Ledger mapping vs field mapping

Typical flow on a source mapping:
  1. Ledger Mapping — which GL account(s) apply
  1. Field Mapping — property formulas and filters

Formulas (common)

Formulas should generally output text/strings. Exceptions:
  • timestamp — datetime (often TO_TIMESTAMP, STR_TO_DATE, or FROM_UNIXTIME)
  • amount, vatamount, quantity — integers (often CAST); amounts are in cents (12.50 → 1250)
Useful functions include CONCAT, REPLACE, LEFT / RIGHT / SUBSTRING, UPPER, TRIM, IF / CASE, and JSON/XML helpers such as JSON_EXTRACT_PATH_TEXT and XML_EXTRACT_XPATH_TEXT.
CONCAT returns null if any argument is null — prefer ARRAY_TO_STRING(ARRAY_CONSTRUCT_COMPACT(...), ', ') when optional fields should be skipped.

Filters

Filters exclude rows from becoming transactions. Multiple filters combine (all conditions must pass). Example: only import rows where order status is successful.

Test mapping

Test mapping applies an iteration to a processed input file and shows mapped output from the first rows.
  1. Select a processed file
  1. Choose an iteration
  1. Run the test and review mapped results
Save the source/mapping first so processed files are available. Prefer testing before you rely on a mapping in production.

Related pages

  • SourcesSources — source connection and collection settings