Knowledge Base http://www.magentocommerce.com/knowledge-base/ en kara@croasdill.com Copyright 2010 2013-05-23T18:51:10+00:00 Solr and Magento Enterprise Edition (EE) Best Practices http://www.magentocommerce.com/knowledge-base/entry/solr-ee-best-practices http://www.magentocommerce.com/knowledge-base/entry/solr-ee-best-practices

Table of Contents

Overview

This article discusses some best practices discovered by Magento testing and experience. Please share your thoughts with us by commenting on this article and watch this space because we'll be adding more suggestions soon.

Search Weight Attributes and Relevancy

To improve the relevancy score of search results based on product attributes, assign a larger weight to those attributes. For more information about how to improve relevancy scores, see the following:

How to Best Use the Solr Example Application

Solr comes packaged as a Java application that runs in a Jetty servlet engine. To make deployment even simpler, Magento EE comes packaged with a sample Solr configuration you can use and customize. It's easy to set up and get started.

Note: The sample Solr web application is not intended to be used in a production site. It's for testing and development only. It's simple to use which makes it a great way for you to learn more about Solr.

For more information, see How to Use the Solr Search Engine With Magento Enterprise Edition.

Customizing Languages

To customize localized searching for the Solr example application, edit the following files in solr-install-dir/example/solr/conf (one file per locale):

  • protwords_*.txt, a list of words that are protected from stemming, which is the linguistic process of reducing a word like "catlike" to its root word "cat".
    For more information about stemming, see the article on Analyzers, Tokenizers, and Token Filters on the Solr wiki.
  • stopwords_*.txt, a list of words you do not want Solr to index. These typically include common words, such as the English words "the", "a", and so on. These words are referred to as stop words.
    For more information about stop words, see the article on Analyzers, Tokenizers, and Token Filters on the Solr wiki, especially the discussion of solr.StopFilterFactory.
  • synonyms_*.txt, a list of equivalent words (for example, "ipod", "i-pod", and "i pod").
    Fore more information about synonyms, see the discussion of solr.SynonymFilterFactory on the Solr wiki.

Solr and its example application ship with these lists empty by default. Customize them as needed for your web store and language.

Other Best Practices Suggestions

Some other suggestions:

  • In Solr's schema.xml, tune parameters of solr.WordDelimiterFilterFactory by modifying text_*.
    For more information, see Analyzers, Tokenizers, and Token Filters on the Solr wiki.
  • In the solrconfig.xml provided with Magento EE, tune parameters of magento_* request handlers (for example, <requestHandler name="magento_en" class="solr.SearchHandler">).
  • To return search results from a partial SKU match, try this workaround if you're using Solr 3.6.0 or later.

Changing the Minimum Search Query (MySQL Full Text Only)

By default, MySQL allows a minimum search query of four characters. However, if you're using the MySQL Fulltext search engine and the Fulltext search type, you can change the minimum number or characters to a smaller value as follows:

  1. Open MySQL's my.cnf in a text editor. It's located as follows:
    • CentOS: /etc/my.cnf
    • Ubuntu: /etc/mysql/my.conf
  2. Add the following line anywhere in the [mysqld] section:
    ft_min_word_len=min-query-length
    #Example:
    #ft_min_word_len=3
  3. Save your changes to my.cnf and exit the text editor.
  4. Use the following command to restart MySQL:
    service mysqld restart
  5. Use the following command to log in to MySQL as an administrator:
    mysql -u admin-user-name -p
  6. At the mysql> prompt, enter the following commands in the order shown:
    use magento-database-name;
    repair table catalogsearch_fulltext quick;
    exit
  7. Log in to the Admin Panel as an administrator.
  8. Click System > Cache Management.
  9. If the Status column for Page Cache indicates Invalidated, Select the check box next to Page Cache.
  10. From the Actions list in the upper right, click Refresh.
    The following figure shows an example.
  11. Go to your web store and try a search for the minimum number of characters you set.
]]>
Solr and Magento Enterprise Edition (EE) Best Practices 2013-05-06T15:04:51+00:00
Frequently Asked Questions (FAQ) About Using Solr with Magento Enterprise Edition (EE) http://www.magentocommerce.com/knowledge-base/entry/solr-ee-faq http://www.magentocommerce.com/knowledge-base/entry/solr-ee-faq

Table of Contents

What versions of Magento EE and Solr are supported?

See the Support Matrix.

I want to use Solr 3.6.0. What versions of Magento EE support it?

Magento EE versions 1.10.1.1 and later support Solr 3.6.0; however, you'll probably need to contact Magento Support to get a patch, especially if you're running a version of EE earlier than 1.12.0.0.

Contact Magento Support with the following information:

  • Four-digit version of EE you're running (if in doubt, log in to the Admin Panel; the version displays at the bottom of the page).
  • The version of Solr you're currently running.

What are the advantages of using Solr with Magento EE?

Solr is a fast, open source, customizable search engine you can use with Magento to provide the following features not found with the out-of-the-box MySQL full text search engine:

  • Tips if a user's search term returned no results
  • Attribute-based relevancy weighting
  • Search for localized characters
  • Return results based on delimiters (for example, searching for spider man or spiderman return spider-man)

In addition:

  • Magento ships with a sample Solr configuration that enables you to experiment with Solr without programming. (The sample configuration should not be used in production, however. Use it to familiarize yourself with Solr.)
  • You get better performance of search, catalog views, and layered navigation.
  • When the system is under load, Solr avoids frequent updates of the MySQL catalogsearch_fulltext table and alleviates issues with database table locks.

What features does Solr offer that MySQL full text does not?

  • Tips if a user's search term returned no results
  • Attribute-based weighting
  • Search for localized characters
  • Return results based on delimiters (for example, searching for spider man or spiderman return spider-man)

What languages are supported?

Following is a partial list of supported languages: Arabic, Brazilian, Portuguese, Bulgarian, Chinese, Japanese, Korean, Czech, Danish, Dutch, English, Finnish, French, German, Hindi, Hungarian, Indonesian, Italian, Norwegian, Persian/Farsi, Portuguese, Romanian, Russian, Spanish, Swedish, Thai, Turkish.

For more information, see the Solr wiki.

How do Solr and MySQL search coexist in Magento? How do they each work?

  • Solr, if enabled, indexes content in your web store only
  • Search and sorting in the Admin Panel uses MySQL search only
  • In the event the Solr server stops responding or becomes disabled for some other reason, MySQL automatically takes over for web store searching

Why does reindexing catalog search take so long? Is there a solution?

If you're running EE 1.9.0.0—1.11.2.0, you can contact Magento Support for a patch that addresses the issue.

However, a better solution is to upgrade to EE 1.13, which achieves significant performance improvements for all indexers. Indexing usually occurs in the background, or can be scheduled by your Magento cron job. For more information, see the EE 1.13 indexing documentation.

What is the difference between Solr's suggestions and recommendations?

Suggestions are the native Solr mechanism of advising users in the event they enter incomplete or incorrect user input. Suggestions, when enabled, are automatically provided as part of any search request.

Solr completes incomplete or incorrect input using a dictionary that is based on the main index (and can be customized using configuration files to use any other arbitrary dictionary). Suggestions display with default text "Did you mean:" in the search results page if needed.

Notes:

  • Search suggestions are not the same as AJAX hints.
  • Enabling suggestions negatively affects performance because they result in more complex queries to Solr.

