Black Shard

Insights13 August 2026

Case study: Xero as the bank truth behind a law firm and a fund licensee

Two production integrations on Xero's Accounting API: the three-way trust reconciliation behind GRM LAW's end-of-month compliance, and the hourly bank-feed sync that keeps Stone Leaf Capital's fund ledger current.

Two regulated ledgers, one source of bank truth

Both engagements start from the same observation: in a regulated business, the ledger the firm keeps is only half the story. The other half is what the bank says actually happened, and Xero is where that number lives. The work in both cases was to bring the bank's version of events into the firm's own systems automatically, so reconciliation stops being a copy-paste exercise and becomes a property of the platform.

For GRM LAW, a Brisbane law firm whose operations portal we build and run, that meant wiring Xero into the end-of-month trust accounting close. For Stone Leaf Capital, an Australian capital-markets firm whose staff and fund-administration portal we build and run, it meant a scheduled bank-feed sync into the fund ledger. Different obligations, same integration surface: OAuth 2.0 against the Xero Accounting API.

GRM LAW: three-way trust reconciliation at end of month

A law practice's trust account answers to three versions of the truth at once: the trust ledger in the practice-management system, the firm's own records, and the bank statement. The end-of-month close has to show those agree, and the bank leg is the one firms most often retype by hand.

The portal's end-of-month module connects to Xero through an OAuth 2.0 app authorised against the firm's organisation. When a close runs, the module pulls the trust account's bank statement data through the Accounting API and compares the statement balance for the period against the practice-management trust ledger total. A gap becomes a named, visible finding in the close, not a surprise in an external examination.

The reconciliation check sits alongside the rest of the module's detectors, so the close is a single run with every leg recorded: what was checked, what the bank said, what the ledger said, and what explained any difference. The bank number arrives by API, not by transcription, which removes the class of error an examiner is quickest to find.

Stone Leaf Capital: an hourly bank feed into the fund ledger

Stone Leaf Capital's portal carries a fund-administration ledger that has to reflect bank movements promptly without a person watching a bank portal. The integration is a bank-feed sync built on the Accounting API, running two ways that behave identically: an hourly scheduled job, and an interactive pull a staff member can trigger on demand.

The sync is incremental on a modification-time high-water mark: each run asks Xero only for bank transactions created or modified since the last recorded position, so runs are cheap, idempotent and safe to repeat. Transactions land in the portal's own bank-transaction ledger tagged with their Xero source, where they feed reconciliation and reporting.

One design decision mattered more than the plumbing: the firm's manual statement upload remains authoritative, and the Xero feed supplements it. In a regulated fund context the feed accelerates the ledger; it does not silently replace the firm's controlled source of record. That posture, automation that strengthens a control instead of bypassing it, is the same one we take across the rest of both portals.

The engineering posture behind both

Each client has its own registered Xero app with its own credentials, scoped to what the integration actually reads. Tokens are stored server-side in each portal's secret store, never in a browser, and the OAuth flows are the standard authorisation-code grant against the client's own Xero organisation, authorised by the client.

Both integrations treat Xero as a source to read and reconcile against rather than a system to write into: the failure mode of a bad sync is a visible gap, never corrupted books. Every pull is recorded in the same audit machinery the portals already carry, so who connected the organisation, when a sync ran and what it brought back are all answerable questions.

The pattern generalises. Anywhere a business keeps its own operational ledger, trust accounting, fund administration, claims, disbursements, the bank truth in Xero can be brought alongside it automatically, with reconciliation as a continuous property rather than a monthly scramble.

Ship software you can defend.

Australia-wide, from our Brisbane head office. Someone will contact you as soon as possible.

Open a briefinfo@blackshard.com.au