Changelog

RSS

What's new in CounselPro

Product updates for CounselPro: new features, improvements, and fixes for forensic financial analysis, shipped as they land.

New feature

Meet self-healing reconciliation

This is our biggest release yet. Say hello to self-healing reconciliation: the engine now checks every statement against its own math, and when the numbers do not hold up, it fixes them on its own. We also launched new plans and a simpler credits model. Here is everything that shipped, plus a look at what is landing next.

Self-healing reconciliation

A number is only as good as the page it came from. Reconciliation checks every account on every statement against the statement's own math: the beginning balance, plus every transaction with its sign, should land on the ending balance to the cent. When it balances, you know the extraction is complete and correct for that cycle. When it does not, the engine goes to work on its own.

  • It fixes itself. When a statement does not tie out, the engine re-reads only the accounts and pages that failed, and moves up to stronger reading passes for the hardest ones. Most breaks close on their own, before you ever look at them, and you never re-upload anything or flag it yourself.

  • A balance status on every cycle. Each account and each statement period gets a clear status: it reconciles, it needs review, or it cannot be verified from what the statement printed. Scan a whole project and see exactly where anything is still open.

  • A plain-English reason when a gap remains. For anything it cannot close, you get the why instead of a raw error: a missing transaction, a break in the running balance after a specific check, a page too degraded to read, or a statement that was cut off. You know what to chase.

You will feel this most on the messy files: the odd regional bank, the credit union member statement, the scan someone ran through a copier twice. The breaks that used to slip through now get caught, and most of them get fixed before they ever reach your desk.

Self-healing reconciliation is included with our new plans. If you are on an older plan, see below for how to get it.

New plans, simpler billing

We rebuilt our plans so you choose by the features you need, not by a page cap. Billing now runs on a simple credits model. One page equals one credit, so the cost of a project maps straight to the work in front of you. A 40-page statement is 40 credits. A 4,000-page production is 4,000.

  • Pick by features, not page count. Choose the plan with the capabilities your work needs, self-healing reconciliation included, instead of guessing how many pages you will run this year.

  • Every plan is unlimited. Your plan comes with a pool of credits, and when you need more, you buy more, so a big case never stops you cold. The one exception is single-project plans, which cap at 10,000 pages.

  • Top up in seconds. A self-serve Credit Refills page adds credits whenever you need them, and your balance sits in the account sidebar, so you always know where you stand.

Already with us on a monthly plan? Your current setup keeps working. We are still fully supporting the v1 processor you use today, and you keep the monthly page allowance you signed up for. The new features in this release, self-healing reconciliation included, run on our new plans. If you want them, reach out and we will get you moved over, and ask about our customer loyalty discounts while you do.

Coming soon

Two more big pieces are close.

Tax document analysis

Drop a tax return into a project and CounselPro will pull the numbers into clean, structured data you can actually work with. It reads federal Form 1040, W-2, 1099, Schedule A, and Form 8959, and it handles a real packet: one PDF can hold a 1040 with its schedules plus a stack of W-2s and 1099s, across more than one tax year, and each form is read only from its own pages. Every W-2 and 1099 gets split out by employer or payer, so five jobs become five records.

Each figure links back to the exact page and line it came from (wages, adjusted gross income, total income, federal withholding, and the rest), and you can correct any value by hand. Social Security numbers and IP PINs are never captured. For forensic work, this is income verification at the source: the income a party reported to the IRS, in clean comparable form, ready to hold up against the deposits and transfers CounselPro already traces.

A rebuilt forensic report

The AI Forensic Analysis report is getting a ground-up rework, powered by Daystrom. Instead of one long block of text, Daystrom plans full coverage of every transaction across every account, then writes the report as a structured document: an executive summary, focused sections, and evidence tables where each row links straight to the statement page it came from. Open the PDF to that exact page and stand behind every number in front of a judge.

