Orders

Orders are great. They let you see how much money you are making, and also let you see which goods to ship to which customers. I think I speak for everyone when I say that orders are just swell.

Happy days! Dynamicweb Ecommerce comes with an extensive system for managing orders, consisting of:

  • The Order list, which lets you view orders and order details, as well as filter them on properties such as state, progress, creation date, etc.
  • The Order details of each order, allowing you to view detailed information about an order, and to take action based on the info
  • The Recurring orders section, which lets you view and manage recurring orders
  • The RMA (Returned Merchandize Authorization) section, which lets you handle returns
  • The Quotes section, which lets you work with custom quote flows for your goods & services
  • The Shopping Cart app, which handles the checkout process (and creates orders and quotes)
  • The Customer Center app, which allows the extranet user to create RMAs, see previous orders, and more.

In this document, you can read about the order list and how to manage it, how to capture payment for an order, as well as related topics such as order states and order flows.

You can access the documentation for the other topics – order details, quotes, RMA, recurring orders – and so forth – from the menu.

The order list provides you with an overview of the most recent orders, and filtering and search tools for finding previous orders.

From the order list you also have access to the order details of each order – read more about order details here.

To access the Order list:

  • Click the Ecommerce area
  • Locate the Orders-node in the Ecommerce tree (Figure 2.1)
Figure 2.1 The orders node
  • Click it to open the order list view (Figure 2.2). The orders-node gives you access to all orders on the system – but you can click the shop icons located under the node to see orders from that shop only.
Figure 2.2 The order list view

The Order list consists of three things:

  • A set of tools in a toolbar
  • A filtering area
  • A list of orders – the most recent orders, or those matching the filtering or search criteria

Orders may be colored red (not completed) or black (completed). An order is considered incomplete if it was interrupted during the last order step (before showing order confirmation). This means that the color red does not indicate whether an order has been paid or not.

A clock-icon next to the order ID means that it was generated automatically as part of a recurring order series.

The tools in the toolbar are described below, where they are used.

A prominent feature of the order list is the filtering and search options (Figure 3.1).

Figure 3.1 The filtering and search options

With the filtering a search option, you can:

  • Find orders based on start and end date, or on a preset interval (like today or latest week). Choosing an interval automatically inserts the corresponding dates in the date fields.
  • Filter on order state (custom work-flow states), order progress (system controlled) or capture state (depending on payment provider details)
  • Isolate orders which have been transferred to Dynamicweb Ecommerce from an outside system (via the integration framework)
  • Search the Order ID or the customer fields column for an exact match, but you can also search all fields if you don't know the order ID or the info in the customer fields - this significantly impacts performance if you have many orders

Once a set of filters and criteria have been selected, click the apply button to apply the filters – or the reset button to reset the selection (Figure 3.2).

This will limit the order list to showing only the orders matching your filters and search terms.

Figure 3.2 Applying or resetting filters

You can hide the filter settings to get a better overview of the orders by clicking the arrow under the filter settings area.

Your filter settings are automatically remembered by the system. This means that when opening the order list the next time, all filter settings will be pre-filled. If the filter area is hidden, then the area will blink shortly to indicate that special filter settings has been applied. To reset the filter settings, click Reset in the toolbar.

In the order list, you can see a number of orders, and a number of columns showing you some information about the order (Figure 4.1).

Figure 4.1 The order list columns

In this case, the columns show the order ID, the created-timestamp, the order state, the customer company and name, the total order price, the payment method used, and the capture state of the order.

But you can customize which columns you want to see, based on your particular needs.

To do so:

  • Right-click on an existing column in the order list (Figure 4.2)
  • Click on the column name you want to activate or deactivate – or click More for an in-depth look at your options.
Figure 4.2 Right click an existing column to access the interface for removing or adding columns to the list

If you want to print one or more orders for offline use, simply select the order(s) and click the print button in the toolbar (Figure 5.1).

Figure 5.1 Printing an order

This opens a print-friendly preview of the order and a toolbar where you can:

  • Print the order
  • Access (and modify) the printer-friendly template to your liking
  • Refresh the page (if you’ve made any template changes)
  • Close the print view (and return to the order list)

If your shipping provider supports it, you can click the Create shipping documents button (Figure 6.1) to create a .csv file (GLS) or send the data to the PacSoft webservice (Post Danmark) with the delivery details of an order, and use that with third party software to create labels automatically.

Figure 6.1 If your shipping provider supports it, you can use this button to create shipping documents for offline use

