Custom Products

Printer-friendly versionPrinter-friendly version

When you first begin working with your IndieCommerce website you will have a single custom product class created by default called ‘ABA Product’. 'ABA Product' class covers ABA supplied books. However, you most likely sell other products in store and will wish to online as well. Product classes are the starting point for organizing those other items for sale as it’s going to contain all the information needed to sell and ship products on your website.

WHY USE PRODUCT CLASSES?

  1. Attributes/Options: You want to set default attributes/options to different product types to simplify adding products to your site. Example: You have several different types of store t-shirts and all of them have size and color attributes Consider making a ‘T-Shirt’ Product class with default attributes so that they don’t need to be added to each ‘T-Shirt’ separately.
  2. Fields: You want to add various extra fields to some types of products you sell but not all of them. Example: You’re carrying local artwork and want to include an image of the artist for each piece. Adding an ‘Artist Image’ field for a unique ‘product class’ makes more sense than adding an ‘Artist Image’ field to the generic ‘Product’ class when those ‘generic products’ don’t have artists.
  3. Payment Methods: You can limit what payment methods appear for a specific class. Example: For those signed copies you want to force online payment because you don’t want to end up with personalized copies that aren’t paid for. You can set a condition so that ‘Pay At Store’ does not appear for products within a ‘Signed Books’ product class.
  4. Shipping Quotes: You can limit what shipping options appear for a specific class. Example: You’re selling signed copies of a specific book but have to wait for the author to come by and sign it. You can set a condition so that UPS Overnight does not appear for products within a ‘Signed Books’ product class.
  5. Shippable?: You can limit whether or not an entire class is a ‘shippable’ item. Example: You’re selling event tickets and most likely, they are going to ‘Pick Up Day Of’, you’re not going to want to spend time shipping them You can mark can create a product class for ‘Event Tickets’ and make them ‘Not Shippable’. That way, your customer is prompted for billing information during checkout but no delivery information.
  6. Tax: You sell both taxable and non-taxable items. You will be able to select which ‘Product Classes’ are taxed and which aren’t when setting up tax rules.
  7. Views: You want to make a View that lets customers display a sorted list of products of a certain type. Example: All those t-shirts you carry can be separated into their own ‘View’.

We recommend you take some time to plan out what your classes might be. Determine what items you sell that you wish to carry online, which need their own classes and which can be combined.

Ready to get started creating product classes? In the example below we create a product class for ‘TSHIRTS’ we then go on to utilize the advantages mentioned above.

CREATE A NEW PRODUCT CLASS

Navigate to Store > Products > Manage Classes

  1. Fill in the ‘Add a Class’ form:

    • Enter the Class ID - Example: tshirts
    • Class Name - Example TShirts
    • Description is optional
    • Save at the bottom of the page.  

You have now finished creating the Product Class.

Authoring information is always set to be displayed on new product classes.

MANAGE AUTHORING INFORMATION (if you wish to change the default)

Navigate to Structure > Content Type > TShirt (or the class of choice)

The edit tab at the right top should be selected (that is the default).

  1. Scroll down to find Display settings click on it and uncheck the box next to Display author and date information.  
  2. Save

You have now created a basic ‘Product Class’ for ‘TSHIRTS’, now, let us add those advantages.

ATTRIBUTES

In this example, we create an attribute for ‘Size’ for our TSHIRTS product class.

CREATE THE ATTRIBUTE

Navigate to Store > Products > Attributes > Add An Attribute*

  1. Name - this should be the type of Attribute you are creating, for this example, ‘Size’ would be appropriate.
  2. Label** - what you want to be displayed to the customer, for this example “Please choose your size”
  3. If this should be a required field select ‘Make Required’
  4. Display type - As only once choice should be made here select Radio buttons
  5. Submit
  6. Add Option
  7. Name - Enter the name of your first attribute option - for this example ‘Large’ -  leave everything else the same
  8. Submit

Repeat steps 6-8 until you have created all attribute options needed - for this example Small & Medium would also be appropriate.
 
