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. Detect Duplicates — potential matches against existing entities are identified
  4. Review — if duplicates are found, you decide how to handle each one
  5. Import — entities and relationships are created or updated in your workspace

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, the XPM client is not imported automatically. Instead, you are presented with the match and given three choices:

  • Join — link the XPM client to the existing StructureGram entity. No new entity is created; the existing record is used for any relationships.
  • Import — create a new entity anyway, even though a similar one exists. Use this when the match is a false positive (e.g. two different people with the same name).
  • Skip — leave the XPM client unresolved for now. It will not be imported until you make a decision.

After making your decisions, you must re-run the sync — your choices are applied and the remaining entities are imported.


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). The sync handles this via the dependency policy:

  • Skip (default) — the relationship endpoint is noted but not imported. You can import the missing entity separately.
  • Auto-import — the system automatically imports the cross-group entity and creates the relationship.

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 duplicates carefully — the system matches by name only, so people with common names may produce false positives
  • Join when possible — linking to existing entities maintains data integrity and avoids cluttering your workspace with duplicates
  • Re-sync after resolving duplicates — your join/skip/import decisions are remembered and applied on the next sync
  • 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 endpoints belong to different groups and the dependency policy is set to "Skip"
  • The XPM relationship type isn't supported yet
  • An SMSF trustee compliance check prevented the relationship from being created

Try re-syncing with Auto-import dependency policy enabled, or check the sync summary warnings for details.

Duplicate entities are still being created

Make sure you review and resolve all flagged duplicates before re-syncing. If you choose "Import" for a match, a new entity will be created regardless of the existing one.

You can identify and clean up duplicates that may have been imported using the separate Reconciliation flow.

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