Paste the order
Hinglish, Hindi number words and Devanagari. Keep the shorthand your shop uses.
A parchi becomes a ledger
WhatsApp shorthand comes in. Checked catalogue rows come out. And when a line is unclear, you get one short question.
Runs on your computer Open source MIT
Sample order 03 · excerpt + one more line
Namaste bhaiya
NoteGreeting · ignored
kit kat 10/- darjan 4
Ready4 dozen KitKat ₹10 bar · 48 pieces
marie 30 wala 20 jodi
Needs youWhat is “jodi”? packet or carton?
Suggestion: Marie Gold ₹30
12 pack lais peela 10 wala
Learned name12 packets Lay’s Classic Salted ₹10
parle g 5/- 2 petti
Ready2 cartons Parle-G ₹5 · 288 packets
HTML demonstration · synthetic catalogue
No order is sent from this website.
Tested on a
MacBook Air M2
Automated tests,
run by CI on every push
Open-source code
Plain files. Yours to inspect.
For the person entering wholesale orders into billing software. ParchiMatch Lite works from pasted text and your shop’s own catalogue.
Hinglish, Hindi number words and Devanagari. Keep the shorthand your shop uses.
Code reads the numbers. Text matching goes first; a local model helps only when needed.
Confirm a suggestion, make a correction, or skip it. The original line stays in view.
Download a CSV for manual import into your billing software. Skipped items stay in the export.
The design principle: when unsure, ask one short question.
“parle g 10 wala” cannot quietly become a ₹5 pack.
“fortune 5 litre” cannot become a 1 L pouch.
“20 jodi” → What is “jodi”? packet or carton?
“maggi 2 ctn 5 pkt” → Which quantity?
“clinic plus 2 petti” → How many in one carton?
The app, catalogue and model run on the same machine. No cloud inference, telemetry or third-party scripts. After installation, it works with Wi-Fi off.
The local server binds to 127.0.0.1 only. Without Ollama, the app still runs fuzzy matching.
Inside your computer
During development, the model on every line was worse than fuzzy matching. Hybrid gives it a narrower job: help only on lines text matching cannot resolve.
| Method | Handled with no review | Wrong rows auto-accepted | No typing needed* | Model calls |
|---|---|---|---|---|
| Exact match | 54.9% | 0 | 54.9% | 0 |
| Fuzzy match | 84.3% | 0 | 84.3% | 0 |
| Model on every line | 84.3% | 0 | 92.2% | 80 |
| Hybrid · the app | 88.2% | 0 | 92.2% | 31 |
Percentages are of answerable lines, not the whole order. *Automatic, or one tap to confirm a fully correct suggestion. Synthetic data; no real shop has used the tool yet. A small human-written check (11 order pieces typed by 3 friends) also had 0 wrong rows auto-accepted. Human check · Methods, history and limitations →
Tick Remember after confirming a new name. It is saved in a local CSV. No model training required.
A learned name means the product family. Written price or size still picks the variant; if the variant remains unclear, the app asks.
Same synthetic sample order · 13 lines
“lais peela” → Lay’s Classic Salted
“lays blue” → Magic Masala
28.8 s before learning
5.3 s after learning
An observed demo with the previous default model (Qwen3.5 4B), not a general speed promise. Synthetic data card · Design notes
See where a suggestion helps and where a human still makes the decision.
Watch the 3-minute demo on YouTube ↗. Recorded with Wi-Fi off; the catalogue and orders are synthetic test data.
The image is a preview. This site embeds no third-party player.
Then bring your own catalogue, and check the rows together.