- Download the plugin file (myfreightshipping.zip v1.5.7) to your PC.
- Login to your website as WordPress Administrator.
- Backup the website database.
- Go to the Plugins page and deactivate any previous version of the Myfreight Shipping plugin.
- At the top of the Plugins page click Add New.
- At the top of the Add Plugins page click Upload Plugin.
- Browse to the zip file downloaded in step 1. Click and Open to upload.
- Click Install Now.
- If a previous version of the plugin is already installed, click Replace current with uploaded.
- Note: If replacing the previous version fails, you may safely delete the previous version at step 4. without losing any settings.
- The Myfreight Shipping plugin will be installed.
- Click Activate Plugin. You will then be returned to the Plugins page.
- Scroll to the plugin called Myfreight Shipping and click Settings. Alternatively, you can go to WooCommerce → Settings → Shipping and click Myfreight Shipping immediately below the Shipping tab.
- You will see the Myfreight/Myparcel Shipping settings page.
- Adjust the settings according to your needs (see Configurable Settings below for a description of the settings available).
- Note that Markups can be positive (to profit from shipping), or negative (to discount shipping).
- Default product weight and dimensions can be specified until actual product weights and dimensions are entered in the individual product shipping tabs.
- If you pack multiple products into a single container for shipping, refer to the Packing Settings section below for instructions on how to configure packing rules.
- Note that Account Type selection and API credentials entry are necessary for shipping pricing to display.
- Myparcel customers should also refer to the Myparcel WooCommerce Integration section below for details on how to set up WooCommerce and Myparcel to work together.
- Click Save Changes at the bottom of the settings page.
- Go to WooCommerce → Settings → General
- Complete the Store Address fields as the primary shipping collection address.
- Shipping location(s): Ship to specific countries only
- Ship to specific countries: Australia
- Enable taxes: As required
- Go to WooCommerce → Settings → Tax
- Confirm that required tax options and rates are applied to shipping (e.g. if GST to be applied, under Standard Tax Rates tick Shipping).
- Disable any other WooCommerce shipping methods for Australian destinations to prevent extraneous shipping prices from displaying. You may leave certain shipping methods enabled, such as Free or Flat Rate shipping for orders over a certain $ amount, if required.
- Go to Appearance → Customise → WooCommerce → Checkout
- Phone field: Required (this is required for shipping if the optional Shipping Phone is not entered).
- Click Publish.
- Go to WooCommerce → Settings → Products → General
- Weight unit: kg
- Dimensions unit: cm
- Go to WooCommerce → Settings → Shipping → Shipping Classes
- Add a new shipping class called Fragile (use default slug).
- If you have a Myfreight account with dangerous goods enabled, add a new shipping class called Dangerous Goods (use default slug).
- See below how to apply the new shipping classes to any products which are fragile (require manual handling during shipment) or contain dangerous goods/hazardous materials as appropriate.
- Add a new shipping class for each Myfreight/Myparcel "item type". The shipping class names must exactly match the spelling and case of the Myfreight/Myparcel item types available. The shipping class Slug field must begin with "item-" to indicate that the class represents an item type. See below how to apply the new shipping classes to products. To set up some common shipping class item types, add shipping classes with names and slugs as follows:
SHIPPING CLASS NAME SLUG APPLIES TO Pallet item-pallet Myfreight & Myparcel Skid item-skid Myfreight & Myparcel Carton item-carton Myfreight & Myparcel Satchel item-satchel Myfreight & Myparcel 500g Satchel item-500g-satchel Myfreight custom item type 1kg Satchel item-1kg-satchel Myfreight custom item type 3kg Satchel item-3kg-satchel Myfreight custom item type 5kg Satchel item-5kg-satchel Myfreight custom item type Fragile fragile-goods Myfreight & Myparcel Dangerous Goods dangerous-goods Myfreight DG configured
- Go to Products → All Products
- If the product shipping fields have not been completed, either:
- Edit each product and complete the fields in the Shipping tab, or
- Export all products (including custom meta data) to a CSV, complete shipping weight, dimensions, shipping class, packing unit, store and DG columns, and then Import the shipping fields (refer to the WooCommerce Product CSV Importer and Exporter documentation).
- Note that the weights and dimensions apply to the product when it is packed singly ready for shipping.
- Product variations need shipping settings to be completed only if they differ from the parent product.
- You can override auto-selection of the shipping item type (for a single product item) by changing the Shipping class of the product to an item type. You must have previously set up Shipping classes with exactly the same names as the item types available in Myfreight/Myparcel, as described above.
- If the product shipping fields have not been completed, either:
- The plugin should be ready to go. If pricing is enabled, shipping pricing will be shown at the bottom of the WooCommerce Cart and Checkout pages.
The following settings allow you to customise the plugin operation to suit your online store requirements.
Further instructions are provided on the settings page.
- Activate or de-activate features:
- Real-time Shipping Pricing.
- On Cart page and Checkout page.
- Address Entry Helper.
- On Cart page.
- On Checkout page.
- On Single Product page
Requires plugin "WooCommerce Shipping Calculator on Product Page" with the following settings:
Enable on product page? = Yes
Button Position On Product Page = After Description
Shipping Method Input = Display All Shipping With Price
Display Shipping Message = Before Shipping Form
Default open shipping calculator? = Yes
Hide shipping country if ship in single country? = No
- Option to customise "Apply" button label text on each page.
- Auto consignment pre-fill upon successful order.
- When status of an order changes to processing, a consignment for that order will be generated in Myfreight/Myparcel and populated with shipment data.
- A button linking to the Myfreight consignment or Myparcel booking will be shown on the admin order page.
- Option to display shipment status and a button linking to Myfreight tracking on the admin order page.
- Option to automatically set order status to completed when shipment despatched in Myfreight.
- Real-time Shipping Pricing.
- Address Accuracy Threshold %
- Extent of auto-correction applied to entered delivery addresses (suburb, state and postcode only). Default 80.
- Maximum Selections
- Number of shipping price options to display to customer. If set to 1 the customer is not given the option to select.
- Selection Display:
- Display Carrier to customer.
- Display Service to customer.
- Specify which carrier details to display.
- Markup to apply to shipping prices:
- Markup $ amount (positive or negative values accepted).
- Markup % increase (positive or negative values accepted). This is applied after the Markup $ amount.
- Option to round up ex GST amount to nearest dollar.
- Default Price
- Optional fallback shipping price in the rare event that the API is down.
- Default Item Weight
- Optional fallback weight where not specified for product (kg).
- Can be used for testing. It is advisable to clear this field once all products have their shipping weight assigned.
- Default Item Dimensions
- Optional fallback dimensions (length, width and height) where not specified for product (cm).
- Can be used for testing. It is advisable to clear these fields once all products have their shipping dimensions assigned.
- Optional amounts to add to shipping prices under specific circumstances.
- These are only applied to carriers who implement the surcharge and when the product is likely to attract this surcharge (e.g. fragile, heavy).
- Surcharge fields assist with predicting actual transport carrier pricing and thereby choosing the lowest cost carrier service.
- The Unloading Assist Surcharge field is associated with the Unloading Weight Threshold as the latter determines when the former surcharge is applied.
- As surcharges are not applied consistently by carriers, these values may need to be refined over time to suit your business, location and products shipped.
- Packing Containers
- For combining multi-product orders into custom packing containers for shipping (e.g. wine bottles ordered individually will be packed into boxes for shipping).
- Packing Rule Activation.
- Allow custom packing rules to be applied to shipping pricing and ordering.
- Packing Rules.
- Enter packing rules in CSV (or tab delimited) format as described in the template provided.
- For rules to work, Packing Unit names must be applied in the Shipping tab for all products which are to be packed.
- Auto Packing Activation.
- Pack products into a single container for shipping (or multiple pallets if required).
- Container item type is estimated unless disabled below.
- Can be used with packing rules and is applied after packing rules.
- Item Type Estimation Deactivation.
- Set all items/containers to Cartons.
- Store/Warehouse Shipping Details
- Shipping contact information for primary store/warehouse.
- These fields complement the Store Address entered in the WooCommerce General Settings.
- Multi Store
- Used to activate multiple store location functions (for pricing and shipping).
- Shipping price is calculated by comparing the cost of shipping from each nominated warehouse and choosing the cheapest option.
- Default Store Code(s)
- Identify which stores/warehouses to use for pricing comparisons (except where specific store code(s) specified for products).
- Store Locations
- Enter list of all stores/warehouses including address and contact information in CSV (or tab delimited) format as described in the template provided.
- Account Type
- Indicate whether you have a Myfreight account (for high volume shippers) or a Myparcel account (for low volume shippers).
- API Username and Password
- Required to access your Myfreight/Myparcel API for pricing and consignment/booking generation.
- Myfreight Customer Code
- Enter the customer site code provided by Myfreight. Note that Myparcel customers do not use this field.
- Myparcel Member ID
- Your account login identifier in Myparcel. Refer to the Myparcel WooCommerce Integration section below for details on how to set up WooCommerce and Myparcel to work together. Note that Myfreight customers do not use this field.
- Myparcel Sync URL
- You must copy this to your Myparcel member profile in order to synchronise WooCommerce orders with Myparcel shipment bookings. Note that Myfreight customers do not use this field.
- Order Completed
- For Myparcel customers only, indicate whether an order should be removed from the pending shipments list when its status changes to Completed.
- Custom Item Types
- Myfreight customer accounts can be set up to ship non-standard items, such as specific satchel weights or unusually shaped objects. Tick the box to indicate which custom item types have been configured for you in Myfreight. This will enable the auto-classification of products as those item types for shipping.
- Myparcel customers can prevent the auto-classification of products as Satchels by unticking the Satchel tickbox.
- Test Mode
- Activate test mode of operation which uses the test API. Note that Myparcel customers should not use this field unless requested to do so.
- Debug Logging
- Activate plugin debug message logging to WooCommerce Status Logs.
Shipping Item Types
Most transport carriers support the following basic item types:
Transport carrier pricing may vary according to the item type, even if the weight and dimensions of the goods are the same. Therefore, shipped products should be assigned the correct item type, to assist in accurate price prediction and selection of the best transport carrier service.
Following is the procedure used to determine the item type when pricing or consigning orders:
- If Packing rules apply to the product, it will assume the item type of the packing container. Note that the product Packing Unit and quantity are used to determine whether any packing rules are to be applied. Refer to the next section for details.
- If the product Shipping class is a valid item type, it will assume the item type of the Shipping class. Note that the class name must exactly match the the Myfreight/Myparcel item type, and have a Slug beginning with "item-" to indicate that the class is to be used to override the item type.
- The product Shipping weight and dimensions are used to estimate the item type. However, if the Myfreight plugin setting Auto Item Type is set to Deactivate Estimating then this is not applicable.
- If none of the above apply, the item type defaults to "Carton".
If your online store sells products which are frequently packed into some sort of container for shipping, you may wish to activate the Packing Rules and/or Auto Packing settings to provide more accurate shipping pricing.
Note that Packing Rules (if activated) are applied first, then Auto Packing (if activated) is performed. While Packing Rules can be complex and require some consideration to configure, Auto Packing requires no configuration.
Examples of when you might use packing rules are:
- Your online store sells bottles of wine individually, but you ship them in packing cases of varying sizes according to the number of bottles purchased.
- You sell hampers which contain a variety of items selectable by the customer. The size and weight of the hamper to be shipped depends upon how many items are selected and what their combined weight is (plus the weight of the hamper itself).
- You sell T-Shirts, and if 3 or less are purchased you ship them in a satchel, but if more are purchased you ship them in a box.
- You sell various pumps which are shipped individually in cartons. But if more than 2 are sold in an order you ship them on a skid or pallet. e.g. If 3 - 4 are ordered you ship them on a skid. If 5 - 9 are ordered you ship them on a pallet in a single layer. If 10 - 18 are ordered, you ship them on a pallet stacked 2 layers high.
- You have some custom Myfreight shipping item types, and wish to specify how products are packed into them.
Note that you are not limited to one packing rule, and can have multiple different packing rules being applied to products in a single cart or checkout/order.
The first thing you need to know is what packing containers are available for shipping, their weight and dimensions, and how they are used. Define a "container code" for each - an alpha-numeric word including dashes and underscores (e.g. "dozen-bottle-box"). If the container type is used in different packing configurations, you may need to define a unique code for each configuration.
Next, all product types which may be packed into a container should be given a "packing unit" type - an alpha-numeric-dash-underscore word defined by you to designate the category of products to be similarly packed (e.g. "bottle"). Enter the "packing unit" word into the product's "Packing unit" field within the Shipping tab.
Then determine minimum and maximum numbers of each product (designated by a packing unit) which can be packed into each container type (designated by a container code).
Finally, open and edit the packing rules CSV template file to suit your packing requirements. When you are finished, click-hold and drag to select the table cells, copy and paste them into the "Packing Rules" field in the Myfreight Shipping settings page, ensuring any previous information is overwritten. Tick the Packing Rules Activation tickbox and click the Save changes button at the bottom. You will notice that the "Packing Rules" field has now stored your rules in a different format (JSON).
Some hints for changing the packing rules CSV template file:
- Do not change the header cells for columns A - G (highlighted blue below).
- Change the header cells for columns H onwards to be the "packing unit" name(s) you defined above.
- Insert your unique "container code" names defined above into column A ("container_code") from row 2.
- Column B ("item_type") must contain Myfreight or Myparcel item types only (e.g. Satchel, Carton, Skid, Pallet, etc.).
- Insert the empty container weights (in kgs) and dimensions (in cm) into columns C - F.
- Column G ("container_max_empty_slots") is the difference between the maximum and minimum packing units per container type determined above.
- Column H onwards contains the maximum number of packing units (specified at top of column) which can be packed into the container type.
- Note that there can be multiple rules for each packing unit, to describe all the packing variations. Just duplicate the row, choose a unique container code and modify the cells!
- Note that the shipping weight will be automatically calculated as the container_weight plus the sum of contained product item weights.
- Note that for Skids and Pallets, the shipping height will be automatically calculated as the container_height plus the maximum of the contained product item heights.
- Finally, note that if any container dimension is left blank, the shipping dimension will be automatically calculated as the maximum of the corresponding dimension of the contained product items. For example, if you ship long (say 2-3m) items on a pallet, you can leave the pallet's container_length field empty (for this packing unit) and the pallet length for shipping will be assumed as equal to the length of the longest contained product item.
After the CSV table has been pasted into the "Packing Rules" field, saved and converted to JSON, you can make changes either by repeating the process above, or editing the JSON within the field directly. Be careful to retain the JSON syntax, and include a comma at the end of each line except the last line of a section.
Be sure to test the pricing and consigning of various combinations of packable products being ordered. To check that the rules are working as intended, you can see which container(s) have been selected using either of two methods:
- Select products in the shop and complete a full Checkout. Go to Myfreight or Myparcel (as described in the Administrator Operation section) to view the consignment/booking and check that the item types selected for shipping are as expected. Ensure that shipping item weights are the aggregate of the container weight and the product weights packed therein.
- At the bottom of the settings page, tick the "Enable Debug Logging" tickbox. Select products in the shop and either view the Cart page (to calculate shipping price), or complete a full Checkout. Then back at the bottom of the settings page, click the "View Log" link. The current WooCommerce debug log will open. Scroll to the bottom to see the packing process dialogue and confirm it is calculating the shipping packing as expected. Remember to disable debug logging prior to live operation, as performance may be affected.
Obviously the packing rules cannot perfectly anticipate how all products will be packed for shipment. However, if well thought out, they will calculate shipping weights accurately and give a good estimate of shipping container numbers and dimensions, which in turn will provide a reasonably accurate shipping price to the customer. When the order is picked, packed and shipped out the door, it is simple to change the estimated shipping configuration to the actual shipping configuration via the Myfreight or Myparcel console during final despatch/booking.
Auto Packing is useful when your online store has a mixture of product shapes and sizes which are often shipped together, and it is therefore difficult to specify packing rules for them. Auto packing calculates the total weight and volume of all products in a shipment, and then decides which standard item type (Satchel, Carton, Skid or Pallet) is most suitable to hold all of them. Auto packing occurs after packing rules have been applied, and can therefore perform a 2nd stage of packing for specified products.
Setting up the Myparcel WooCommerce Integration
If you are a Myfreight customer you can ignore this section.
To prepare for using Myparcel for WooCommerce shipping, complete the following steps:
- Sign Up for a Myparcel member account
- Login to the online store as shop administrator and go to WooCommerce → Settings → Shipping → Myfreight Shipping
- Set the Shipping "Account Type" to Myparcel
- Enter your Myparcel login username (email address) into the "Myparcel Member ID" field
- Copy the "Myparcel Sync URL" field content
- Click the Save changes button
- In a different tab, login to your Myparcel member account (if not already logged in above)
- Go to the Update Profile page
- Scroll to the bottom and set the "Online Store System" to WooCommerce
- Paste the Myparcel Sync URL (from step 5.) into the "Sync URL" field
- Copy and temporarily store (e.g. in Notepad) both the "Myparcel API Username" and "Myparcel API Password"
- Click the UPDATE button
- Return to the WooCommerce Myfreight Shipping Settings tab
- Paste the Myparcel API Username and Password (from step 11.) into the corresponding fields
- Click the Save changes button
Following are the WooCommerce Myfreight Shipping Settings to be completed for Myparcel integration ...
Following are the Myparcel Member Profile Online Store Integration settings to be completed ...