Create Returns

When you create a return, in Customer Service > Orders in the Order Management System (OMS) Admin, the magento.postsales.return_management.authorize operation is sent.

To create a return, the applicable order lines must be in a SHIPPED status.

The order can be in a LOGISTICS order status, because the validation to allow to create returns occurs at the order line level.

Example of error when order does not have LOGISTICSCOMPLETE status

The line is not returnable error

Example of a magento.postsales.return_management.authorize message

{
    "return": {
        "sales_channel_id": "ST1",
        "order_id": "000000255",
        "source_id": "SOU1",
        "user": "userA",
        "custom_attributes": [],
        "lines": [
            {
                "id": "98",
                "line_number": 1,
                "custom_attributes": [],
                "reason": "Wrong",
                "reason_description": "I dont like"
            }
        ]
    }
}

OMS does not update stock with return activity.

Available sources for returns

It is possible to return an order to a different source than the one selected in the original order. This feature is enabled in the SI Portal.

These definitions are configured and enabled in your SI Portal, which is not yet accessible externally. Contact Magento Support for assistance.

After Magento Support enables sources, navigate to the OMS Admin via System > Fulfillment > Sources to see the list of sources in your OMS.

Sources in OMS Admin

System sources

Select the desired source and enable the Accepts returns? capability.

Capabilities for a source

Capabilities sources

Enabling this feature allows a source to be available when a new return is created for an order. A dropdown menu is displayed with the available sources for a return.

Returned to column

Returned to column

The original source will only appear in the dropdown when the Accepts returns capability is enabled.

The Comment field allows for a maximum length of 1000 characters.

For more information about new returns, see Customer service actions topic.

Auto approval of returns

When the magento.postsales.return_management.authorize operation is sent the return will be approved or not approved, depending on the Auto Approve Return configuration.

Auto-approval disabled

When auto-approval is disabled:

The magento.postsales.return_management.reported operation is triggered.

  {
      "return": {
          "sales_channel_id": "ST1",
          "order_id": "000000255",
          "source_id": "SOU1",
          "user": "userA",
          "rma": "RMA-CS-000000255-1",
          "custom_attributes": [],
          "status": {
              "code": "REQUESTED",
              "name": "REQUESTED",
              "reason_code": "CSRREQUEST",
              "date": "2018-03-15T14:43:54+00:00"
          },
          "lines": [
              {
                  "id": "98",
                  "line_number": 1,
                  "sku": "24-MB04",
                  "status": "REQUESTED",
                  "custom_attributes": [],
                  "reason": "Wrong",
                  "reason_description": "I dont like"
              }
          ]
      }
  }

The magento.postsales.return_management.updated operation is also triggered.

  {
      "return": {
          "sales_channel_id": "ST1",
          "order_id": "000000255",
          "source_id": "SOU1",
          "user": "userB",
          "rma": "RMA-CS-000000255-1",
          "custom_attributes": [],
          "status": {
              "code": "REQUESTED",
              "name": "REQUESTED",
              "reason_code": "CSRREQUEST",
              "date": "2018-03-15T15:03:04+00:00"
          },
          "lines": [
              {
                  "id": "98",
                  "line_number": 1,
                  "sku": "24-MB04",
                  "status": "APPROVED",
                  "custom_attributes": [],
                  "reason": "Wrong",
                  "reason_description": "I dont like"
              }
          ]
      }
  }

Manually approve a return

When you manually approve a return, in the OMS Admin > Customer Service > Orders > specific order:

The magento.postsales.return_management.received operation is triggered:

Approve a return

  {
      "return": {
          "sales_channel_id": "ST1",
          "order_id": "000000255",
          "user": "userA",
          "rma": "RMA-CS-000000255-1",
          "lines": [
              {
                  "id": "98",
                  "line_number": 1,
                  "sku": "24-MB04"
              }
          ]
      }
  }

The magento.postsales.return_management.updated operation is triggered:

      "return": {
          "sales_channel_id": "ST1",
          "order_id": "000000255",
          "source_id": "SOU1",
          "user": "userA",
          "rma": "RMA-CS-000000255-1",
          "custom_attributes": [],
          "status": {
              "code": "APPROVED",
              "name": "APPROVED",
              "reason_code": "CSRREQUEST",
              "date": "2018-03-15T15:03:04+00:00"
          },
          "lines": [
              {
                  "id": "98",
                  "line_number": 1,
                  "sku": "24-MB04",
                  "status": "APPROVED",
                  "custom_attributes": [],
                  "reason": "Wrong",
                  "reason_description": "I dont like"
              }
          ]
      }
  }

