This is not intended to be a comprehensive list of all possible features for an Online Store/E-Commerce application. It is merely intended to start a conversation on a possible E-Commerce project to ensure the requirements aren’t over-simplified.
This list is still a work in progress and I hope to improve this document over time. Please submit comments at the end if there's anything you think should be added or clarified.
Product Browsing and Search
Categories
How many levels of categories will there be?
Can products belong to multiple categories?
Is there a single hierarchy or should users be able to browse using multiple starting criteria (e.g. Brand vs. Product Type vs. Occasion vs. Cost Range)
Should users be able to filter by attribute/category? Is Cumulative filtering required (i.e. Keyword = “Basket” + Wood + Woven + Lined + Brand OR Drills -> Cordless -> 18v
Options & Variations - (e.g. color, size, material, voltage).
Will there be multiple options for products?
Should different SKUs be represented as different products or options within a single product?
Will variants need to impact product cost and weight (for shipping calculations).
Will there be add-ons and upsells? E.g. we hope you like your toy, do you want to also buy the batteries for it?
Listing Page
What Fields should be displayed on the listing page?
Do different categories need different display templates? i.e. The Books category should look very different from the Clothing category
Should users be able to add products to their cart from the listing page? If so, how should options and variants be handled?
Details Page
What Fields should be displayed on the Details Page?
Should details be broken into multiple tabs?
Should users be able to view additional images for a product (e.g. Front View, Back View, Interior, Exterior, ...).
Do you need support for Related Products (i.e. "You might also like...")? Should this be manually or automatically assigned?
Discounts and Sales
What types of discounts and sales will you provide?
- Role Based Discounts –Wholesale customers, frequent buyers, friends
- Referral discounts?
- Bulk discounts – e.g. Buy 10 and get a 10% discount,
- Combo - Buy Product A and get Product B for 50% off
- Coupons/Promotion Codes – Single Use, multi-use, once per account
- Groupons/Deal of the Day
- Holiday Promotions
Will you offer both product discounts (Buy 1 Get 1, 20% of product A and cart discounts (i.e. 20% of entire Subtotal)
Shopping Cart
Mini-shopping Cart location and details to display: products? Sub-total?
Features
Wish List - Should users be able to create a Wish List?
Sharing/Send to a Friend - Should users be able send product details to a friend?
Ratings and Comments - Should users be allowed to rate and comment on products?
Referral Tracking
Inventory Tracking? Show Availability? Allow Backorders?
Downloads? (e.g. Software, Product Info, or Manual)
Multiple Vendors - Will different people/companies be selling things are your site?
Multiple Stores?
Gift Messages
Payment / Checkout
Customer/Account Information- What data to you want/need to collect for each customer? How will accounts be created (user registration, import, data entry, combination)? Is anonymous checkout supported?
Taxes
Local taxes (special business districts, City of St. Louis)
State Taxes
Country Taxes
Payment
What Payment Methods are allow (CC, ACH, Credit Terms, COD, invoice, ...)
What Credit Cards are accepted?
What level of validation do you need (Card # and CVC? Name? Address?)
Automated or Manual Processing of Credit Cards? Does client have existing Merchant Bank Account? Preferred Gateway?
Should credit card info be stored on the server and should users be able to save and select from existing cards? For security, generally should be avoided unless client has lots of frequent customers.
Is PCI Compliance required? If you are taking credit cards online, it probably should be.
SSL- Do they have an existing SSL certificate? Preferred provider? What type/level of certificate do they want?
Newsletter - Should users be able to opt-in for a Newsletter? Single newsletter or multiple types (Sales, New Products, Store information, ...)
Shipping
What Carriers (UPS, USPS, FedEx, ...) do you want to support?
Delivery Options (For Each Carrier: Ground, Next Day Air, 2 Day air, ...)
Order Tracking - Is order tracking required?
Is support for printing labels required? Any special requirements (i.e. QR Codes)?
How will shipping costs be calculated? Based on weight? Fixed Based on order amount? Fixed? Percentage of Order Amount? Variable based on shipto address?
Do shipments need to broken into multiple boxes?
International Shipping? Canada? Non-contiguous states?
Can users split their order between Multiple Addresses?
Might an order ship from multiple warehouses? Is "drop shipping" support required?
Gifts - Ship to Friend? Gift message, gift cards, gift wrapping? Allow spliting order into multiple shipments?
What type of Shipping Discounts do you anticipate?
Time until product is shipped- Consistent? Variable per product? Variable per category?
Administration & Integration
Reporting
What do they need in terms of reporting? Graphs and charts?
Fulfillment & Order Tracking –
Should users be notified at each phase of the order (Order Receipt, Payment Receipt, Order Fulfilled, Order Shipped, Order Returned)?
Integration
Is integration with Quickbooks or other accounting systems required?
Is Order and/or customer Export to a specific system required.
Audit Trails - When something goes wrong (i.e. a client accuses says credit cards numbers entered through your store have been misused), having a proven audit trail is invaluable (also required for PCI compliance).
Product Entry
How will products get into the system (data entry, one time import, daily import, real-time integration with separate system, combination)?