Shipping Methods

Shipping goods to your customers is an important part of running a internet-based business - and before you accept your first order you must have one or more shipping methods created, and the checkout flow configured to allow your customers to select one of the available shipping methods.

Setting up shipping in Dynamicweb Ecommerce consists of:

  • Creating a shipping method
  • Selecting and configuring a shipping provider

When configuring a shipping provider, you typically also need to possess an account on an external service belonging to a delivery service. Dynamicweb supports integrating your webshop with several popular delivery services, such as PostNord, GLS, UPS, FedEx, etc. You can see a complete list of supported delivery services later in this article.

To create a shipping method:

  • Go to Settings > Ecommerce > Orders > Shipping
  • Click New shipping in the toolbar (Figure 2.1)
Figure 2.1 Creating a shipping method

This opens the shipping method window (Figure 2.2).

Figure 2.2 The shipping method window

A shipping method consists of different sections, which are used to control where and how it is made available:

  • The Method section (1) controls basic properties like the name shown in frontend, and whether or not the method is active or not
  • The Countries section (2) controls where this shipping mehod is available
  • The Frontend groups and users section (3) controls who can see this section in frontend - this is particularly useful if different shipping methods should be available for B2C and B2B customers
  • The Fee settings section (4) controls everything related to fees and discounts
  • The Shipping provider section (5) allows you to select and configure a shipping provider which retrieves shipping information from an external service
  • The Fee rules section (6) allows you to assign a shipping fee to an order based on criteria such as weight, volume, etc.

In the general shipping method settings, you will find the fields Code, Agent code, Agent name, Agent service code and Agent service description, which can be used to match a shipping method with a shipping method in an integrated Dynamics Business Central enviroment.

These five fields correspond to the following Business Central Standard fields:

  •  ShippingCode [text[25]] (the ID in the ERP)
  •  ShippingAgentCode [text[25]] (the ID in the ERP)
  •  ShippingAgentName [text] 
  •  ShippingAgentServiceCode [text[25]] (the ID in the ERP)
  •  ShippingAgentServiceDescription

When an Agent or Agent service code is added to a payment method, the live integration will check if a matching code exists in the ERP before including the fields in the salesheader. The ERP will then add the context specific information to the response XML generated in the codeunit

The Countries section (Figure 4.1) is used to specify the language contexts in which this payment method should be available. The language context is defined by the country set on the billing address of the user or visitor checking out – only the delivery methods made available for that country will be shown.

Figure 4.1 The Countries section

If you add states or regions to an ecommerce country they are also selectable here. If you want a payment method to be available only for a state, select only the state and not the country.

Only the delivery methods created in the language set as the default language in the website Ecommerce settings will be rendered in frontend, so on a website with English set as the default ecommerce language, only the English-localized shipping methods are available (Figure 4.2). And of these shipping methods, only the ones marked as available for the billing country in the shopping cart are shown.

Figure 4.2 Shipping methods available for English

The Frontend groups and users section is used to specify for which users & user groups this shipping method should be available (Figure 5.1).

Select All groups to make it available for everyone - and Selected groups to limit it to only a subset of your users. Check Anonymous users to make it available for anonymous users.

This section is often used on B2A solutions where you want to differentiate between consumers and business customers during checkout.

The Fee settings section (Figure 6.1) is used to define behavior related to fees and discounts.

Figure 6.1 Fee settings

You can define the following:

  • Default fee – this fee is applied if the shipping provider or fee rules matrix does not return a value
  • No fee for purchases over – enter a number above which no fee is added
  • Base free shipping calculation on discounted price instead of original price – does what it says on the tin; check to base the No fee for purchases over calculation on the discounted price
  • Eligible for free shipping – this shipping method can be selected when an Amount discount with free shipping is applied. Sets a true/false value which is available in the shopping cart when rendering shipping methods.

To calculate fees based on the delivery country instead of the billing country, see the settings in advanced configuration.

The Shipping provider section is used to select a shipping provider - an integration to an external delivery service like GLSPostNordFedEx, etc.

Each shipping provider comes with a set of parameters relevant to the external service – where you must provide e.g. an API key, a service URL, and so on, depending on the requirements of the external service. You can also leave this section blank and use the next section – the Fee Rules section – to assign shipping fees to an order.

