Skip to content
OrderAgentOrderAgent
All plans

A real invoice, without the evening of typing

No evening spent re-typing the day's orders into an invoice template. The invoice is produced from the order itself, and it reaches the customer on WhatsApp without you lifting a finger.

Issued when you choose

By default, when the customer confirms the order — so the invoice arrives with the payment request and they have the amount and reference in front of them when they pay. Or, if you prefer, after you approve payment, so every invoice number belongs to an order that was paid. You choose in Invoice settings; changing it affects future orders only.

  • Issued at confirmation, an invoice whose order is later cancelled or expires keeps its number and is marked void — never deleted, so the sequence stays complete.
  • Issued after payment, a part-payment that leaves a balance issues nothing; the payment that clears the balance does.

Numbering that cannot gap

Sequential per shop, zero-padded. The number is reserved inside the same transaction that confirms the order or marks it paid, so a failure there cannot consume a number and leave a gap.

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.