Getting familiar with the E-commerce Solution

This page provides an overview of the e-commerce interface and the terminology used in the product and in the documentation. This overview is useful for both administrators who want to configure the system, and store managers who manage the on-line store on a daily basis:

Getting familiar with e-commerce applications

Open the application list on the left. In the E-commerce section, you can find the Xperience E-commerce Solution features.

Accessing E-commerce applications

Tip: Add applications to your dashboard if you use them frequently.

Based on your user permissions, you may not see all of the applications.

Most of the e-commerce applications are suitable for managing your on-line store:

Getting familiar with e-commerce settings

The e-commerce settings are used mostly by Xperience administrators, who take care of the actual running of the system. With the settings, you can configure the E-commerce Solution to control the behavior and functionality of your on-line store. The settings are available from three applications:

  • Store configuration
  • Multistore configuration
  • Settings (in the E-commerce setting category)
    User interface in the Settings application - E-commerce category

Every application contains slightly different settings. You can find the logical differences in Choosing site or global e-commerce configuration and the specific differences (regarding specific settings) in Settings - E-commerce.

Based on your user’s permissions, you may not see the configuration applications.

Getting familiar with terms used in the E-commerce Solution

See the table below to understand terms that are used in Xperience (and also in the source code if you plan to customize it). You do not need to know the terms by heart exactly as they are written here but it is good to know them when they appear in front of you.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Used term

Basic meaning

Details (usually for administrators and developers)

Abandoned shopping cart

Abandoned shopping cart is a shopping cart that the customer did not use for making a purchase. For example, a visitor browses through your on-line store, puts some products in their shopping cart, but then changes their mind and leaves without buying anything. The visitor’s shopping cart is then considered as abandoned.

You can then use abandoned carts to reach out to the visitors. For example, you can send them an email to remind them that they want to buy something.

Abandoned shopping cart is not any specific object or type of shopping carts in the database. You can set a scheduled task that creates an activity for every abandoned shopping cart. When you then set a marketing automation process that uses the created activity, you can send them an email.

Learn more in Walkthrough - Sending an automated reminder of an abandoned shopping cart. You can also customize the way the system recognizes abandoned shopping carts, see Customizing marking shopping carts as abandoned.

Anonymous customers

Customers who have purchased something, but have not registered in the store.

Learn more in Customers.

Anonymous customers are stored (as well as registered customers) in the COM_Customer database table. However, they do not have assigned any user (in the CustomerUserID column), the value is NULL.

Billing address

Billing and shipping addresses are addresses used for orders. The billing address is an address that sets the payer of the order.

Based on billing and shipping addresses, you can then set shipping prices or further alter orders. See Auto-filling addresses of existing customers.

Billing addresses are (as well as shipping addresses) stored in the COM_Address database table. Technically, the billing and shipping addresses are the same and are interchangeable. If the address has already been used in an order, you can find the address also in the COM_OrderAddress table.

The potential “duplication” of information is to prevent retroactive changes of orders. Customers are enabled to change their saved addresses (in COM_Address). If orders had used the same table and customers had changed their address, the order’s address would also change. Therefore, orders use their own address table (COM_OrderAddress), which can be changed only through the administration interface while editing an order.

Brands

Brands are labels that can be assigned to products. When adding or editing a product, you can set the product’s brand.

Brands can help manage and organize products in the product listing, and can also be used to filter products when configuring certain types of discounts.

Learn more in Managing brands and manufacturers.

Brands are stored in the COM_Brand database table. Every product has a brand ID value (in the SKUBrandID column in the COM_SKU table). If a product does not have a brand assigned, the value in the column is NULL.

Bundles

Acting as a special type of product, bundles are basically sets of multiple individual products sold as one whole set.

For example, when you want to sell a complete package for making coffee, you can bundle a grinder, a brewer, and a bag of coffee together and sell it as one product. Another example could be a collector’s edition of the Lord of the Rings movies, including limited edition accessories and items; such a bundle could, for instance, contain the boxed Blu-ray set of all the movies, a map of the continent, and a statue of one of the characters.