Recommendations display terms related to a requested word or phrase on the search results page.

This functionality is not based on third party engine functionality, but is implemented as part of the Enterprise_Search module and can be shown with the Solr search suggestions block.

By default, Magento uses the Enterprise_Search_Model_Adapter_HttpStream module for recommendations. If you install the Apache Solr PHP extension, Magento automatically uses the Enterprise_Search_Model_Adapter_PhpExtension adapter instead. Both adapters function in the same way with no difference in performance. However, the PhpExtension adapter is not tested by Magento so you must thoroughly test any modifications you make to it before deploying it in a production environment.

Note: Enabling recommendations negatively affects performance because they result in more complex queries to Solr and more database calls.

Do not confuse the Solr suggestion mechanism with Ajax pop-up suggestions in the search field. That functionality has no connection with Solr engine at all!

Can users search my entire web store?

Yes

What happens if no search terms are returned?

Solr provides hints that keep your visitors engaged rather than abandoning your store and going somewhere else.

How are search results sorted?

See here in the Solr tutorial.

Are search hits highlighted?

No, not at this time.

Can search results be weighted?

Yes, Solr offers a number of ways to weight search results. For more information, see:

How does search work with layered navigation?

Solr directly supports Magento's layered navigation by faceted search. Using Solr's faceted search, you get much better performance compared to MySQL full text search because you avoid having to join database tables. For more information, see this article on stackoverflow.com.

How does Solr handle localized characters in search results?

Solr can index localized characters with some known issues discussed on their FAQ.

Can search results be returned with relevancy ranking?

Yes, Solr supports a variety of methods for relevancy ranking. See the Solr Relevancy Ranking FAQ and the Solr Relevancy Cookbook for more information.

How does minimum query length work in Magento MySQL full text search?

Minimum query length for MySQL full text search is four characters. Therefore, if you're using MySQL full text search, you should always set the value to four or more. (To set the minimum query length in the Admin Panel, click System > Configuration > CATALOG > Catalog. In the right pane, expand Catalog Search and, from the Minimal Query Length field, enter a value of 4 or more. Magento ignores a value of less than 4.)

Note: You can change the minimal search query length as discussed in Changing the Minimum Search Query (MySQL Full Text Only).

What are the known limitations of using Solr with Magento EE?

See the following table.

Limitation Magento EE versions affected Solr versions affected
Auto-complete a user's partial search term entry All EE versions Any Solr version
Display a user's recent searches All EE versions Any Solr version
Geospatial search (combining location and text data) All EE versions Any Solr version
Hit highlighting All EE versions Any Solr version

What are known issues for which Magento has issued patches?

See the following table for a partial list.

For more information, you can always contact Magento Support with the following information:

  • Four-digit version of EE you're running (if in doubt, log in to the Admin Panel; the version displays at the bottom of the page)
  • The version of Solr you're currently running.
Limitation Magento EE versions affected Solr versions affected
Multi-valued attribute searching 1.9.0.0—1.11.2.0 3.1.0 and later
Products don't display in categories All EE versions Any Solr version
Incomplete search results with layered navigation 1.9.0.0—1.10.1.1 Any Solr version
Incomplete search results with layered navigation 1.12.x.x Any Solr version
Performance issues reindexing the catalog search indexer

1.9.0.0—1.11.2.0

Note: Magento EE 1.13 achieves significant performance improvements for all indexers. Indexing usually occurs in the background, or can be scheduled by your Magento cron job. For more information, see the EE 1.13 indexing documentation.

Any Solr version (more recent versions usually perform better)
Errors reindexing catalog search 1.12.x.x Any Solr version
Errors reindexing catalog search, no search results are returned 1.11.0.0—1.12.x.x Any Solr version
]]>
Frequently Asked Questions (FAQ) About Using Solr with Magento Enterprise Edition (EE) 2013-05-15T21:08:03+00:00
Magento Community Edition (CE) 1.8 Release Notes Redirect Page http://www.magentocommerce.com/knowledge-base/entry/ce18-later-release-notes http://www.magentocommerce.com/knowledge-base/entry/ce18-later-release-notes
We're sorry, this URL has been replaced. You'll be redirected to the new URL in five seconds. If you're not automatically redirected, click here.
]]>
Magento Community Edition (CE) 1.8 Release Notes Redirect Page 2013-04-23T13:08:39+00:00
How To Use Indexing in Magento Community Edition (CE) 1.8 http://www.magentocommerce.com/knowledge-base/entry/ce-18-indexing http://www.magentocommerce.com/knowledge-base/entry/ce-18-indexing

Table of Contents

Note: The information in this article applies to Magento Community Edition 1.8 and later only.

Why Does Magento Reindex?

Indexing is how Magento transforms data such as products, categories, and so on, to improve the performance of your web store. As data changes, the transformed data must be updated—or reindexed. Magento has a sophisticated architecture that stores lots of merchant data (including catalog data, prices, users, stores, and so on) in many database tables. To optimize web store performance, Magento accumulates data into special tables using indexers.

For example, suppose you change the price of an item from $4.99 to $3.99. Magento must reindex the price change to display it on your web store.

Without indexing, Magento would have to calculate the price of every product on the fly—taking into account shopping cart price rules, bundle pricing, discounts, tier pricing, and so on. Loading the price for a product would take a long time, possibly resulting in cart abandonment.

Using the Index Management Page

To understand how indexing works and to reindex when necessary, you must log in to the Admin Panel as an administrator and click System > Index Management. The following page displays:

The page displays differently if you enabled the flat catalog options. (In the Admin Panel, click System > Configuration > CATALOG > Catalog. In the right pane, expand Frontend and, from the Use Flat Catalog Category and Use Flat Catalog Category lists, click Yes.)

The following figure shows an example of how the System Management page displays when the flat catalog options are enabled.

Using the Columns on the Index Management Page

The following table discusses the meaning of the columns on this page.

Column name Description
Index Name of the indexer.
Description Description of the indexer.
Mode In the preceding figures, most of the indicated indexers are set to Update on Save, which means a reindex is required when a change is saved in the Admin Panel. To change this option, see How to Manually Reindex.
Status

Displays one of the following:

  • Reindex Required if a change has been made that requires reindexing. If a check box and Reindex Required link displays in that row, you can manually reindex as discussed in How to Manually Reindex.
  • Ready if the index is up-to-date.
Update Required Indicates whether or not you must manually reindex. (The value in the Mode column indicates whether the index must be manually updated.)
Updated At Displays the date and time an index was last manually updated, or Never if the index has never been updated.
Action Click the Reindex Data link to reindex that indexer only.

How to Manually Reindex

To inform you that one or more indexers must be rebuilt, a message banner similar to the following displays in the Admin Panel.

When you're notified that indexes must be rebuilt, use the instructions in the following table.

Task Steps to perform task
Manually reindex

To rebuild one or more indexers:

  • To update more than one indexer at a time, select the check box next to its name. From the Action list, click Reindex Data and click Submit.
  • To update one index only, click the Reindex Data link in the Action column on the right.
Change the indexing mode

By default, all indexers are set to Update on Save which means reindexing occurs after a change is made in the Admin Panel.

The other option is to manually reindex every time a change is made. (For example, if you change product attributes in the Admin Panel, you must manually update the Product Attributes index.)

