How to create a Surcharge in MachShip

How to create a Surcharge in MachShip

When a carrier provides pricing, the figures are calculated and provided based on standard freight. When we describe standard freight, this will be either the type of freight the carrier wants to transport or alternatively, the freight types you have agreed to send with them. Surcharges are utilised by carriers as a method of revenue recovery when a consignment is outside the parameters of the agreed freight type. 

MachShip has a surcharge engine which will allow users to account for these surcharges when pricing up consignments. Ultimately this will allow users all the information required to choose the best service and carrier to undertake the transport. 

How to create a Surcharge via Default Surcharges:

In order to help you when setting up a new carrier, MachShip has facilitated the ability for users to bulk generate new surcharges utilizing known and defined carrier surcharge lists.  

To create a Surcharge select Admin and Other Options.


Under the Advanced Options, select Surcharges 


Select Create Surcharge, either at the top right portion of the grid or click on the Actions button.

Create Surcharges window will open and appear as below:

Enter in the Company that should own the surcharge

Then select the Carrier:

Then assign the Link Type:

Link Types will be broken down to be one of:

Link to Carrier -  The surcharge should be assigned against Every account and service for which the owning company has access to

Link to Services: The surcharge should apply for Every account which has the selected service

Link to Accounts:  The surcharge should apply against Every service which is on the selected account

Link to Service and Account Combination: The surcharge should Only apply against the combination of the selected account and service. 

 

Once the carrier is selected, the default surcharges will be displayed below the link type. This will show the surcharges name and its default pricing.

You are able to select which of the default surcharge(s) you would like to link to your company. Use the tick box at the top of the grid to select all or select one by one. 

After selecting the surcharges to add, click on Create Standard Surcharge


 Note: Though you may have pricing which differs from the default, MachShip suggests that you create the surcharges and then look to edit the pricing rather the creating the surcharge from scratch. 

Once you have selected to create, you will then receive a successful notification on screen confirming the surcharge has been copied to your account. A successful notification will be displayed in green text. 

If the surcharge already exists against the company you are adding surcharges to, MachShip will not duplicate the surcharge, instead notify you that it will not be cloned.

Below is an example of how this will be displayed. There was already a set of surcharges saved against the account which are the TNT Oversize Freight OS0, OS1, OS2, OS3 & OS4 - these will not be added to your company as they already exist.


If you find that the surcharge you are looking to create is not on the defaults list then you are able to generate an Empty Surcharge. This is a surcharge which does not have a pre-defined logic query attached to it. 

To create a standard surcharge that is not a default surcharge. Proceed to Create Empty Surcharge:


How to create the Empty Surcharge

1. Information.

To create the empty surcharge you need to fill out the following fields:

  • Company

    The company field should be the company which your user is assigned to.


    Note: Even if you want to assign this surcharge to a child company only, you need to ensure the surcharge is owned by your company. 

  • Name, Description, Abbreviation

    The Name field will appear on the pricing screen and will outline what the surcharge is.


    The Description field will be applied below the surcharge and will allow you to describe the surcharge to the user. 


    The Abbreviation is to be left blank. 

  • Price Type and Price

    Dollar - Will apply a flat dollar increase to the rate pricing. Use when the carrier does not provide pricing via API but you have a fixed amount to charge. This ensures the surcharge displays in quotes and prevents customer invoice disputes.
    Percentage of Route Price - 
    Will apply a dollar increase which is calculated as a percentage of the rate price. 
    Ratecard - 
     Will calculate the pricing based on a ratecard

    Externally Priced - 
    Expects the carrier API to return pricing for this surcharge. Use only when the carrier provides pricing via API. If the carrier does not return pricing, the surcharge will not appear in quotes.

    Once a price type is selected the user will enter either the dollar or the percentage figure of the surcharge. Please note that these are cost prices and if using a % amount set this as a whole number. E.g 15% should be entered in the price box as 15. 

    Decision Tree: Does the carrier provide this surcharge pricing via API?
    If YES → use Externally Priced
    If NO → use Fixed Dollar with manual amount

    Example: Post Haste provides Residential Delivery pricing via API (use Externally Priced), but does not provide Residential Pickup pricing via API (use Fixed Dollar with $1.85 per item).

If you select Ratecard then to link the ratecard simply type into the ratecard field and select from the ratecards options that return. To see how to import a ratecard surcharge refer to the article linked here


  • Cost Minimum

    If the surcharge being created is priced on a percentage of the route, then the cost minimum allows for you to account for a minimum charge for this in MachShip.  

2. Surcharge Application Flags.