The GLS .csv file will be created in the folder specified in the shipping provider settings (default is the /Files folder) – you must manually import this to the GLS Interline 7.0 service. Read about GLS Interline here and here.

The Post Danmark provider send the data to the PacSoftt webservice, and also saves the data to DB:EcomOrders >> OrderShippingDocumentData.

Creating shipping documents is implemented for the:

Order states are customizable order flow states which can be created in the settings – read more below.

From the toolbar, you have access to the order state buttons (Figure 7.1), matching order states created for your solution.

Figure 7.1 The order state buttons allow you to set a new order state for orders

Marking one or more orders and checking one of these order state buttons will change the order state for the order(s).

Capturing payment is the process of authorizing and accepting funds from your customer for a particular order.

If an order has been made through a payment gateway which supports payment capture in Dynamicweb, it will occur in the order list with the capture state column showing not captured (Figure 8.1).

Figure 8.1 The capture state column shows the current capture state of an order

To capture one or more of these orders:

  • Select them from the order list (check their checkbox)
  • Click the capture order(s) button in the toolbar (Figure 8.2)
Figure 8.2 Select one or more orders and click the capture orders button to start capturing payment

This opens a capture order window (Figure 8.3), from which you can capture the payment.

Figure 8.3 The capture order window

To do so simply click Capture – you will see a timestamp and a result of your capture payment action (Figure 9.1).

Once an order has been captured, the capture state will change.

Split Capture

If your provider and card supports split capture, you can select split capture in the capture order window.

This allows you to type in partial amounts and capture them – although the combined amount can never exceed the total order price.

To finalize an order with split capture, you can either capture the full amount – this captures the part of the total order amount not paid so far – or manually select final capture. Using final capture lets you finalize an order after capturing only part of the initial total, e.g. in cases where part of an order cannot be delivered.

Using split capture is only possible for single orders, and is currently only supported by DIBS and Quickpay

Capture States

Depending on your solution setup, the following capture states can be encountered:

  • Not captured/Not supported:
    If the provider is setup to only authorize the payment, all incoming orders are set to Not captured in the order list when successfully completed. A few providers don’t support capture from external services like Dynamicweb. They are listed with Not supported and you need to capture the payment from the administration at the provider website.
  • Captured
    When you have captured an order manually the state is changed to Captured in the order list. Some payment providers (mainly the US providers) have the option to setup if the payment should only be authorized or both authorize and capture. If authorization and capture is used, the amount is sent for authorization, and if approved, is automatically captured. Then all incoming orders are set to Captured in the order list when successfully completed.
  • Split captured
    Split capture allows you to capture partial payments on a running basis, until the full transaction amount has been captured. This is useful (and, in some countries, required by law) if you ship items separately, or some items are in backorder.

An order flow is a set of order states, which can be used internally to control how an order should be processed.

In most cases, it makes sense to have a default order state called ‘New’, and an order state called ‘Completed’ – but you may have several other steps in your order work flow. In that case, you can create and use custom order states.

To create a new order flow:

  • Go to Settings > Ecommerce > Orders > Order flows
  • Click New order flow in the toolbar
  • Name the order flow – and optionally provide a description for it
    • If you want to use it by default, check the default checkbox
  • Save the order flow

This creates a new (but empty) order flow. To make it useful, you must add order states to it.

Order states are the individual steps in an order flow.

To create an order state click New order state in the order flow toolbar to open the edit order state view (Figure 11.1):

Figure 11.1 Creating a new order state

From here, you must:

  • Name the order flow, and optionally provide a description for it.
  • Check the default checkbox, if you want this state to be the default state. New orders will be created with this state set.
  • Decide if you want to include or exclude the order state from the Ecommerce statistics.

In the Notification area you can set up automatically sending an email to your customer (or others) when an order enters the order state.

To set up email notifications:

  • Specify a subject, a sender name and sender email
  • Check the send to customer checkbox to send the email notification to the customer who placed the order (provided you have an email address to send to) – or add other emails to the send to others area manually.
  • Select (or create/modify) an email template to use for your notification emails – you can use different templates for customers and other recipients.

Once you are happy with your settings, save your order state – and repeat as necessary until your order flow contains the states you need.

Dynamicweb auto-numbers every order registered in the system, but you can customize the way orders are assigned a number.

Read more about auto-numbering here.

The following query string operations are supported by Dynamicweb for orders.

Occasionally, you may need to change the Context.OrderTime parameter of an order - e.g. if you want to test whether price calculations, discounts, or product publication periods work as intended.