To change the indexing mode:

  1. Select the check box next to one or more indexers to change.
  2. From the Actions list, click Change Index Mode.
    This causes the Index Mode list to display.
  3. From the Index Mode list, click the desired option.
  4. Click Submit. The value in the Mode column updates to indicate your choice.

Enabling Frontend Options for Flat Catalog Indexing

Magento uses the Entity-Attribute-Value (EAV) model for storing customer, product, and category data in its database. Although the EAV model enables you to have a completely extensible attributes for those objects, object attributes are stored in multiple tables rather than one very large table.

Because attributes are stored in many tables—and that includes copies of some of the same attributes—SQL queries are long and complex. The flat catalog feature creates new tables on the fly, where each row contains all necessary data about a product or category.

To use flat catalog indexing, you must enable flat products and categories for your web store as follows:

  1. Log in to the Admin Panel as an administrator.
  2. Click System > Configuration.
  3. In the CATALOG group, click Catalog.
  4. In the right pane, click Frontend.
  5. From the Use Flat Catalog Category list, click Yes.
  6. From the Use Flat Catalog Product list, click Yes.
    The following figure shows an example.
  7. In the upper right corner, click Save Config.

Using URL Rewrites

URL rewriting (sometimes referred to as request rewriting) enables you to access resources such as product pages, categories, and so on, by additional uniform resource identifiers (URIs).

For example, suppose your web store has a product named Microsoft Natural Ergonomic Keyboard 4000 assigned to the Computer Peripherals category. By default, the product can be accessed using a URL like http://www.example.com/peripherals/microsoft-natural-ergonomic-keyboard-4000.html. URL rewrite enables you to create an additional URL like http://www.example.com/great-keyboard.html.

Using URL rewriting, you can choose a combination of:

  • Custom, category, or product URL rewrite type

    Note: To redirect from one or more old URLs to a single new URL, use custom URL rewrites. You can do this, for example, if you're transitioning to Magento from another system.

  • Request path which can be any valid URI (for example, for a seasonal promotion, you might want a product URL to end with best-valenties-gift.html)

    Note: Every request path must be globally unique among all products and categories in a particular store. In other words, in a store, no two products can have the same request path, and no two categories can have the same request path.

  • Target path which specifies the actual path to the product or category (for example, for a promotion, you might want a category named spring-sale)

    Note: The custom and target path options enable you to redirect to a custom path, such as a Content Management System (CMS) path. The target path must be valid; otherwise, the redirect results in a 404 (Not Found) error on your web store.

  • Redirect type (determines how search engines rank the redirect)
    • None (useful if you don't want the customer to have to wait the additional time required to redirect)
    • Temporary (HTTP 302 (Found))
    • Permanent (HTTP 301 (Moved Permanently))

      Note: Magento recommends choosing a permanent redirect because search engines generally preserve the page's ranking. A 302 (Temporary) redirect does not preserve a page's ranking. For more information, consult a resource such as seomoz.org or google.com.

For more information, see one of the following sections:

Sample URL Rewrites

Magento enables you to create rewrites to add additional URLs for items. You can do this, for example, to make items more attractive to buyers. You can create a redirect to any valid path, including paths you create in your CMS.

For example, you can change the following product URL:

http://www.example.com/peripherals/microsoft-natural-ergonomic-keyboard-4000.html

and add another one such as:

http://www.example.com/best-keyboard.html

or you can create another URL for a category like:

http://www.example.com/all-on-sale.html

To create a category path like the following for a promotion, you must first create a path using the CMS or by other means.

http://www.example.com/save-now/spring-sale

URL Rewrite Option: Setting Category and Product URL Suffixes

By default, Magento enables web store customers to access products and categories with a URL that ends with .html. You can optionally change both the product and category URL suffix to any alphanumeric string.

The examples throughout this section use the default suffix, .html.

To optionally change the product and category URLs:

  1. Log in to the Admin Panel as an administrator.
  2. Click System > Configuration.
  3. In the CATALOG group, click Catalog.
  4. In the right pane, expand Search Engine Optimizations.
  5. Enter valid values in the Product URL Suffix and Category URL Suffix fields.
  6. Click Save Config at the top of the page.

Getting Started with URL Rewrites

To get started:

  1. Log in to the Admin Panel as an administrator.
  2. Click Catalog > URL Rewrite Management.
    The following figure shows a sample URL Rewrite Management page.
  3. The preceding figure shows some default URL rewrites that are created for the Magento sample data.

    The following table discusses the meanings of the columns on this page.

    Column Description
    ID A unique identifier Magento assigns to the URL rewrite.
    Store View Name of the store with which the URL rewrite is associated.
    Type Typically displays either System (system, or Magento default, URL rewrites) or Custom) URL rewrites you configure.
    ID Path The system, or actual, URI of the product or category, to redirect from.
    Request Path

    The unique part of the URI to redirect from. The request path can be any URL-encoded string. For example, great-valentines-gift.html.

    Note: Every request path must be globally unique among all products and categories. In other words, no two products can have the same request path, and no two categories can have the same request path.

    Target Path The URI that identifies the category, CMS page, and so on, to redirect to. The target path you enter must be valid; otherwise, the redirect fails with a 404 (Not Found).
    Options Displays one of the following:
    • R if you chose a temporary (HTTP 302) redirect.
    • RP if you chose a permanent (HTTP 301) redirect.
    • Nothing if you chose to not redirect.
    Action Click Edit in this column to edit or delete the redirect. (You can also click the row itself.)

Continue with one of the following sections:

Creating New URL Rewrites

This section discusses how to create new custom, product, or category URL rewrites.

  1. Complete the tasks discussed in:
  2. Click Add URL Rewrite.
  3. From the Create URL Rewrite list, click one of the following:
    Option Description
    For category Redirect to a category page. Magento system category paths use the format catalog/category/view/id/category-string
    You can optionally redirect to a custom CMS path if you have already set one up.
    For product Redirect to a product page. Magento system product paths use the format catalog/product/view/id/string or catalog/product/view/id/product-string/category/category-string
    You can optionally redirect to a custom CMS path if you have already set one up.
    Custom Redirect to any valid path. To use this option, you must know the exact ID path, request path, and target path.

    The bottom section of the page refreshes to reflect the choices available for the type of URL rewrite you selected.
  4. Do any of the following:
    • Product redirect: Click the name of the product.
    • Category redirect: Click the name of the category.
    • Custom redirect: Enter the required information. For more information, see step 6.
  5. Product redirect only. Optionally click the name of a category, or click Skip choosing category to let the product remain associated with its original category.
    You need to click a category name only if you want the URL rewrite to go to a different category.
  6. Enter the following information:
    Option Description
    Type Usually displays Custom.
    Store From the list, click the name of the store to which the URL rewrite applies.
    ID path Displays the default (that is, actual) path to the product or category to redirect from.
    Request Path

    Enter a unique path to identify the product or category to redirect from. The path can be in any format that uses URL percent encoding. Examples:

    best-valentines-gift.html

    greatest-keyboard.html

    products-on-sale.html

    best/products/on/sale/now.html

    Note: For every store, every request path must be globally unique among all products and categories. In other words, on any store, no two products can have the same request path. and no two categories can have the same request path.

    Target Path Enter a path to redirect to in one of the following formats:
    • Custom redirect: Any valid path.
    • Category redirect:
      • System path: Unless you set up a custom path using the CMS, you should leave this field unchanged. By default, system category paths have a format like: catalog/category/view/id/category-string
      • Custom path: Any valid path
    • Product redirect:
      • System path: Unless you set up a custom path using the CMS, you should leave this field unchanged. By default, system product paths have a format like:catalog/product/view/id/product-string or catalog/product/view/id/product-string/category/category-string
      • Custom path: Any valid path
    Redirect From the list, click:
    • No
    • Temporary (302)
    • Permanent (301). Magento recommends choosing this option because search engines retain the page ranking.
    Description Enter an optional description.

    Note: To create custom product redirects from a set of old product URLs to a single new URL, enter the relative path to the old URL in the ID Path and Request Path fields, and enter the relative or absolute path to the new URL in the Target Path field.

  7. At the top right corner of the page, click Save.
    The following figure shows a sample product permanent redirect that adds the URL http://www.example.com/greatest-keyboard.html to the English web site for a product whose ID is 159.

