The Bar Complaint That Starts With a Spreadsheet Typo
Security & Compliance

The Bar Complaint That Starts With a Spreadsheet Typo

Most bar complaints I've seen didn't start with malice, they started with a typo a spreadsheet had no way of catching. Here's what actually enforces trust rules before the check goes out the door.

Let me be very honest with you, almost none of the bar complaints I've heard about firsthand started with a lawyer doing something malicious, right, they started with something almost embarrassingly small. A paralegal types a disbursement amount into the wrong row of a spreadsheet. A partner eyeballs the trust balance instead of pulling up the actual ledger before cutting a check. Someone runs a conflict check by typing a name into a search bar that only searches the folder they happen to be looking in, not the firm's full history. And six weeks later that one small keystroke has turned into an overdrawn trust account, a client complaint, and a managing partner sitting across from a disciplinary committee trying to explain why the firm's own books didn't catch it before the client did. That's basically the story I want to walk through here, because I built the trust ledger and the permission layer inside Casely specifically around this failure mode, and I want to show you exactly where a spreadsheet lets a small mistake through and where a proper ledger refuses to.

A Spreadsheet Doesn't Know What a Trust Account Is

Here's the thing that took me a while to really internalize when we were building this out, a spreadsheet is just a grid of cells, and a cell doesn't know or care whether the number sitting in it represents client trust funds that a state bar has specific rules about. You can type a negative number into a spreadsheet and it just sits there looking like any other number. Nothing turns red, nothing stops you, nothing asks you whether a bar rule was just violated. So the entire burden of catching an overdraft falls on a human being remembering to manually reconcile the balance against the bank statement, on a schedule, every single time, and doing the arithmetic correctly under time pressure between client calls. And that's exactly where things go wrong, not because anyone is dishonest, but because a spreadsheet has zero opinions about what should and shouldn't be allowed to happen inside it.

!
What Casely actually blocks If a disbursement, fee deduction, wire, or check would take a matter's trust balance below zero, Casely refuses to record it at the database transaction level, not as a warning you can click past. The rejection message is direct about why: "Disbursement exceeds trust balance. Bar rules prohibit overdrafts."

That distinction matters more than it sounds like it should, right, because a dismissable warning is basically the same as no warning at all once a firm is three deep into a Friday afternoon and everyone just wants the check to go out the door. Casely doesn't give you the option to override it. The entry simply never gets recorded, and the matter's balance never goes negative in the first place.

The Math Behind One Typo

I've talked to firms where the actual dollar amount of the original typo was tiny, sometimes under two hundred dollars, and the trust account still ended up overdrawn because nobody caught it for weeks. The typo itself is never the expensive part. What's expensive is the gap between when it happens and when someone notices, because during that gap the firm keeps operating as if the balance is what the spreadsheet says it is, not what it actually is.

0
overdraft entries possible once the ledger enforces the balance at the transaction level
100%
of disbursements checked against the live trust balance before they're recorded
3K+
attorneys running matters and trust ledgers on Casely
15M+
billable hours tracked through the platform

The point of a ledger that enforces itself isn't that it makes lawyers more careful, it's that it removes the window where carelessness turns into a bar rule violation. The check either clears the balance test the moment it's entered or it doesn't get entered, and there's no in-between state where a bad number is sitting in a spreadsheet waiting to be discovered during an audit.

Conflict Checks Have the Same Problem, Just Earlier in the Process

The trust account isn't the only place where a manual process quietly becomes a bar complaint. Conflict checks are arguably worse, because a missed conflict doesn't show up as a red number on a balance sheet, it shows up months later as opposing counsel or a former client raising it, and by then the firm may have already billed dozens of hours on a matter it should never have taken. If your process for checking conflicts is a person searching a folder structure or a client list by memory, the check only ever covers what that person thought to search, and it only happens if they remember to do it before the intake meeting instead of after.

  • Does a conflict check run automatically the moment a new contact's name is typed in, or does someone have to remember to go run one
  • Does the check search the firm's entire contact and matter history, or just the folder the person happens to be looking at
  • Is there a record of when the check ran and what it found, or does it just live in someone's memory
  • Would a departing associate's old client list still get checked against a brand new matter six years later

In Casely, conflict checks fire automatically the moment a name gets typed into a new contact or matter, and they run against the firm's entire contact and matter history, not a subset of it. That's not a manual tab search someone has to remember to open, it's built into the intake flow itself, so the check happens whether or not anyone was thinking about bar rules that day.