Learn more in Managing Bundles.

One of the product representations in Xperience. Bundles are stored in the COM_SKU database tables as well as other types of products. Besides that, IDs of products offered in the bundle are connected to the bundle’s ID in the COM_Bundle database table.

Buy X Get Y discounts

A type of discounts, Buy X Get Y discounts have a wide range of uses. You can use them when you want to add a gift to specific products or offer discounts of the buy 2 and get 1 free variety. You can manage all Buy X Get Y discounts in the Buy X Get Y discounts application.

Learn more in Working with Buy X Get Y discounts.

Buy X Get Y discounts use multiple database tables:

  • COM_MultiBuyDiscount – with core properties of the discount and the “Get” properties
  • COM_MultiBuyDiscountSKU – the “Buy” properties if the discount is applied to specific products
  • COM_MultiBuyDiscountDepartment – the “Buy” properties if the discount is applied to whole departments
  • COM_MultiBuyDiscountBrand – the “Buy” properties if the discount uses included or excluded brands
  • COM_MultiBuyDiscountCollection – the “Buy” properties if the discount uses included or excluded collections
  • COM_MultiBuyDiscountTree – the “Buy” properties if the discount uses included or excluded product sections
  • COM_MultiBuyCouponCodecoupon codes of Buy X Get Y discounts that are applied only after entering a coupon

Buy X Get Y discounts share their database tables with product coupons. Buy X Get Y records can be recognized in the COM_MultiBuyDiscount table by having the MultiBuyDiscountIsProductCoupon column set to 0 (false).

See Customizing discounts to learn how to customize Buy X Get Y discounts to support other scenarios.

Catalog discounts

A type of discounts. Catalog discounts cheapen selected products to all customers, registered customers or registered customers in selected roles. You can manage them through the Catalog discounts application.

For example, with catalog discounts, you can create loyalty bonuses, flat discounts for partners, set price levels, etc.

Learn more in Working with catalog discounts.

To create catalog discounts, you need to create a discount rule based on which the discount is applied.

Catalog discounts are stored in the COM_Discount database table along with order discounts and free shipping offers. Catalog discounts are recognizable by having Products in the DiscountApplyTo column.

Checkout process

Checkout process is a customer’s journey that starts with putting a product into the shopping cart and ends with creating an order.

The checkout process is a set of pages where customers prepare their order – the shopping cart, billing and shipping information, payment method selection, etc. The process ends right before the system creates an order object and saves it to the database. From this time, it is referred to as an order.

Customers cannot pay while going through the checkout process. Customers pay for their orders after an order is created.

Collections

When adding or editing products, you can assign each product to a collection.

Collections can help manage and organize products in the product listing, and can also be used to filter products when configuring certain types of discounts.

Learn more in Managing product collections.

Collections are stored in the COM_Collection database table. Every product has a collection ID value (in the SKUCollectionID column in the COM_SKU table). If a product does not have a collection assigned, the value in the column is NULL.

Coupon codes

Coupon codes are text expressions that customers can enter during the checkout process to obtain a discount or redeem a gift card. You can use coupon codes with:

Coupon codes are stored based on the discount to which they are related:

  • Buy X Get Y discounts and Product coupons use the COM_MultiBuyCouponCode database table
  • Other discounts store related coupon codes in the COM_CouponCode table
  • Gift cards store their coupon codes in the COM_GiftCardCouponCode table

Currencies

With money of a specific currency, you can pay for products in your order. You can create an on-line store with multiple currencies or have multiple sites with different sets of currencies. Every site then has its main currency in which store administrators enter prices in the administration interface.

You can change currencies in the Store configuration or Multistore configuration application on the Currencies tab. Learn more in Configuring currencies.

Currencies are stored in the COM_Currency database table. Since they can be both global and site, you can see NULL or the site ID respectively in the CurrencySiteID column.