For examples of how to verify URL rewrites, see the next section.

Verifying URL Rewrites

This section discusses how to verify that a sample product URL rewrite displays correctly on your Magento web store.

  1. In the Admin Panel, click System > Index Management.
  2. Click Select All at the top of the left column.
  3. From the Actions list, click Reindex Data.
  4. Click Submit.
    The following figure shows an example.
  5. Click Catalog > URL Rewrite Management.
    The URL Rewrite Management page displays.
  6. Click a row corresponding to a product redirect.
    The following figure shows the example used in this section.
  7. Open a new browser window or tab page.
  8. In the browser's location or address field, construct the URL to the product as follows:
    • Start with the scheme (http:// or https://, then your web store's domain name, followed by /.
    • Append to it the value of the Target Path field from the Admin Panel, followed by /.
    • Append to it the value of the Request Path field.
    For a Magento web store whose domain is http://www.example.com, the URL should look like the following:
    http://www.example.com/greatest-keyboard.html
  9. Press Enter.
    The following figure shows an example of a successful redirect.

    Note: If a 404 (Not Found) displays, verify the target path precedes the request path and that each path is separated by one / character.

  10. Optionally verify category and custom redirects the same way.

Editing or Deleting URL Rewrites

To edit or delete a URL rewrite:

  1. Log in to the Admin Panel as an administrator.
  2. Click Catalog > URL Rewrites.
    The URL Rewrite Management page displays.
  3. Click the row of the URL rewrite to edit or delete.
    To edit a URL rewrite, you can also click Edit in the Action column.
  4. To delete the URL rewrite, click Delete. You are required to confirm the action.
    To edit a redirect, edit or change the information displayed on your screen. For additional help, see Creating New URL Rewrites.

Troubleshooting

This section discusses how to resolve the following error trying to save a URL rewrite:

ID Path for Specified Store already exists.

In any particular store, all request paths must be unique. Make sure the path is unique and try again.

If you're trying to create a single redirect from multiple old URLs, set up your URL rewrites similar to the following.

In particular, use the same relative URL for both ID Path and Request Path. These represent the URL to redirect from. The Target Path field specifies the URL to redirect to. You can enter either a relative or absolute URL.

]]>
How To Use Indexing in Magento Community Edition (CE) 1.8 2013-04-22T14:10:06+00:00
Benchmarking Magento Enterprise Edition 1.13 http://www.magentocommerce.com/knowledge-base/entry/ee113-performance-and-scalability-white-paper http://www.magentocommerce.com/knowledge-base/entry/ee113-performance-and-scalability-white-paper

Customer Needs and Expectations

The focus of the Magento Enterprise Edition 1.13 release is performance and scalability. The benchmarking results presented here demonstrate that we have addressed the following concerns:

  1. The eCommerce landscape is changing, and merchants must provide customers with an online shopping experience that meets their performance expectations
  2. As merchants grow their businesses and increasingly larger enterprise merchants are adopting Magento, Magento Enterprise Edition must scale to handle increased traffic volume and larger catalogs

Magento's Plan

We identified the following areas for enhancement in Magento Enterprise Edition 1.13:

  • Improve indexing for catalogs of all sizes
  • Make re-indexing operations invisible to the shopper by executing them in the background
  • Improve full page caching support
  • Reduce page load times for key shopping flows (checkout)
  • Enable merchants to serve heavier traffic volume without need to purchase additional hardware

What Magento Accomplished

Magento Enterprise Edition 1.13 delivers the following improvements over Magento Enterprise Edition 1.12:

  • Incremental re-indexing has been introduced with Magento Enterprise Edition 1.13, and scenarios where full-re-indexing was required have been limited. This means that operations that previously took hours can now be completed in minutes
  • 53% improvement in completion times for a full re-index with a 500,000 SKU catalog
  • 35% improvement in “Place Order” performance
  • 65% improvement in page load times across shopper flow pages that were tested.
  • 33% improvement in orders per day that can be processed on the same hardware configuration as Magento Enterprise Edition 1.12
  • 31% improvement in page views per day supported on the same hardware configuration on Magento Enterprise Edition 1.12

Multi-Node Deployment Topology

Before we introduce you to the benchmarks, an overview of our multi-node benchmarking facility is in order. We started with a basic multi-node cluster with load balancer and caching and separate DB node, and installed Apache. This is a familiar hardware configuration for the Magento developer community. Once provisioned, we installed both Magento Enterprise Edition 1.13 and Magento Enterprise Edition 1.12 on the cluster to compare their performance.

This is a representation of the multi-node Magento Enterprise Edition 1.12/1.13 installation used for performance testing. It consists of four physical nodes, three of which are virtualized.

We used HP ProLiant SL230s Gen8 servers with 8x16GB DDR3 and 2x Intel Xeon E5‐2660 CPUs for our benchmarking.

We used a physical disk of a usable 1.2 TB managed by a RAID10 controller. The load balancer we used is nginx.

The cluster resides in our Las Vegas data center, connected to the Internet via a gigabit connection. We tested the cluster using the popular Gatling suite from our engineering offices in Austin, TX.

Software Components

Scenarios

This section presents the merchant scenarios we simulated for our testing. These scenarios are based on real-world experience and industry standards with respect to shopper flows and catalog sizes.

Shopper Flows

We used real-world, established eCommerce metrics to simulate shopper flows.

  • 94% of eCommerce shoppers visited a storefront but did not purchase any products
  • 65% of shoppers added items to their carts but abandoned them
  • Of the 6% who did purchase products (otherwise known as the conversion rate), half checked out as guests without signing in, and half signed into the storefront.

Catalog

The catalogs we simulated also reflect real-world, established eCommerce experience.

  • We simulated small and medium-sized companies with a 50,000-item catalog with 27 product categories.
  • We simulated large companies 500,000 items in the catalog with 2,000 categories.
  • As many eCommerce sites offer different types of products, we specified physical (simple) products, virtual products, and downloadable products, with 60% of the products in each catalog being physical.
  • We benchmarked each catalog on one Web site/storefront.

Target Merchant Profile

The simulated merchant profile we benchmarked against represents the profile of our enterprise customers. We established these metrics based on the day-to-day experience of large merchants operating a successful eCommerce business. Again, we used what we consider to be a typical hardware and software configuration.

  • 50K visitors / day
  • 1M Page views / day
  • 18000 orders / day
  • 3000 orders during peak 4 hours
  • 1000 concurrent users
  • Standard HW/SW configuration

Benchmarking Results

