Changelog
Improvement

Every row knows where it printed

CounselPro now records two things about each transaction it reads: the page it printed on, and where it sat among the rows on that page. Reconciliation uses both to lay your rows out in the order your eye reads them off the statement.

Pinned to the right line

Statements repeat themselves. The same figure often prints more than once in a cycle, a purchase and its return, or an amount that shows up again in a daily balance section. An amount on its own cannot tell you which line a row came from.

So CounselPro reads the whole printed line: the date, the wording, and the reference digits alongside the amount. That places a row on the exact page it came from and tells it apart from a row that looks just like it. When the page does not single out one line, the spot stays blank, because a page number is only worth citing if it is right.

Reconciliation reads like the statement

Open a cycle and the rows run in printed order: page first, then position on the page. Beside each date sits a small p.3 · 4 label, meaning the fourth row printed on page 3. You can find that exact line on the PDF next to it instead of scanning the page for a matching amount, and clicking the date jumps the viewer straight there.

The reconciliation list reads in order too. Statements that need a human still float to the top, and inside each group they run oldest period first. The previous and next controls in the workspace walk that same order, so stepping through a project follows the calendar.

In the transaction ledger there is a new sortable Row On Page column, sitting right after the document and page you already had. Sort by it to walk an account in the order the bank printed it.

On statements you have already run

Printed order is read at processing time, so it shows up on statements processed from here on. Rows from earlier runs leave the column blank and sort after the placed rows, because a position filled in after the fact would look exactly like one read off the page. Reprocess a statement whenever you want it, and the order comes with it.