Gap Resolution Strategies
How to configure what happens when ParitySync finds dimension members that exist in one system but not the other.
When Matching Rules Fail
After ParitySync runs all configured matching rules, any source member without a target match is a gap. Gaps block the data sync -- rows referencing unmatched dimension members cannot be loaded into the target system. Resolution strategies define what VersionForge does with each gap.
Resolution Strategies
Auto-Create
VersionForge creates the missing member in the target system automatically. The new member is added with the source member's name, code, and hierarchy position.
resolution:
strategy: "auto-create"
defaults:
planningEnabled: true
rollupBehavior: "sum"
Auto-create is appropriate when your target system should mirror the source. Use it for dimensions where new members are expected to appear regularly, such as cost centers or projects.
Auto-created members are tagged with a _vf_auto_created attribute in the target system. This makes it easy to audit which members were added by VersionForge versus manually by your planning team.
Map
Alias the unmatched source member to an existing target member. This is different from alias matching -- alias matching finds existing mappings, while the Map resolution creates a new alias for future syncs.
resolution:
strategy: "map"
defaultTarget: "UNASSIGNED" # map unmatched members to this target member
Map is useful when you do not want to create new members in the target. For example, if your planning model has a fixed account structure, you might map unknown source accounts to a catch-all Other - Review account.
Skip
Ignore the unmatched member for this sync cycle. Rows referencing skipped members are excluded from the load without triggering a pipeline failure.
resolution:
strategy: "skip"
logSkipped: true # record skipped members in the run audit log
Skipped rows are silently excluded from the load. If you skip a dimension member, any transactional data referencing that member will not reach the target. Use skip only for members you are certain are irrelevant (test data, deprecated codes).
Flag
Add the gap to the review queue without taking automatic action. The sync pauses until an implementer resolves the gap manually in the ParitySync interface.
resolution:
strategy: "flag"
severity: "blocking" # "blocking" pauses sync; "warning" allows sync to proceed
Flag is the safest default for dimensions where incorrect resolution could corrupt your planning model (e.g., entity hierarchies, consolidation dimensions).
Strategy Selection Per Dimension
You configure resolution strategies per dimension type, not globally. This lets you apply aggressive automation where it is safe and conservative flagging where judgment is required:
dimensions:
cost_center:
resolution:
strategy: "auto-create"
department:
resolution:
strategy: "auto-create"
account:
resolution:
strategy: "flag"
severity: "blocking"
entity:
resolution:
strategy: "flag"
severity: "blocking"
product:
resolution:
strategy: "map"
defaultTarget: "OTHER_PRODUCT"
The Checkpoint System
Dimension alignment can involve dozens of gaps, and resolution sometimes requires input from multiple stakeholders (FP&A lead for accounts, HR for departments, treasury for entities). The checkpoint system lets you save progress and resume later without losing work.
Start alignment
ParitySync detects gaps and presents them in the review interface. You begin resolving gaps one by one -- approving auto-creates, confirming maps, or deciding to skip.
Save checkpoint
At any point, click Save Checkpoint. VersionForge persists every resolution decision you have made so far, along with the unresolved gaps that remain.
Resume later
When you return (or a colleague picks up where you left off), the checkpoint loads automatically. Resolved gaps are marked complete, and the interface shows only the remaining items.
Finalize and proceed
Once all gaps are resolved, click Finalize Alignment. VersionForge applies the resolution decisions (creates members, saves aliases, skips excluded items) and releases the sync to proceed.
Incremental Alignment
After the initial full alignment, ParitySync operates incrementally. On each subsequent sync, it compares only the new or changed dimension members since the last alignment -- not the full inventory. This keeps alignment fast even for dimensions with thousands of members.
Incremental alignment detects:
- New source members added since the last sync
- Removed source members that no longer appear in the extraction
- Changed members where the name, code, or hierarchy position was modified
Previously resolved gaps are not re-evaluated unless the underlying member data changes. Your alias mappings, auto-created members, and skip decisions persist across runs.