These benchmarks were generated during extensive testing of our multi-node configuration running Magento Enterprise Edition 1.13 described above. Our configuration was modeled after what a commercial hosting partner would put into production, and the results reflect accurate gains over Magento Enterprise Edition 1.12.

The duration of the test sessions is 72 seconds, which significantly stresses the multi-node configuration.

Incremental Re-indexing

In Magento Enterprise Edition 1.12, any change to a product would result in a full re-index. Magento Enterprise Edition 1.13 introduces a new feature--incremental re-indexing. With incremental re-indexing, only those items that were changed or added will be re-indexed, reducing the processing time to a fraction of what was required before.

Take the example of a merchant with a catalog containing 500,000 products. In Magento Enterprise Edition 1.12, any change to a product would result in a full re-index operation. In Magento Enterprise Edition 1.13, incremental re-indexing means the merchant will only re-index items that were changed. The test focused on measuring the improvements provided by the incremental re-indexing feature in Magento Enterprise Edition 1.13. The table below compares improvements to common admin actions, such as changing a product description, prices or inventory.

Full Re-indexing

As part of the benchmarking effort, we also measured the improvements in the full re-indexing feature on Magento Enterprise Edition 1.13, where indexing a 500,000-item catalog was 53% faster than Magento Enterprise Edition 1.12. Faster re-indexing means less load on the system and that changes to the catalog propagate faster to the storefront.

  • 500,000 products
  • 2,000 categories
  • One store
  • One catalog update during test run

Individual Re-indexers

The Magento Enterprise Edition 1.13 indexer component contains a number of individual indexers such as Product Flat Data and Product Price. When a Magento admin changes the price of a product, it is only necessary to execute the Product Price indexer for pricing changes to propagate to the front end. The completion times of these individual indexers were measured in the benchmark environment for Magento Enterprise Edition 1.13 and Magento Enterprise Edition 1.12.

This section presents the results for full re-index completion times for the individual indexers in Magento Enterprise Edition 1.13 compared to Magento Enterprise Edition 1.12.

  • URL Rewrite failed to run in Magento Enterprise Edition 1.12 but takes only 0.15 sec in Magento Enterprise Edition 1.13
  • Catalog description: 500,000 products, 2000 categories, one storefront

Page Load Times

When Magento Enterprise Edition 1.12 and Magento Enterprise Edition 1.13 were compared, with both running on our multi-node benchmarking configuration, Magento Enterprise Edition 1.13 loaded pages 65% faster than Magento Enterprise Edition 1.12.

Guest checkout and registered user checkout are two flows that are crucial to storefront operation. This section presents the results of page load time measurements for these two flows.

Guest Checkout Flow Page Load Times

In the guest checkout flow pages, Magento Enterprise Edition 1.13 provides a substantial decrease in load times over its predecessor, most of the time more than twice as fast.

Registered Checkout Flow Page Load Times

The bar chart below presents the improvements in page load times for registered checkout flow.

Page Views and Orders

In addition to page load times, the benchmark also focused on measuring throughput improvements, particularly page views per day and orders per day.

During our testing, which simulated a storefront running at peak hours, EE 1.13 executed 33% more orders and 31% more page views than Magento Enterprise Edition 1.12 on the multi-node benchmarking configuration. Notably, Magento Enterprise Edition 1.13 served 47K pages during the test run (10 minutes).

  • 10 minute session time

Observations

What we noted during the benchmarking tests:

  • The MySQL instance did not show any significant signs of CPU or I/O load during the tests.
    • The CPU was under 10% and no queries exceeded a 2-second threshold.
  • Redis and Memcached instances did not exceed a CPU load of 10% during the tests.
  • Web nodes showed high levels of CPU utilization under high load.
  • We anticipate achieving stable scaling by adding additional web nodes to the cluster until the services themselves begin to degrade.

Conclusion

Magento Enterprise Edition 1.13 was engineered for performance--and clearly delivers on the goal as measured by important metrics.

  • Indexing is improved to enable faster operations without impacting shopping experience. Merchant administrators can add and update products as needed while ensuring product URLs, promotions, navigational menus, and product search tools are always up to date.
  • The checkout process is improved by reducing page load times for browsing and placing orders. Faster checkout can significantly improve your customers’ shopping experience and customer satisfaction, and potentially improve your conversion rate.
  • Faster page load times means Magento Enterprise Edition 1.13 can support more page views per day and more orders per day, potentially increasing your conversion rate.

In addition, we have focused on providing these benefits without the need to upgrade existing hardware, improving your return on assets and investment.

Appendix

Page Load Times

This benchmark report presented analysis of the results produced by the Gatling load generator tool. In this appendix, you can see the actual results reported by Gatling. The results were obtained under the following test setup, which was designed to push Magento to its limit.
Concurrent session (users)1000
Peak load duration10 minutes
Session duration72 seconds
CPU utilization95%

CPU utilization is high because session duration was set to 72 seconds for the test. Session duration was set to a low value to increase the active load on Magento. A typical e-commerce site will see session durations of five minutes or more. Preliminary experiments by the benchmark team have confirmed that using a five-minute session duration reduces the CPU utilization to 50-60%.
Magento EE v1.13
RequestsTotalOKKOMinMaxMeanStd Dev95th Pct99th PctReq/s
Global Information06216162087748012910173518695780806075
product page0285732857308093907099962670492034
Click add to cart1104581045804407170186811394010498013
Click add to cart Redirect 121045810458096012910381622398050996013
click checkout334863486011001080034591965713089704
Registered Checkout:Login and Pick Address4336633660200738011551482487059004
Registered Checkout:Login and Pick Address Redirect 153366336607001144026051662564077104
Guest Checkout start612012003602490908487186024200
Registered:Pick Billing Address 17120120039042401457974351042100
Registered:Pick Billing Address 2-18120120041036901218685246030700
Registered:Pick Billing Address 2-29120120040036001201714270035100
Registered:Go to pick Shipping Method10120120034029001072633233027000
Guest:Pick Billing Address 111120120061046201688941358044400
Guest:Pick Billing Address 212120120038035301049589205027500
Guest:Go to pick Shipping Method1312012003002080796401153019600
Set Shipping Method (Flatrate) 1142402400510483017801066393047200
Set Shipping Method (Flatrate): Goto Payment1524024003003150905516194023000
Set Payment Method (Check/MO) 116240240067052901787987366049200
Set Payment Method (Check/MO) 21724024003002760904518201024400
Set Payment Method (Check/MO) 3182202200370818026961725581075900
/checkout/../success/1924024002502830931583197025300
/checkout/../success/ Redirect 120740741030835024731620559073100
Magento EE v1.12
RequestsTotalOKKOMinMaxMeanStd Dev95th Pct99th PctReq/s
Global Information04804447887157404058049853290106501387058
product page021327212864140200404557282097401235026
Click add to cart183408324164012130421622177520900010
Click add to cart Redirect 12832483204401650070223449117801350010
click checkout327802779192012350631128299760109503
Guest Checkout start49090039036902103795321034100
Registered Checkout:Login and Pick Address5269026900180191203298498415470169403
Guest:Pick Billing Address 1690900600775043481605643074000
Registered Checkout:Login and Pick Address Redirect 1726902688240243605433335011780140603
Guest:Pick Billing Address 2890900520824034121423548068100
Guest:Go to pick Shipping Method99090031047802334888330044500
Registered:Pick Billing Address 110909003701009036572453866096000
Registered:Pick Billing Address 2-11190900540176704148274110220125100
Registered:Pick Billing Address 2-2129090053012640398324118290115900
Registered:Go to pick Shipping Method1390900360629025461401505059800
Set Shipping Method (Flatrate) 1141801800450764039261884655074500
Set Shipping Method (Flatrate): Goto Payment151801800380629024511256427048300
Set Payment Method (Check/MO) 1161801800570829039231996646073000
Set Payment Method (Check/MO) 2171801800330523023181238421048100
Set Payment Method (Check/MO) 31818018009404058012673795725910295400
/checkout/../success/19180180023033301437854287031500
/checkout/../success/ Redirect 120930937801047050312251792088800

