A real invoice, the second you approve
No evening spent re-typing the day's orders into an invoice template. The invoice is produced from the order you already approved, and it reaches the customer before they have put their phone down.
Issued at the moment of approval
Whether you tapped Paid in WhatsApp or Approve in the dashboard. Every door converges on the same point, and nothing else in the system can create an invoice.
- A part-payment that leaves a balance issues nothing.
- The final part-payment that clears the balance issues the invoice.
Numbering that cannot gap
Sequential per shop, zero-padded. The number is reserved inside the same transaction that marks the order paid, so a later failure consumes neither the number nor the approval.
Rebuildable, byte for byte
The renderer is handed the invoice record and nothing else — no live settings, no current catalogue, no database access at all. Regenerating a six-month-old invoice therefore cannot pull in today's address or today's prices, and produces an identical file.
Delivered as a document, not a link
The PDF is uploaded and sent as a WhatsApp document. The stored file is the durable artifact — WhatsApp media ids expire after 30 days, so a resend re-uploads from storage rather than pointing at a dead id.
See invoicing on your own shop
Onboarding is hands-on — a number provisioned for you, your catalogue loaded, your payment details set up with you on the call.