The rework adds interactive charts built from your real data. Hover any bar, line, or money-flow chart to read the figures, and download any chart as an image or a spreadsheet. Charts show up only where they make the argument: a spending trend, money in versus money out, funds moving between accounts. Large exhibits cap to the most material rows, with one click into the full filtered transaction list. Watch each section get written as it goes, then export the finished report to Word or PDF with the tables and charts intact.

Both are in active development and not available yet. We will post here the day they go live.

New feature

Meet Daystrom™, ask about a client's money in plain English

Daystrom is here. It is a chat assistant that sits next to your analysis and answers questions about a client's finances in plain English. Ask it something like "what were the largest cash withdrawals in 2024" and it reads the project's real transactions and checks, then streams the answer back while you watch it work. It is unlimited, each conversation lives at its own link, and it runs in a side panel you can collapse to get back to the ledger.

Here is what you can ask it to do:

  • Get a straight answer, grounded in your data. Every reply comes from the transactions and checks in the project, not a guess. When Daystrom uses a tool or pulls a figure, you see it happen inline.

  • See it as a chart. Ask for a picture and Daystrom draws it from the real numbers: bar and line charts for spending and balances over time, and a Sankey flow-of-funds diagram that traces money moving between accounts.

  • Find out where the money went. Get a breakdown of the recipients (banks, payment processors, and named people on checks and wires), with a count and dollar total for each, largest first. Ask where the money was spent in person and Daystrom plots those cities on a map from the card and in-person transactions.

  • Total money in vs money out over any date range, with the net for the period. Daystrom sticks to what the transactions can support instead of inventing a balance.

  • Work the checks. Total checks to a given payee, or compare check activity across months.

  • Clean up transactions. Tell Daystrom to remove duplicates or transactions that do not belong, with a guided review that checks each one against the source first. Every removal can be restored.

  • Verify a figure at the source. Daystrom can open the original statement to double-check a number, or read the balances the statement prints and how they change over time.

  • Edit your AI Forensic Analysis report. Ask it to revise a section, see the change first, then apply or revert it.

Daystrom is in beta, so tell us where it helps and where it falls short.

New feature

The Checks tab puts every check the statements hide in one place

Checks used to sit mixed into the transaction ledger, easy to miss and hard to total. Now they get their own tab in a project, pulled out of the statements and lined up on their own.

  • A real checks list. See every check the app pulled from the statements, sortable, with the date, description, and amount. Each check's Kind shows whether it was written from the account (money out) or paid to the account holder (money in).

  • A running count of what you have. Summary cards total the checks and split inflows from outflows, and a discovered-accounts card and table surface the drawer accounts printed on the checks, including accounts you did not know were in play.

Daystrom can work the same data in chat, so you can ask it to total the checks written to a given payee or compare check activity across months.

Improvement

More accurate dates, accounts, and check amounts across more statement types

We put a lot of work into the part you never see but always feel: getting every number off the page correctly. This round tightens extraction across the messy statement layouts that used to trip it up.

  • Transactions land under the right account. When one upload bundles several accounts, or a header repeats the same account number on every page, each transaction now stays with the account it actually belongs to. Credit-union member statements that print a "0000" placeholder are handled too.

  • Cleaner check data. Each check keeps its own account and posting date, amounts are signed by who wrote the check, checks already listed in a "checks cleared" recap are no longer counted twice, and a garbled check number gets dropped instead of showing up as junk.

  • Right dates on more layouts. Dates that OCR glued together ("Jun1"), an initiation date repeated inside a description, and statements that print the year only once are all read correctly now. Fewer missing rows, fewer wrong days.

  • Cleaner account numbers. The extractor stopped mistaking an accountholder ID or a DBA line for an account number, so you see the real number and fewer mystery accounts.

Improvement

See the account owner and bank on every transaction

Every transaction row now shows two details that used to send you back to the source statement: whose account it sits in, and which bank it came from. The app reads the account owner and the institution straight from the statements, and off check images too. You see them as columns on the transactions table, and rolled up in the account summary.

Because they are columns on the transactions table now, they ride along when you export it to CSV, right next to the account number and source page that were already there. So when you hand the data to opposing counsel or attach it as an exhibit, each line traces back to its account, its bank, and the page it came from.

