AdvancedPricingManual-1.0.0

20
Title Advanced Pricing Version 1.0.0 Author InnoExts (http://innoexts.com) Follow Us Advanced Pricing Advanced Pricing 1. Overview 2. Installation 3. Currency 4. Price Scope 5. Zone Discounts 6. Customer Locator 7. Import 8. UnInstallation 1. Overview 1. Overview The Advanced Pricing Magento extension allows to manage product prices in a flexible manner. In particular, it allows to set product prices in different currencies independently of currency rates. You can, at your own discretion, adjust any given product price in different monetary units, for example you can set charm prices instead of calculated by rates. Besides, the administrator can set product prices for each store view separately. In other words, the extension appends Store View product price scope in addition to Website and Global. Another essential feature of Advanced Pricing is Zone Discounts that can be offered according to visitor's geographical location. It enables discounts for zones (areas / locations / countries / regions /states), by providing either fixed or percentage discounts for a particular product. Advanced Pricing combines the features of our three extensions: Currency Pricing, Zone Pricing and Store View Pricing. Such combination allows getting the most advantageous price - location - store view - currency relationship. You can change prices of a product as you wish: Set price per currency Set price per store view Set special price per currency Set special price per store view Recalculate prices by a certain currency automatically Tier price per currency Tier price per store view Automated prices (price, special price, tier price) scope Automatic re-indexing after currency rates save

Transcript of AdvancedPricingManual-1.0.0

Page 1: AdvancedPricingManual-1.0.0

Title Advanced Pricing

Version 1.0.0

Author InnoExts (http://innoexts.com)

Follow Us

Advanced PricingAdvanced Pricing

1. Overview2. Installation3. Currency4. Price Scope5. Zone Discounts6. Customer Locator7. Import8. UnInstallation

1. Overview1. Overview

The Advanced Pricing Magento extension allows to manage product prices in a flexible manner. In particular, it allows to setproduct prices in different currencies independently of currency rates. You can, at your own discretion, adjust any givenproduct price in different monetary units, for example you can set charm prices instead of calculated by rates. Besides, theadministrator can set product prices for each store view separately. In other words, the extension appends Store Viewproduct price scope in addition to Website and Global. Another essential feature of Advanced Pricing is Zone Discounts thatcan be offered according to visitor's geographical location. It enables discounts for zones (areas / locations / countries /regions /states), by providing either fixed or percentage discounts for a particular product.

Advanced Pricing combines the features of our three extensions: Currency Pricing, Zone Pricing and Store View Pricing. Suchcombination allows getting the most advantageous price - location - store view - currency relationship. You can changeprices of a product as you wish:

Set price per currency●

Set price per store view●

Set special price per currency●

Set special price per store view●

Recalculate prices by a certain currency automatically●

Tier price per currency●

Tier price per store view●

Automated prices (price, special price, tier price) scope●

Automatic re-indexing after currency rates save●

Page 2: AdvancedPricingManual-1.0.0

Automatic re-indexing after price scope has been changed●

Build-in bulk prices importer●

Discount per visitor country, region / state, zip / postal code, zip / postal code range●

Customer Locator

Detect customer's location by IP address●

Apply default shipping address optionally●

Apply default location defined in settings●

Allow a customer to modify a location (region / state, zip / postal code, city)●

Select address from address book●

Customize the Your Location box (define allowed and required address attributes)●

2. Installation2. Installation

Follow the steps below:

1. Backup your files and database (preferably).

2. Extract the extension archive to Magento document root directory.

Upload the extension to document root and run the next command:

cd /var/www/public_html/tar -xzf Innoexts_AdvancedPricing-1.1.1.tgzrm Innoexts_AdvancedPricing-1.1.1.tgz

Replace version number (1.1.1) and document root path (/var/www/public_html/) according to your conditions.

3. Go to the administration panel, under the System -> Cache Management refresh (if enabled) and flush the cache. Don'tforget to select all cache types.

4. Under the System -> Manage Currency Rates or System -> Manage Currency -> Rates (if your Magento version is equal orabove the 1.7.0) import and save currency rates.

Congratulations, installation has been completed.

Please don't hesitate to contact us if you met troubles during the installation process.

The Magento shopping cart provides the flexible and comfortable extensions system. This fact is a basis of a powerfulcommunity. Therefore, the numerous extensions you may need presence is guaranteed. The negative side of Magentoextensibility are 3rd party extensions conflicts possible. That happens because some extensions may use common resourcesconcurrently. Nowadays it is the stumbling block and the task to be solved by Magento team and community in future. Wehave services to resolve such issues. Please read Support Services for more details.

3. Currency3. Currency

3.1. Enable Currencies

We will describe how to add more currencies to the system here. Please note, this feature is a standard Magento CommunityEdition function.

In administrator panel: System -> Configuration -> General -> Currency Setup -> Allowed Currencies.

Page 3: AdvancedPricingManual-1.0.0

Choose as many currencies as you need. If you have a wide range of international consumers you will need a list of all yourcustomers money units. Make the list of all required currencies.

In administrator panel: System -> Manage Currency Rates or System -> Manage Currency -> Rates (if your Magento versionis equal or above 1.7.0).

Now you can set the currency rates that are beneficial (most appropriate) to you manually or import rates from a service likeWebservicex. Save results.

So, you can choose as many currencies as you want. But if your currency list is too long you may limit it with the CurrencyGeo Filter extension. It will let your customer select currencies from the short list of monetary units which are common intheir region.

3.2. Price

You can overwrite the product price for each currency separately.

In administrator panel: Catalog -> Manage Products -> Edit Product -> Prices -> Price Per Currency.

Page 4: AdvancedPricingManual-1.0.0

Uncheck appropriate Default check box if you need to overwrite any currency price. If Default checkbox is marked thencurrency price will be dynamically calculated according to currency rates (default behaviour of Magento). Recalculate byfunction may assist you to overwrite currencies prices by desired currency. Check Recalculate by checkbox and selectprimary currency you want to use for recalculation. Once primary currency changed other currencies prices are comingupdated depending on rates automatically.

Now when a customer comes to your store and selects currency he will see next:

Page 5: AdvancedPricingManual-1.0.0

3.3. Special Price

You can overwrite the product special price for each currency separately, similar to the price described above.

In administrator panel: Catalog -> Manage Products -> Edit Product -> Prices -> Special Price Per Currency.

Page 6: AdvancedPricingManual-1.0.0

On the frontend:

Page 7: AdvancedPricingManual-1.0.0

3.4. Tier Price

Tier price can be applied either for each currency individually or for all currencies in base monetary unit.

In administrator panel: Catalog -> Manage Products -> Edit Product -> Prices -> Tier Price.

On the frontend:

Page 8: AdvancedPricingManual-1.0.0
Page 9: AdvancedPricingManual-1.0.0

4. Price Scope4. Price Scope

4.1. Setting Price Scope

Advanced Pricing appends Store View product price scope in addition to Global and Website.

In administrator panel: System -> Configuration -> Catalog -> Catalog -> Price -> Catalog Price Scope.

Select scope and save configuration. Once price scope is changed system reindexes Product Prices data and resets thescope for the next product attributes: Price, Special Price, Special Price From Date, Special Price To Date, Tier Price

4.2. Price

You can define the product price for each store view separately.

In administrator panel: Catalog -> Manage Products -> Edit Product -> Prices -> Price.

Page 10: AdvancedPricingManual-1.0.0

Select the store view with store view selector. You can set price here. Uncheck Use Default Value flag and enter value.Besides Price you can set Price per Currency for each currency and store view individually.

Now when a customer comes to your store and selects the store view he will see next:

4.3. Special Price

The system makes possible to overwrite the product special price for each store view similar to the price described above.

Page 11: AdvancedPricingManual-1.0.0

In administrator panel: Catalog -> Manage Products -> Edit Product -> Prices -> Special Price.

On the frontend select the French store view:

Page 12: AdvancedPricingManual-1.0.0

4.4. Tier Price

Tier price can be applied for store view as well.

In administrator panel: Catalog -> Manage Products -> Edit Product -> Prices -> Tier Price.

On the frontend select the French store view:

Page 13: AdvancedPricingManual-1.0.0

5. Zone Discounts5. Zone Discounts

Advanced Pricing makes it possible to set discounts depending on visitor address.

In administrator panel: Catalog -> Manage Products -> Edit Product -> Zone Discounts.

Page 14: AdvancedPricingManual-1.0.0

You can manage discount zones here:

Country - Choose a particular country●

Region/State - Choose a particular region / state●

Zip/Postal Code is Range - Either zip / postal code is range or not●

Zip/Postal Code From - Enter starting zip / postal code●

Zip/Postal Code To - Enter ending zip / postal code●

Zip/Postal Code - Enter zip / postal code●

Amount - Enter discount value●

Apply - Select percentage discount or fixed amount to deduct from the price●

Don't forget to save product after you have finished with discount zones.

On the frontend:

Page 15: AdvancedPricingManual-1.0.0
Page 16: AdvancedPricingManual-1.0.0

6. Customer Locator6. Customer Locator

This supplementary tool allows to detect visitor's location as soon as he / she comes to the website. The location can beeither default shipping address or geolocated IP address or the default location or manualy entered by the visitor dependingon needs.

In administrator panel: System -> Configuration -> Customers -> Customer Locator

You can see Options and Default Location sections there.

Options

Allow to Modify - If option is enabled then customer will be able to enter / correct his / her location on the frontend side.●

Select Default Shipping Address - If option is enabled then customer default shipping address will be used as the current●

location instead of geolocated IP address geolocated (if default shipping address is present).Allowed Attributes - Address attributes list to display in Your Location box.●

Required Attributes - Required address attributes.●

Default Address

The default visitor's location can be defined here. Country, Region / State, Zip / Postal Code, City can be entered. The systemsets visitor's location to default if IP address geolocation failed (it is possible for small percentage of visitors).

Page 17: AdvancedPricingManual-1.0.0

On the frontend:

7. Import7. Import

Advanced Pricing includes built-in script to import prices in a fast way (much more faster then Dataflow function may do it).

Run the php command with your arguments:

php shell/AdvancedPricing/Product/Price/Importer.php \ --ftp \ --ftp-host ftp.yourhost.com \ --ftp-user username \ --ftp-password password \ --ftp-filename remotefilename.csv \ --file-path /var/import/ \ --file-filename localfilename.csv

Omit ftp arguments to run import from local data feed:

php shell/AdvancedPricing/Product/Price/Importer.php \ --file-path /var/import/ \ --file-filename localfilename.csv

Run the next command to get arguments description

php shell/AdvancedPricing/Product/Price/Importer.php --help

The data feed should have the next format:

Page 18: AdvancedPricingManual-1.0.0

sku,price_USD,price_EUR,special_price_USD,special_price_EUR,store"HTC Touch Diamond","756.00","565.00",,,0"HTC Touch Diamond","755.00","564.00","745.00","554.00","french"

8. UnInstallation8. UnInstallation

1. Open file app/etc/modules/Innoexts_AdvancedPricing.xml

2. Replace

<active>true</active>

with

<active>false</active>

3. If you don't have any InnoExts extension installed then repeat above steps forapp/etc/modules/Innoexts_CustomerLocator.xml, app/etc/modules/Innoexts_GeoIp.xml and Innoexts_InnoCore.xml:

4. Run MySQL query:

DROP TABLE IF EXISTS `catalog_product_currency_price`;DROP TABLE IF EXISTS `catalog_product_currency_special_price`;DROP TABLE IF EXISTS `catalog_product_zone_price`;TRUNCATE TABLE `catalog_product_index_price`;ALTER TABLE `catalog_product_index_price` DROP INDEX IDX_CURRENCY;ALTER TABLE `catalog_product_index_price` DROP `currency`;ALTER TABLE `catalog_product_index_price` DROP FOREIGN KEYFK_CATALOG_PRODUCT_INDEX_PRICE_STORE_ID;ALTER TABLE `catalog_product_index_price` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_idx`;ALTER TABLE `catalog_product_index_price_idx` DROP INDEX IDX_CURRENCY;ALTER TABLE `catalog_product_index_price_idx` DROP `currency`;ALTER TABLE `catalog_product_index_price_idx` DROP FOREIGN KEYFK_CATALOG_PRODUCT_INDEX_PRICE_IDX_STORE_ID;ALTER TABLE `catalog_product_index_price_idx` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_tmp`;ALTER TABLE `catalog_product_index_price_tmp` DROP INDEX IDX_CURRENCY;ALTER TABLE `catalog_product_index_price_tmp` DROP `currency`;ALTER TABLE `catalog_product_index_price_tmp` DROP FOREIGN KEYFK_CATALOG_PRODUCT_INDEX_PRICE_TMP_STORE_ID;ALTER TABLE `catalog_product_index_price_tmp` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_final_idx`;ALTER TABLE `catalog_product_index_price_final_idx` DROP `currency`;ALTER TABLE `catalog_product_index_price_final_idx` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_final_tmp`;ALTER TABLE `catalog_product_index_price_final_tmp` DROP `currency`;ALTER TABLE `catalog_product_index_price_final_tmp` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_bundle_idx`;ALTER TABLE `catalog_product_index_price_bundle_idx` DROP `currency`;ALTER TABLE `catalog_product_index_price_bundle_idx` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_bundle_tmp`;ALTER TABLE `catalog_product_index_price_bundle_tmp` DROP `currency`;ALTER TABLE `catalog_product_index_price_bundle_tmp` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_bundle_sel_idx`;

Page 19: AdvancedPricingManual-1.0.0

ALTER TABLE `catalog_product_index_price_bundle_sel_idx` DROP `currency`;ALTER TABLE `catalog_product_index_price_bundle_sel_idx` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_bundle_sel_tmp`;ALTER TABLE `catalog_product_index_price_bundle_sel_tmp` DROP `currency`;ALTER TABLE `catalog_product_index_price_bundle_sel_tmp` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_bundle_opt_idx`;ALTER TABLE `catalog_product_index_price_bundle_opt_idx` DROP `currency`;ALTER TABLE `catalog_product_index_price_bundle_opt_idx` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_bundle_opt_tmp`;ALTER TABLE `catalog_product_index_price_bundle_opt_tmp` DROP `currency`;ALTER TABLE `catalog_product_index_price_bundle_opt_tmp` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_opt_idx`;ALTER TABLE `catalog_product_index_price_opt_idx` DROP `currency`;ALTER TABLE `catalog_product_index_price_opt_idx` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_opt_tmp`;ALTER TABLE `catalog_product_index_price_opt_tmp` DROP `currency`;ALTER TABLE `catalog_product_index_price_opt_tmp` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_opt_agr_idx`;ALTER TABLE `catalog_product_index_price_opt_agr_idx` DROP `currency`;ALTER TABLE `catalog_product_index_price_opt_agr_idx` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_opt_agr_tmp`;ALTER TABLE `catalog_product_index_price_opt_agr_tmp` DROP `currency`;ALTER TABLE `catalog_product_index_price_opt_agr_tmp` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_downlod_idx`;ALTER TABLE `catalog_product_index_price_downlod_idx` DROP `currency`;ALTER TABLE `catalog_product_index_price_downlod_idx` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_downlod_tmp`;ALTER TABLE `catalog_product_index_price_downlod_tmp` DROP `currency`;ALTER TABLE `catalog_product_index_price_downlod_tmp` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_cfg_opt_idx`;ALTER TABLE `catalog_product_index_price_cfg_opt_idx` DROP `currency`;ALTER TABLE `catalog_product_index_price_cfg_opt_idx` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_cfg_opt_tmp`;ALTER TABLE `catalog_product_index_price_cfg_opt_tmp` DROP `currency`;ALTER TABLE `catalog_product_index_price_cfg_opt_tmp` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_cfg_opt_agr_idx`;ALTER TABLE `catalog_product_index_price_cfg_opt_agr_idx` DROP `currency`;ALTER TABLE `catalog_product_index_price_cfg_opt_agr_idx` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_price_cfg_opt_agr_tmp`;ALTER TABLE `catalog_product_index_price_cfg_opt_agr_tmp` DROP `currency`;ALTER TABLE `catalog_product_index_price_cfg_opt_agr_tmp` DROP `store_id`;DELETE FROM `catalog_product_entity_tier_price` WHERE (`currency` IS NOT NULL) OR (`store_id` <> 0);ALTER TABLE `catalog_product_entity_tier_price` DROP INDEXIDX_CATALOG_PRODUCT_ENTITY_TIER_PRICE_CURRENCY;ALTER TABLE `catalog_product_entity_tier_price` DROP `currency`;ALTER TABLE `catalog_product_entity_tier_price` DROP FOREIGN KEYFK_CATALOG_PRODUCT_ENTITY_TIER_PRICE_STORE_ID;ALTER TABLE `catalog_product_entity_tier_price` DROP `store_id`;TRUNCATE TABLE `catalog_product_index_tier_price`;ALTER TABLE `catalog_product_index_tier_price` DROP INDEXIDX_CATALOG_PRODUCT_INDEX_TIER_PRICE_CURRENCY;

Page 20: AdvancedPricingManual-1.0.0

ALTER TABLE `catalog_product_index_tier_price` DROP `currency`;ALTER TABLE `catalog_product_index_tier_price` DROP FOREIGN KEYFK_CATALOG_PRODUCT_INDEX_TIER_PRICE_STORE_ID;ALTER TABLE `catalog_product_index_tier_price` DROP `store_id`;UPDATE `eav_attribute` SET `backend_model` = 'eav/entity_attribute_backend_datetime'WHERE (`attribute_code` = 'special_to_date') AND (`entity_type_id` = ( SELECT `entity_type_id` FROM `eav_entity_type` WHERE `entity_type_code` ='catalog_product'));

UPDATE `catalog_eav_attribute` SET `is_global` = 1 WHERE `attribute_id` IN ( SELECT `attribute_id` FROM `eav_attribute` WHERE (`attribute_code` IN ( 'price', 'special_price', 'special_from_date', 'special_to_date', 'tier_price' )) AND (`entity_type_id` = ( SELECT `entity_type_id` FROM `eav_entity_type` WHERE `entity_type_code` ='catalog_product') ));

UPDATE `core_config_data` SET `value` = '0' WHERE `path` = 'catalog/price/scope';DELETE FROM `core_resource` WHERE `code` = 'advancedpricing_setup';

5. Flush & Refresh the cache

6. Regenerate Product Prices index

Related ArticlesRelated Articles

Advanced Pricing v1.1.0 Released●

Price and Pricing●