ATTACH THE ATTRIBUTE TO THE PRODUCT CLASS

Navigate to: Store > Products > Manage Classes

  1. Locate your class (in this example 'tshirts') and click edit
  2. Select the 'Attributes' tab
  3. Select 'add attributes to this class'
  4. Select the attribute from the list (in this case 'Size') and 'Add Attributes'
  5. Save Changes

*Note: Attributes can be reused for other products if needed.
**Note: Label is what the customer will see.
 

FIELDS

In this example, all our store t-shirts are individually designed by staff members and we want to add a field where we can list the ‘Designers’ name.

ADD THE FIELD

Navigate to: Structure > Content Type > TSHIRTS (or type of choice) > Manage Fields

  1. Add new field

    • Label - For this example, enter ‘Designer’
    • Field Type - For this example, ‘Text’
    • Widget - For this example, ‘Text Field’
  2. Save
  3. Enter your desired ‘Max Length’ - for this example, ‘60’ and ‘Save Field Settings’
  4. On the next page, you can customize settings as desired - for example, if this is to be a required field, select the ‘Required Field’ box - then Save settings

You have now added the field, when you create your specific node, you will have a field in place to add the ‘Designer’ name.

PAYMENT METHODS

In this example, all our store t-shirts require payment immediately when ordered alone so we are going to restrict the ‘Pay At Store’ option from appearing when ordered alone but allow it if ordered with other items.

SET THE CONDITION

Navigate to: Store > Configuration > Payment Methods

  1. Locate the payment method in the ‘Payment Method’ list, for this example ‘Pay at Store’ and select ‘conditions’
  2. Select ‘Add condition’
  3. Select the ‘condition’ to add - for this example, select ‘Check An Orders Product Class’
  4. Under ‘Product Classes’ select ALL listed except ‘TShirts’ which we are restricting for this example
  5. Save

You have now restricted any product under ‘TShirts’ from having a payment method of ‘Pay At Store’ when ordered alone.

SHIPPING QUOTES

In this example, all our t-shirts take 2 days to prepare for shipping, therefore we do not want to offer UPS Overnight as a shipping option even when it is ordered with other products.

SET THE CONDITION

Navigate to: Store > Configuration > Shipping Quotes

  1. Locate the shipping method in the ‘Shipping Method’ list, for this example, ‘UPS Overnight Shipping’ and select ‘conditions’
  2. Select ‘Add condition’
  3. Select the ‘condition’ to add - for this example, select ‘Has Only These Product Classes’
  4. Under ‘Product Classes’ select ALL listed except ‘TShirts’ which we are restricting for this example
  5. Save

You have now restricted any order containing a product under ‘TShirts’ from having a shipping method of ‘UPS Overnight Shipping.

SHIPPABLE?

In this example, the decision has been made that all store t-shirts have to be picked up in store. Therefore, we do not want the customer to have the option of choosing a shipping method or entering delivery information.

DISABLE THE SETTING

Navigate to: Structure > Content Types > TShirt (or content of choice)

  1. Select the ‘Ubercart Product Settings’ tab and Toggle off the option ‘Product and its derivatives are shippable’
  2. Save Content Type

Note: You can still adjust specific products under this class as they are created, so if one t-shirt is shippable, you can override this setting during the product creation. That also means, any ‘tshirt’ products created before this setting is disabled that you do not want to be shippable will need to be changed individually.

TAX

In this example, t-shirts are not going to be a taxable product. We will disable adding tax for this product class.

MANAGE TAX

Navigate to Store  > Configuration > Taxes

  1. Select ‘edit’ in the ‘Tax’ row
  2. Scroll to ‘Taxed Product Types’ - find the class you are looking for, in this example ‘Tshirts’ and uncheck the box next to it
  3. Click Submit at the bottom of the page.

Repeat for ALL Tax options listed until all tax types are modified.

CREATE THE PRODUCT

