ContextCleaner: see every entry in the Windows 11 right-click menu, and which app added it — on the Microsoft Store.

Last updated:

Guided workflow variation

Compare two CSV filesby the key, not by line number.

A plain text diff matches line 40 with line 40, so one inserted record makes everything after it look different. LedgerPair reads both CSV files as tables, pairs records on the key you pick, and reports the cells that changed.

Open both CSV files, keep or change the suggested key, press Compare, and every changed cell, unmatched record, and repeated key is listed with its row number.

Pay once. Own it forever.

One-time purchase on the Microsoft Store · No subscription · Instant install

Buy through the Microsoft Store—instant install, automatic updates, and a Microsoft receipt for easy expensing. No account needed on our site, and no subscription on Store purchases.

Full LedgerPair overview
One-time purchase No telemetry Local-first

windows · originals never changed · nothing uploads · 15-day free trial

If this sounds like your week

Text diff tools compare lines, not records.

Point an ordinary diff utility at two exports and it walks them top to bottom. If the second system sorted by date while the first sorted by customer, nearly everything is flagged. If one record was inserted near the start, each subsequent line shifts and the report fills with noise. The utility has no idea which field identifies a record, so it cannot say that order 5521 simply moved.

Where tooling usually breaks

Encodings and separators make it worse.

European systems write semicolons and decimal commas; older accounting packages write Windows-1252; some tools emit UTF-16. Open one of those in the wrong program and accented names turn into garbage characters, quoted addresses spill into the neighboring field, and a diff reports damage that was never in the data. Sorting beforehand does nothing for a quoted address that wraps across two physical lines.

Where LedgerPair lands

Read each file as a table, then pair records.

LedgerPair honors a byte-order mark, reads strict UTF-8 otherwise, and falls back to Windows-1252. It detects commas, semicolons, tabs, and pipes and keeps multi-line quoted fields intact. Each slot shows the file name, record count, and column count. Tick the identifying column in each export and sequence stops mattering: records pair up by key wherever they sit.

Pay once. Own it forever.

One-time purchase on the Microsoft Store · No subscription · Instant install

Buy through the Microsoft Store—instant install, automatic updates, and a Microsoft receipt for easy expensing. No account needed on our site, and no subscription on Store purchases.

Learn more about LedgerPair

windows · originals never changed · nothing uploads · 15-day free trial

What you get

Feature highlights

Rows paired on the keys you pick

tick one key column or several in each file, with different names allowed, and rows pair wherever they sit, so two exports sorted in different orders still line up.

Changed cells, side by side

every matched row whose values differ is listed with the columns that changed, and the detail pane shows both files’ values with the differing cell highlighted.

Formatting is not a difference

spaces are trimmed, amounts compare as exact decimals, and dates as calendar dates, so 1,250.00 equals 1250 and 2026-03-01 equals 03/01/2026, with a day-first option.

Duplicate and empty keys surfaced

a key that appears more than once in a file is listed with every row number, and rows with an empty key are listed on their own, never matched.

Near-miss keys suggested

an unmatched key spelled almost like one in the other file is shown as a fuzzy candidate in its own column, with a similarity score in the export, and never counted as a match.

An evidence workbook you can keep

a new .xlsx with Summary, Additions, Deletions, Changes, and Duplicates sheets, while the originals are opened read-only and nothing uploads.

Especially when

  • Compare two CSV or Excel exports by a key column instead of building VLOOKUP or XLOOKUP formulas for every column
  • Find the rows that are in one export and missing from the other, plus the keys that appear twice, with row numbers
  • Stop formatting differences such as 1,250.00 against 1250 or two date notations from showing up as false mismatches
  • Keep a reconciliation record as a new Excel workbook, with the original files untouched and nothing uploaded

Who benefits

Real-world scenarios

Two systems, two sort orders

The online store exports orders sorted by date; the warehouse system exports shipments sorted by order number. Both files have an Order column, and the question is which orders never shipped and which shipped with a different quantity.

LedgerPair preselects Order as the key because both files share it and its values are unique. Sort order does not matter: rows only in the orders file are the unshipped ones, and changed rows show the quantity from each file side by side.

A semicolon export with decimal commas

A supplier sends its price list as a semicolon-separated CSV with a byte-order mark and prices written like 1.234,50, and it has to be checked against the comma-separated file the purchasing system exported last quarter.

LedgerPair splits the columns on semicolons, keeps the umlauts in product names intact, and reads 1.234,50 and 1234.50 as the same amount, so only prices that moved show up as changed, with both values in the detail pane.

A record that appears twice

A CRM export of customer accounts is compared with the billing system’s export, and the totals are off by one record even though every customer seems to be present in both files.

The Duplicate key row shows that account C-1042 appears two times in the CRM file, with both row numbers. The second occurrence is also listed as only in that file and marked duplicate key, which accounts for the extra record.

Deep dive

How LedgerPair reads and compares two CSV files

Encoding first. A byte-order mark identifies UTF-8, UTF-16, or UTF-32. Without one, LedgerPair reads strict UTF-8 and falls back to Windows-1252, the code page older Windows accounting software writes, so names like Müller and Café come through as written. A file that is not text at all, such as an image renamed to .csv, is refused with a message that names it.

Delimiters and quoting. Commas, semicolons, tabs, and pipes are detected from the file. Quoted fields follow RFC 4180, so an address with a comma or a line break inside quotes stays in one cell. Blank lines are skipped, and a record with too many or too few fields is padded or trimmed with a warning that names the file and the row, recorded in the Notes on the Summary sheet.

Row numbers you can find. The header is row 1 and each record carries the row number a spreadsheet shows for it, so you can go straight to the same record when you open the file in Excel. The table shows the row in file A and the row in file B for every difference.