To do so, simply use the OrderTime parameter in your query string, using one of the following formats:

  • OrderTime=MM/dd/yyyy
  • OrderTime=MM.dd.yyyy
  • OrderTime=MM-dd-yyyy

To change OrderTime context, you must go to Settings > Ecommerce > Advanced configuration > General and check the Allow different context dates checkbox in the Settings-section.

Database

These are the database tables relevant for Orders and related features:

EcomOrders

Contains orders. Incomplete orders are indicated by an idea containing CART. On checkout carts are converted to orders and given a new id (containing ORDER).

Field name Data type Length
OrderId nvarchar 50
OrderShopId nvarchar 255
OrderDate datetime 8
OrderModified datetime 8
OrderComplete bit 1
OrderDeleted bit 1
OrderStateId nvarchar 50
OrderVAT float 8
OrderIP nvarchar 255
OrderReferrer nvarchar 255
OrderTransactionValue nchar 2
OrderTransactionType nvarchar 50
OrderTransactionStatus nvarchar 50
OrderTransactionAmount float 8
OrderTransactionPayGatewayCode nvarchar 4
OrderTrackTraceNumber nvarchar 50
OrderShippingMethod nvarchar 255
OrderShippingMethodFee float 8
OrderPaymentMethod nvarchar 255
OrderPaymentMethodFee float 8
OrderSalesDiscount float 8
OrderCurrencyName nvarchar 50
OrderCurrencyRate float 8
OrderCurrencyCode nvarchar 3
OrderCart bit 1
OrderFieldsXML nvarchar Max
OrderReSendEmail nvarchar 255
OrderCustomerNumber nvarchar 255
OrderCustomerCompany nvarchar 255
OrderCustomerName nvarchar 255
OrderCustomerAddress nvarchar 255
OrderCustomerAddress2 nvarchar 255
OrderCustomerZip nvarchar 50
OrderCustomerCity nvarchar 255
OrderCustomerCountry nvarchar 50
OrderCustomerRegion nvarchar 50
OrderCustomerPhone nvarchar 50
OrderCustomerFax nvarchar 50
OrderCustomerEmail nvarchar 255
OrderCustomerCell nvarchar 50
OrderCustomerRefId nvarchar 255
OrderCustomerEAN nvarchar 255
OrderCustomerVatRegNumber nvarchar 50
OrderDeliveryCompany nvarchar 255
OrderDeliveryName nvarchar 255
OrderDeliveryAddress nvarchar 255
OrderDeliveryAddress2 nvarchar 255
OrderDeliveryZip nvarchar 50
OrderDeliveryCity nvarchar 255
OrderDeliveryCountry nvarchar 50
OrderDeliveryRegion nvarchar 50
OrderDeliveryPhone nvarchar 50
OrderDeliveryFax nvarchar 50
OrderDeliveryEmail nvarchar 255
OrderDeliveryCell nvarchar 50
OrderTotalPrice float 8
OrderComment nvarchar Max
OrderCustomerComment nvarchar Max
OrderWeight float 8
OrderVolume float 8
OrderPriceWithVAT float 8
OrderPriceWithoutVAT float 8
OrderPriceVAT float 8
OrderPriceVATPercent float 8
OrderShippingFeeWithVAT float 8
OrderShippingFeeWithoutVAT float 8
OrderShippingFeeVAT float 8
OrderShippingFeeVATPercent float 8
OrderPaymentFeeWithVAT float 8
OrderPaymentFeeWithoutVAT float 8
OrderPaymentFeeVAT float 8
OrderPaymentFeeVATPercent float 8
OrderPriceBeforeFeesWithVAT float 8
OrderPriceBeforeFeesWithoutVAT float 8
OrderPriceBeforeFeesVAT float 8
OrderPriceBeforeFeesVATPercent float 8
OrderCustomerAccessUserId int 4
OrderCustomerAccessUserUserName nvarchar 255
OrderShippingMethodId nvarchar 50
OrderPaymentMethodId nvarchar 50
OrderGatewayResult nvarchar Max
OrderStepNum int 4
OrderTransactionNumber nvarchar 255
OrderCustomerCountryCode nvarchar 50
OrderDeliveryCountryCode nvarchar 50
OrderStepHistory nvarchar Max
OrderLanguageId nvarchar 50
OrderTransactionMailSend bit 1
OrderShippingMethodDescription nvarchar Max
OrderPaymentMethodDescription nvarchar Max
OrderCustomerNewsletterSubcribe bit 1
OrderGatewayPaymentStatus nvarchar 255
OrderGatewayTransactionProblems nvarchar Max
OrderGatewayUniqueId nvarchar 255
OrderCaptureInfo nvarchar Max
OrderCartV2StepIndex int 4
OrderSecret nvarchar 255
OrderShippingCountrySelection nvarchar 255
OrderPaymentCountrySelection nvarchar 255
OrderCustomerAccepted bit 1
OrderDebuggingInfo nvarchar Max
OrderHasSetUserDetails bit 1
OrderTrackAndTraceId int 4
OrderTrackAndTraceParameters nvarchar Max
OrderIntegrationOrderId nvarchar Max
OrderRequisition nvarchar 255
OrderAXOrderId nvarchar Max
OrderVisitorSessionId nvarchar 255
OrderIsExported bit 1
OrderVoucherCode nvarchar 36
OrderCustomerSurname nvarchar 255
OrderCustomerInitials nvarchar 50
OrderCustomerPrefix nvarchar 50
OrderDeliverySurname nvarchar 255
OrderDeliveryInitials nvarchar 50
OrderDeliveryPrefix nvarchar 50
OrderShippingDocumentData nvarchar Max
OrderShippingProviderData nvarchar Max
OrderCompletedDate datetime 8
OrderSecondaryUserId int 4
OrderReceiptShowCount int 4
OrderCaptureAmount float 8
OrderTransactionCardType nvarchar 100
OrderExternalPaymentFee float 8
OrderAutoId int 4
OrderPriceCalculationDate datetime 8
OrderTotalPoints float 8
OrderTotalRewardPoints float 8
OrderTotalDiscountWithVAT float 8
OrderTotalDiscountWithoutVAT float 8
OrderTotalDiscountVAT float 8
OrderTotalDiscountVATPercent float 8
OrderIsQuote bit 1
OrderTransactionCardNumber nvarchar 50
OrderCustomerTitle nvarchar 255
OrderCustomerFirstName nvarchar 255
OrderCustomerMiddleName nvarchar 255
OrderCustomerHouseNumber nvarchar 255
OrderDeliveryTitle nvarchar 255
OrderDeliveryFirstName nvarchar 255
OrderDeliveryMiddleName nvarchar 255
OrderDeliveryHouseNumber nvarchar 255
OrderCheckoutPageID int 4
OrderVisitorSessionDate datetime 8
OrderPriceCalculatedByProvider bit 1
OrderTaxTransactionNumber nvarchar 50
OrderVoucherUseType int 4
OrderContextID nvarchar 50
OrderGiftcardTransactionFailed bit 1
OrderShippingFeeRuleName nvarchar 255
OrderRecurringOrderId int 4
OrderPaymentRecurringInfo nvarchar Max
OrderSavedCardID int 4
OrderIsRecurringOrderTemplate bit 1
OrderTransactionToken nvarchar Max
OrderTransactionTokenCheckSum nvarchar 128
OrderIsLedgerEntry bit 1
OrderIsPayable bit 1
OrderReturnOperations nvarchar Max