MachShip understands that different surcharges will apply under different conditions. As such there are a series of flags which can be set which will enable you to customise when and how the surcharge is applied. 

Note: If there are any specific conditions which need to be met to prompt the created surcharge to apply, these will need to be added by the MachShip team. Please refer to the below section Supported Condition Triggers for what can and cant be used to trigger a surcharge. if there is any confusion please reach out to MachShip support with your condition and we can confirm if it can or cant be supported. An example of this would be on overlength surcharge which only applies if an item is over a certain length or width. In the above case please set up the surcharge with the links (described below) and pricing and email the conditions through to support@machship.com and these will be reviewed to see if they fit the conditions that MachShip can trigger a surcharge for.  

  • Automatic

    If this flag is set to Yes then the surcharge will apply automatically whenever the applied conditions are met. 

    Note: If the surcharge is to apply under specific conditions, as mentioned above, do not set the automatic flag until you have received confirmation that the conditions have been set. If you do not do this then the surcharge will be flagged automatically on every consignment and quote generated. 

  • Is Fuel Levy Exempt

    There are certain surcharges that will not have the fuel surcharge applicable to them. If this is the case for the surcharge you are creating then set this flag to Yes.

  • Per Matching Item

    Certain surcharges are set to apply for each item that meets the conditions. An example of this would be a manual handling surcharge. Set this flag to Yes if your surcharge needs to be applied per item. 

  • Per Leg

    Transport providers will, at times, provide what is known as on-forwarding rates whereby the pricing of a consignment is the construction of multiple-lane rates or legs. An example of this would be going from Melbourne to Broome and being charged as a Melbourne to Perth + Perth to Broome rate. If the surcharge that is being created is applied independently over each of the legs this flag should be set to Yes. 

  • Only Apply Surcharge to DG

    One of the common conditions a carrier will charge a surcharge is when a consignment contains Dangerous Goods. In order to allow users to create this common condition, we have the Only Apply Surcharge to DG flag. When set, in conjunction with the Automatic flag, the surcharge will be applied with every Dangerous Goods consignment created. 

  • Special Instructions

    If there is a need to automatically populate a delivery with special instructions when a surcharge is applicable, users can set the text in the special instructions field. 

    Note: These instructions will be placed on the consignment once it is created and will not appear in the delivery instructions section on the quote or the create consignment screen. 



3. Conditions
This area allows you to see the set of queries/restrictions applied on the created surcharge.

To have a query added please contact support@machship.com with the required specifications. 

Once added the query will show as below:
Example:
                                                    

Understanding Surcharge Condition Logic

Surcharge conditions are 'apply-only' — they specify WHEN a surcharge should apply, not when it should NOT apply. This is an important distinction when designing your surcharge logic.

Multiple surcharges can fire simultaneously if their conditions overlap. This means that if two surcharges have conditions that are both met for the same consignment, both surcharges will be applied. In some cases, this may result in unintended double-charging. For example, if you have a surcharge that applies to all consignments over 20kg and another surcharge that applies to all consignments over 15kg, both will apply to a 25kg consignment.

To prevent overlapping surcharges, use mutually exclusive conditions. Rather than attempting to add 'exclusion' conditions to existing surcharges, create separate surcharges with conditions that are mutually exclusive. For example, if you need to apply different surcharges based on delivery zone, create one surcharge with the condition 'apply when zones NOT EQUAL to Zone A' and another with the condition 'apply when zones ARE EQUAL to Zone A'. This ensures only one surcharge will apply in any given scenario.

Example: Lane-specific exceptions. If you need to apply a surcharge to most lanes but exclude it from specific lanes (e.g., a surcharge applies to all routes except Melbourne to Sydney), create separate surcharges with zone-equality conditions rather than trying to add exclusion logic to a single surcharge. Create one surcharge with the condition 'apply when origin zone NOT EQUAL to Melbourne AND destination zone NOT EQUAL to Sydney', and another with the condition 'apply when origin zone EQUAL to Melbourne AND destination zone EQUAL to Sydney' (if different pricing applies to that lane). This pattern ensures clear, non-overlapping logic.

What can you build a surcharge or route restriction to be triggered off

Supported Condition Triggers

Surcharges can be configured to trigger based on:

   Location names (saved/master location data)
   Suburbs/Postcodes/States (geographic zones)
   Carrier zones (e.g., DG zones, regional classifications)
   Item information (item types, item data)
   Questions (custom form fields — Yes/No, dropdown, text selection)
   Consignment attributes (any structured master data field)