Estimating the Number of Visitors

Gatling does not report the number of users that cycled through during the test. However, it is possible to estimate the number using the following formula:
]]>
Benchmarking Magento Enterprise Edition 1.13 2013-04-11T08:31:25+00:00
Recommended Tax Configuration for Canadian Stores (Magento CE 1.8 and EE 1.13) http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-tax-config-ca http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-tax-config-ca

Table of Contents

Note: This article provides information about how to set up tax calculations in Magento Community Edition (CE) and Enterprise Edition (EE). The information is based on CE 1.8 and EE 1.13; some options here might not apply to earlier versions.

Important: No guarantee is offered with respect to any of the information given here. Please contact an expert before you take any decisions about tax matters.

Overview

In Magento, to get two different tax amounts to be displayed as separate line items, such as GST and PST for Canadian stores, you must set different priorities for the related tax rules. However, in previous tax calculations, taxes with different priorities would automatically be compounded. To correctly display separate tax amounts without an incorrect compounding of the tax amounts, you now set different priorities, but also check the checkbox for Calculate off subtotal only. This results in correctly calculated tax amounts that are shown as separate line items in tax displays.

Note: If you have stores that operate in many states or countries, or if you have revenues exceeding approximately $2M per year, we recommend that you use a third-party tax provider because there can be a considerable number of tax rules and tax zones to manage.

This article assumes that you are familiar with general tax settings in Magento. For detailed instructions on how to set up general tax calculations, see Understanding How to Set Up Taxes in Magento CE 1.8 and EE 1.13 (Four-Part Series).

These steps walk you through an example for creating Canada GST and Saskatchewan PST tax rates, and setting up tax rules to calculate and display the two tax rates correctly. This is an example setup; be sure to verify correct tax rates and rules for all of your tax jurisdictions. (Note that in Quebec PST is referred to as TVQ, so if you set up a rate for Quebec, substitute TVQ as the identifier.)

Note: When you set up tax options, be sure to set your store scope so that the options are applied across stores and websites appropriately.

Step 1: Set General Tax Settings in System > Configuration> Sales > Tax

Set general tax settings as shown in the following table.

Tax Settings Recommended Options
Tax Class for Shipping Shipping (shipping is taxed)
Tax Calculation Based On Shipping Address
Tax Calculation Method Based On Total
Catalog Prices Excluding Tax
Shipping Prices Excluding Tax
Apply Customer Tax After Discount
Apply Discount on Prices Excluding Tax
Apply Tax On Custom price if available
Default Country Canada
Default State Set as appropriate
Default Postal Code * (asterisk)
All price display settings Excluding Tax
Include Tax in Grand Total Yes
Display Full Tax Summary Yes
Display Zero Tax Subtotal Yes
Enable FPT Yes
All FPT Display Settings Including FPT and FPT description
Apply Discounts to FPT No
Apply Tax to FPT Yes
Include FPT in Subtotal No

Note: FPT is included for relevant goods as a product attribute. For more information, see Setting Up a Fixed Product Tax (FPT) in Magento CE 1.8 and EE 1.13.

Step 2: Set Up a Tax Rate for Canada-GST 5% in Sales >Tax > Manage Tax Zones & Rates

Add a new tax rate with the options shown in the following table and figure.

Tax Settings Recommended Options
Tax Identifier Canada-GST
Country Canada
State * (asterisk)
Zip/Post is Range No
Zip/Post Code * (asterisk)
Rate Percent 5.0000

Step 3: Set Up Another Tax Rate for Canada-SK-PST 5% in Sales >Tax > Manage Tax Zones & Rates

Add another new tax rate with the options shown in the following table and figure.

Tax Settings Recommended Options
Tax Identifier Canada-SK-PST
Country Canada
State Saskatchewan
Zip/Post is Range No
Zip/Post Code * (asterisk)
Rate Percent 5.0000

Step 4: Set Up a Tax Rule for Canada GST in Sales >Tax > Manage Tax Rules

For this tax rule be sure to set the priority to 0 and check the checkbox for "Calculate off subtotal only," so that the taxes will be shown as separate line items but the tax amounts will not be compounded.

Add a new tax rule with the options set as shown in the following table and figure.

Tax Settings Recommended Options
Name Retail-Canada-GST
Customer Tax Class Retail Customer
Product Tax Class
  • Taxable Goods
  • Shipping
Tax Rate Canada-GST
Priority 0
Calculate off subtotal only Check this checkbox
Sort Order 0

Step 5: Set Up Another Tax Rule for Saskatchewan PST in Sales >Tax > Manage Tax Rules

For this tax rule be sure to set the priority to 1 and check the checkbox for "Calculate off subtotal only," so that the taxes will be shown as separate line items but the tax amounts will not be compounded. (When the priority is different for two tax rules, they are shown as separate line items. If you do not check the "Calculate off subtotal only" checkbox, the two taxes will be calculated to display an incorrect compounded amount.)

Add a new tax rule with the options set as shown in the following table and figure.

Tax Settings Recommended Options
Name Retail-Canada-PST
Customer Tax Class Retail Customer
Product Tax Class
  • Taxable Goods
  • Shipping
Tax Rate Canada-SK-PST
Priority 1
Calculate off subtotal only Check this checkbox
Sort Order 0

Create a sample order in your store to see a result like the one shown in the following figure.

Tip: To get the GST number printed on invoices, etc., add it to the name of the appropriate tax rates. This way the GST number is displayed as part of the GST amount on any order summary.

For More Information

]]>
Recommended Tax Configuration for Canadian Stores (Magento CE 1.8 and EE 1.13) 2013-04-22T10:48:46+00:00
Recommended Tax Configuration for EU Stores (Magento CE 1.8 and EE 1.13) http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-tax-config-eu http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-tax-config-eu

Table of Contents

Note: This article provides information about how to set up tax calculations in Magento Community Edition (CE) and Enterprise Edition (EE). The information is based on CE 1.8 and EE 1.13; some options here might not apply to earlier versions.

Important: No guarantee is offered with respect to any of the information given here. Please contact an expert before you take any decisions about tax matters.

Overview

This article walks you through an example setup for a store based in France that sells > 100k Euros in France and > 100k Euros in Germany.

Note: If you have stores that operate in many states or countries, or if you have revenues exceeding approximately $2M per year, we recommend that you use a third-party tax provider because there can be a considerable number of tax rules and tax zones to manage.

This article assumes that you are familiar with general tax settings in Magento. For detailed instructions on how to set up general tax calculations, see Understanding How to Set Up Taxes in Magento CE 1.8 and EE 1.13 (Four-Part Series).