You can find a list of shipping providers in the left-side menu.

The Fee rules section (Figure 9.1) is a matrix which lets you create rules for assigning shipping fees to orders. A rule takes various parameters – like weight, user, product group, etc. – and if the order matches the criteria the fee is added to the order according to the fee settings.

Figure 9.1 The Fee Rules matrix

To use the fee rules matrix:

  • Activate it by selecting Use custom fee rulesthis is preselected when no shipping provider is selected
  • Set it to use either the lowest or the highest applicable fee
  • Decide if both weight and volume must apply for a rule to trigger, or if either weight or volume is enough
  • Create fee rules appropriate to your scenario

To create a fee rule, click the Click here to add a new row text to open the rule-window (Figure 9.2).

Figure 9.2 Creating a fee rule

From here, you must:

  • Name the rule and activate/deactivate it (as appropriate)
  • Specify when the rule is valid from (date included) and valid to (date excluded)
  • Specify a fee – and a fee type (amount or percentage), as well as any weight and volume limits – e.g. 5% for orders below 10”x10”x10” under 10lb

You can also limit where and who a rule applies for:

  • Certain users, user groups or a particular customer number
  • Certain shops, products or product groups
  • Orders above a certain total price, or in a particular order context, country/region, currency or zip code

You need only create the rules relevant for your shipping setup – so in reality, you won’t need to use all the options in the rules window but only those relevant for your setup.

database

These are the database tables associated with Shipping and related features in Dynamicweb:

EcomShippings

Contains setup and localization data (ShippingLanguageId) for shipping methods as defined in Settings -> Ecom -> Orders -> Shipping.

Field name Data type Length
ShippingId nvarchar 50
ShippingLanguageId nvarchar 50
ShippingName nvarchar 255
ShippingDescription nvarchar Max
ShippingPriceOverMaxWeight float 8
ShippingFreeFeeAmount float 8
ShippingServiceSystemName nvarchar Max
ShippingServiceParameters nvarchar Max
ShippingSorting int 4
ShippingAutoId int 4
ShippingFeeSelection nvarchar 10
ShippingIcon nvarchar 255
ShippingLimitsUseLogic int 4
ShippingFeeRulesSource int 4
ShippingTakeDiscountIntoAccount bit 1
ShippingEligibleForFreeShipping bit 1
ShippingActive bit 1
ShippingUserGroups nvarchar Max
ShippingAllowAnonymousUsers bit 1
ShippingCode nvarchar 25
ShippingAgentCode nvarchar 25
ShippingAgentName nvarchar 255
ShippingAgentServiceCode nvarchar 25
ShippingAgentServiceDescription nvarchar 255
ShippingUsePriceWithVat bit 1

EcomFees

Contains matrix setup details for Settings -> Ecom -> Orders -> Payment and Settings -> Ecom -> Orders -> Shipping linked via FeeMethodId.

Field name Data type Length
FeeId nvarchar 50
FeeMethod nvarchar 50
FeeMethodId nvarchar 50
FeeValue float 8
FeeType smallint 2
FeeWeightLimit float 8
FeeVolume float 8
FeeCountryId nvarchar 50
FeeRegionCode nvarchar 3
FeeOrderPrice float 8
FeeAutoId int 4
FeeName nvarchar 255
FeeActive bit 1
FeeValidFrom datetime 8
FeeValidTo datetime 8
FeeAccessUserId int 4
FeeAccessUserGroupId int 4
FeeAccessUserCustomerNumber nvarchar 255
FeeShopId nvarchar 255
FeeProductsAndGroups nvarchar Max
FeeOrderContextId nvarchar 50
FeeCurrencyCode nvarchar 3
FeeZip nvarchar Max

EcomCustomersSettings

Links a user (AccessUserId) with preferred currency, payment method and shipping method (CurrencyCode, PaymentMethodId, ShippingMethodId).

Field name Data type Length
SettingId int 4
AccessUserId int 4
PaymentMethodId nvarchar 50
ShippingMethodId nvarchar 50
CurrencyCode nvarchar 3