Relationships among currencies are expressed with exchange rates. Exchange rates ensure the ratio when recalculating an amount of money from one currency to another.

Customer credit

A payment method. You can enable credit accumulation for registered customers only. Customers may then choose to redeem their accumulated credit to pay for their orders. You can modify a customer’s credit in the Customers application on the Credit tab (available only for registered users).

You can configure customer credit as a payment method in the Store configuration or Multistore configuration application on the Payment methods tab. Learn more in Configuring customer credit.

All customer credit transactions are stored in the COM_CustomerCreditHistory database table. The credit is connected to the customer via the EventCustomerID column with the customer’s ID. If the credit is connected to a specific site, the EventSiteID column contains the site’s ID. If the credit is global, the EventSiteID column contains NULL.

Customers cannot pay for an order partly with their credit and partly with another payment method.

Customer details

Information about a customer. For example their name, phone number, email address, etc.

You can edit customers’ details in the administration interface in the Customers application.

You can let customers change their own details on the live site by implementing collection of customer details as part of your site’s checkout process. See Gathering customer details during checkout.

Customers

A customer is a person or a company with a purchase history in your store. Customers can be either registered or anonymous.

Learn more in Customers.

All customers are stored in the COM_Customer database table.

If the customer is registered, the customer’s properties are synchronized with their user account. Learn more in Synchronizing customer and user properties.

Departments

Departments are one of the possibilities when categorizing products. Departments are only logical categorization (departments provide no display differences if not configured otherwise).

With departments, you can automatically assign taxes to new products created in a specific department.

Departments are stored in the COM_Department database table.

Discount rules

Discount rules are rules that need to be fulfilled in order to apply discounts or special offers. For example, when you want to discount orders dispatched to the USA.

You can configure conditions based on rules when creating or modifying discounts. Discount rules are used for order discounts, catalog discounts, free shipping offers and gift cards.

Discount rules are customizable via the administration interface. You can add or remove them in the Store configuration or Multistore configuration application. See Configuring discount rules to learn more.

Discounts

Discounts are a way to promote your store and your products. They discount your products or shipping costs, which can potentially drive more sales from your customers. Xperience offers several types of discounts:

Learn more in Discounts.

Discounts in Xperience are a decentralized system. Therefore, you can find discounts in several database tables.

See a specific discount type to find out more details about the discount.

E-products

A special type of products. E-products are like standard products but they are electronic (intangible) and downloadable. E-products are therefore suitable for e-books, files (images, audio, video), apps, etc.

Learn more in Managing E-products.

One of the product representations in Xperience. E-products are basically standard products in the COM_SKU database table but have EPRODUCT in the SKUProductType column. The related downloadable files are stored in the COM_SKUFile table, with the IDs of linked product for each file in the FileSKUID column.

You can find links to the e-products already bought in orders in the COM_OrderItemSKUFile table.

Exchange rates

Exchange rates express the ratio for recalculating a sum of money from one currency to another. For this recalculating, Xperience uses exchange tables with all required rates in the tables. You can edit the exchange tables in the Store configuration or Multistore configuration applications on the Exchange rates tab.

Learn more in Configuring exchange rates.

Exchange tables are stored in the COM_ExchangeTable database table. You can see whether a specific exchange table is global or site by checking the value in the ExchangeTableSiteID column. Global exchange tables have NULL in the column; site exchange tables have the table’s site ID.

A table’s exchange rates are then stored in the COM_CurrencyExchangeRate table. They are connected to the table ID with the ExchangeTableID column.

Formatted price

Formatted price contains not only the nominal amount but also a currency code or other text and styling configured in the settings.

Formatted price is suitable for any page where customers can see the price. Customers are not therefore confused about the currency. See Configuring currencies to learn more about configuring currencies and the Currency formatting string currency property.

Formatted weight

Formatted weight contains not only the nominal amount but also a weight unit or other text and styling configured in the settings.