Notes for this example:

  • Inventory and tax calculations are managed at the website level.
  • Currency conversion and tax display options are controlled individually at the store view level (you click the checkbox and override the website default).
  • By setting the default tax country you can dynamically show the right tax for the appropriate jurisdiction.
  • You might need to edit the catalog and ensure that it shows up in the right category/website/store view.
  • You need to add an appropriate FPT attribute for each country/region where FPT applies to appropriate catalog items. For more information about FPT, see Setting Up a Fixed Product Tax (FPT) in Magento CE 1.8 and EE 1.13.
  • Flush caches to see your changes.

Detailed EU Example Configuration: Sales in France and Germany with VAT

Step 1: Create Three New Product Tax Classes

Sales > Tax > Product Classes

  • Create a VAT-Standard product tax class.
  • Create a VAT-Reduced product tax class.
  • Create a VAT-Free product tax class.

Note: This example assumes no need for multiple VAT-Reduced product tax classes.

Step 2: Create New Tax Rates for France and Germany

Sales > Tax > Manage Tax Zones & Rates

Create new tax rates with the settings shown in the following table.
New Tax Rate Settings
France-StandardVAT
  • Country: France
  • State/Region: *
  • ZIP/Postal Code: *
  • Rate: 20%
France-ReducedVAT
  • Country: France
  • State/Region: *
  • ZIP/Postal Code: *
  • Rate: 5%
Germany-StandardVAT
  • Country: Germany
  • State/Region: *
  • ZIP/Postal Code: *
  • Rate: 19%
Germany-ReducedVAT
  • Country: Germany
  • State/Region: *
  • ZIP/Postal Code: *
  • Rate: 7%

Step 3: Manage Tax Rules for the New Rates

Sales > Tax > Manage Tax Rules

Create new tax rules with the settings shown in the following table.
New Tax Rule Settings
Retail-France-StandardVAT
  • Customer Class: Retail Customer
  • Tax Class: VAT-Standard
  • Tax Rate: France-StandardVAT
  • Priority: 0
  • Sort Order: 0
Retail-France-ReducedVAT
  • Customer Class: Retail Customer
  • Tax Class: VAT-Reduced
  • Tax Rate: France-ReducedVAT
  • Priority: 0
  • Sort Order: 0
Retail-Germany-StandardVAT
  • Customer Class: Retail Customer
  • Tax Class: VAT-Standard
  • Tax Rate: Germany-StandardVAT
  • Priority: 0
  • Sort Order: 0
Retail-Germany-ReducedVAT
  • Customer Class: Retail Customer
  • Tax Class: VAT-Reduced
  • Tax Rate: Germany-ReducedVAT
  • Priority: 0
  • Sort Order: 0

Step 4: Set Up a Store View for Germany

  1. In the Admin panel in the upper left, click the Manage Stores link.
  2. Create a store view for Germany under the default website.
  3. Go back to System > Configuration, and in the Default Config box, choose the French store.
  4. In the General section, click to expand Countries Options and set the default country to France with appropriate locale options.
  5. To switch to the German website as the current configuration scope, go to System > Configuration > General.
  6. Click to expand Countries Options and set the default country to Germany, and change locale options as appropriate for the language.

Step 5: Configure General Tax Settings for France

System > Configuration > Sales > Tax

Configure general tax settings as shown in the following table.
Tax Settings Recommended Options
Tax Class for Shipping Shipping (shipping is taxed)
Tax Calculation Method Based On Total
Tax Calculation Based On Shipping Address
Catalog Prices Including Tax
Shipping Prices Including Tax
Apply Customer Tax Before Discount
Apply Discount on Prices Including Tax
Apply Tax On Custom Price if available
Default Country France
Default State
Default Postal Code * (asterisk)
Include Tax in Grand Total Yes
Enable FPT Yes
All FPT Display Settings Including FPT and FPT description
Apply Discounts to FPT No
Apply Tax to FPT Yes
Include FPT in Subtotal Yes

Note: FPT is included for relevant goods as a product attribute. For more information, see Setting Up a Fixed Product Tax (FPT) in Magento CE 1.8 and EE 1.13.

Step 6: Configure Settings for Germany

System > Configuration > Sales > Tax

  1. Use the Current Configuration Scope picker in the upper left to select the German store.
  2. Click to expand the Default Tax Destination Calculation section.
  3. Override the Default Country setting and set it to Germany.
  4. Override the Default State setting and set it to *
  5. Override the Default Post Code setting and set it to *

For More Information

]]>
Recommended Tax Configuration for EU Stores (Magento CE 1.8 and EE 1.13) 2013-04-10T14:32:11+00:00
Recommended Tax Configuration for US Stores (Magento CE 1.8 and EE 1.13) http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-tax-config-us http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-tax-config-us

Table of Contents

Note: This article provides information about how to set up tax calculations in Magento Community Edition (CE) and Enterprise Edition (EE). The information is based on CE 1.8 and EE 1.13; some options here might not apply to earlier versions.

Important: No guarantee is offered with respect to any of the information given here. Please contact an expert before you take any decisions about tax matters.

Overview

This topic lists the general recommended tax configuration settings for US stores. Following the general recommendations is a specific example for Austin, TX. The example for Austin, TX shows how to configure store taxes to account for state taxes, city of Austin taxes, and special economic zone taxes. So for this example you create an effective tax rate for US/Texas/Austin at 8.25%, which includes 6.25% for the state of Texas, 1% for Austin, TX, and 1% for the Austin special economic zone.

Note: Current US law requires you to collect taxes where you have an interest/ongoing concern – that is, where you have physical stores, distribution centers, headquarters, and so on. For many online stores this is only one location. However if you have stores that operate in many states or countries, or if you have revenues exceeding approximately $2M per year, we recommend that you use a third-party tax provider because there can be a considerable number of tax rules and tax zones to manage.

This article assumes that you are familiar with general tax settings in Magento. For detailed instructions on how to set up general tax calculations, see Understanding How to Set Up Taxes in Magento CE 1.8 and EE 1.13 (Four-Part Series).

Note: If you have nexuses in several states and are shipping a large volume of product you should consider purchasing or using a freely available tax rate by zip code data set. Make sure that there's a unique rate by zip code and then flat file load those rates into the Tax/Rate-Zones settings. Then go back to your tax rule and select all the rate/zones.

The recommended settings are shown in the following tables.

System > Configuration > Sales > Tax

Tax Classes
Option Description
Tax Class for Shipping None
Tax Class for Gift Options Taxable Goods

Calculation Settings
Option Description
Tax Calculation Method Based On Total
Tax Calculation Based On Shipping Origin
Catalog Prices Excluding Tax
Shipping Prices Excluding Tax
Apply Customer Tax After Discount
Apply Discount on Prices Excluding Tax

Default Tax Destination Calculation
Option Description
Default Country United States
Default State Texas
Default Postal Code (Here you use the codes that correspond to your tax zones.)

Price Display Settings
Option Description
Display Product Prices in Catalog Excluding Tax
Display Shipping Prices Excluding Tax

Shopping Cart Display Settings
Option Description
Display Prices Excluding Tax
Display Subtotal Excluding Tax
Display Shipping Amount Excluding Tax
Display Gift Wrapping Prices Excluding Tax
Display Printed Card Prices Excluding Tax
Include Tax in Grand Total Yes
Display Full Tax Summary Yes
Display Zero Tax Subtotal Yes

