RMA (Returned Merchandize Authorization)
Handling returns and return procedures natively in Dynamicweb
Sometimes a customer wants to return a product for various reasons – wrong color or size, malfunction, transit damage, etc.
Dynamicweb Ecommerce comes with a dedicated RMA system, allowing you to manage such returns with a minimum of hassle.
Working with returns in Dynamicweb Ecommerce consists of three things:
- Creating RMAs
- Viewing RMAs
- Taking action on RMAs
You can also set up email notifications when an RMA reaches a particular state to staff and customers alike, and create your own custom RMA states.
Read more below!
Creating RMAs
RMAs can be created either manually or through the customer center app.
To create RMAs manually:
- Locate the relevant order in your order list
- Select the RMA tab in the ribbon bar (Figure 2.1) and click Register new RMA
This opens up the RMA creation window (Figure 2.2).
From here, you can:
- View basic information about the order
- Select a type of RMA – return, defective or exchange
- Select which products in the order you wish to create an RMA on – and select the quantity. You can optionally enter a serial number for each of the products.
- Add comments (and view previous comments) to the RMA
Once saved, an RMA per item will be created – and will be available from the RMA list view.
You can also set up the Customer Center app to allow your users create RMAs on their own. Read about the Customer Center app here.
The RMA List
All RMAs - whether created from backend or from frontend - can be found and acted upon under the RMA node.
To access the RMA list:
- Go to the Ecommerce area
- Click on the RMA node to fold it out (Figure 3.1)
- Click a shop to open the RMA list for that shop only - or All RMAs to see all RMAa created on the solution
This opens the RMA List (Figure 3.2).
From the RMA list, you can see the following for each RMA:
- The unique RMA ID, the parent order number, and the customer name
- The type of RMA (return, defective or exchange)
- The activity status (open/closed/deleted) and RMA state. An RMA state is a customizable step in an RMA flow, read more below.
- The creation date and date of last change
From the list view, you can also click an RMA to view the RMA details.
You can use the RMA List toolbar (Figure 4.1) to filter or search the RMAs:
- Select a state, status or type of RMA to isolate, or type something in the search field
- Click Apply in the toolbar (you can click reset to return to the default view from a filtered list)
RMA details
Clicking any RMA in the RMA list opens a details view (Figure 5.1).
From the RMA details view, you can:
- View the basic order information and the RMA type
- See the product which the RMA concerns (possibly including a product ID and a serial number)
- Enter a comment in the comment field
- See the RMA history (event log)
You can translate the event messages which occur in the RMA history log.
To do so:
- Go to Settings > Ecommerce > RMAs > Events
- Switch to the language you want to translate your event messages into
- Click the red X in the Translated column
- Translate the name and description
- Save
You can read more about internationalization in Dynamicweb here.
RMA user info
Click the user info button (Figure 6.1) in the toolbar to view and edit the extended information about the user who created the RMA.
This opens the user information view (figureref}) - with details about the user who created the RMA at hand.
Acting on RMAs
RMAs need to be acted on - by either rejecting the RMA, or create a replacement order or refund.
To do so, use the tools located on the RMA details toolbar (Figure 7.1).
From the toolbar, you can:
- Save, save and close or cancel your changes to the RMA
- Finalize the RMA by Closing or Deleting it – a finalized RMA cannot be edited or reopened
- Switch between the RMA view and the User info view
- Select a state for the RMA
- Create a replacement order
Refunds & Replacement Orders
Replacement orders can be created directly from an RMA by clicking the Create order button from the toolbar. This opens a dialog (Figure 8.1) allowing you to create different kinds of replacement orders.
You can:
- Issue a refund - please note that you must refund the customer manually, as Dynamicweb does not support direct refunds through your payment provider
- Replace the product with a different product
- Replace the product with the same product
For all types of replacement orders, you can check the close RMA when replacement order is created checkbox if it fits your RMA flow.
Email notifications
When working with RMAs, it can be useful to inform customers and employees alike when an RMA is created or closed, or when it enters a new state. Happily, the Dynamicweb RMA management system comes with a built-in engine for handling email notifications to customers and employees.
To configure RMA email notifications, go to Settings > Ecommerce > RMAs > Email configuration and open the email notification view (Figure 9.1).
From here, you can:
- Create a new RMA email notification
- Edit or translate a notification
Creating an email notification
To create a new notification click on any state in the RMA email notification view to open the view in Figure 10.1.
Next, click Add notification to open the edit email dialog (Figure 10.2).
From here, you can:
- Check the for customer checkbox to use the customer data OR specify a recipient email (to send notifications to both customer and staff, create separate notifications).
- Specify an email subject
- Select (or create/modify) an email template to use (The templates for RMA emails are located in the files/eCom/RMA/ folder)
- Provide a sender name and sender email OR check the for customer checkbox to use the customer data.
Click OK and Save and close your email notification settings for the state, event or replacement order type.
Notifications are created in the current language context only, and must be created separately in each language context.
Custom RMA states
RMA states are custom states for controlling your RMA process. A Dynamicweb solution is born with a number of default states, such as ‘Waiting for product(s) from customer’, ‘Rejected’ and ‘Sent for repair’ – but you can easily create new RMA states
To create a new RMA state:
- Go to Settings > Ecommerce > RMAs > States
- Click New state in the toolbar (Figure 11.1)
This opens the RMA state view (Figure 11.2).
From here you can:
- Name the state and optionally provide a description for it
- Decide if this is the default state for new RMAs
- Select which type of RMA is should be active for
In this manner, you can easily create custom RMA steps to suit your business needs.
EcomRmas
Contains data for RMAs including which order it's for (RmaReplacementOrderId), current state (RmaStateId) and various customer data.
Field name | Data type | Length | |
---|---|---|---|
RmaId | nvarchar | 50 | |
RmaReplacementOrderId | nvarchar | 50 | |
RmaEmailNotificationLanguage | nvarchar | 50 | |
RmaStateId | int | 4 | |
RmaClosed | bit | 1 | |
RmaDeleted | bit | 1 | |
RmaCustomerNumber | nvarchar | 255 | |
RmaCustomerCompany | nvarchar | 255 | |
RmaCustomerName | nvarchar | 255 | |
RmaCustomerAddress | nvarchar | 255 | |
RmaCustomerAddress2 | nvarchar | 255 | |
RmaCustomerZip | nvarchar | 50 | |
RmaCustomerCity | nvarchar | 255 | |
RmaCustomerCountry | nvarchar | 50 | |
RmaCustomerRegion | nvarchar | 50 | |
RmaCustomerPhone | nvarchar | 50 | |
RmaCustomerFax | nvarchar | 50 | |
RmaCustomerEmail | nvarchar | 255 | |
RmaCustomerCell | nvarchar | 50 | |
RmaCustomerRefId | nvarchar | 255 | |
RmaCustomerEAN | nvarchar | 255 | |
RmaCustomerVatRegNumber | nvarchar | 255 | |
RmaDeliveryCompany | nvarchar | 255 | |
RmaDeliveryName | nvarchar | 255 | |
RmaDeliveryAddress | nvarchar | 255 | |
RmaDeliveryAddress2 | nvarchar | 255 | |
RmaDeliveryZip | nvarchar | 50 | |
RmaDeliveryCity | nvarchar | 255 | |
RmaDeliveryCountry | nvarchar | 50 | |
RmaDeliveryRegion | nvarchar | 50 | |
RmaDeliveryPhone | nvarchar | 50 | |
RmaDeliveryFax | nvarchar | 50 | |
RmaDeliveryEmail | nvarchar | 255 | |
RmaDeliveryCell | nvarchar | 50 | |
RmaType | int | 4 | |
RmaAutoId | int | 4 | |
RmaCustomerCountryCode | nvarchar | 50 | |
RmaDeliveryCountryCode | nvarchar | 50 |
EcomRmaOrderLines
Links order lines from orders (RmaOrderLineOrderLineId) to order lines in RMAs (RmaOrderLineRmaId).
Field name | Data type | Length | |
---|---|---|---|
RmaOrderLineId | int | 4 | |
RmaOrderLineRmaId | nvarchar | 50 | |
RmaOrderLineOrderLineId | nvarchar | 50 | |
RmaOrderLineSerialNumber | nvarchar | Max |
EcomRmaComments
Contains comment data for an RMA (RmaCommentRmaId) at a given event (RmaCommentEvent) connected to a state change (RmaCommentNewRmaState).
Field name | Data type | Length | |
---|---|---|---|
RmaCommentId | int | 4 | |
RmaCommentRmaId | nvarchar | 50 | |
RmaCommentNewRmaState | int | 4 | |
RmaCommentText | nvarchar | Max | |
RmaCommentCreated | datetime | 8 | |
RmaCommentEvent | nvarchar | 255 |
EcomRmaCommentImages
Contains the path to images (RmaCommentImagePath) uploaded on an RMA comment (RmaCommentImageCommentId).
Field name | Data type | Length | |
---|---|---|---|
RmaCommentImageId | int | 4 | |
RmaCommentImageCommentId | int | 4 | |
RmaCommentImagePath | nvarchar | 255 |
EcomRmaEmailConfigurations
Contains setup data for RMA email configurations as defined in Settings -> Ecom -> RMAs -> Email configuration
Field name | Data type | Length | |
---|---|---|---|
RmaEmailConfigurationId | int | 4 | |
RmaEmailConfigurationLanguage | nvarchar | 50 | |
RmaEmailConfigurationForCustomer | bit | 1 | |
RmaEmailConfigurationRecipient | nvarchar | 255 | |
RmaEmailConfigurationSubject | nvarchar | 255 | |
RmaEmailConfigurationSenderName | nvarchar | 255 | |
RmaEmailConfigurationSenderEmail | nvarchar | 255 | |
RmaEmailConfigurationTemplate | nvarchar | Max | |
RmaEmailConfigurationSenderEmailForCustomer | bit | 1 | |
RmaEmailConfigurationSenderNameForCustomer | bit | 1 |
EcomRmaEmailConfigurationEventRelation
Links RMA email configurations (RmaEmailConfigurationEventRelationEmailConfigurationId) to events (RmaEmailConfigurationEventRelationEventType).
Field name | Data type | Length | |
---|---|---|---|
RmaEmailConfigurationEventRelationId | int | 4 | |
RmaEmailConfigurationEventRelationEmailConfigurationId | int | 4 | |
RmaEmailConfigurationEventRelationEventType | nvarchar | 255 |
EcomRmaEmailConfigurationReplacementOrderProviderRelation
Links RMA email configurations (RmaEmailConfigurationReplacementOrderProviderRelationEmailConfigurationId) to replacement order providers (RmaEmailConfigurationReplacementOrderProviderRelationReplacementOrderProviderClassName).
Field name | Data type | Length | |
---|---|---|---|
RmaEmailConfigurationReplacementOrderProviderRelationId | int | 4 | |
RmaEmailConfigurationReplacementOrderProviderRelationEmailConfigurationId | int | 4 | |
RmaEmailConfigurationReplacementOrderProviderRelationReplacementOrderProviderClassName | nvarchar | 260 |
EcomRmaEmailConfigurationStateRelation
Links RMA email configuration (RmaEmailConfigurationStateRelationEmailConfigurationId) to RMA states (RmaEmailConfigurationStateRelationStateId).
Field name | Data type | Length | |
---|---|---|---|
RmaEmailConfigurationStateRelationId | int | 4 | |
RmaEmailConfigurationStateRelationEmailConfigurationId | int | 4 | |
RmaEmailConfigurationStateRelationStateId | int | 4 |
EcomRmaEvents
System lookup table for RMA events.
Field name | Data type | Length | |
---|---|---|---|
RmaEventId | int | 4 | |
RmaEventType | nvarchar | 255 | |
RmaEventDescription | nvarchar | Max |
EcomRmaEventTranslations
Contains translations of RMA events (RmaEventTranslationEventType) to different languages (RmaEventTranslationLanguageId).
Field name | Data type | Length | |
---|---|---|---|
RmaEventTranslationEventType | nvarchar | 255 | |
RmaEventTranslationLanguageId | nvarchar | 50 | |
RmaEventTranslatedDescription | nvarchar | Max | |
RmaEventTranslationAutoId | int | 4 |
EcomRmaStates
System lookup table for RMA states.
Field name | Data type | Length | |
---|---|---|---|
RmaStateId | int | 4 | |
RmaStateDefaultName | nvarchar | 255 | |
RmaStateDefaultDescription | nvarchar | Max | |
RmaStateTypeRelation | nvarchar | Max | |
RmaStateIsDefaultStateForNewRma | bit | 1 |
EcomRmaStateTranslations
Contains translations of RMA states (RmaStateName) to different languages (RmaStateLanguageId).
Field name | Data type | Length | |
---|---|---|---|
RmaStateId | int | 4 | |
RmaStateLanguageId | nvarchar | 50 | |
RmaStateName | nvarchar | 255 | |
RmaStateDescription | nvarchar | Max | |
RmaStateTranslationAutoId | int | 4 |