Most LPM demos are choreographed. The vendor drives, the data is clean, and every button does exactly what the sales engineer expects because they've clicked it 400 times. None of that tells you how the system behaves when a paralegal fat-fingers a trust deposit, when a migration file has three date formats, or when your AML screen comes back with a possible hit on a politically exposed person.
The only reliable way to evaluate cloud-based legal practice management software is to hand the vendor your own scenarios and watch what breaks. Below are 20 tests organized by operational domain. Each one has an objective, a procedure you can run during a sandbox trial or structured POC, acceptance criteria, and sample data you can drop in. Run them with your own people driving where possible — the moment the vendor's engineer reaches for the keyboard, you've stopped testing the software and started testing them.
A note on how to use this: don't run all 20 on every vendor. Pick the 6–8 that map to your biggest operational risks, run those on your shortlist, and only expand to the full suite for your final two. Running all 20 across five vendors is how evaluations die in committee.
How to set up the test environment
Before any individual test, get three things in writing from each vendor:
-
A real sandbox with write access, not a screen-share. If they won't give your team hands-on keys for at least two weeks, that tells you something about either their confidence or their provisioning overhead.
-
A named technical contact who can answer config questions within one business day. Evaluation velocity predicts implementation velocity.
-
Permission to load your own sample data. If the only data allowed is their seeded demo set, every test below is compromised.
A quick workflow to follow:
Score each test pass/partial/fail, and keep the artifacts — screenshots, exported files, error messages. When you're comparing vendors eight weeks later, memory is useless and the exported LEDES file that failed validation is gold.
Domain 1: Intake & AML/KYC
Test 1 — Conflict check against near-duplicate parties
Never miss a critical deadline again.
Casioly helps legal teams manage cases efficiently and stay on top of critical tasks.
- Centralized case tracking
- Automated deadline reminders
- Secure client communication
No credit card required
Objective: Confirm the system surfaces conflicts when party names are entered inconsistently.
Procedure: Create three existing matters with the parties "Riverside Holdings LLC," "Riverside Holdings, L.L.C.," and "Riverside Hldgs LLC." Then start a new intake naming "Riverside Holdings" as an adverse party.
Acceptance criteria: The conflict search returns all three existing records, not just an exact string match. Bonus if it ranks them by match confidence and shows which matter and which role (client vs. adverse).
Test 2 — AML/KYC hit handling and audit trail
Objective: Verify the onboarding workflow stops a matter from activating while a KYC flag is open.
Procedure: Run an intake for a client whose beneficial owner triggers a sanctions/PEP flag. Attempt to move the matter to "active" without resolving the flag.
Acceptance criteria: The system blocks activation, records who was notified, timestamps the override if one is permitted, and logs the resolution rationale. The audit entry should be exportable.
Sample data: A beneficial owner named to match a common watchlist test entry, plus a clean co-owner so you can confirm the system isn't just blocking everything.
Test 3 — Intake data completeness gate
Objective: Confirm required fields actually block progression.
Procedure: Mark five intake fields as mandatory (responsible attorney, matter type, fee arrangement, client ID, engagement letter status). Try to create the matter leaving two blank.
Acceptance criteria: Creation is blocked with a clear field-level message, not a generic "error occurred." Check whether an admin can bypass, and whether the bypass is logged.
Run these with your own people driving where possible — the moment the vendor's engineer reaches for the keyboard, you've stopped testing the software and started testing them.
The deeper control logic here — tiered due diligence, re-screening cadence, who can approve an override — should already be mapped in your onboarding SOP. This test just confirms the software enforces what your policy already says.
Domain 2: Matter Metadata & Migration Mapping
Test 4 — Field mapping with dirty source data
Objective: See how the migration tool handles messy real-world exports.
Procedure: Give the vendor a 500-row export from your current system with deliberate problems: mixed date formats (MM/DD/YYYY and DD-MM-YY in the same column), two matters sharing a matter number, trailing whitespace in client names, and one row with a matter type that doesn't exist in their taxonomy.
Acceptance criteria: The tool flags the duplicate matter number, reports the unmapped matter type instead of silently dropping or defaulting it, and gives you a reconciliation report showing exactly how many rows loaded, failed, and transformed.
A clean migration depends on having a stable target schema before you start mapping. If you haven't locked your field list yet, the work in a canonical matter metadata model needs to happen before the vendor POC — otherwise you're testing migration against a moving target.
Test 5 — Custom field fidelity round-trip
Objective: Confirm your custom metadata survives import and export unchanged.
Procedure: Create five custom fields (including a multi-select and a currency field), populate them, export, then re-import the export into a second sandbox matter.
Acceptance criteria: All values round-trip identically. Multi-select order and currency precision are preserved. Watch specifically for silent truncation of long text fields — a very common failure.
Domain 3: Time Capture & Billing (LEDES)
Test 6 — LEDES 1998B / LEDES 2000 export validation
Objective: Produce a LEDES file that passes an e-billing gateway's validation.
Procedure: Enter 20 time and expense entries across two timekeepers with varied task/activity codes, then export a LEDES 1998B file. Run it through an independent LEDES validator (or your actual e-billing vendor's pre-submit check).
Acceptance criteria: Zero structural errors. Block billing codes map correctly, totals reconcile line-to-summary, and date formats conform. If the export fails validation, ask whether it's a config issue or a product limitation — the answer determines whether this is a dealbreaker.
Sample data: Include at least one entry with a UTBMS code the vendor claims to support and one expense line, since expense formatting is where files most often break.
The pre-submit checks worth running are the same ones you'd apply internally before any e-bill goes out. Your own validation layer shouldn't disappear just because the vendor says their export is "LEDES compliant."
Test 7 — Time entry rounding and rate rule enforcement
Objective: Confirm billing rules apply correctly and consistently.
Procedure: Configure a client with a 0.1-hour minimum increment, a blended partner rate, and a 10% courtesy discount on a specific task code. Enter a 4-minute entry under that task code.
Acceptance criteria: The 4-minute entry rounds to 0.1 hours, applies the blended rate, and the discount shows as a separate adjustment line rather than being baked silently into the rate. Billing transparency matters more than people expect during client disputes.
Test 8 — Draft-to-final bill edit trail
Objective: Confirm narrative edits and write-downs are tracked.
Procedure: Edit a time narrative at the bill-review stage and write down one line by 50%.
Acceptance criteria: Original narrative and amount remain recoverable, and the write-down is attributed to the reviewer with a timestamp. For realization analysis, you need the original, not just the final.
Domain 4: Trust Accounting & Ledgers
Test 9 — Three-way reconciliation
Objective: Confirm the system supports true three-way trust reconciliation.
Procedure: Record client trust deposits across three matters, disburse from two, then compare the trust ledger balance, the client ledger sum, and a mock bank statement.
Acceptance criteria: The system reconciles all three and flags any variance. Critically, confirm it can produce the reconciliation report your jurisdiction's bar actually requires — not just an internal summary.
Test 10 — Overdraft and commingling prevention
Objective: Prove the software blocks a trust overdraft at the matter level.
Procedure: With $5,000 in trust for Matter A, attempt a $6,200 disbursement against Matter A.
Acceptance criteria: The transaction is blocked, not warned-then-allowed. A system that lets you overdraw an individual client's trust balance — even when the pooled account has funds — is a malpractice exposure, full stop.
Sample data:
| Matter | Trust Deposit | Attempted Disbursement | Expected Result |
|---|---|---|---|
| A | $5,000 | $6,200 | Blocked |
| B | $12,000 | $4,000 | Allowed |
| C | $800 | $800 | Allowed (zero-out) |
Test 11 — Trust-to-operating transfer controls
Objective: Confirm earned-fee transfers require an invoice linkage.
Procedure: Attempt to move trust funds to operating without an associated invoice.
Acceptance criteria: The transfer is blocked or requires explicit invoice selection and approval. The red-flag conditions you'd review at month-end — unlinked transfers, round-number disbursements, same-day deposit-and-withdraw — should be enforceable as system rules, not just caught by a human later.
Domain 5: Matter Orchestration & Workflows
Test 12 — Conditional workflow routing
Objective: Confirm the workflow engine branches on matter data.
Procedure: Build a workflow where matters over $50,000 in budgeted fees require partner sign-off before any work tasks generate, while smaller matters skip that step.
Acceptance criteria: A $65,000 matter routes to partner approval; a $20,000 matter doesn't. Change the budget on an existing matter and confirm the workflow re-evaluates.
When designing these tests, pull the patterns from your own matter orchestration and safe automation rules so you're validating the vendor against automation you'd actually trust in production — including the guardrails that stop an automation from, say, closing a matter with an open trust balance.
Test 13 — Automation failure behavior
Objective: See what happens when an automated step can't complete.
Procedure: Configure an automation that emails a client on stage change, then trigger it for a matter with no client email on file.
Acceptance criteria: The system logs the failure, notifies someone, and does NOT silently advance the matter as if the step succeeded. Silent automation failure is the quiet killer — the workflow looks done, and nobody knows the client was never contacted.
Test 14 — Deadline and dependency cascade
Objective: Confirm dependent dates recalculate correctly.
Procedure: Set a filing deadline with three dependent internal deadlines offset by -14, -7, and -2 days. Move the filing deadline forward by 10 days.
Acceptance criteria: All three dependents shift correctly, and any that now fall in the past are flagged rather than silently created as already-overdue.
Domain 6: Integrations & Data Reconciliation
Test 15 — Document management sync integrity
Objective: Confirm documents stay linked to the correct matter through edits.
Procedure: Save a document to a matter, rename the matter, move the document to a subfolder, then search for it by matter number.
Acceptance criteria: The document remains findable and correctly associated after all three operations. Broken document-to-matter links are brutal to clean up post-migration.
Test 16 — Two-way accounting sync with a forced conflict
Objective: Test how the integration resolves conflicting edits.
Procedure: Change an invoice amount in the LPM and the same invoice in the accounting system before the next sync.
Acceptance criteria: The system detects the conflict and surfaces it rather than silently letting last-write-win. Ask to see the reconciliation log. A sync that resolves conflicts invisibly will drift your books over months, and you'll find out at year-end.
Test 17 — API rate-limit and bulk behavior
Objective: Understand integration limits before they bite you.
Procedure: Ask the vendor to demonstrate a bulk update of 1,000 matters via API and show the rate limits.
Acceptance criteria: Documented rate limits, pagination behavior, and a clear answer on whether bulk operations run async with a status callback. Firms doing acquisitions or large migrations hit these walls hard.
Domain 7: Security & Compliance
Test 18 — Granular permission enforcement
Objective: Confirm ethical-wall and least-privilege controls actually restrict access.
Procedure: Create a restricted matter, assign an ethical wall excluding User B, then log in as User B and attempt to find the matter via global search, reports, and direct URL.
Acceptance criteria: User B cannot see the matter through ANY path — including search autocomplete and report aggregates. Permission leaks through reporting are more common than through the main UI, so test the back doors.
-
Role-based access demonstrable, not just promised
-
Audit log captures reads, not only writes, for sensitive matters
-
SSO/MFA enforced and configurable per role
-
Data residency location confirmed in writing
-
Encryption at rest and in transit documented
-
Exportable access report for a named user over a date range
-
Offboarding revokes access immediately across integrations
The access-audit discipline here connects directly to the broader control cadence you'd run anyway — the stage-level scoring laid out in a matter-risk control matrix gives you the control library to test each permission claim against something concrete.
Test 19 — Audit log completeness and immutability
Objective: Confirm the audit trail can't be quietly altered.
Procedure: Perform a series of actions (create, edit, delete, permission change), then ask whether any user role can edit or purge audit entries.
Acceptance criteria: Audit logs are append-only, exportable, and capture actor/action/timestamp/before-after values. If an administrator can delete log entries, your malpractice defense has a hole in it.
Domain 8: Reporting & SLA Verification
Test 20 — Realization report accuracy under write-downs
Objective: Confirm reports reflect reality, not rounded optimism.
Procedure: Using the write-down data from Test 8, run a realization report at the timekeeper and matter level.
Acceptance criteria: Reported realization reconciles to the underlying entries, write-downs are reflected, and you can drill from the summary number to the specific line items. A report you can't drill into is a number nobody will trust in a partner meeting.
SLA verification, run in parallel: During the trial, log every support ticket, page-load lag, and outage. Compare against the uptime and response SLA in the contract. A vendor promising 99.9% uptime that goes dark twice in a two-week POC just told you what their real number is.
A quick decision guide for scoring vendors
When a failed test is a dealbreaker
Trust accounting (Tests 9–11), AML/KYC blocking (Test 2), audit immutability (Test 19), and conflict detection (Test 1). These touch regulatory and malpractice exposure. A vendor that fails here doesn't get a config-fix pass — fix it before contract or walk.
When a partial pass is acceptable
Workflow conditionals, custom field handling, and reporting drill-downs can often be configured or built over time. A "partial" with a credible roadmap and a sandbox you verified is reasonable.
Who should NOT over-engineer this evaluation
A three-attorney firm running 150 active matters doesn't need the API bulk test or a full ethical-wall matrix. Pick the 6–8 tests that touch your actual risk — almost certainly trust, LEDES, conflicts, and permissions — and skip the enterprise-scale ones. Over-testing a small firm's needs just delays getting off the spreadsheet you're currently losing money on.
A realistic evaluation scenario
A mid-sized litigation boutique — around 22 timekeepers, roughly 600 active matters — ran a shortlist of three LPM vendors using a subset of these tests. On paper all three claimed LEDES support and trust compliance.
Test 6 knocked one vendor out immediately: their LEDES export failed the e-billing gateway's validation on expense lines, and the fix was "on the roadmap." Test 10 eliminated a second — it warned on a trust overdraft but let an admin push it through without logging the override, which their state bar would not have accepted.
The surviving vendor wasn't the cheapest or the flashiest in the demo. But across the eight tests the firm ran, it passed the four dealbreakers cleanly and partial-passed two workflow items with a sandbox the firm verified themselves. The whole evaluation took about five weeks of part-time effort from an ops lead and a billing coordinator. The firm's estimate was that catching the LEDES and trust issues before signing saved them something in the range of a six-month painful implementation and at least one awkward conversation with a bar auditor.
The point isn't the specific vendor. None of these failures showed up in the polished demo. They only appeared when the firm drove the software with its own messy data and its own edge cases.
Closing thought
The vendors who do well on tests like these are usually the ones who hand you the sandbox keys without flinching and answer "what happens when this fails?" with a straight answer instead of a feature pitch. Build your subset around the domains where a failure costs you money, your license, or your clients' trust — trust accounting, LEDES, conflicts, and access control — and make the vendor earn each pass with your data, not theirs.
Keep every artifact. Eight weeks from now, when the decision is close and everyone's tired, the exported file that failed validation will make the call for you.
Ready to elevate your legal practice management?
Join 500+ law firms using Casioly to optimize case workflows, reduce administrative burden, and improve client satisfaction.