jlm·technologies

07 · live

Price Comparison Engine

Photograph a competitor's invoice. Get an honest savings report.

3

matching tiers, each match traceable

2

VAT bases, computed fairly

40

tests on the pure core

1

photo to priced basket

What it is

/ in plain terms

A salesperson photographs a rival supplier's invoice. The system reads it, matches every item to their own catalog, converts everything to fair like-for-like unit prices (per litre, per kilogram, tax handled correctly), and produces a savings report that also admits where the competitor is cheaper. The honesty is the selling point.

A business-to-business tool for a wholesaler's sales team. It ingests a prospect's competitor price list as a PDF, spreadsheet or phone photograph of an invoice, matches every line to the house catalog through a three-stage cascade (exact rules, then fuzzy text matching, then AI for the stragglers), reduces everything to comparable unit prices, and emits a branded savings report that includes the items where the competitor wins.

Sole engineer. Extraction, normalization core, matcher, review interface, PDF output.

PythonFastAPIrapidfuzzClaudepdfplumberWeasyPrintNext.js

The load-bearing details

  • 01A South-African-domain normalization core: a parser for pack notation like 24X330ML and 8X12X50ML, abbreviation expansion, per-litre and per-kilogram unit pricing, and the VAT zero-rating schedule. Fully unit-tested with no external dependencies.
  • 02Three-tier matching with hard gates that will never match a volume to a weight, and every match stamped with how it was made: exact rule, fuzzy text, or AI.
  • 03A human-in-the-loop review workspace with a confirm, edit and reject audit trail plus a linter that flags suspicious lines.
  • 04The customer-facing report carries a transparency section: items where the house price is the same or higher are shown, never folded into the headline number.