Custom Fields

Sometimes information, collected on RMA Request, is not enough. For this case, our extension allows you to create Custom Fields, that will be displayed on both frontend and backend. You can use them to collect and store additional information.

Custom Fields can be of two major types:

  • RMA-based - these fields are applied to RMA as a whole, and will be displayed at Additional Information section. They also will be available as email transaction variables, and can be used in Workflow Rules.
  • Product-based - these fields are applied to particular return items, and will be displayed in corresponding collapsible panel. They are not available as email variables, and can not be used in Workflow Rules.
    There's still a possibility to use these custom fields in transactional emails, via custom modifications. Read more at Emails Notification section.

Select major type, depending on the exact task. For example, you need to have customer enter shipping tracking number - it can be done via RMA-based custom field. But if you need to have customer to enter serial ID for each of returned items - you need a product-based custom field.

All Custom Fields are located in their dedicated Grid RMA -> Dictionaries -> Custom Fields. There's special Product column, which indicates, whether custom field applies to particular return item, or no.

Custom

You can also Change Status (e. q. activate/deactivate custom field), and Delete them, if need, via mass actions.

All Custom Fields in fact are custom-created additional fields for tables [YOUR_PREFIX]m_rma_rma (for RMA-based), [YOUR_PREFIX]m_rma_item (for items of Regular Return) and [YOUR_PREFIX]m_rma_offline_item (for items of Offline Order).

Warning: If you will delete custom field, or change its major type, all data will be lost. If you wish to keep data - just deactivate Custom Field. It won't be displayed or available for edit, but data still will be stored in corresponding database tables.

Please, have a look to the some examples of Custom Fields, prior to creation of your own.


How to create a new Custom Field

Visit RMA -> Dictionaries -> Custom Fields, and press the button Add New. You will be brought to the Custom Field creation page.

Select major type first, as shown on screenshot below. If you need to create a custom field for a particular product, you should set it to Yes. For RMA-based custom fields just leave it in default state (e. q. No).

Custom Field Major Type

Warning: It is strongly recommended to decide, which type of custom field do you plan to use at the stage of field creation. You can change custom field type later, but this will cause destroying all previous data.

The following properties are identical for both major types of Custom Fields:

  • Title - Title of the field.
  • Code - A unique internal code of the field.

    This field can be used for accessing custom field content at transactional emails (applies only to RMA-based major type):

    • If Code is declared in lower case, special variables {{var rma.get[VARIABLE_CODE]()}} can be used. E. q. if code is "stage", then variable would be {{var rma.getStage()}};
    • If Code is declared in mixed case (e. q. contains both capital and small letters), then use generic variable {{var rma.getData([VARIABLE_CODE])}}. E. q. if code is "Return_Tracking", then variable would be {{var rma.getData("Return_Tracking")}}.

    Read more at Emails Notification section.

  • Type - type of widget, associated with this field, and used for editing.
    • Text - Simple one-line text field.
    • Multi-line text - Multiple lines text field (textarea).
    • Date - Date with calendar pickup widget.
    • Checkbox - Checkbox.
    • Drop-down list - Combo-Box with drop-down menu.
  • Description - Description of the field. Will be displayed as hint under editing widget.
  • Options list - Options definition for custom fields only of Drop-down list type, should be empty for all other types.
    Each option should have format [ACTUAL] | [DISPLAYED]. First value in this pair - ACTUAL - is the actual value, that will be stored at the RMA table. It also will be displayed at the Grid, and as a result of email variables. DISPLAYED value is displayed only at RMA editing stage (both frontend and backend):
    actual_value1 | displayed_label1
    actual_value2 | displayed_label2

    Read more at Examples section below.

  • Active - whether this field is active and available for editing.
    If Custom Field is deactivated, associated field in database is not removed, just not used - e. q. for all RMA, placed during inactivity, it will have NULL value.
  • Sort Order - sorting order of custom field. Fields will be displayed according to this value - from lesser to greater.
  • Is required for staff - whether agent is required to fill this field.
  • Is required for customers - whether customer is required to fill this field.
  • Visible for customers in statuses - allows to show current field to customer only on specified statuses of RMA. In backend, however, Custom Fields will be shown regardless of this property.
    This field lists all active statuses, defined at Statuses grid.
    It also adds a special status - RMA Creation - it is a special built-in status, which commands to display current custom field at frontend RMA Creation Page.
  • Is editable for customers - If this option is enabled, customer can edit value of this field at frontend.

