Skip to content

Customer Portal

The customer portal is a self-service area where logged-in customers can view orders, manage subscriptions, download files, and copy license keys.

Setup

Create a menu item:

  1. Menus → Add New Menu Item
  2. Type: LicenseDock → Account (or any other portal section as the landing point)
  3. Save

The portal requires a logged-in Joomla user. Anonymous visitors are redirected to the standard Joomla login.

The sidebar navigation is enabled by default and can be configured (vertical or horizontal) in Settings → Frontend Display.

Sections

The portal is split into seven views, each backed by its own controller and view:

SectionWhat it showsCustomer can
AccountProfile summaryExport GDPR data (JSON)
BillingSaved billing detailsUpdate company, address, tax ID, phone
OrdersOrder historyView order details, download invoice PDF
InvoicesPer-order PDFsDownload invoice (re-rendered on request)
SubscriptionsActive and past subscriptionsCancel auto-renewal, renew expired, change plan, cancel pending plan change
LicensesLicense keys and activationsCopy key, deactivate an activation
DownloadsLatest version per purchased productDownload files

Account

The Account view shows the customer's profile and provides a Export My Data button. Clicking it returns a JSON dump of all LicenseDock data tied to the user (orders, subscriptions, licenses, activations, invoices, email log) for GDPR compliance.

Profile and password edits go through the standard Joomla user profile (com_users).

Billing

Billing details captured at checkout are persisted on the customer record and editable here:

FieldNotes
Company
Address, City, State, Postcode, Country
Tax IDVAT, GST, EIN. Shown on invoices
PhoneE.164 format. Visibility controlled by store settings

These details prefill at checkout next time and appear on every future invoice.

Subscriptions

For each subscription the customer sees status, next renewal date, plan, and price. Available actions:

ActionBehaviour
Cancel auto-renewalSubscription stays active until end of paid period, then expires. Reversible until expiry
RenewManual renewal of an expired subscription. Sends them through checkout for the next cycle
Change PlanPick a new plan + cycle. Customer chooses immediate (proration) or scheduled (next renewal) where the gateway supports both
Cancel pending plan changeRevert a scheduled change before it applies

Plan change behaviour varies per gateway – see Plan Changes.

Licenses

Each license shows status, expiry, activation count vs limit, and the list of current activations. Customers can:

  • Copy the license key to clipboard
  • Deactivate any of their activations to free a slot

Customers can't manually create activations from the portal – activations are created by the customer's own software via the API.

Downloads

Lists the latest published version of every product the customer has bought, with download buttons. Downloads are streamed through LicenseDock so license validity is checked on every request.

Orders & Invoices

Orders show the full purchase history – order number, date, product, plan, amount, status. Each completed order has a Download Invoice button.

Invoice PDFs are re-rendered on request, so changes to your store name, logo, or tax ID flow through to past invoices automatically.

Auth & Access

AspectBehaviour
Login requiredAll sections redirect anonymous visitors to login
OwnershipEach view is filtered to the logged-in user. A customer can only see their own orders, licenses, and subscriptions
Invoice downloadReturns 404 if the order doesn't belong to the requesting user
CSRFAll POST actions (cancel, change plan, billing save, deactivate) require a valid Joomla CSRF token

Joomla Extensions by Contona