The last ‘advantage’ is ‘Views’, however, before you can create a view you need to create products within the chosen product class. For this example, we’re going to create a few T-Shirts to sell.

CREATE THE NODE

Navigate to: Content > Add content > T-shirt (or content of choice)

  1. Give your T-shirt product a name: Store T-Shirt
  2. Add a description about your T-shirt (optional: anything unique about the T-shirt)
  3. Upload an image of your product - Choose File - Search for it Locally - Upload
  4. Enter a SKU to reference your product, it can be a string of numbers, or words (it cannot be a 10 digit or 13 digit number - if you want to use those numbers you can add a letter to the front or end of the SKU to distinguish it from the book ISBN) Ex: storetshirt1 or b85698741235615 or s9788569871235 (Custom SKUs should be lowercase)
  5. Add the sell price and the list price (which should be the same) along with the weight, length, and height
  6. Save

Repeat steps 1-6 until you have all desired T-Shirts created.

Note: Don’t forget to clean up your displays for both the default and teasers (Structure > Content Types > T-Shirt (or content of choice) > Manage Display). We always recommend hiding unnecessary labels and fields.

VIEWS

Well, now that you have created some individual products within this ‘product class’ You can take advantage of creating a view for it. In this example, we’re creating a page view with a grid for our 6 store t-shirts.

NOTES

  • We highly recommend you save your 'view' after every step, as you create it. Especially when you see this message come up:  “* All changes are stored temporarily. Click Save to make your changes permanent. Click Cancel to discard the view.”
  • When working in settings always change the ‘For’ option from ‘All Displays’ to ‘This block (override)’ so that the changes you make only alter the block (or page) you are working on.

CREATE THE VIEW

Navigate to: Structure > Views > Add New View

  1. Fill in ‘View Name’, for this example - ‘Store T-Shirts’
  2. Set Content ‘Of Type’ to ‘TShirts’
  3. Confirm ‘Create A Page’ is selected and change the ‘Display Format’ to ‘Grid’ (Want a block instead? Select ‘Create A Block’ instead) and enter the number of items to display, for this example - 6
  4. Continue & Edit
  5. Under ‘Format’ Click on ‘Settings’ for the grid
  6. Enter the number of columns you want, for this example, 2 and ‘Apply this display’
  7. Save

You will now have created a 2 column page view of all your t-shirts. The path to your page is found under ‘Page Settings’ but is also the name of your view. For example, if you name the view ‘Store T-Shirts’ your path is www.yoursitename/store-t-shirts. Which you can add to a menu or link to on another page.

THAT’S IT!

Keep in mind these different advantages can be modified to fit the needs of your sale.  For instance, If you wanted to remove ‘Pay At Store’ as a payment method and make them non-shippable, you would combine the instructions for ‘Payment Method’ and ‘Shippable?’ There are also other settings that can be used for conditions to fit your needs. You’re always welcome to reach out to us with questions on how to set up a specific product class with any rules or conditions you require.
 

CREATE A CUSTOM PRODUCT

Taking what you've learned above, you can now create a custom product.

CREATE A NEW PRODUCT CLASS

Navigate to Store > Products > Manage Classes

Fill out the form:

  1. Enter the Class ID - Example: tshirt (Class ID should be singular, not plural)
  2. Class Name - Example T-Shirt (Class Name should be singular, not plural)
  3. Description is optional
  4. Save at the bottom of the page 

You have now finished creating the Product Class.

Two settings are always set by default when you create a new product class: it is always set to be taxable and authoring information is always displayed.

MANAGE TAX (if you wish to change the default)

Navigate to Store  > Configuration > Taxes > Edit

  1. Select 'edit' in the 'Tax' row
  2. Scroll to ‘Taxed Product Types’ - find T-shirt and uncheck the box next to it
  3. Click Submit at the bottom of the page.

Repeat for ALL Tax options listed until all tax types are modified.

MANAGE AUTHORING INFORMATION

Navigate to Structure > Content Type > T-Shirt