Spreadsheet vs a Ledger That Actually Enforces Itself

FeatureSpreadsheetCasely
Trust balance calculationA formula that can be edited or broken by anyone with accessA protected value computed from the ledger itself and never directly editable
Overdraft protectionNone, a negative balance just looks like any other number in a cellBlocked at the database level before the entry is ever recorded
Conflict checksManual search across whatever folder someone remembers to openAutomatic across the firm's full contact and matter history the moment a name is typed
Who can see privileged documentsWhoever has the folder link or file accessServer side privilege filtering, so a document tagged privileged can never reach the client portal even by accident
Record of a correctionCell just gets overwritten with no trace of the originalEntries are voided, never deleted, with a visible marker of who voided it and why

Voided, Not Deleted

This is the part that tends to matter most once a firm has actually been through a bar inquiry, because the first thing an investigator wants isn't just the current balance, it's the history of every change that got the account to that balance. A spreadsheet cell that got overwritten doesn't remember what it used to say. Casely never actually deletes a trust entry, it voids it, and the void carries a visible record of who did it and why, sitting right there in the matter's history for anyone with the right permissions to see. So instead of a firm trying to reconstruct what happened from memory or from an old email thread, the record already exists in the form a bar investigator or a malpractice carrier would actually want to see it in.

Who Can See What, and Who Can Prove It

The other place a spreadsheet quietly creates exposure is access. A shared spreadsheet or a shared drive folder tends to drift toward everyone having access to everything, because locking it down properly takes real effort and nobody wants to be the bottleneck when a paralegal needs one number from a file they're not technically supposed to see. Casely handles this with role-based permissions across every functional area, documents, the trust ledger, billing, matters, contacts, conflict checks, the client portal, and audit logs, so a receptionist and a partner are working inside genuinely different views of the firm, not the same file with an honor system layered on top. Ethical walls are enforced server side too, which matters more than it sounds like, because a walled off user's API calls get blocked directly, not just the button hidden from a screen they could still reach another way.

Two factor authentication follows the same logic, it's enforced once turned on, no bypass, no remembered device that quietly reopens the door six months later.

  1. 01Click Enable 2FA in Settings
  2. 02Scan the QR code with an authenticator app
  3. 03Type the six digit code to confirm
  4. 04Save the 10 recovery codes generated at enrollment
  5. 05Admin can see enrollment status per attorney on the Users page

The Billing Side of the Same Problem

Double billing is the quieter cousin of the trust account typo, and it comes from the exact same root cause, a manual process with no built in memory of what's already been done. A spreadsheet or a loose invoice template doesn't know that a block of hours already went out on invoice 214 last month, so if someone rebuilds a bill by hand there's nothing stopping those same hours from showing up again on invoice 231. In Casely, the "Bill Unbilled Time" button turns every unbilled hour on a matter into a numbered itemized draft in one click, and once those hours are billed they're marked automatically so they can never be pulled into another invoice again. Invoice numbering has no gaps, LEDES 1998B export is there for corporate e-billing clients, and a firm running hourly, flat fee, and contingency matters side by side can do it all from the same system because billing type lives on the matter itself.

Where a typical week goes at a firm still reconciling by hand
Manually checking trust balances against bank statements4 hrs
Re-entering the same client data across spreadsheet and invoice3 hrs
Chasing down who has which version of a document2 hrs
Actually practicing law2 hrs

That last bar is the one I keep coming back to when I talk to firms about this, because the whole point of enforcing the trust rule at the transaction level, or auto running conflict checks, or locking down privileged documents server side, isn't really about compliance for its own sake. It's about getting those hours back.

The Stakes for a Small Firm

If you're running a five to fifteen attorney firm, you don't have a compliance department, you have yourself, maybe an office manager, and whatever process survived from when the firm was three people working out of a single spreadsheet. That process was fine at that size, and so was the spreadsheet. The catch here is that the spreadsheet doesn't get riskier because you did something wrong, it gets riskier because the firm got bigger, more matters, more staff with access, more disbursements going out in a given week, and the odds that one of those thousands of manual entries is a typo just keep climbing while nothing in the system is built to catch it. At the end of the day, a bar complaint almost never announces itself as a bar complaint at the moment it happens, it just looks like a Tuesday afternoon, a quick disbursement, a name typed into a new matter without a second thought, and so yeah, that is basically the whole case for it.