Quote out, PO back, same lines.
A numbered quotation as a real PDF on WhatsApp in the time it takes to pick the items, and the supplier purchase order built from the same lines rather than typed again.
pdfkit · whatsappAdd a line. Watch the document build.

Build, number, send, convert
- 01
Add the lines
Product search surfaces near-duplicates as you type, so the catalogue stops growing a new SKU every time someone spells a camera differently.
- 02
It numbers itself
SYN-YYYY-NNN, sequential per year. Nobody chooses a quote number.
- 03
PDF and WhatsApp
Built server-side with pdfkit and shared as a document. The share message deliberately carries no public link.
- 04
Convert to a PO
The same lines become a supplier purchase order, so the thing you quoted and the thing you ordered cannot drift apart.
It cleans up after itself
Line items typed on a quotation are staged into the product catalogue as inactive entries rather than added blind. Someone reviews and publishes them, or discards them.
- Numbering
- SYN-2026-119: prefix, year, sequence. Never chosen by hand.
- Duplicate detection
- Trigram matching on names, so 'CCTV dome 5MP' finds 'Dome camera 5 MP'.
- Staging
- New line items become inactive products awaiting review, not live catalogue entries.
- Duplicating a quote
- Copies to a new number rather than editing the original, so a sent quote stays what was sent.
- Supplier POs
- Same document engine, same layout language, different counterparty.
It does not stop here
These are modules of one system, not products sold separately. The next two are the ones this module touches most.
Asked often enough to answer here
Why not put a link in the WhatsApp message?
Because a link to a quotation is a link anyone forwarded the message can open. The PDF goes as a document instead.
What stops the catalogue filling with junk?
New items are staged inactive and have to be published. The trigram match surfaces the existing SKU before anyone creates a near-duplicate.
Can I edit a quotation after sending it?
You duplicate it. The original stays as the record of what the customer actually received.
Build a quote and send it
Add a few lines and watch the number, the totals and the PDF assemble.
