Testing your integration end to end
Overview. Set up a test contact in your practice system using an inbox you control, tick the trigger on it, complete the verification yourself, and then confirm the result writes back onto that contact. That round trip, trigger to check to write-back, is what you are proving. If you have intake forms enabled, use a public (third-party) test TFN generator to get past the tax file number field. Run this once per integration before you send anything to real clients.
Why test end to end
An integration has three moving parts: the trigger you set in your practice system, the check your contact completes, and the write-back that lands the result on the record. Any one of them can be misconfigured without the others showing it. Testing the whole loop on yourself, before a real client is involved, is the only way to know all three work together.
It is also the safest way to learn the timing. Scheduled integrations such as XPM and FYI act on an hourly sync rather than instantly, so a test shows you how long a check really takes in your setup. See Connecting Xero Practice Manager (XPM) for how the hourly sync behaves.
Step 1: create a test contact
Make a dedicated test contact in the practice system you are testing (a contact in HubSpot, a client in XPM, a Karbon contact, an FYI entity, and so on).
- Use an email inbox you control, so the verification link comes to you, not a client. A spare or shared firm inbox works well.
- Give it an obvious name like "Test Contact" so nobody mistakes it for a real client later.
- Keep it separate from live client data, and delete or archive it once you are done so it does not clutter your records.
This means the whole test happens on a record you own, with no risk of emailing a real client or leaving a check on their file.
Step 2: set the trigger
Now start the check the same way your staff will in day-to-day use, from inside the practice system:
- XPM / FYI: tick the KYC Command checkbox (or AML Command for a Tranche 2 assessment) on your test contact.
- HubSpot: set the KYC command (or AML command) to start on the test contact.
- Karbon: add a note tagged
<kyc>(or<aml>) on the contact, or use a Karbon KYC task's "Send Verification" link.
Remember the timing: on scheduled integrations (XPM, FYI) the trigger goes out on the next hourly sync, so allow up to an hour. On real-time integrations (HubSpot, Karbon) allow a couple of minutes. When you check for the email, look in your junk or spam folder too, in case it has been filtered there. If nothing arrives within the expected window, work through You set the AML trigger but no check appeared before going further.
Step 3: complete the check (and the TFN generator)
Open the verification email that arrives in your inbox and complete the flow as your client would: consent, the intake form (if you use one), the identity biometric, and submit. If you have not enabled intake forms, a plain identity check will not ask for a TFN, so you can skip the next part.
If your intake form asks for a tax file number (TFN), IdentityCheck validates Australian identifiers like the TFN for a correct format at the point of submission, so a made-up number will be rejected and you will not be able to finish the test.
To get past it, use a public test TFN generator to produce a format-valid number for your test contact, then paste it into the field so the form accepts it and you can complete the flow. This is strictly for testing: it produces a number in the right shape, not a real person's tax file number. For how real TFNs are handled and protected, see Tax file number protection.
The generator below is a third-party public tool, not one of ours, but it is handy for producing a format-valid number: Australian tax file number generator.
Step 4: confirm the write-back
This is the step that actually proves the integration, so do not stop at "the check completed".
Go back to your test contact in the practice system and confirm the result has been written onto it:
- For a KYC check: the identity decision and the KYC status field update on the contact.
- For a Tranche 2 (AML) check: on XPM, HubSpot and FYI you should see the result fields populate, including the risk rating, the completion details and a risk assessment link. On Karbon, the result arrives as a note on the contact rather than as profile fields. On Monday.com, the write-back is limited to two status columns (the risk assessment status and the rating), so do not expect the full field set or a clickable link there.
If the trigger fired, the check completed, and the result landed back on the record, the round trip works and you are safe to point real clients at it. If the check completed but nothing wrote back, note which integration and which field, and contact support with those details.
Step 5: tidy up
Once the round trip passes, archive or delete the test contact so it does not sit among your live clients or count toward reports. Keep a note of how long the check took on your integration, so your team knows what to expect, especially the hourly delay on scheduled integrations.
Frequently asked
How do I test an integration without using a real client? Create a test contact in your practice system using an email inbox you control, set the trigger on it, and complete the check yourself. This proves the whole round trip (trigger, check, write-back) without emailing a real client or leaving a stray record on someone's file.
How do I get past the TFN field on the intake form? This only comes up if you have intake forms enabled; a plain ID check does not ask for a TFN. When it does appear, intake forms validate Australian identifiers like the TFN for a correct format at submission. Use a public (third-party) test TFN generator to produce a format-valid number for your test contact, so the form accepts it and you can complete the flow. It is for testing only, not a real tax file number.
What tells me the test passed? Two things. First, the check is sent and completes for your test contact. Second, and most important, the result writes back onto that contact in your practice system: the status updates and, for a Tranche 2 assessment, the risk rating and result fields appear. If the write-back lands, the round trip works.
My test check completed but nothing wrote back. What now? Note which integration you tested and which field you expected to update, then contact support. Remember that write-back differs by system: XPM, HubSpot and FYI receive the full result fields, Karbon receives a note, and Monday.com receives status columns only, so check you are looking in the right place first.