Weight is used mainly for products and shipping option price levels. See Configuring products to learn more about configuring products or see directly Settings - E-commerce to set the Mass format string setting.

Free shipping offers

A type of discounts. Free shipping offers enable customers to have free shipping for their purchase. You can manage them through the Free shipping offers application.

You can limit a free shipping offer based on orders’ properties (prices, currencies, billing or shipping addresses, shipping, weight, etc.) or type of customers, duration, or enable the offer only when the customer types a coupon code.

Learn more in Working with free shipping offers.

To create free shipping offers, you need to use a discount rule based on which the free shipping offer is applied. If your desired rule is not predefined, you can create your own, see Configuring discount rules. Free shipping offers, order discounts and gift cards use the same set of discount rules.

Free shipping offers are stored in the COM_Discount database table along with catalog discounts and order discounts. Free shipping offers are recognizable by having Shipping in the DiscountApplyTo column.

Gift cards

Gift cards allow customers to reduce the final price of their orders. When a customer enters a gift card’s coupon code during checkout, the system subtracts the gift card value from the total price (after calculating all other discounts, shipping costs and taxes). If the gift card value is greater than the order’s price, the remaining amount is saved for the given coupon code and can be redeemed in future orders.

You can manage gift cards in the Gift cards application.

You can restrict application of gift cards based on order properties (prices, currencies, billing or shipping addresses, shipping, weight, etc.), the current date, or the type of the customer.

Learn more in Working with gift cards.

Gift cards are stored in the COM_GiftCard database table. The coupon codes used by gift cards are stored in the COM_GiftCardCouponCode table.

Global objects

Global e-commerce objects are those e-commerce entities that are set for all sites. For example, products, product options, manufacturers, payment methods, tax classes, or currencies. Some of them can be used along with site objects, some of them replace the site objects.

Learn more in Choosing site or global e-commerce configuration.

Global objects have typically NULL in the database where the site ID usually is, or a specific database column is used to label objects as global.

Global settings

Global e-commerce settings are settings related to the E-commerce Solution and are used for all sites. You can find settings under the Store settings tab in the Multistore configuration application. They serve as setting simplification for multisite stores.

Learn more in Choosing site or global e-commerce configuration.

Settings are stored in the CMS_SettingsKey database table. Global settings have NULL in the SiteID column, where the site ID usually is.

Invoices

Invoice is a confirmation of a purchased order. The invoice appearance is editable in the Store configuration or Multistore configuration applications.

Learn more in Configuring invoices.

Invoices are printable confirmations that you can browse in the system. If you want to send invoices by email, you need to specify it in the specific email notification. Learn more about e-commerce email notifications in Configuring e-commerce email notifications.

Main currency

Main currency is a currency used by store administrators to set prices in the administration interface. Each site has its own main currency or a site can use a global main currency if the site uses global currencies.

Main currencies are distinguishable from other currencies by the CurrencyIsMain column in the COM_Currency database table, where all currencies are stored.

Manual payment methods

A type of payment methods. Manual payment methods are basically only labels used as payment methods. All logic is manual and up to a store administrator. This type of payment methods is typically suitable for payment on delivery, i.e. when a salesperson or a shop assistant marks the order as paid.

Learn more in Configuring payment methods.

From the technical point of view, manual payment methods are payment methods that do not have any payment gateway URL and payment gateway provider class.

Manufacturer’s recommended retail price

See product list prices.

See product list prices.

Manufacturers

Manufacturers are “makers” of products. When adding or editing a product, you can set the product’s manufacturer.

They can serve either for further sorting in the product listing or for easier product management.

Learn more in Managing brands and manufacturers.

Manufacturers are stored in the COM_Manufacturer database table. Every product has then a manufacturer’s ID assigned (in the SKUManufacturerID column in the COM_SKU table). If the product does not have a manufacturer assigned, the value in the column is NULL.

Memberships

A special type of products. Memberships are suitable when you offer your customers membership in a paid club. You can also link together customers’ memberships to a membership section on your site, which only members can access.