Orders, Invoices, Credit Memos Display Settings
Option Description
Display Prices Excluding Tax
Display Subtotal Excluding Tax
Display Shipping Amount Excluding Tax
Display Gift Wrapping Prices Excluding Tax
Display Printed Card Prices Excluding Tax
Include Tax in Grand Total Yes
Display Full Tax Summary Yes
Display Zero Tax Subtotal Yes

Fixed Product Taxes

  • Enable FPT: No, except in CA. (Set to "No" for this example.)

Note: For more information about FPT, see Setting Up a Fixed Product Tax (FPT) in Magento CE 1.8 and EE 1.13.

Detailed US Example Configuration: Austin,TX

For this example you create a tax rate for US-TX-Austin at 8.25%, which includes 6.25% for the state of Texas, 1% for Austin, TX, and 1% for the Austin special economic zone.

Step 1: Configure Example General Tax Settings

System > Configuration > Sales > Tax

Example settings are shown in the following table.

Option Description
Tax Class for Shipping None
Tax Calculation Method Total
Tax Calculation Based On Shipping Origin
Catalog Prices Excluding Tax
Shipping Prices Excluding Tax
Apply Customer Tax After Discount
Apply Discount on Prices Excluding Tax
Apply Tax On Custom price if available
All price display settings Excluding Tax
Enable FPT No

Step 2: Create a New Example Tax Rate

Sales > Manage Tax Zones & Rates

Example settings are shown in the following table.

Option Description
Create a new rate US-TX-Austin
Country United States
State/Region Texas
Zip/Postal Code * (asterisk)
Rate 8.25

Step 3: Manage Tax Rules for the Example Rate

Sales > Tax > Manage Tax Rules

Example settings are shown in the following table.

Option Description
Create a new rate US-TX-Austin
Name VSpecify a tax rule title if needed.
Customer Tax Class Retail Customer
Product Tax Class Taxable Goods
Tax Rate US-TX-Austin
Priority 1
Sort Order 1
  • Click the Save Rule button to save your settings.

For More Information

]]>
Recommended Tax Configuration for US Stores (Magento CE 1.8 and EE 1.13) 2013-04-10T14:32:45+00:00
Setting Up Admin Users and Roles in Magento CE 1.8 and EE 1.13 http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-admin-users-roles http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-admin-users-roles

Table of Contents

Note:This article provides information about how to set up tax calculations in Magento Community Edition (CE) and Enterprise Edition (EE). The information is based on CE 1.8 and EE 1.13; some options here might not apply to earlier versions.

Overview

If you need to provide access to the Admin area of your store to multiple people, you add each person as a user, with their own user name and password. You then assign each user to a role, and you assign permissions to the role.

Different roles can be created for different types of users. For example, if you hire a designer for your store, you create a role of Designer. By assigning a user to that role, that user can be given access to all design features but restricted from accessing the customer and sales features.

Important: If you do not assign a role to a user, the user will not be able to access the Admin panel.

Step 1: Add a User Role

  1. From the Admin panel, select System > Permissions > Roles.
  2. Click the Add New Role button.
  3. In the Role information area, enter a Role Name.
  4. On the left panel, click the Role Resources tab.
  5. Use the dropdowns in the Role Scopes and Role Resources areas to provide access for this user role.
  6. Click Save Role.

Step 2: Add a User

  1. From the Admin panel, select System > Permissions > Users.
  2. Click the Add New User button.
  3. In the User Info area, fill in all fields for Account Information.
  4. Set the account status to Active to enable access to the user.
  5. Click the User Role tab on the left panel and assign this user to a predefined role.
  6. Click Save User.
]]>
Setting Up Admin Users and Roles in Magento CE 1.8 and EE 1.13 2013-04-10T14:36:19+00:00
Setting Up VAT/GST in Magento CE 1.8 and EE 1.13 http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-vat-gst http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-vat-gst

Table of Contents

Note: This article provides information about how to set up tax calculations in Magento Community Edition (CE) and Enterprise Edition (EE). The information is based on CE 1.8 and EE 1.13; some options here might not apply to earlier versions.

Important: No guarantee is offered with respect to any of the information given here. Please contact an expert before you take any decisions about tax matters.

Overview

Some countries charge a value added tax, or VAT, on goods and services. (In some countries this is referred to as a goods and services tax, or GST.) There can be different VAT rates depending on which stage you as a merchant are at in the manufacture or distribution of the products, materials, or services that you sell to your customers. In this case you may need to use more than one VAT rate in your store for tax calculation purposes.

This topic provides a sample procedure for setting up a 20% VAT in the U.K. for sales to retail customers, and a 5% VAT for VAT reduced sales. For other tax rates and countries, follow the general procedure but enter specific information that corresponds to your country, VAT rate, customer types, and so on.

Note: Before proceeding, make sure to find out which rules and regulations apply to VAT in your area.

Step 1: Set Up Customer Tax Classes

To set up example VAT customer tax classes:

  1. From the Admin panel, select Sales > Tax > Customer Tax Classes.
  2. Check that there is a customer tax class that is appropriate to use with the VAT. For this example, ensure that there is a customer tax class named Retail Customer. If Retail Customer does not exist, add it using the Add New button.

Step 2: Set Up Product Tax Classes

To set up example VAT product tax classes:

  1. From the Admin panel, select Sales > Tax > Product Tax Classes.
  2. Click the Add New button and add three new classes:
    • VAT Standard
    • VAT Reduced
    • VAT Zero
  3. Click the Save Class button for each new class that you add.

Step 3: Set Up Tax Zones and Rates

To set up example VAT tax zones and rates:

  1. From the Admin panel, select Sales > Tax > Manage Tax Zones & Rates.
  2. For this example you can choose to remove the U.S. tax rates, or leave them as they are.
  3. Click the Add New Tax Rate button. Add new rates as shown in the following table.
    New Tax Rate Settings
    VAT Standard
    • Tax Identifier: VAT Standard
    • Country and State: United Kingdom
    • Rate Percent: 20.00
    VAT Reduced
    • Tax Identifier: VAT Reduced
    • Including FPT: United Kingdom
    • Rate Percent: 5.00
  4. Click the Save Rate button for each new rate that you add.

Step 4: Set Up Tax Rules

A tax rule is a combination of a customer tax class, a product tax class, and a tax rate.

To set up example VAT rules:

  1. From the Admin panel, select Sales > Tax > Manage Tax Rules.
  2. Add new tax rules as shown in the following table.
    New Tax Rule Settings
    VAT Standard
    • Name: VAT Standard
    • Customer Tax Class: Retail Customer
    • Product Tax Class: VAT Standard
    • Tax Rate: VAT Standard Rate
    VAT Reduced
    • Name: VAT Reduced
    • Customer Tax Class: Retail Customer
    • Product Tax Class: VAT Reduced
    • Tax Rate: VAT Reduced Rate
  3. Click the Save Rule button to save your VAT tax rules.

Step 5: Apply Tax Classes to Products

To apply example VAT classes to products:

  1. From the Admin panel, select Catalog > Manage Products.
  2. Select a product from your catalog to edit.
  3. In the Product Information tab, in the General section, find the Tax Class option.
  4. From the list, select the VAT class that applies to the product.
  5. When finished, click the Save button.

For More Information

]]>
Setting Up VAT/GST in Magento CE 1.8 and EE 1.13 2013-04-17T18:31:13+00:00