EcomOrderFlow

Contains order flow setup from Settings -> Ecom -> Orders -> Order flows.

Field name Data type Length
OrderFlowId int 4
OrderFlowIsDefault bit 1
OrderFlowName nvarchar 255
OrderFlowDescription nvarchar Max
OrderFlowOrderType int 4

EcomOrderStates

Contains definitions of individual order states in an order flow (OrderFlowId).

Field name Data type Length
OrderStateId nvarchar 50
OrderStateName nvarchar 255
OrderStateDescription nvarchar Max
OrderStateIsDefault bit 1
OrderStateDontUseInstatistics bit 1
OrderStateIsDeleted bit 1
OrderStateMailTemplate nvarchar 255
OrderFlowId int 4
OrderStateMailSender nvarchar 255
OrderStateMailSenderName nvarchar 255
OrderStateMailSubject nvarchar 255
OrderStateAutoId int 4
OrderStateSendToCustomer bit 1
OrderStateOthersMailTemplate nvarchar 255
OrderStateOthersRecipients nvarchar Max
OrderStateSortOrder int 4
OrderStateOrderType int 4
OrderStateAllowOrder bit 1

EcomOrderStateRules

Defines flow between order states (OrderStateRuleFromState -> OrderStateRuleToState).

Field name Data type Length
OrderStateRuleId int 4
OrderStateRuleFromState nvarchar 50
OrderStateRuleToState nvarchar 50

EcomOrderDebuggingInfo

Debug log for order flows. Links to order (EcomOrders) via OrderDebuggingInfoOrderID.