For example, you want to provide some exclusive materials or products for your paid members. You create a membership, and customers who purchase the membership will be able to access a restricted section on the site. In the restricted section, you publish the exclusive materials.

Learn more in Managing E-commerce memberships.

One of the product representations in Xperience. Memberships are basically standard products in the COM_SKU database table but have MEMBERSHIP in the SKUProductType column.

Multisite store

A multisite store is basically an Xperience instance that runs more than one on-line stores.

When running a multi-site store, you can take advantage of division settings and objects to global and site.

See Choosing site or global e-commerce configuration.

Notification emails

Notification emails are emails that the system sends when some event occur. You can configure which events trigger sending a notification email.

Learn more in Configuring e-commerce email notifications.

E-commerce notification emails can be sent to the customer who caused the event (created an order, paid an order, etc.) or to the administrator.

You can set the appearance of the notification emails.

Option categories

Option categories are logical categories of product options. When you want a product to have some product options, you need to assign the product an option category that contains the desired product options.

This is particularly useful when you want to use the same set of product options for more products. Typically, it can be sizes of T-shirts. You define one option category for t-shirt sizes and then assign it to all T-shirt products.

You can manage option categories in the Product options application.

Learn more in Working with product options.

Option categories are stored in the COM_OptionCategory database table.

The relationships between products and option categories are stored in the COM_SKUOptionCategory table.

Order discounts

A type of discounts. Order discounts reduce the price of entire orders. You can manage them in the Order discounts application.

You can limit application of order discounts based on order properties (prices, currencies, billing or shipping addresses, shipping, weight, etc.), the current date, the type of the customer, or enable the offer only for customers who enter a coupon code during checkout.

Learn more in Working with order discounts.

Order discounts are stored in the COM_Discount database table along with catalog discounts and free shipping offers. Order discounts are recognizable by having Order in the DiscountApplyTo column.

For advanced order discounts, you need to use discount rules based on which the order discount is applied. If your desired rule is not predefined, you can create your own. See Configuring discount rules. Order discounts, free shipping offers and gift cards use the same set of discount rules.

Order statuses

Order statuses label orders to describe in which phase the orders are. For example, you can assign new orders to the New order status, paid orders to the Paid order status or delivered orders to the Finished order status.

With order statuses, you can also automatically mark orders as paid.

You can edit order statuses in the Store configuration or Multistore configuration applications.

Learn more in Order statuses.

Orders statuses are stored in the COM_OrderStatus database table. You can see whether a specific order status is global or site by checking the value in the StatusSiteID column. Global order statuses have NULL in the column whereas site order statuses have the status’s site ID in the column.

You can also see the history of order status changes in the COM_OrderStatusUser table.

Orders

When customers want to purchase products in your on-line store, they need to create an order, which you can then process and deliver the products to the customer.

An order is created when the customer adds products to their shopping cart, goes through the checkout process and clicks the final button that creates an order (such as Make an order, Finish the order or Submit).

Learn more in Orders.

Torsos of orders are stored in the COM_Order database table. In the COM_OrderAddress table, you can see addresses used in orders. In the COM_OrderItem table, you can see every product item bought with the order (items that were in the shopping cart before creating an order). Finally, you can see links to the bought e-products in the COM_OrderItemSKUFile table.

Original price

The highest price of a product. The original price is suitable for showing visitors of your store how much money they can save.

Original prices can be either product list prices or product prices before applying discounts depending on which is a bigger number.

Paid orders

Paid orders are orders that are marked as paid. You can mark an order as paid either one by one manually when editing an order or automatically by creating an order status, which marks orders as paid for you.

Learn more in Orders.

Paid orders are stored in the COM_Order database table as well as not paid orders. You can find out whether an order is paid by looking at the OrderIsPaid column. Unpaid orders have NULL as the column’s value whereas paid orders have 1 as the value.

Payment methods