New feature

Project Insights: spending, income, merchants, anomalies, and duplicates

A project's Insights tab is now a dashboard for reading a client's money at a glance, before you ever open the ledger.

  • Spending and income. See spending by category, then click any category to drill into its month-by-month trend. A merchants view ranks the businesses a client paid, and clicking a bar, point, or row opens every transaction behind that merchant. A separate income view charts monthly income over time.

  • Anomalies. A dedicated section flags the transactions worth a second look: statistical outliers by category, round-number amounts (exact multiples of $100), and weekend activity.

  • Duplicates. Likely duplicate transactions are grouped together, and each group has a one-click action to clear the whole group at once instead of hunting one at a time. Deletions are permanent, so review a group before you clear it.

The spending and income views filter by date range, and the table behind each view exports to CSV for an exhibit.

Bug fix

Credit cards and transfers now read with the correct sign and direction

Getting the direction of money right is the whole game in forensic work, and a few statement layouts were tripping the extractor up. This round fixes them.

  • Credit-card charges and payments carry the right sign. The sign is now decided per transaction from the account type, so a charge reads as money out and a payment as money in, even when credit-card activity sits inside a bank statement.

  • Transfers land on the correct side of the ledger. A transfer in is no longer flipped to a transfer out just because it shares a description with an outgoing transfer. Direction is settled at the end of the pipeline instead of by a majority vote across batches.

  • Benefit deposits stop disappearing. Social Security, SSI, and VA deposits were being caught by an over-broad rule that skipped anything with "benefit" in it. They come through now, along with fixes for long descriptions getting cut off and rows going missing.

Improvement

Reads scanned and low-quality statements more reliably

Not every statement is a clean digital PDF. Scans, photos, and image-only files used to stall or come back empty. The extractor now works a lot harder to read them.

  • More ways to read a page, with automatic fallback. The extractor now runs several OCR engines and retries a page before it gives up. If the main engine cannot read part of a statement, it hands off to a backup engine instead of failing the whole file.

  • Opens files that used to break. Malformed PDFs get repaired before anything tries to read them, rotated pages are turned right-side up, and larger scans decompress instead of hitting a size limit. Statements that would not even open now extract.

  • Cleaner text off scans. On scanned pages, the OCR path catches garbled or repeated output and retries it, drops repeated rows, and strips long runs of junk characters, so the transactions pulled from a scan come back more accurate.

Improvement

More accurate account numbers, credit unions, and merchant names

A case falls apart if the transactions are filed under the wrong account or the wrong vendor. This round tightens how the extractor reads accounts and merchants.

  • Fewer wrong or duplicate accounts. Account-number extraction now runs stricter validation: routing numbers are filtered out by ABA checksum, check-image and reference numbers are rejected, fully redacted values are discarded, and partial masks like ****5454 have their visible digits pulled through. That cuts the false and duplicate accounts that came from noisy or redacted statements.

  • Reads credit union statements. Statements are now told apart as credit union or bank using share account terminology, member versus customer language, and NCUA versus FDIC cues. Short share IDs like "Share 08" are detected, validated, and mapped to each transaction, and any share number that doesn't match a real one on the statement gets dropped. Bank statements no longer pick up spurious share numbers at all.

  • Consistent merchant names across a case. A vendor-resolution step normalizes merchant names and categories so the same vendor reads the same way everywhere, even on large cases with tens of thousands of transactions.

New feature

Edit many transactions at once

Fixing transactions one at a time is slow when a project has thousands of them. Now you can select a set of transactions and apply one change across all of them in a single action. Pick a field, set the value, and every transaction you selected updates at once instead of you clicking through every row. Recategorizing a whole group works this way, and so does correcting a shared detail like the account, account type, merchant, payment channel, institution, or year.

New feature

Change a transaction's category

You can now change the category on any transaction. Right-click a row in the ledger, choose Edit Transaction, and pick a new category from the dropdown. The category detail options update to match, so the analysis reflects how you read the money, not just how the bank labeled it.