Miscellaneous Fee
Copyright © 2001, William Weiland
Overview
Charge fees within an order for such things as special packaging, artistic setup, or any miscellaneous charge that needs to be applied and is not an actual product. Multiple fees allowed per store and per product; assigned through admin.
Initial Setup
1) In admin, click Add Modules
2) Click the file upload button
3) Browse to find the miscfee.mv (miscfee.mvc compiled) file on your hard drive and upload
4) Click Add to add it to the domain
5) Click the image to the left of your store name
6) Click on the Utility Configuration link
7) Check the box to the left of Miscellaneous Fee and select Update
8) Click on Add Modules again
9) Click the file upload button
10) Browse to find the cim_fee.mv (cim_fee.mvc compiled) file on your hard drive and upload
11) Click Add to add it to the domain
12) Click the image to the left of your store name
13) Click on the System Extension Configuration link
14) Check the box to the left of CIM System Module for Miscellaneous Fee and select Update

Utility Configuration
In the Utility Configuration screen you will establish your store's fees. Most inputs are self explanatory.

* The ship to location options should be left blank unless they are specifically needed
* You can include specific locations by starting the line with a +
* You can exclude specific locations by starting the line with a -
* Use the location code for states and countries, e.g. FL and US respectively
* You can enter a string of codes up to 254 characters, each code separated with a | and the line ending with a |
* Example: +US|CA|MX| will apply the fee for United States, Canada, and Mexico only
* Example: -FL|GA|MS|AL| will NOT apply the fee for Florida, Georgia, Mississippi, and Alabama but will apply it for all other locations unless excluded or included in the other location options
* You can combine location options, e.g. just US but not the states FL and GA


Product Fee Assignment
In each Product Editing Screen you can select the Miscellaneous Fee tab. When you select the tab, all possible fees in your store (as were entered in the Utility Configuration) will appear. You can assign one or more fees to the individual product.
Importing Fees (compiled Merchant 4.14 and newer)
You can import the fees and their related products from a flat file using the optional miscimpt.mvc module. The format is very specific.

1) The Fee section begins with #Fees. Then each line below that contains values for the fee's fields, each separated with a ^ character delimiter. The fields are:
id - number required but not used (any number will do)
label - fee name
type - 1 = all orders, 2 = once per applicable order, 3 = each applicable product
charge - amount of fee
taxes - taxable 1 = yes, 0 = no
state - state codes (see module's admin screen for format)
zip - zip codes (see module's admin screen for format)
country - country codes (see module's admin screen for format)
range - use ranges (1 = yes, 0 = no
low - low range
high - high range
attr - attribute restriction (see module's admin screen for format)

2) The Product section begins with #Products and contains the product code and fee label, separated with the ^ character.

Example flat file:
#Fees
1^Framing^3^20.00^1^^^^0^0.00^0.00^
2^Fragile Packaging^2^10.00^0^+FL^-33468^+US^0^0.00^0.00^
3^Hazardous Materials Handling^3^95.00^0^^^^0^0.00^0.00^
6^Online Docs^2^0.00^0^^^^0^0.00^0.00^
8^Special Discount^1^-10.00^1^^^^1^300.00^999999.00^
#Products
1AA00083^Online Docs
1AA00900^Online Docs
Leave the last line blank.

Merchant Version 2.22-2.24 Special Note
This module can be used in both Merchant version 3.x and 2.2x. However, there is a serious, fatal error bug in one of the Miva Corp supplied core files in versions 2.22, 2.23, and 2.24. Hence, in order to use this module in those versions of Merchant, you will need to edit the db.mv file. Be sure you make a backup of this file in case you make an error. In the db.mv file, locate the function BasketCharge_DeleteAll_Module. The MvWHILE loop needs to be closed with </MvWHILE> instead of </MvIF>. If you don't fix this, you will get an error upon checkout. Again, this bug has been fixed in Merchant 2.25 and 3.x so you only need to make the file correction in Merchant 2.22, 2.23, and 2.24.
Frequently Asked Questions
Q: I tried to use the module for adding a fee to any order with a subtotal of less than $25, but it is not working. I configured one fee, for All Orders, Charge 3.50, Country +NL, Use subtotal range 0-25 and the box is checked. It is not assigned to any specific product. Fee does not appear on the last checkout screen.
A: The location codes require a | between each code and an additional | at the end of the line. Also, be sure you are using either the + or - at the beginning of the line of codes to designate whether they are include or exclude.