Payment methods are options that customers can use to pay for their orders. You can use either site or global payment methods. Therefore, you can edit payment methods in the Store configuration or Multistore configuration applications.

Learn more in Configuring payment methods.

Payment methods are stored in the COM_PaymentOption database table. You can see whether a specific payment method is global or site by checking the value in the PaymentOptionSiteID column. Global payment methods have NULL in the column whereas site payment methods have the method’s site ID in the column.

Permissions

By configuring permissions, you can limit access or ability to modify specific content of your on-line store. For example, you can enable specific users to create products but prevent them from deleting products.

See Configuring permissions to learn more about permissions in Xperience generally, or see Configuring e-commerce permissions to learn more about permissions in the E-commerce Solution.

You can set different permissions for different roles (for the purposes of store managers and more).

Prices

Prices in Xperience express the sum of money for which customers can buy a product, with other costs such as shipping, etc. 

There are several types of prices:

Product coupons

A type of discount. Product coupons reduce the price of products after customers enter a coupon code. You can manage product coupons in the Product coupons application.

Learn more in Working with product coupons.

Product coupons are stored in the same database tables as Buy X Get Y discounts:

  • COM_MultiBuyDiscount – the main records representing product coupon discounts and their core properties
  • COM_MultiBuyDiscountSKU – the bindings to assigned products (if the coupon applies to specific products)
  • COM_MultiBuyDiscountDepartment – the bindings to assigned departments (if the coupon applies to whole departments)
  • COM_MultiBuyDiscountBrand – the bindings to assigned brands (if the coupon applies to brands or has excluded brands)
  • COM_MultiBuyDiscountCollection – the bindings to assigned product collections (if the coupon applies to collections or has excluded collections)
  • COM_MultiBuyDiscountTree – the bindings to assigned sections within the Product structure (if the coupon applies to product sections or has excluded sections)
  • COM_MultiBuyCouponCode – the coupon codes of product coupon discounts

Product coupon records can be recognized in the COM_MultiBuyDiscount table by having the MultiBuyDiscountIsProductCoupon column set to 1 (true).

Product detail pages

See Product details.

See Product details.

Product details

Product details are pages that display a specific product’s properties (details). It is typically the page where you get when you click on a product in the product listing.

Learn more on Displaying product details.

Product list prices

The price specified in the List price field when editing a product. Often abbreviated as a “list price”. In other systems, you can find list prices also as retail prices, recommended retail prices or even manufacturer’s recommended retail prices.

With list prices, you can show visitors of your store, how much money they can save by purchasing the product in your store.

List prices are stored in the COM_SKU database table in the SKURetailPrice column.

Product listings

Product listings are pages that display a list of products (all of them or a part of them). It is typically a department’s page with department’s products. After clicking on a product, you usually get to the product detail of the clicked product.

Learn more on Displaying product listings.

Product options

Product options are selectable parts of products. For example, T-shirts can have different sizes or cups can have inscriptions. They are divided into three types:

  • Attribute (e.g., Color of clothing)
  • Products (e.g., Portable PC accessoriesConfigurable PC – Operating system)
  • Text (e.g., Book – Inscription)

Learn more in Working with product options.

Product options of all types are stored in the COM_SKU database table among products. In the SKUOptionCategoryID column, they have the ID of their option category. Every product option category is then saved in the COM_OptionCategory table.

Unlike product options of the attribute and products type, product options of the text type have by default one option in the COM_SKU table.

Product prices

The price specified in the Price field when editing a product. It is the price from which taxes, discounts, etc. are calculated.

Product prices are stored in the COM_SKU database table in the SKUPrice column.

Product representations

Product representations are basically different types of products. For example, some products are classic tangible items (food, computers, etc.), some of them are electronic or some of them are special, like memberships, bundles, etc. Xperience divides product representations into:

Learn more in Managing product representations.

Product representations in Xperience are a partially centralized system. Some of the representations are stored in the COM_SKU database table with products and some of them are stored in another table.

