1. Load your CSV records
Use one invoice-line CSV and one purchase-order-line CSV. Optionally
add receiving records. Download a sample for each source to see the
expected shape, or map your own column names. Excel workbooks, PDFs,
scans and credit notes are not supported in this preview.
2. Confirm what each column means
Matching uses the exact vendor code, PO number and SKU, after trimming
surrounding whitespace and normalizing Unicode. Codes are
case-sensitive. Units must match exactly; no box-to-item or currency
conversion is performed. Avoid mixing vendor names with vendor IDs.
The tool never guesses a match.
3. Review the differences
Line totals use quantity × unit price rounded half-up to cents. Prices
compare to the order. Compatible invoiced quantities accumulate across
the entire supplied batch before comparing to ordered and received
quantities. A missing receipt can mean missing evidence, not missing
delivery.
Header amounts
For invoice-total checks, map invoice total, tax, shipping and
discount; provide explicit zeroes when appropriate. These are
invoice-level amounts repeated on each row, not line taxes. Expected
total is the sum of supplied line totals + tax + shipping − discount.
Missing header columns are reported as unchecked; tax rates and
jurisdiction rules are not verified.
Duplicates and ambiguity
Repeated invoice line IDs—or identical line contents when no ID is
supplied—need review. Distinct invoice numbers with identical
vendor/date/contents are possible duplicates. Invoice rows stay in
totals. Repeated PO keys and ambiguous receipt records are flagged;
those comparisons are skipped rather than choosing a record or
double-counting receipts.
Privacy, exports and limits
Source files stay in page memory. No cloud upload, analytics, external
fonts or model calls. Only theme preference is stored locally. Save a
session to restore files and mappings; reports include source-content
SHA-256 hashes, mapping, rule version and record references. A session
file contains the original business data. The host receives ordinary
page requests.
Each source: UTF-8 CSV, up to 2 MB, 5,000 records, 40 columns, 150,000
cells and 2,000 characters per cell. Quantities: 3 decimal places,
positive, up to 999,999.999. Unit prices: 2 places, non-negative, up
to 999,999.99. Amounts: 2 places. USD, CAD, EUR, GBP and AUD only.
Currency codes are case-sensitive. The amount tolerance is absolute,
from 0.00 to 100.00; quantity tolerance is zero.
Reports are evidence for human review. They do not approve payments or
identify fraud. This free local preview has no cloud account, provider
connection, billing, paid access or public API. These require
additional server-side implementation and verification.