Unsupported Condition Triggers
The following cannot be used to trigger surcharges:

   Free text fields — from and to address data, from and to phone numbers, from and to email addresses, from and to contact names, delivery instructions
   Dynamic data detection (e.g., presence of a phone number in a notes field)
   Regex or pattern matching on free text
   Derived/calculated fields (unless stored as master data)
   If one of the following fields is populated or not Phone Number, Contact Name, Email

Real-World Example: Mobile Phone Surcharge
Customer request: "Charge a surcharge whenever a phone number is present at pickup or delivery"

Why this doesn't work:

   Phone numbers are stored in free text fields (sender phone, receiver phone)
   Surcharge logic cannot scan free text fields for data presence
   Result: Request cannot be implemented as described 

If you need to set up conditions that are more complex than what is available in the standard surcharge interface, please contact support@machship.com with your requirements and the MachShip team can assist with implementing the appropriate condition logic.

Workflow for Weight-Based Conditions

For weight-based conditions (e.g., apply surcharge to items over 20kg), follow this workflow:

  1. Create the empty surcharge with all basic settings (name, price type, price, links) configured.
  2. Set the Per Matching Item flag to Yes if the surcharge applies per item.
  3. DO NOT enable the Automatic flag yet. This is critical—enabling Automatic before conditions are confirmed will cause the surcharge to apply to all consignments, not just those meeting the weight condition.
  4. Email support@machship.com with the following information:
    • The Surcharge ID
    • The exact condition logic (e.g., "item is a carton AND weight is > 20kg")
    • Confirmation of the item type
  5. Wait for confirmation that the condition has been applied by the backend team.
  6. Only after receiving confirmation, enable the Automatic flag.
  7. Test the surcharge with a quote to verify it is working correctly.

Important: Enabling Automatic before conditions are confirmed will cause the surcharge to apply to all consignments, not just those meeting the weight condition. Always wait for backend confirmation before enabling the Automatic flag.

4. Links.

The linking of a surcharge will advise MachShip which company, carrier, service or account to apply the surcharge. 

To link a surcharge you need to:

1. Click the Create Link button.

This will prompt the Create Link modal to appear.


2. Set the Company and Carrier.


If you wish to apply this surcharge to all of your clients which have that carrier, set the company field to be your broker company.  

3. Choose the link type. 

There are 4 link types: 

Link Types will be broken down to be one of:

Link to Carrier -  The surcharge should be assigned against Every account and service for which the owning company has access to

Link to Services: The surcharge should apply for Every account which has the selected service

Link to Accounts:  The surcharge should apply against Every service which is on the selected account

Link to Service and Account Combination: The surcharge should Only apply against the combination of the selected account and service. 

4. Include/Exclude.

The include/exclude flag will set if what has been linked is to be included, have the surcharge apply, or be excluded or exempt from the surcharge. By default, this is set to include. 


5. Create the link type.


Once created the links will be visible in the table at the bottom of the create surcharge page as below:


There can be as many links as required and they will work in conjunction with one another. 

 

5. Save and Test.

Once all the links have been set up, select the Save Surcharge option and the surcharge will be created. 


Once the surcharge has been created we suggest you test its application. This can be completed through the quotes screen. Quote for a situation where the surcharge should apply and also a situation where the surcharge should not apply. This will provide peace of mind that everything has been correctly set up.

Please note that if there are any conditions that you have requested to be set up by the MachShip team that you wait for confirmation that these have been set up and applied before running your testing. 


    • Related Articles

    • How to Create a Surcharge and Price via a Ratecard

      There will be certain instances where a carrier will provide you will surcharges which are based on the volume of the consignment or its charge weight. As such, there is a need to utilise MachShip's internally built ratecard pricing in order to ...
    • How to Import and Create a Ratecard to be linked to a Surcharge

      There will be certain instances where a carrier will provide you will surcharges which are based on the volume of the consignment or its charge weight. As such, there is a need to utilise MachShip's internally built ratecard pricing in order to ...
    • How to exclude a Company from a Surcharge

      There will be times when a surcharge needs to be assigned to a large set of companies but not to all of your available companies. In order to make the process more efficient, the MachShip team suggests that you link the surcharge to all of your ...
    • How to assign out a different prices for surcharges

      MachShip has enabled the ability for a user to be able to assign out different prices on existing surcharges with pre-saved configurations. This will be relevant for all surcharges but particularly for configurations such as Hand Unloads, Tailgates ...
    • Common Scenarios to Check when creating, editing or updating Carrier Surcharges

      Below the MachShip team will look to outline a few different scenarios and things to think when looking to test any surcharge that you have created or adjusted in the MachShip platform. 1.) Adjusting the Automatic Flag Surcharges that are created can ...