An order is the record of a sale — the customer, the products they bought, the prices and taxes at the time of purchase, the shipping method, and the payment. Solidshop orders are immutable snapshots: once created, the product name, price, tax rate, and shipping address are stored on the order itself. Editing a product or changing a tax rate afterwards never rewrites history.
Where orders come from
Orders are created in two ways:
- Frontend checkout — a customer adds items to the cart, goes through checkout, and completes payment. The order is created automatically after payment initiation.
- Admin manual entry — for phone orders, invoices, or back-office sales, go to Solidshop → Orders → New and build the order by selecting a customer, adding products, applying a discount if needed, and choosing a shipping and payment method.
Four status dimensions
Every order has four independent status fields. Each one points to an entry in Solidshop → Statuses — a shared lookup table — so you can rename, reorder, or add custom statuses without touching code.
| Field | Typical values | Purpose |
|---|---|---|
| Order status | Pending, Confirmed, Completed, Cancelled | Overall lifecycle state of the order |
| Payment status | Pending, Paid, Partially paid, Refunded, Failed | Where payment stands, independent of fulfillment |
| Fulfillment status | Unfulfilled, Partially fulfilled, Fulfilled | Whether the goods have shipped or the service has been delivered |
| Return status | None, Requested, Approved, Returned, Refunded | Tracks post-sale returns and RMAs |
Countable statuses — on your store’s Order tab you mark which statuses count towards dashboard revenue and sales figures. A typical setup counts “Confirmed” and “Completed” but excludes “Cancelled” and “Refunded”.
Restocking statuses — each order status has a Restore stock switch. When an order enters a status with the switch enabled — the built-in Cancelled status ships with it on — reserved stock for the order’s products is returned to inventory and the order becomes deletable. Setting an order’s payment status to Refunded restores stock the same way. Orders that have not been restocked yet cannot be deleted; this enforces the cancel-then-delete workflow, and stock is restored at most once per order no matter how many restoring statuses it passes through.
The order detail page
Click any order from the list to open the detail page. It is organised into sections that you can act on independently:
- Customer & addresses — edit the shipping and billing address snapshots. The customer’s name, email, and phone are captured at checkout and editable here until fulfillment.
- Products — add, remove, or adjust line items after the order is placed. Each change updates tax, shipping, and totals automatically.
- Discount — apply a manual percentage or fixed-amount discount directly to the order — either across the cart or on a specific line (see Discounts).
- Shipping & tax — choose a different shipping rate or override the tax. The order recalculates and saves the snapshot.
- Payment — record partial payments, refunds, or change the payment method.
- Tracking — add one or more tracking numbers with carrier, tracking URL, and the specific products shipped in each consignment. Split shipments are supported.
- Timeline — an audit log of every status change, payment event, note, and admin edit on the order.
The toolbar also offers Resend Confirmation: it re-renders the order confirmation email from the order’s current state and puts it back on the email queue for the customer — useful when the original landed in spam, the address was corrected, or the order was edited after checkout. Every send and resend is recorded on the order timeline, and you can inspect delivery status (including failures) in the email queue.
Bulk actions and filtering
The orders list supports filtering by any status field, date range, customer, and store. Select multiple orders and use the toolbar to batch-update status or fulfillment across the selection — useful for end-of-day shipping runs.
Order counts on the Joomla dashboard
The Quick Icon – Solidshop plugin puts the orders waiting on you straight onto the Joomla administrator home page, so you can see that the shop needs attention without opening Solidshop. It ships with the core package and publishes itself the first time it is installed.
Each tile is a live counter, not a shortcut: the number is fetched when the dashboard loads, and clicking the tile opens the orders list already filtered to exactly the orders it counted — the figure you click is the figure you land on. Three tiles are available; open System → Plugins → Quick Icon – Solidshop to switch each one on or off:
- Pending orders (shown by default) — orders in the status you set under Solidshop → Options → Dashboard → Pending Order Status, which is Open unless you changed it. The same setting drives the dashboard’s pending-orders alert, so the two always agree.
- Unpaid orders — orders whose payment never completed.
- Unfulfilled orders — orders that have not shipped yet.
The tiles appear only for users who can manage orders — the same permission that gates the orders list itself (see Your first store). The Dashboard panel setting picks which Quick Icons module the tiles are added to, if your site uses more than one.
Public order tracking
Customers can check their order status without logging in by visiting the Tracking menu item (see Your storefront) and entering their order number and email. If tracking numbers are attached, carrier links render automatically.
Order notifications — every status change dispatches an
onSolidshopOrderStatusChanged event. The email queue picks this up
and sends the matching customer email (order confirmation, shipment sent,
cancelled, etc.). Templates for each event are editable from the store’s
Email Templates tab.