The edit tab at the right top should be selected (that is the default).

  1. Scroll down to find Display settings click on it and uncheck the box next to Display author and date information.  
  2. Save

CREATE YOUR CUSTOM PRODUCT PAGE

Navigate to Content > Add content > T-shirt

  1. Give your T-shirt product a name: Cool Store T-Shirt
  2. Add a description about your T-shirt (optional: anything unique about the T-shirt)
  3. Upload an image of your product - Choose File - Search for it Locally - Upload
  4. Enter a SKU to reference your product, it can be a string of numbers, or words (it cannot be a 10 digit or 13 digit number - if you want to use those numbers you can add a letter to the front or end of the SKU to distinguish it from the book ISBN) Ex: storetshirt1 or b85698741235615 or s9788569871235 (Custom SKUs should be lowercase)
  5. Add the sell price and the list price (which should be the same) along with the weight, length, and height
  6. Save

At this point, you will have a basic T-shirt Custom Product.  However, our T-shirt comes in different sizes (Large, Medium, Small), so we need to add some attributes to our T-Shirt.

ADD ATTRIBUTES*

Navigate to Store > Products > Attributes > Add An Attribute

  1. Name - this should be the type of Attribute you are creating, for this example, ‘Size’ would be appropriate
  2. Label** - what you want to be displayed to the customer, for this example “Please choose your size” would be appropriate
  3. If this should be a required field check mark the box ‘Make Required’
  4. Display type - your preferred display,  for this example, we've selected 'Radio Buttons'.
  5. Submit
  6. Add Option
  7. Name - Enter the name of your first attribute option - for this example ‘Large’ -  leave everything else the same
  8. Submit

Repeat steps 6-8 until you have created all attribute options needed - for this example Small & Medium would be appropriate.

ATTACH THE ATTRIBUTE TO THE PRODUCT CLASS

Navigate to: Store > Products > Manage Classes

  1. Locate your class (in this example 't-shirt') and click edit
  2. Select the 'Attributes' tab
  3. Select 'add attributes to this class'
  4. Select the attribute from the list (in this case 'Size') and 'Add Attributes'
  5. Save Changes

ATTACH THE ATTRIBUTE SIZE AND ITS OPTIONS TO THE CUSTOM PRODUCT

Navigate to Content (click on it)

  1. Set Search: Type = T-Shirt - Click Apply
  2. Click edit for the T-Shirt
  3. Select ‘Attributes’ button
  4. Click ‘Add Attributes’
  5. Scroll to the Attribute list and check mark the new attribute (in this example ‘Size’)
  6. Add Attributes -  We can reorder the attributes (if we had more than one) that were just added
  7. Save Changes

Now that you have created your custom product you may want to hide some of the extra fields such as cost, list price, and display price from appearing on our product page. Usually, you will only want the sell price to appear.

MANAGE DISPLAYS

Navigate to Structure > Content Types> T-Shirt > Manage Display

  1. Modify all sections under ‘Format’ as desired (we recommend making the SKU, List price, Cost and Sell Price hidden)
  2. Save

You are now completely finished creating your custom product.

*Attributes can be reused for other products if needed.

**Label is what the customer will see.

PRODUCT BUNDLES AS A SINGLE CUSTOM PRODUCT

Creating a product bundle as a custom product is very similar to creating a standard custom product, in fact, you will follow the same instructions which can be found under ‘Creating Custom Products’. However, we do have some tips unique to creating bundles:

  1. Pair complimentary items together - an event ticket with a book by the visiting author, activity basket with a coloring book, pencils and a puzzle etc
  2. Use an image(s) that displays all the items included in the bundle and make sure your description includes all items.
  3. Highlight the cost difference between buying the items separately and buying them as a bundle.
  4. Make them unique to your store with special packaging or by including an item only you carry.
  5. Make sure your bundle includes all the attributes necessary for each item
  6. Create a shipping option just for bundles - remember, your bundle contains multiple items and will most likely weigh more than just a single item which could increase your shipping cost. Follow the instructions under our ‘Shipping Rate Overview’ to create a unique shipping option.