Field name Data type Length
OrderDebuggingInfoId int 4
OrderDebuggingInfoOrderId nvarchar 50
OrderDebuggingInfoSource nvarchar 255
OrderDebuggingInfoTime datetime 8
OrderDebuggingInfoMessage nvarchar Max
OrderDebuggingInfoType int 4
OrderDebuggingInfoOrderAutoId int 4

EcomOrderField

Contains order field definitions from Settings -> Ecom -> Orders -> Order fields.

Field name Data type Length
OrderFieldId nvarchar 255
OrderFieldName nvarchar 255
OrderFieldSystemName nvarchar 255
OrderFieldTemplateName nvarchar 255
OrderFieldTypeId int 4
OrderFieldTypeName nvarchar 255
OrderFieldLocked bit 1
OrderFieldSort int 4
OrderFieldAutoId int 4

EcomOrderLineFields

Contains order line field definitions from Settings -> Ecom -> Orders -> Order line fields.

Field name Data type Length
OrderLineFieldSystemName nvarchar 255
OrderLineFieldName nvarchar 255
OrderLineFieldLength int 4
OrderLineFieldAutoId int 4
EcomOrderLineFieldsSorting int 4

EcomOrderLineFieldGroupRelation

Contains information about which orderline fields are associated to products in a specific group.

Field name Data type Length
OrderLineFieldGroupRelationSystemName nvarchar 255
OrderLineFieldGroupRelationGroupId nvarchar 255
OrderLineFieldGroupRelationAutoId int 4
OrderLineFieldGroupRelationShopID nvarchar 255

EcomOrderLines

Contains orderlines from orders (EcomOrders) linked via (OrderLineOrderId).

Field name Data type Length
OrderLineId nvarchar 50
OrderLineOrderId nvarchar 50
OrderLineParentLineId nvarchar 50
OrderLineBOM bit 1
OrderLineDate datetime 8
OrderLineModified datetime 8
OrderLineProductNumber nvarchar 255
OrderLineProductId nvarchar 30
OrderLineProductVariantId nvarchar 255
OrderLineProductName nvarchar 255
OrderLineProductVariantText nvarchar 255
OrderLineUnitPrice float 8
OrderLineVatPercent float 8
OrderLineVatPrice float 8
OrderLineQuantity float 8
OrderLineType nvarchar 255
OrderLineReference nvarchar 255
OrderLineBOMItemId nvarchar 50
OrderLineUnitId nvarchar 50
OrderLineWeight float 8
OrderLineVolume float 8
OrderLinePriceWithVAT float 8
OrderLinePriceWithoutVAT float 8
OrderLinePriceVAT float 8
OrderLinePriceVATPercent float 8
OrderLineUnitPriceWithVAT float 8
OrderLineUnitPriceWithoutVAT float 8
OrderLineUnitPriceVAT float 8
OrderLineUnitPriceVATPercent float 8
OrderLinePageId int 4
OrderLineDiscountId nvarchar 50
OrderLineFieldValues nvarchar Max
OrderLineAttachment nvarchar Max
OrderLineAutoId int 4
OrderLineWishListId int 4
OrderLinePriceCalculationReference nvarchar 255
OrderLineUnitPriceCalculationReference nvarchar 255
OrderLineUnitPoints float 8
OrderLineUnitRewardPoints float 8
OrderLinePoints float 8
OrderLineRewardPoints float 8
OrderLineRewardId int 4
OrderLineReverseChargeForVat bit 1
OrderLineTotalDiscountWithVAT float 8
OrderLineTotalDiscountWithoutVAT float 8
OrderLineTotalDiscountVAT float 8
OrderLineTotalDiscountVATPercent float 8
OrderLineGiftCardCode nvarchar Max

EcomTrackAndTrace

Contains setup data for track and trace as defined in Settings -> Ecommerce -> Orders -> Track and trace.

Field name Data type Length
TrackAndTraceId int 4
TrackAndTraceName nvarchar 255
TrackAndTraceURL nvarchar Max
TrackAndTraceParameters nvarchar Max

In this section you will learn about:

  • Automatically exporting completed orders

Dynamicweb can be set up to automatically generate and export and XML file containing the order details every time an order is completed.

To do so, go to Settings > Integration and click the Export Orders node to open the tool (Figure 2.1).

Figure 2.1 The Export Orders tool

To use the export order tool you must:

  • Check Enable Order exports to XML to activate the tool
  • Specify an output folder
  • Optionally select an XSL file to transform the XML output – by default, the output format is identical to the format used by the XML Provider in the Data Integration app

You can also set up email notifications, in which case the recipients will be mailed the order xml in an email (it will still be generated in the output folder as well).