Skip to content

Invoices

LicenseDock generates a PDF invoice for every completed order. Numbering is sequential with no gaps.

Order Number vs Invoice Number

NumberWhen it's assignedFormat
Order NumberAt checkout, before paymentRandom hex – e.g. ORD-B45E8258
Invoice NumberAfter successful paymentSequential – e.g. INV-0001, INV-0002

Order numbers are random so a customer can't guess other order URLs from theirs. Invoice numbers are sequential because tax authorities want it that way.

Sequential Numbering

Invoice numbers are assigned only when a payment succeeds, inside the same transaction that marks the order completed. The counter (invoice_next_number setting) is incremented atomically with SELECT ... FOR UPDATE, so concurrent webhooks can't double-issue or skip a number.

If the transaction rolls back, the order returns to pending and the invoice number is cleared – no gaps in the sequence.

Settings

Configure invoice details under Components → LicenseDock → Settings:

SettingNotes
Invoice PrefixPrefix for invoice numbers (default INV)
Order PrefixPrefix for order numbers (default ORD)
Company NameFalls back to Store Name
AddressFree-text business address
Tax IDVAT, GST, EIN. Shown on every invoice
Invoice FooterFree-text footer line
Store LogoUsed on the invoice header

Where Customers Get Invoices

  • Customer portal – Orders section has a Download Invoice button on every completed order
  • Receipt emailpurchase_confirmation email links to the invoice
  • Admin – order detail view in admin

PDFs are re-rendered on every request – so when you update your store name, logo, or tax ID, past invoices reflect the change.

Invoice Content

Each invoice includes:

  • Invoice number and date
  • Store/seller name, address, tax ID
  • Customer name, billing address, customer tax ID (if supplied)
  • Product and plan
  • Subtotal, discount (when a coupon was applied), total
  • Currency (the order's own currency, not necessarily the current store currency)
  • Payment method and gateway transaction ID

Authentication

The customer-facing invoice download checks ownership – a customer can only access invoices for orders linked to their user ID. Anything else returns 404.

Joomla Extensions by Contona