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)
This opens the shipping method window (Figure 2.2).
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.
Integration ID, agent and service codes
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.
Countries
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.
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.
Frontend groups and users
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.
Fee settings
The Fee settings section (Figure 6.1) is used to define behavior related to fees and discounts.
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.
Shipping Providers
The Shipping provider section is used to select a shipping provider - an integration to an external delivery service like GLS, PostNord, FedEx, 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.
Fee Rules
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.
To use the fee rules matrix:
- Activate it by selecting Use custom fee rules – this 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).
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.
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 |