Help & Documentation

Learn how to use StructureGram

Xero Practice Manager Sync

StructureGram integrates with Xero Practice Manager (XPM) to import client entities and their relationships directly into your workspace. This saves time by pulling structured data from your practice management system instead of entering it manually.

How It Works

The XPM sync operates in two stages:

Stage 1: Discovery

Discovery fetches the list of client groups available in your XPM account.

  1. Connect your Xero account via the Xero Integration settings
  2. Discover available XPM groups by running a discovery sync
  3. Link an XPM group to a StructureGram group — this tells the system which XPM group maps to which StructureGram group

Stage 2: Group Sync

Once a group is linked, you can sync its members into StructureGram.

  1. Pull — the system fetches all clients and relationships from the linked XPM group
  2. Map — XPM client types are mapped to StructureGram entity types (individuals, companies, trusts, partnerships, SMSFs)
  3. Duplicate Safeguards — potential duplicate entity imports are skipped and flagged for review
  4. Policy Review — relationships that need manual decisions (for example direction/type/compliance or holding class requirements) are surfaced in the pull review list
  5. Retry with Decisions — apply your review decisions and retry so unresolved items can be imported, deleted in XPM, or deferred

Entity Type Mapping

XPM clients are automatically mapped to the appropriate StructureGram entity type:

XPM Client TypeStructureGram Entity
Person / IndividualIndividual
Company / BusinessCompany
TrustTrust
PartnershipPartnership
Superannuation FundSMSF

Duplicate Detection

When syncing a group, StructureGram checks for existing entities that might be duplicates of incoming XPM clients. This prevents creating redundant records.

How Matching Works

Duplicate detection matches entities of the same type using exact name-based comparison:

Entity TypeMatch CriteriaConfidence
IndividualSame first + last name + date of birthHigh
IndividualSame first + last name (no DOB match)Medium
CompanySame legal nameMedium
TrustSame trust nameMedium
PartnershipSame nameMedium
SMSFSame fund nameMedium

What Happens When Duplicates Are Found

When a potential duplicate is detected during pull, the XPM client is not imported automatically.

Instead, it is flagged in sync diagnostics and should be resolved in Reconciliation, where you can decide whether to:

  • Link to Existing (map to an existing SG entity),
  • Import into SG (create a new SG entity),
  • or Ignore this round.

Relationship Handling

The sync imports relationships between entities in the same group. Common relationship types include:

  • Director, Secretary, Shareholder (for companies)
  • Trustee, Beneficiary, Appointor, Settlor (for trusts)
  • Partner (for partnerships)
  • Trustee, Member (for SMSFs)
  • Spouse, Parent/Child (for individuals)

Relationship Duplicate Detection

Relationships are checked automatically to avoid creating duplicates:

  • If a relationship with the same type and endpoints already exists, the system updates it rather than creating a second one
  • Symmetric relationships (e.g. spouse) are detected from either direction — if "A spouse of B" already exists, "B spouse of A" is automatically skipped
  • Multi-holding types (shareholder, unitholder) allow multiple relationships between the same entities to support different share classes

Unlike entity duplicates, relationship duplicates are handled automatically — you are not prompted to review them.


Sync Modes

You can control what gets synced using sync modes:

ModeWhat It Syncs
All (default)Entities and relationships
Entities onlyJust the entities — no relationships
Relationships onlyJust the relationships (entities must already be imported)

Cross-Group Dependencies

Sometimes an XPM relationship references an entity that belongs to a different group (e.g. a director who appears in multiple client groups).

Current sync behavior uses auto-import for cross-group dependencies by default so relationship endpoints can be resolved consistently across pull/push/reconciliation flows.


Data Normalisation

During import, StructureGram normalises identifier fields to ensure data quality:

  • ABN — stripped to 11 digits, non-digit characters removed
  • ACN — stripped to 9 digits
  • TFN — stripped to 8 or 9 digits
  • DIN — stripped to 15 digits

If an identifier doesn't meet the expected format after normalisation, it is discarded rather than stored incorrectly.

StructureGram also performs a data integrity and validation check to see if ABNs, ACNs, TFNs and DINs are valid numbers (using the government's check-digit algorithm). StructureGram will not prevent the import of an invalid identifier. However, it will flag that the identifier has not passed the validation check.


Tips

  • Link groups before syncing — discovery must run first so the system knows which XPM groups are available
  • Review duplicate candidates carefully — name-based matching can produce false positives for common names
  • Use reconciliation for duplicate resolution — pull intentionally avoids creating duplicates when a likely match exists
  • Re-run pull after review — relationship review decisions are applied on retry
  • Use entity-only mode when troubleshooting — sync entities first, then sync relationships in a separate pass
  • Synced entities are tagged with their XPM source for traceability

Troubleshooting

"No linked StructureGram group found"

You need to link an XPM group to a StructureGram group before syncing. Go to the Xero Integration settings, run discovery, and link the desired group.

Entities appear but relationships are missing

This can happen if:

  • The relationship requires manual review (for example direction correction, endpoint validation, or holding class selection)
  • The XPM relationship type isn't supported yet
  • An SMSF trustee compliance check prevented the relationship from being created

Check pull review cards and sync warnings, apply decisions, then retry pull.

Duplicate entities are still being created

Pull sync now suppresses likely duplicate imports by default. If you still see duplicates, they were likely introduced outside the pull path (for example via previous manual imports or push flows).

Use Reconciliation to link, import, or remove duplicates with explicit per-item decisions.

XPM API limitations

We have done our best to fully integrate with the XPM API so that your data can flow to and from XPM seemlessly. However, the XPM API is not complete, in that not all data that is exposed in XPM is available to be downloaded via their API. For example, it is not currently possible to sync DINs and TFNs in most instances. The XPM API exposes dates of birth, but does not currently expose dates of death. There are also other gaps. Accordingly, some data you will need to either enter manually in both systems, or just keep in one system of record.


Related Topics