Examples of Custom Fields

- RMA-based Custom Fields

  • Custom Field for Guarantee Number (for Repair Service)

    This custom field will appear as simple text field, where customers are required to enter their guarantee number.

    • Title: Guarantee Number
    • Code: guarantee
    • Type: Text
    • Description: Guarantee Ticket Number, provided to you at the store
    • Active: Yes
    • Product Field: No
    • Is Required for Staff: No
    • Is Required for Customers: No
    • Visible for Customers In Statuses: RMA Creation, Pending Approval, Approved
    • Is Show In Confirm Shipping Dialog: No
    • Is Editable for Customers: Yes  
  • Custom Field for Originating Store (for manually picked products, for example)

    This field will appear as drop-down list, where customers can select, where they get their product.

    • Title: Originating Store
    • Code: store_origin
    • Type: Drop-down list
    • Description: Store, where product was actually bought or picked
    • Options List (should be entered as multi-line text):
      • magellan | Trade-Center "Magellan"
      • city_ok | Trade-Center "City OK"
      • walmart | Walmart
      • ebay | E-Bay
    • Active: Yes
    • Product Field: No
    • Is Required for Staff: No
    • Is Required for Customers: No
    • Visible for Customers In Statuses: all statuses
    • Is Show In Confirm Shipping Dialog: No
    • Is Editable for Customers: Yes

     

  • Custom Field for Shipping Carrier (for confirming shipment)

    This field will be shown only when customer is required to confirm shipment.

    • Title: Shipping Carrier
    • Code: carrier
    • Type: Drop-down list
    • Description: Service, which you had used for returning product
    • Options List (should be entered as multi-line text):
      • fedex | Federal Express
      • dhl | DHL
      • usps | United States Postal Service
      • other | Other
    • Active: Yes
    • Product Field: No
    • Is Required for Staff: No
    • Is Required for Customers: No
    • Visible for Customers In Statuses: Approved (or other status, where option Show buttons 'Print RMA Packing Slip' and 'Confirm Shipping' in the customer account is set)
    • Is Show In Confirm Shipping Dialog: Yes
    • Is Editable for Customers: Yes

    In this case, make sure, that option Ask customer to confirm shipping is set to Yes at General Settings.

     

  • Custom Field for Requesting Additional Guidelines

    This field allows you to mark, whether customer wants to receive additional guidelines for returning products.

    • Title: Send me Additional Guideline
    • Code: send_guideline
    • Type: Checkbox
    • Description: If this checkbox set, send customer additional guideline.
    • Active: Yes
    • Product Field: No
    • Is Required for Staff: No
    • Is Required for Customers: No
    • Visible for Customers In Statuses: RMA Creation, Pending Approval
    • Is Show In Confirm Shipping Dialog: Yes
    • Is Editable for Customers: Yes

    Such checkbox-based custom fields are best used with supporting Workflow Rules (see Enhancing with Workflow Rules section below).

     