The magento.postsales.refund_management.reported operation is triggered:

  {
      "refund": {
          "order_id": "000000255",
          "store_id": "200001",
          "sales_channel_id": "ST1",
          "credit_note_number": "CES222",
          "credit_note_date": "2018-03-15T14:43:53+00:00",
          "status": {
              "code": "RELEASED",
              "name": "RELEASED",
              "reason_code": "REQUESTED",
              "reason_name": "REQUESTED",
              "date": "2018-03-15T14:43:53+00:00"
          },
          "refund_type": "Return",
          "rma": "RMA-CS-000000255-1",
          "user": "LOGISTICS",
          "refund_reason": "REQUESTED",
          "lines": [
              {
                  "order_line": "1",
                  "order_item_id": "98",
                  "reason": "Wrong",
                  "reason_description": "I dont like",
                  "payments": [
                      {
                          "details": {
                              "cost_gross": "34.64",
                              "cost_net": "32",
                              "cost_vat": "2.64",
                              "vat_rate": "8.25",
                              "vat_detail": [
                                  {
                                      "type": "VAT",
                                      "amount": "2.64",
                                      "rate": "8.25"
                                  }
                              ]
                          },
                          "status": {
                              "code": "REFUNDED",
                              "name": "REFUNDED"
                          }
                      }
                  ]
              }
          ],
          "custom_attributes": []
      }
  }

The magento.postsales.refund_management.updated operation is triggered:

  {
      "refund": {
          "order_id": "000000255",
          "store_id": "200001",
          "sales_channel_id": "ST1",
          "credit_note_number": "CES222",
          "credit_note_date": "2018-03-15T14:43:53+00:00",
          "status": {
              "code": "RELEASED",
              "name": "RELEASED",
              "reason_code": "REQUESTED",
              "reason_name": "REQUESTED",
              "date": "2018-03-15T14:43:53+00:00"
          },
          "refund_type": "Return",
          "rma": "RMA-CS-000000255-1",
          "user": "LOGISTICS",
          "refund_reason": "REQUESTED",
          "lines": [
              {
                  "order_line": "1",
                  "order_item_id": "98",
                  "reason": "Wrong",
                  "reason_description": "I dont like",
                  "payments": [
                      {
                          "details": {
                              "cost_gross": "34.64",
                              "cost_net": "32",
                              "cost_vat": "2.64",
                              "vat_rate": "8.25",
                              "vat_detail": [
                                  {
                                      "type": "VAT",
                                      "amount": "2.64",
                                      "rate": "8.25"
                                  }
                              ]
                          },
                          "status": {
                              "code": "REFUNDED",
                              "name": "REFUNDED"
                          }
                      }
                  ]
              }
          ],
          "custom_attributes": []
      }
  }

Auto-approval enabled

When auto-approval is enabled:

The magento.postsales.return_management.reported operation is triggered:

  {
      "return": {
          "sales_channel_id": "ST1",
          "order_id": "000000255",
          "source_id": "SOU1",
          "user": "userA",
          "rma": "RMA-CS-000000255-1",
          "custom_attributes": [],
          "status": {
              "code": "REQUESTED",
              "name": "REQUESTED",
              "reason_code": "CSRREQUEST",
              "date": "2018-03-15T14:43:54+00:00"
          },
          "lines": [
              {
                  "id": "98",
                  "line_number": 1,
                  "sku": "24-MB04",
                  "status": "REQUESTED",
                  "custom_attributes": [],
                  "reason": "Wrong",
                  "reason_description": "I dont like"
              }
          ]
      }
  }

The magento.postsales.return_management.updated operation is triggered:

  {
      "return": {
          "sales_channel_id": "ST1",
          "order_id": "000000255",
          "source_id": "SOU1",
          "user": "userA",
          "rma": "RMA-CS-000000255-1",
          "custom_attributes": [],
          "status": {
              "code": "REQUESTED",
              "name": "REQUESTED",
              "reason_code": "CSRREQUEST",
              "date": "2018-03-15T15:03:04+00:00"
          },
          "lines": [
              {
                  "id": "98",
                  "line_number": 1,
                  "sku": "24-MB04",
                  "status": "REQUESTED",
                  "custom_attributes": [],
                  "reason": "Wrong",
                  "reason_description": "I dont like"
              }
          ]
      }
  }