Keys. Tick one or several key columns in each file. The names can differ, such as Order in one export and Order No in the other, as long as the count matches. Keys are compared without regard to case, thousands separators and a trailing .0 are ignored, and leading zeros are kept, so 00123 and 123 stay distinct identifiers.

Values. Every column with the same heading in both files is compared cell by cell, and headings match regardless of case and extra spaces. Leading, trailing, and repeated spaces are ignored, amounts compare as exact decimals whatever their separators or currency symbol, and dates compare as calendar dates whatever their notation. A value such as 007 is kept as text, so it stays distinct from 7.

What you see. The table lists each difference with its kind, key, row in A, row in B, and a detail such as 1 cell differs: Price. Select a row and the pane below shows every compared column from both files, with the changed cell highlighted. The filter narrows the list to changed rows, rows only in file A or file B, or duplicate keys.

What you keep. Export evidence workbook saves a new .xlsx with Summary, Additions, Deletions, Changes, and Duplicates sheets. Each changed cell gets its own row on the Changes sheet, with the raw value from each file and the normalized form that was compared, so anyone can see why a cell was flagged.

How it is built

Built to read both files and leave them exactly as they were.

Originals only read

Both exports are opened read-only. The result is a new .xlsx you name in the Save dialog, and saving over either source file is refused.

Nothing leaves your PC

No network code, no account, no sign-in, and no telemetry. Files reach LedgerPair only through the Windows file dialog. One-time purchase in the Microsoft Store.

Formatting is not a difference

Spaces, amounts, and dates are normalized before comparing, so 1,250.00 equals 1250. Near-miss keys are suggested in their own column and never counted as matches.

FAQ

Straight answers—no glossary dump

How do I compare two CSV files and find the differences?

Open the first file with Open file A and the second with Open file B. LedgerPair preselects a key column the two files share when one looks like an identifier, such as Invoice or Order; change it under Key columns if needed. Press Compare. Changed cells, rows only in one file, and duplicate keys are listed with row numbers, ready to export to a new .xlsx file.

How does LedgerPair handle CSV files sorted in different orders?

Rows are paired by key, so each file can be sorted any way at all. A record at row 12 in one export and row 9,000 in the other is still matched, and the table shows both row numbers. Duplicate keys within a file pair up in order of appearance, and any extra occurrence is listed on its own and marked duplicate key.

Which CSV encodings and delimiters does it read?

UTF-8 with or without a byte-order mark, UTF-16, and Windows-1252, with commas, semicolons, tabs, or pipes as separators, detected from the file. Quoted fields that contain commas or line breaks stay in one cell, and accented characters such as ü and é are kept. A file that is not text, such as an image renamed to .csv, is refused with a message naming it.

What happens to my original files?

They are opened for reading only and are never written. LedgerPair compares the data it has read and saves its results to a new .xlsx file that you name in the Save dialog. Saving over either source file is refused with the message that originals are never overwritten, and a name that does not end in .xlsx is refused as well. If an export cannot be built, no file is left behind.

Where do my files go, and how do I get LedgerPair?

They stay on your PC. LedgerPair has no network code, no account, no sign-in, and no telemetry, and it opens only the files you pick in the Windows file dialog. It is a one-time purchase in the Microsoft Store, which installs and updates it, and the Store runs a 15-day free trial with every feature, so you can compare your own exports before you buy.

Two exports that should agree.
Every difference, listed and saved.

LedgerPair pairs two CSV or Excel exports on the key you pick, lists matched, changed, missing, and duplicate rows, suggests near-miss keys, and saves a new .xlsx evidence workbook. Originals are never changed, nothing uploads, and the Microsoft Store runs a 15-day free trial.

Pay once. Own it forever.

One-time purchase on the Microsoft Store · No subscription · Instant install

Buy through the Microsoft Store—instant install, automatic updates, and a Microsoft receipt for easy expensing. No account needed on our site, and no subscription on Store purchases.

Open full product page

Excel is a trademark of Microsoft Corporation. LedgerPair is made by Automata Labs and is not affiliated with or endorsed by Microsoft.

Technical specifications

Technical specifications for procurement

Spec Implementation
Data Sovereignty Opens only the two CSV or XLSX files you pick in the Windows file dialog, read-only; writes only the new .xlsx evidence workbook you name in the Save dialog, refusing either source file; remembers the last picked pair on this PC so it can be reopened
Telemetry Status None; no account, no sign-in, no telemetry, and no network code in the app
Core Runtime .NET 10 and WinUI 3 (Windows App SDK), packaged as MSIX; files reach the app only through the Windows file pickers
Network Requirements Fully functional offline; the app makes no network connections
Deployment Compatibility Windows 10 version 2004 or later and Windows 11, x64 or ARM64; one-time purchase on the Microsoft Store with a 15-day free trial
Inputs CSV (UTF-8, UTF-16, or Windows-1252; comma, semicolon, tab, or pipe; RFC 4180 quoting) and XLSX workbooks with a worksheet picker, in any combination; files open in Excel can be read
Keys One or several key columns per file, with different names allowed; compared ignoring case, thousands separators, and a trailing .0, with leading zeros kept; composite keys shown joined by a vertical bar
Normalization Spaces trimmed and collapsed; amounts as exact decimals with thousands separators, decimal commas, currency symbols or codes, parentheses, and trailing minus; dates as calendar dates, with a day-first option
Results Matched, changed (cell by cell), only in file A, only in file B, duplicate keys, and empty keys, with row numbers; fuzzy candidates for near-miss keys in their own column, never counted as matches
Output New .xlsx evidence workbook with Summary, Additions, Deletions, Changes, and Duplicates sheets; raw values as text, frozen headers, and filters; suggested name a-vs-b-evidence.xlsx
Originals Opened read-only and never written; saving over either source file is refused