Track 2 Pay documentation homeTrack 2 Pay

Integrity checks

How Track 2 Pay finds sessions that slipped past a closed period, and how to decide whether each one is a duplicate or something you still owe.

Last updated: July 19, 2026

Every so often a session turns up dated inside a period you have already paid for. There are only two possible explanations, and they have opposite consequences:

  • it is a duplicate — the same session re-imported because some field changed, and you already paid for it. Pay it again and the clinician is overpaid.
  • it is genuinely missed — a real session that was never included. Leave it and the clinician is underpaid.

Nobody can tell these apart from a spreadsheet. Integrity checks is where Track 2 Pay lays them out and asks you.

Find it under the gear icon in the top right, then Integrity Checks.

What lands here

Any transaction that has not been through a finalized payout, and is dated on or before the end of your most recently finalized period.

In other words: things that should already have been paid for, and were not. Sessions from the current, unpaid period do not appear — they are simply waiting for the next payout, which is normal.

The Unbatched Transactions page, showing pending items with their best-match candidates

The line under the heading is your summary: how many are pending, how many you have already marked for batching, and how many high-confidence duplicates were found.

The columns

Alongside the usual date, type, description, patient and clinician:

StatusPending means undecided; Marked means you have already decided to include it in the next payout.

Best match — the most likely original, if Track 2 Pay found one. The chip shows the service code and a confidence level: high (green), medium (orange) or low (gray). A dash means no plausible candidate was found at all, which usually points to a genuinely missed session.

ActionDecide to open it, or Undo to reverse a decision you have already made.

How the confidence rating works

Track 2 Pay looks for candidates with the same clinician on the same day, then scores them on how much else agrees: the client’s name, how close the times are, the appointment type, the record type, the amount, and whether the candidate has already been paid.

  • High — the client matches and the time matches. Almost always the same session.
  • Medium — the client matches, or several weaker signals agree. Worth a proper look.
  • Low — same clinician, same day, and not much else. Treat with suspicion.

The rating is advice, not a verdict. You know things the software does not.

Deciding, one at a time

Click Decide on any row.

You get the flagged item, and underneath it a Matching Transactions table: each candidate with its confidence level, and — most usefully — a Differences column showing exactly which fields differ, as Field: old → new. If nothing differs it says Identical fields.

That differences list is normally the whole answer. Service Code: 90834 → 90837 on an otherwise identical session means somebody corrected the code in your billing system and the corrected version came in as a new row. It is a duplicate.

You then have two choices:

It is a duplicate. Click Override on the matching candidate. This merges the flagged item into the original, which stays as the record. You will be asked to confirm.

It is real and unpaid. Click Not a duplicate — include in next batch. Its status becomes Marked, and the next payout you create will sweep it in even though it falls before that payout’s start date.

Changed your mind? Undo puts it back to pending.

Deciding in bulk — the review wizard

If you have a dozen of these, clicking through them individually is tedious. Click Start Review for a full-screen, one-at-a-time flow.

Each screen shows the unbatched item on the left and the likeliest duplicate on the right, with the differences between them called out and a confidence chip. Where there are several candidates, you pick one from a list.

Three buttons, each with a keyboard shortcut:

Key Button Meaning
D Duplicate Merge into the selected match
B Include in batch It is real; pay it next time
S Skip Decide later

A progress bar tracks how far through you are, and the end screen tells you how many you resolved and how many you skipped.

The wizard only pre-selects a match when the candidate is plausible, so you cannot merge a weak match by hammering D. When there is no good candidate, it says so and leaves the choice to you.

Everything is reversible and recorded

Each decision is logged with who made it, when, and a full snapshot of the data at the time. Merges can be undone.

No reconciliation decision in Track 2 Pay is a black box, and none of them is final in the way a finalized payout is. If you get one wrong, it can be put right.

Working habits

Do this before creating a payout. When you click New Payout Batch, any undecided items produce a warning. Clearing them first means the payout you create is complete.

Deal with them while they are fresh. You may still remember a session flagged last week. One flagged five months ago, you will not.

A row with no best match is usually genuine. If Track 2 Pay found nothing resembling it, there is probably nothing to duplicate — it is a session that was genuinely missed, and marking it for the next batch is the right call.

When you cannot tell, check the source. Open the session in TherapyNotes. If it exists once there, it should exist once here.

High confidence still deserves a glance. It is right nearly all the time, which is exactly why the occasional exception is easy to wave through.

Still stuck? Open the Help menu in Track 2 Pay and choose Support, or read how to get support.