- Product Custom Fields

  • Custom Field for IMEI

    Selling mobile phones also requires from customer to send authentical IMEI on requesting repairs. This field will help you to collect it.

    • Title: Mobile IMEI Number
    • Code: imei
    • Type: Text
    • Description: IMEI number, shipped with mobile phone
    • Active: Yes
    • Product Field: Yes
    • Is Required for Staff: No
    • Is Required for Customers: No
    • Visible for Customers In Statuses: RMA Creation, Pending Approval, Approved
    • Is Show In Confirm Shipping Dialog: No
    • Is Editable for Customers: Yes  
  • Custom Field for Repair Services

    When you have an extensible number of different services, provided by repairing facility, you can create that many desired Resolutions. But this will make RMA request too complex. It's much more effective to create supporting Product Field, so customer can request also specific type of service.

    • Title: Repairing service
    • Code: repair_service
    • Type: Drop-down list
    • Description: Which repair type is needed
    • Options List (should be entered as multi-line text):
      • firmware | Update or Re-Program Firmware
      • case | Repair or Change Case
      • screen | Replace Screen
      • reanimate | Reanimate Burnt Device
      • other | Other Service
    • Active: Yes
    • Product Field: Yes
    • Is Required for Staff: No
    • Is Required for Customers: No
    • Visible for Customers In Statuses: all statuses
    • Is Show In Confirm Shipping Dialog: No
    • Is Editable for Customers: Yes

     

  • Custom Field for Damage Description

    Sometimes, products comes to return damaged. To serve customer the best, you need to know exactly, what was happened. This field will allow customer to describe, how product was damaged.

    • Title: Damage Details
    • Code: damage_details
    • Type: Multi-line text
    • Description: How product was damaged
    • Active: Yes
    • Product Field: Yes
    • Is Required for Staff: No
    • Is Required for Customers: No
    • Visible for Customers In Statuses: all statuses
    • Is Show In Confirm Shipping Dialog: No
    • Is Editable for Customers: Yes

     

  • Custom Field for Preferred Exchange Type

    There can be many options for exchange.

    • Title: Preferred Exchange Type
    • Code: preferred_exchange
    • Type: Drop-down list
    • Description: Preferred Exchange Option.
    • Options List (should be entered as multi-line text):
      • same | Replace with the same product
      • similar | Exchange with similar product
      • cheaper | Give me a more cheaper alternative
      • expense | Exchange to a more costly product with additional payment
      • other | Other Service
    • Active: Yes
    • Product Field: Yes
    • Is Required for Staff: No
    • Is Required for Customers: No
    • Visible for Customers In Statuses: all statuses
    • Is Show In Confirm Shipping Dialog: No
    • Is Editable for Customers: Yes

     

- Enhancing with Workflow Rules

Custom Fields also can be used in Workflow Rules, allowing you not only to collect additional information, but also automate your return policy using that collected data.

Enhancing with Workflow Rules applies only to RMA-based Custom Fields.

  • Automatically send to customer additional guidelines for returning product

    This Workflow Rule enhances custom field Requesting Additional Guidelines, described above. It will be triggered on transition from Pending Approval status to Approved, automatically sending to customer all required documents.

    • Event: RMA has been changed
    • Conditions:
      • Status is Approved
      • Status (before change) is Pending Approval
      • Send me Additional Guidelines is 1 (Custom Fields of Checkbox type return 1 when selected, and 0 when deselected)
    • Actions:
      • Resolved: Mark as unresolved
    • Notifications:
      • Send email to customer: Yes
      • Email subject: Guidelines for returning product
      • Email body: [Message about guidelines]
      • Attach files which were attached to the last message: Yes (if applicable, it is attachments (documents, etc) provided by customer before)

     

  • Automatically reject all requests with non-specified IMEI

    This Workflow Rule enhances rule Mobile IMEI Number, which is described above. It can be used, when customer should to provide IMEI for Repair Service, but does not need this for Refund. Thus, we need to notify customer about his error and ask him to place another RMA, with correct data.

    • Event: RMA has been changed
    • Conditions:
      • Status is Pending Approval
      • Items have resolution is Repair
      • Mobile IMEI Number is ... (e. q. value is not entered)
    • Actions:
      • Resolved: Mark as resolved
      • Set Status: Rejected
    • Notifications:
      • Send email to customer: Yes
      • Email subject: You had placed incorrect request
      • Email body: [Message about correct RMA placement]

     

Examples, described above, are merely simple and mostly requested cases. The real possibilities behing Custom Field, especially with Workflow Rules enhancements - are nearly limitless.

RMA