Merchant & operations
Products and catalog management
Create draft products, configure prices and fulfillment capabilities, manage media, and publish deliberately.
On this page
Create a draft before publishing
Open Admin → Products with product-creation permission. Create a product with its name, optional subtitle, URL slug, SKU, description, category, price, and currency. New products default to draft. Slugs and SKUs must be unique when supplied; do not reuse an old SKU for an unrelated product just to get past validation.
Enter the price as a normal currency amount, not an internal minor-unit integer. Check the selected currency explicitly: the creation screen chooses an active currency, which should not be assumed to be your intended currency for every product. The creation form performs currency-aware conversion and redirects to the edit screen after saving.
Add label/value specifications and choose whether details and specifications should be visible. Organize products through Admin → Categories. Keep descriptive content useful to buyers: explain what is included, delivery timing, compatibility, and cancellation terms.
Configure the product's capabilities
Installing a module makes a capability available. It does not automatically finish every product's configuration. On the product edit screen, select the relevant capabilities and save them using the capability action. Saving the main product fields and saving capabilities are separate operations.
| Product offering | Check before activation |
|---|---|
| Physical item | Inventory and shipping configuration, stock behavior, weight and available delivery options |
| Download | Downloads module, correct private file, and customer access after payment |
| Key or code | Digital Delivery module, appropriate secret stock and delivery rules |
| Subscription | Billing interval, renewal behavior, and compatible payment authorization |
| Hosted service | Provisioning module, active provider server, product mapping, and any subscription settings |
| Domain | Domains capability and the provider-specific registration configuration |
Capabilities and additional tabs depend on installed and enabled modules. A missing section should lead you to package operations, not to creating arbitrary database fields. Hosting products require an active server matching the chosen provider. See product editing.
Add and inspect product images
The edit screen accepts JPEG, PNG, WebP, and GIF images, with a per-image application limit of 4096 KiB. Upload images, choose the primary image, and arrange the gallery. Check the storefront after removing a primary image so its replacement is appropriate.
Product images use public media storage. Missing images can indicate a broken public/storage link or storage permissions. Do not move private downloadable goods into the public image directory to solve a download-access problem. Web-server and PHP request limits apply in addition to application validation; see Nginx or Apache.
Check pricing and options
Review all enabled currency prices and any automatic conversion policy. Confirm the actual displayed price, cart total, taxes, and shipping using the customer flow. A correct product price alone does not validate checkout totals.
Where product options are configured, test required selections and how they change the offer. Do not advertise stock-controlled variants, recurring behavior, or delivery guarantees merely because an option field can be displayed. Verify the fulfillment path for each materially different offer.
Activate and verify the customer experience
Core defines only draft and active product statuses; active is the purchasable status. There is no general archived product status in the current enum. Use draft to withdraw an offer while preserving the record rather than inventing a status. See ProductStatus.
Before activation, complete a sandbox purchase with the same capabilities. After activation, check the category listing, product page, images, options, cart, payment selection, and final delivery. Inspect the resulting order and customer account. For an existing product, do not assume editing today's price or description rewrites previously issued commercial records.