Product Management
Products are the core of your store. Open Sky Commerce supports five product types — physical goods, digital downloads, subscriptions, and services — as well as variants, custom attributes, and bulk import via JSON seed files.
Product Types
When creating or editing a product, select its type from the Product Type dropdown. The type controls which fields appear in the form and how the storefront and checkout handle the item.
PHYSICALA standard shippable product. Supports stock quantity, shipping weight/dimensions, and variants. Checkout calculates shipping rates based on your configured provider.
DIGITALA downloadable file. Attach a file from DigitalOcean Spaces to the product. After a successful purchase, the customer receives a time-limited download link in their order confirmation email and in My Account → Orders.
SUBSCRIPTION_PHYSICALA recurring physical shipment. Define one or more subscription plans (billing interval and price) on the product. Customers choose a plan at checkout. Renewals are charged automatically via the recurring billing cron job.
SUBSCRIPTION_DIGITALA recurring digital download or access. Combines subscription plans with a downloadable file. Useful for software licenses, digital memberships, or recurring content.
SERVICE_APPOINTMENTPlaceholder type for service-based or appointment products. The product can be purchased but no shipping or download is involved. Booking/scheduling functionality is not included in the current version.
Subscription Plans
Subscription products require at least one plan. Plans appear in the product form when the type is SUBSCRIPTION_PHYSICAL or SUBSCRIPTION_DIGITAL. Each plan has:
- A display name (e.g. "Monthly", "Annual")
- A billing interval (monthly, quarterly, yearly, etc.)
- A price — this becomes the product's displayed storefront price
Customers choose a plan during checkout. Renewals are charged automatically by the billing cron job. See Subscriptions for details.
Creating a Product
- Go to Admin → Products → Add Product.
- Choose the Product Type first — it determines which fields appear.
- Enter the product name, slug, description, and price.
- Upload one or more images. Images are stored in DigitalOcean Spaces automatically.
- Assign the product to one or more categories.
- Set stock quantity and SKU if applicable (not required for subscription or digital types).
- For subscription types, add at least one subscription plan.
- For digital types, attach a downloadable file from Spaces.
- Save the product.
Product Variants
Variants allow a single product to have multiple options (e.g., Small / Medium / Large, or Red / Blue). Each variant can have its own price, stock quantity, and image.
- Open the product in the admin panel.
- Navigate to the Variants tab.
- Add variant options (e.g., Size: S, M, L).
- Set price and stock per variant.
Custom Attributes
Custom attributes allow you to add structured data to products beyond the default fields (e.g., material, weight, dimensions). They are displayed in the Additional Information tab on the product page.
Product Images
Upload images directly in the product form. Images are stored in DigitalOcean Spaces and served via CDN. Recommended image dimensions are 800×800px at a minimum for sharp display on retina screens.
SEO Fields
Each product has a slug field which forms its URL:
https://yourstore.com/products/[slug]Choose slugs that are descriptive and URL-safe (lowercase, hyphens, no spaces). The slug cannot be changed after orders have been placed against the product, as reviews and order history reference it.
Featured & Popular Products
Mark products as featured to surface them in homepage sections. Products can also be tagged for the /popular listing page, which is sorted by view count or sales depending on your configuration.
Importing Products
For bulk imports during initial setup, the demo data script reads from seed-data/Product.json and seed-data/ProductVariant.json. You can modify these JSON files to import your own products:
npm run import-demo-data