diff --git a/vendor/magento/module-sales-archive/Observer/ArchiveGridAsyncUpdateObserver.php b/vendor/magento/module-sales-archive/Observer/ArchiveGridAsyncUpdateObserver.php
new file mode 100644
index 000000000000..a577f245e032
--- /dev/null
+++ b/vendor/magento/module-sales-archive/Observer/ArchiveGridAsyncUpdateObserver.php
@@ -0,0 +1,76 @@
+config = $config;
+ $this->archive = $archive;
+ $this->globalConfig = $globalConfig;
+ }
+
+ /**
+ * Handles asynchronous update of the updated entity
+ *
+ * @param EventObserver $observer
+ * @return void
+ */
+ public function execute(EventObserver $observer)
+ {
+ if (!$this->config->isArchiveActive()) {
+ return $this;
+ }
+ $creditmemo = $observer->getEvent()->getCreditmemo();
+ $order = $creditmemo->getOrder();
+ if ($order->getId() && $this->globalConfig->isSetFlag('dev/grid/async_indexing')) {
+ $connection = $this->archive->getConnection();
+ $connection->update(
+ $this->archive->getArchiveEntityTable('order'),
+ [self::STATUS => $order->getStatus()],
+ $connection->quoteInto($order->getIdFieldName() . '= ?', $order->getId())
+ );
+ }
+ }
+}
diff --git a/vendor/magento/module-sales-archive/etc/adminhtml/events.xml b/vendor/magento/module-sales-archive/etc/adminhtml/events.xml
index b9d3cdf35285..8cdbe7231832 100644
--- a/vendor/magento/module-sales-archive/etc/adminhtml/events.xml
+++ b/vendor/magento/module-sales-archive/etc/adminhtml/events.xml
@@ -21,4 +21,7 @@
+
+
+