See the specific product representations to find out more details about each representation.

Product structure

Products can be organized within a so called product tree. The tree contains a hierarchy of sections, and individual products. The Products application and also the product part of the Pages application reflect the product structure.

Learn more in Configuring product structure.

The system also provides additional ways of dividing products based on other factors (see Categorizing products).

Product types

Product types are page types for products.

Learn more in Configuring product page types.

Apart from product page types, there are also product section types.

Product variants

Product variants are basically products with preselected product options of the attribute type. You can assign all properties to product variants as if the variants were products.

Learn more in Working with product variants.

Product variants are stored among other products in the COM_SKU database table. The SKUParentSKUID column contains the parent product from which the product variants were created. Product variants are also connected with the preselected product options in the COM_VariantOption table.

Products

Products are items (stuff) which your customers can buy. For example, you can offer books, food, computers, audio, video, etc. You can find your products in the Products application.

Products can be divided based on several points of view, for example:

Learn more in Products.

Products are stored in the COM_SKU database table where SKU (stock keeping unit) objects are kept. By default, the SKU is created along with a page (in the CMS_Document table) to embrace also page properties and their advantages.

However, it is possible to create products just as stand-alone SKUs. It speeds up the system when you have many products but you cannot, for example, categorize products with categories or tags.

Based on every product’s product representation, more database tables can be used (for example, COM_Bundle or COM_SKUFile). Similarly, to get all information regarding product options or variants, you also need to see more database tables.

Learn more in Configuring products.

Purchase

To purchase something is to actually buy it in the on-line store. When a customer puts products into their shopping cart, goes through the checkout process to the state when they finally make an order, it is considered as a purchase.

Purchasing something does not mean any special system entity or object. It is just a state where an order is created.

Recommended retail prices

See product list prices.

See product list prices.

Retail prices

See product list prices.

See product list prices.

Registered customers

Customers who have purchased something and have registered user accounts on the site.

Learn more in Customers.

Registered customers are stored (as well as anonymous customers) in the COM_Customer database table. In the CustomerUserID column, they have their user’s ID.

Customers’ properties are synchronized with their user accounts. Learn more in Synchronizing customer and user properties.

Shipping address

Shipping and billing addresses are addresses used for orders. The shipping address is an address that sets where the order is shipped after the purchase. The shipping address is used only when at least one product of the order needs shipping.

Based on the shipping and billing addresses, you can set shipping prices or further alter orders. See Auto-filling addresses of existing customers.

Shipping addresses are (as well as billing addresses) stored in the COM_Address database table. Technically, the shipping and billing addresses are the same and are interchangeable. If the address has already been used in an order, you can find the address also in the COM_OrderAddress table.

The potential “duplication” of information is to prevent retroactive changes of orders. Customers are enabled to change their saved addresses (in COM_Address). If orders had used the same table and customers had changed their address, the order’s address would also change. Therefore, orders use their own address table (COM_OrderAddress), which can be changed only through the administration interface while editing an order.

Shipping carriers

Shipping carriers contain the functionality of shipping options. To enable any shipping option for your customers, you need to install shipping carriers to your system first.

Learn more in Configuring shipping carriers.

Shipping carriers are installed in the system through shipping carrier providers, a source code that provides running of its shipping carriers (and in the end their shipping options).

Learn more in Implementing custom shipping carrier providers.

Shipping options

Customers can choose from shipping options, you offer in your store, to choose how you send the order to the customer. You can edit shipping options in the Store configuration application.

Learn more in Configuring shipping options.

Shipping options are directly dependent on shipping carriers and basically connect shipping option’s settings with shipping carrier’s functionality. They are stored in the COM_ShippingOption database table.

Shipping options can be only site objects.

Shopping cart

Shopping cart is a page on which your customers see all shopping cart items and can continue with the checkout process and make an order.

Shopping cart verification is often a step in the checkout process. Typically, you can have a one-step checkout process or a multi-step checkout process.