The magento.postsales.return_management.authorize operation will be automatically sent:

  {
      "return": {
          "sales_channel_id": "ST1",
          "order_id": "000000257",
          "source_id": "SOU1",
          "user": "userA",
          "custom_attributes": [],
          "lines": [
              {
                  "id": "98",
                  "line_number": 1,
                  "custom_attributes": [],
                  "reason": "Wrong",
                  "reason_description": "I don't like"
              }
          ]
      }
  }

The magento.postsales.return_management.reported operation is triggered:

  {
      "return": {
          "sales_channel_id": "ST1",
          "order_id": "000000255",
          "source_id": "SOU1",
          "user": "userA",
          "rma": "RMA-CS-000000255-1",
          "custom_attributes": [],
          "status": {
              "code": "APPROVED",
              "name": "APPROVED",
              "reason_code": "CSRREQUEST",
              "date": "2018-03-15T14:43:54+00:00"
          },
          "lines": [
              {
                  "id": "98",
                  "line_number": 1,
                  "sku": "24-MB04",
                  "status": "APPROVED",
                  "custom_attributes": [],
                  "reason": "Wrong",
                  "reason_description": "I dont like"
              }
          ]
      }
  }

The magento.postsales.refund_management.reported operation is triggered:

    {
      "refund": {
          "order_id": "000000257",
          "store_id": "200001",
          "sales_channel_id": "ST1",
          "credit_note_number": "CES224",
          "credit_note_date": "2018-03-15T15:48:28+00:00",
          "status": {
              "code": "RELEASED",
              "name": "RELEASED",
              "reason_code": "REQUESTED",
              "reason_name": "REQUESTED",
              "date": "2018-03-15T15:48:28+00:00"
          },
          "refund_type": "Return",
          "rma": "RMA-CS-000000257-1",
          "user": "LOGISTICS",
          "refund_reason": "REQUESTED",
          "lines": [
              {
                  "order_line": "1",
                  "order_item_id": "98",
                  "reason": "Wrong",
                  "reason_description": "I don't like",
                  "payments": [
                      {
                          "details": {
                              "cost_gross": "34.64",
                              "cost_net": "32",
                              "cost_vat": "2.64",
                              "vat_rate": "8.25",
                              "vat_detail": [
                                  {
                                      "type": "VAT",
                                      "amount": "2.64",
                                      "rate": "8.25"
                                  }
                              ]
                          },
                          "status": {
                              "code": "REFUNDED",
                              "name": "REFUNDED"
                          }
                      }
                  ]
              }
          ],
          "custom_attributes": []
      }
  }

The magento.postsales.return_management.updated operation is triggered:

  {
      "return": {
          "sales_channel_id": "ST1",
          "order_id": "000000257",
          "source_id": "SOU1",
          "user": "userA",
          "rma": "RMA-CS-000000257-1",
          "custom_attributes": [],
          "status": {
              "code": "APPROVED",
              "name": "APPROVED",
              "reason_code": "CSRREQUEST",
              "date": "2018-03-15T15:48:30+00:00"
          },
          "lines": [
              {
                  "id": "98",
                  "line_number": 1,
                  "sku": "24-MB04",
                  "status": "APPROVED",
                  "custom_attributes": [],
                  "reason": "Wrong",
                  "reason_description": "I don't like"
              }
          ]
      }
  }

The magento.postsales.refund_management.updated operation is triggered:

  {
      "refund": {
          "order_id": "000000257",
          "store_id": "200001",
          "sales_channel_id": "ST1",
          "credit_note_number": "CES224",
          "credit_note_date": "2018-03-15T15:48:28+00:00",
          "status": {
              "code": "RELEASED",
              "name": "RELEASED",
              "reason_code": "REQUESTED",
              "reason_name": "REQUESTED",
              "date": "2018-03-15T15:48:28+00:00"
          },
          "refund_type": "Return",
          "rma": "RMA-CS-000000257-1",
          "user": "LOGISTICS",
          "refund_reason": "REQUESTED",
          "lines": [
              {
                  "order_line": "1",
                  "order_item_id": "98",
                  "reason": "Wrong",
                  "reason_description": "I don't like",
                  "payments": [
                      {
                          "details": {
                              "cost_gross": "34.64",
                              "cost_net": "32",
                              "cost_vat": "2.64",
                              "vat_rate": "8.25",
                              "vat_detail": [
                                  {
                                      "type": "VAT",
                                      "amount": "2.64",
                                      "rate": "8.25"
                                  }
                              ]
                          },
                          "status": {
                              "code": "REFUNDED",
                              "name": "REFUNDED"
                          }
                      }
                  ]
              }
          ],
          "custom_attributes": []
      }
  }

See the Auto release refund topic for more information about how to manually approve a refund for an order or for order lines.