PRODUCT BUNDLES WITH AUTOMATIC COUPONS

Another option to offer a bundle of sorts is to create a coupon that applies automatically when two different items are placed in the cart together. The example below uses 2 ABA book products but the same steps could be used for 2 custom products, or a custom product and an ABA book product.

NOTE: The Coupon module will be enabled on IC sites upon request. If you would like to give it a try, please send us a request from the Store Features page (Store > Configuration > Account Information and Preferences > Store Features).

Navigate to: Store > Coupons > Add New Coupon

  1. Enter ‘Coupon Name’ - Example: ‘Save $5.00 Gillian Flynn’
  2. Enter ‘Coupon Code’  - Example: ‘XXSAVE5XX’
  3. Select the ‘Active’ button
  4. Enter the discount amount - Example ‘5.00’
  5. Set the ‘Apply Discount’, for this example, select ‘Order Subtotal’
  6. Make sure ‘Maximum number of redemptions’ is left blank - if there is a value, this coupon will be limited to that number of customers on a “first come, first serve” basis.
  7. Maximum number of redemptions (per user) - If you want to limit the number of times a coupon is used by individual customers, add a value here. However, be aware, that all ‘unauthenticated users’ count as the same user. Therefore, anyone not logged in will be unable to use this coupon after its first use and you would need to instruct them to log in first to use the coupon code.
  8. Expand ‘Applicable SKUS’ and enter the ISBNs or SKUs for this coupon - for this example, 9780307588371 and 9780307341570
  9. Expand ‘Display Options’ and enter a ‘Line item title format’ and ‘Message’

    • Example:

      • Line item title format: Special Discount for Gillian Flynn titles
      • Message: $5.00 discount applied for purchasing Gone Girl and Dark Places together. 
  10. Save Coupon

You have now created your coupon but you still need to add rules and conditions to make it apply automatically.

MAKE IT APPLY AUTOMATICALLY

Navigate to: Configuration > Workflow > Rules

  1. Select ‘Add New Rule’
  2. Enter the ‘Name’ - Example: Automatic Save $5.00 for GF titles
  3. Set the ‘React on Event’ to ‘Check for Automatic Discounts’
  4. Save
  5. Find your new rule in the list and select ‘edit’
  6. Select ‘Add condition’
  7. Set the ‘Select the condition to add’ to ‘Check an order’s products by ISBN/SKU
  8. Set the ‘Data selector’ to current-order
  9. Enter the ISBN into the ‘Value’ field (enter only one of the ISBNs at this point)
  10. Save
  11. Repeat steps 6-10 to add the second condition for the second ISBN
  12. Under ‘Conditions’ select ‘+Add and’
  13. Select ‘Continue’
  14. Drag the ‘And’ rule to the top of the list and indent the two condition below it.
  15. Save Changes
  16. Select ‘Add Action’
  17. Set the ‘Action to Add’ to ‘Apply a coupon to current order’ and continue
  18. Select the coupon - ‘Save $5.00 Gillian Flynn’
  19. Set the ‘Mode” to “Apply this coupon as an automatic discount.”
  20. Save

You have now set the rules and conditions and customers who meet the conditions for this discount will receive it automatically.

NOTE: For coupons that are applied automatically you should never give the coupon code out to customers.

 

IndieCommerce Help Documents

 

About ABA

The American Booksellers Association, a national not-for-profit trade organization, works with booksellers and industry partners to ensure the success and profitability of independently owned book retailers, and to assist in expanding the community of the book.

Independent bookstores act as community anchors; they serve a unique role in promoting the open exchange of ideas, enriching the cultural life of communities, and creating economically vibrant neighborhoods.

Contact

PRESS INQUIRIES: [email protected]

INDIECOMMERCE: [email protected]

ALL OTHER INQUIRIES: [email protected]

 

 

Copyright 2024 American Booksellers Association. BookWeb is a registered trademark of ABA.
Privacy Policy, Cookie Policy, Accessibility Statement