Shopping carts are stored in the COM_ShoppingCart database table.

Shopping cart item

Shopping cart item is one product in a shopping cart (any number of units of the same product is considered as one item).

Shopping cart items of each saved shopping cart are stored in the COM_ShoppingCartSKU database table.

Shopping cart preview

Shopping cart preview is a part of pages that displays how many products are in the shopping cart, what the shopping cart’s total price is, or any other desired information. Clicking the shopping cart preview usually leads to the shopping cart.

You need to implement your own content for displaying the shopping cart preview (for example using a partial view). See Integrating the shopping cart.

Site objects

Site e-commerce objects are those e-commerce entities that are set for one site only. For example, products, product options, brands, collections, payment methods,tax classes, or currencies. Some of them can be used along with the global objects, some of them can be used only without global objects.

Learn more in Choosing site or global e-commerce configuration.

Site objects have typically their site’s ID in their database record (opposed to global objects’ NULL), or a specific database column is used to label the object as site-related.

Site settings

Site e-commerce settings are settings related to the E-commerce Solution and are used for one site only. You can find settings under the Store settings tab in the Store configuration application.

Learn more in Choosing site or global e-commerce configuration.

Settings are stored in the CMS_SettingsKey database table. Site settings have site’s ID in the SiteID column.

SKU-only products

Products consist by default of an SKU object and a page. SKU-only products are products that do not have any bound page.

Such products therefore cannot use some advantages of pages.

Learn more in Managing stand-alone SKUs.

SKU-only products are stored in the COM_SKU database table as well as default products. SKU-only products speed up the system when you have many products, but you cannot, for example, categorize products in categories or tags.

Based on every product’s product representation, more database tables can be used (for example, COM_Bundle or COM_SKUFile). Similarly, to get all information regarding product options or variants, you also need to see more database tables.

Learn more in Configuring products.

Standard products

A standard type of products. Standard products represent usual tangible products, such as books, computers, food, cars, etc. On the other hand, standard products are not suitable for electronic files – e-products (e-books, audio, video, etc.) or other intangible “products” (like memberships).

Learn more in Managing Standard products.

One of the product representations in Xperience. Standard products are stored along with other products in the COM_SKU database table and have PRODUCT in the SKUProductType column. Other product representations are derived from standard products.

Suppliers

Suppliers are “providers” of products, they typically bring the products to the store (or its stock). When adding or editing a product, you can set the product’s supplier. They can serve for easier product management when tracking which supplier takes care of which products.

Learn more in Managing suppliers.

Suppliers are stored in the COM_Supplier database table. Every product has a supplier ID assigned (in the SKUSupplierID column in the COM_SKU table). If the product does not have a supplier assigned, the value in the column is NULL.

Tax classes

Xperience uses tax classes to express tax properties for products and other entities (e.g. shipping options). You can use either site or global tax classes. You can edit tax classes in the Store configuration or Multistore configuration applications.

Learn more in Configuring taxes.

Tax classes are stored in the COM_TaxClass database table. You can see whether a specific tax class is global or site by checking the value in the TaxClassSiteID column. Global tax classes have NULL in the column whereas site tax classes have the class’s site ID in the column.

Specific tax amounts are different for countries and states, they are stored in the COM_TaxClassCountry and COM_TaxClassState tables.

Users

Users are those visitors of your website that have a user account.

Learn more in Enabling user registration.

Users are not an e-commerce functionality and are therefore stored in the CMS_User database table (the table does not have the COM prefix).

Users have a contact assigned for the on-line marketing purposes (as well as a visitor without a user account) and users can also have a customer. They have a customer when they have already made an order.

Volume discounts

A type of discounts. Volume discounts cheapen products based on the number of purchased items. You can manage volume discounts through the Products application. Edit a product and switch to the Advanced -> Volume discounts tab.

Learn more in Working with volume discounts.

Volume discounts are stored in the COM_VolumeDiscountdatabase table. They are bound to their products with the product’s ID.