Signed Invoice
A delivery receipt for a Lame Sheep Inc. shipment that the customer signs on their phone, or on a tablet you hand them. What they sign is frozen and fingerprinted, so anyone can check later that not a cent or a stroke has changed.
Make an invoice from a shipment You'll get a demo you sign on your own screen or phone. Sign in to send real links by email or text.
How a signature gets saved
- 1Invoice from a shipment
Pick a load from the live shop data. Its packing list is priced by the pound at fixed rates, and the whole invoice is copied into its own JSON document, so it never depends on the shop tables again.
- 2A private link
Sent by email or text, or shown as a QR code to scan. Only a hash of the link's token is stored. Links last 7 days and work once. Before signing, the customer types a 6-digit code emailed to them.
- 3The customer signs
Every pen point is kept with its time, so the signature can be replayed. They can mark pieces short or damaged, or refuse the delivery. A photo and GPS location are optional, and saying no is recorded too.
- 4Sealed
The invoice, signature, exceptions and audit trail become one canonical JSON record, and its SHA-256 fingerprint is saved. A signed PDF (written by hand, no libraries) is emailed with the fingerprint and a QR code on it.
- 5Checkable for good
The verify page rebuilds the record from the database columns and hashes it again. Change one byte anywhere (the total, a stroke, the photo) and it no longer matches.
Your invoices
None yet. Pick a shipment to make one. Demo invoices are kept for 7 days in this browser.
On the site so far: 0 live and 0 demo invoices; 0 signed, 0 refused. (Demos are deleted after 7 days.)
What's in it
- No new packages. The PDF, the QR codes, the SHA-256 seal and the Twilio call are all plain Node:
zlib,cryptoandfetch. - Self-contained. It reads the shared
shopschema and never writes to it. Its own tables live insigned_invoice: rates, invoices, links, codes, signatures, events. - Lame Sheep Inc. is fictional, but the emails and texts are real, so only send links to yourself or people expecting them.