diff --git a/ee/app/assets/javascripts/subscriptions/buy_addons_shared/components/app.vue b/ee/app/assets/javascripts/subscriptions/buy_addons_shared/components/app.vue
index 197ce3db4060279ab994a8ee01585363380157f8..c9131203ae67d2fbaa6542d7eed0dabdcdfa1152 100644
--- a/ee/app/assets/javascripts/subscriptions/buy_addons_shared/components/app.vue
+++ b/ee/app/assets/javascripts/subscriptions/buy_addons_shared/components/app.vue
@@ -3,7 +3,7 @@ import emptySvg from '@gitlab/svgs/dist/illustrations/empty-state/empty-dashboar
 import { GlEmptyState } from '@gitlab/ui';
 import * as Sentry from '~/sentry/sentry_browser_wrapper';
 import { logError } from '~/lib/logger';
-import StepOrderApp from 'ee/vue_shared/purchase_flow/components/step_order_app.vue';
+import StepOrderApp from 'ee/subscriptions/shared/components/purchase_flow/components/step_order_app.vue';
 import OrderSummary from 'jh_else_ee/subscriptions/buy_addons_shared/components/order_summary.vue';
 import { ERROR_FETCHING_DATA_HEADER, ERROR_FETCHING_DATA_DESCRIPTION } from '~/ensure_data';
 import Checkout from 'jh_else_ee/subscriptions/buy_addons_shared/components/checkout.vue';
@@ -17,7 +17,7 @@ import stateQuery from 'ee/subscriptions/graphql/queries/state.query.graphql';
 import {
   PURCHASE_ERROR_DICTIONARY,
   CONTACT_SUPPORT_DEFAULT_MESSAGE,
-} from 'ee/vue_shared/purchase_flow/error_constants';
+} from 'ee/subscriptions/shared/components/purchase_flow/error_constants';
 
 export default {
   components: {
diff --git a/ee/app/assets/javascripts/subscriptions/buy_addons_shared/components/checkout.vue b/ee/app/assets/javascripts/subscriptions/buy_addons_shared/components/checkout.vue
index f6b2150970b2deb25c1ea9508e23dd13b350730e..cb0768a03c73c51b8d84dc3746015dee119dbd94 100644
--- a/ee/app/assets/javascripts/subscriptions/buy_addons_shared/components/checkout.vue
+++ b/ee/app/assets/javascripts/subscriptions/buy_addons_shared/components/checkout.vue
@@ -1,9 +1,9 @@
 <!-- eslint-disable vue/multi-word-component-names -->
 <script>
 import updateState from 'ee/subscriptions/graphql/mutations/update_state.mutation.graphql';
-import BillingAddress from 'jh_else_ee/vue_shared/purchase_flow/components/checkout/billing_address.vue';
-import ConfirmOrder from 'ee/vue_shared/purchase_flow/components/checkout/confirm_order.vue';
-import PaymentMethod from 'ee/vue_shared/purchase_flow/components/checkout/payment_method.vue';
+import BillingAddress from 'jh_else_ee/subscriptions/shared/components/purchase_flow/components/checkout/billing_address.vue';
+import ConfirmOrder from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/confirm_order.vue';
+import PaymentMethod from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/payment_method.vue';
 import { s__ } from '~/locale';
 import { PurchaseEvent } from 'ee/subscriptions/new/constants';
 
diff --git a/ee/app/assets/javascripts/subscriptions/buy_addons_shared/components/checkout/addon_purchase_details.vue b/ee/app/assets/javascripts/subscriptions/buy_addons_shared/components/checkout/addon_purchase_details.vue
index dc05f622b45d3151ec1d464e38df78b0be88a19e..cc75df3686ba72e97c3ee00c6c508d5784d3821f 100644
--- a/ee/app/assets/javascripts/subscriptions/buy_addons_shared/components/checkout/addon_purchase_details.vue
+++ b/ee/app/assets/javascripts/subscriptions/buy_addons_shared/components/checkout/addon_purchase_details.vue
@@ -2,7 +2,7 @@
 import { GlAlert, GlFormInput } from '@gitlab/ui';
 import { STEPS } from 'ee/subscriptions/constants';
 import updateState from 'ee/subscriptions/graphql/mutations/update_state.mutation.graphql';
-import Step from 'ee/vue_shared/purchase_flow/components/step.vue';
+import Step from 'ee/subscriptions/shared/components/purchase_flow/components/step.vue';
 import autofocusonshow from '~/vue_shared/directives/autofocusonshow';
 import { PurchaseEvent } from 'ee/subscriptions/new/constants';
 import {
diff --git a/ee/app/assets/javascripts/subscriptions/buy_addons_shared/graphql.js b/ee/app/assets/javascripts/subscriptions/buy_addons_shared/graphql.js
index 4e5771a0bb9aa204a0f06d5f71063c646268196f..85cf3b40dffe61ef7ca420c1576c11fed6344d30 100644
--- a/ee/app/assets/javascripts/subscriptions/buy_addons_shared/graphql.js
+++ b/ee/app/assets/javascripts/subscriptions/buy_addons_shared/graphql.js
@@ -1,8 +1,8 @@
 import { merge } from 'lodash';
 import Vue from 'vue';
 import VueApollo from 'vue-apollo';
-import purchaseFlowResolvers from 'ee/vue_shared/purchase_flow/graphql/resolvers';
-import typeDefs from 'ee/vue_shared/purchase_flow/graphql/typedefs.graphql';
+import purchaseFlowResolvers from 'ee/subscriptions/shared/components/purchase_flow/graphql/resolvers';
+import typeDefs from 'ee/subscriptions/shared/components/purchase_flow/graphql/typedefs.graphql';
 import createClient from '~/lib/graphql';
 import { createCustomersDotClient } from 'ee/lib/customers_dot_graphql';
 import typeDefsCDot from 'ee/subscriptions/buy_addons_shared/graphql/typedefs.graphql';
diff --git a/ee/app/assets/javascripts/subscriptions/new/components/app.vue b/ee/app/assets/javascripts/subscriptions/new/components/app.vue
index 783b9e00a1be0b15abb2ce9ddd4c80fa5df18bc8..9a96b1a49a2014136f3e8e1a30b51f1742c286c4 100644
--- a/ee/app/assets/javascripts/subscriptions/new/components/app.vue
+++ b/ee/app/assets/javascripts/subscriptions/new/components/app.vue
@@ -1,6 +1,6 @@
 <script>
 import * as Sentry from '~/sentry/sentry_browser_wrapper';
-import StepOrderApp from 'ee/vue_shared/purchase_flow/components/step_order_app.vue';
+import StepOrderApp from 'ee/subscriptions/shared/components/purchase_flow/components/step_order_app.vue';
 import Checkout from 'jh_else_ee/subscriptions/new/components/checkout.vue';
 import ConfirmOrder from 'ee/subscriptions/new/components/checkout/confirm_order.vue';
 import OrderSummary from 'jh_else_ee/subscriptions/new/components/order_summary.vue';
@@ -8,7 +8,7 @@ import ErrorAlert from 'ee/vue_shared/components/error_alert/error_alert.vue';
 import {
   PURCHASE_ERROR_DICTIONARY,
   CONTACT_SUPPORT_DEFAULT_MESSAGE,
-} from 'ee/vue_shared/purchase_flow/error_constants';
+} from 'ee/subscriptions/shared/components/purchase_flow/error_constants';
 
 export default {
   components: {
diff --git a/ee/app/assets/javascripts/subscriptions/new/components/checkout/billing_address.vue b/ee/app/assets/javascripts/subscriptions/new/components/checkout/billing_address.vue
index a2034c81c48c723fd610026016e34f0099eaa717..cde2c70c39af49228aa25dac5522af13930b75ed 100644
--- a/ee/app/assets/javascripts/subscriptions/new/components/checkout/billing_address.vue
+++ b/ee/app/assets/javascripts/subscriptions/new/components/checkout/billing_address.vue
@@ -9,16 +9,16 @@ import {
   COUNTRY_SELECT_PROMPT,
   STATE_SELECT_PROMPT,
 } from 'ee/subscriptions/constants';
-import Step from 'ee/vue_shared/purchase_flow/components/step.vue';
-import BillingAccountDetails from 'ee/vue_shared/purchase_flow/components/checkout/billing_account_details.vue';
+import Step from 'ee/subscriptions/shared/components/purchase_flow/components/step.vue';
+import BillingAccountDetails from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details.vue';
 import { s__ } from '~/locale';
 import autofocusonshow from '~/vue_shared/directives/autofocusonshow';
 import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
 import Tracking from '~/tracking';
-import getBillingAccountQuery from 'ee/vue_shared/purchase_flow/graphql/queries/get_billing_account.customer.query.graphql';
+import getBillingAccountQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/get_billing_account.customer.query.graphql';
 import { CUSTOMERSDOT_CLIENT } from 'ee/subscriptions/buy_addons_shared/constants';
 import { logError } from '~/lib/logger';
-import SprintfWithLinks from 'ee/vue_shared/purchase_flow/components/checkout/sprintf_with_links.vue';
+import SprintfWithLinks from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/sprintf_with_links.vue';
 import * as Sentry from '~/sentry/sentry_browser_wrapper';
 import { helpPagePath } from '~/helpers/help_page_helper';
 
diff --git a/ee/app/assets/javascripts/subscriptions/new/components/checkout/confirm_order.vue b/ee/app/assets/javascripts/subscriptions/new/components/checkout/confirm_order.vue
index 7cae5f9a86bf11d6bc0afc07dd6e0b2ec7b77410..abc6f8a0441a226fee37d50b3ce2d64776c6a166 100644
--- a/ee/app/assets/javascripts/subscriptions/new/components/checkout/confirm_order.vue
+++ b/ee/app/assets/javascripts/subscriptions/new/components/checkout/confirm_order.vue
@@ -6,7 +6,7 @@ import { v4 as uuidv4 } from 'uuid';
 import { isEqual, isObject } from 'lodash';
 import { STEPS } from 'ee/subscriptions/constants';
 import { PurchaseEvent } from 'ee/subscriptions/new/constants';
-import activeStepQuery from 'ee/vue_shared/purchase_flow/graphql/queries/active_step.query.graphql';
+import activeStepQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/active_step.query.graphql';
 import { s__, sprintf } from '~/locale';
 import Api from 'ee/api';
 import { trackTransaction } from 'ee/google_tag_manager';
@@ -15,7 +15,7 @@ import { addExperimentContext } from '~/tracking/utils';
 import { ActiveModelError } from '~/lib/utils/error_utils';
 import { isInvalidPromoCodeError } from 'ee/subscriptions/new/utils';
 import { visitUrl } from '~/lib/utils/url_utility';
-import { extractErrorCode } from 'ee/vue_shared/purchase_flow/zuora_utils';
+import { extractErrorCode } from 'ee/subscriptions/shared/components/purchase_flow/zuora_utils';
 import PrivacyAndTermsConfirm from 'ee/subscriptions/shared/components/privacy_and_terms_confirm.vue';
 
 export default {
diff --git a/ee/app/assets/javascripts/subscriptions/new/components/checkout/payment_method.vue b/ee/app/assets/javascripts/subscriptions/new/components/checkout/payment_method.vue
index 0513cbb475683e9d143947ab88b197bdb8f2f435..f3e60f417bb89541a9a50e7ac2c82fcecb68ce76 100644
--- a/ee/app/assets/javascripts/subscriptions/new/components/checkout/payment_method.vue
+++ b/ee/app/assets/javascripts/subscriptions/new/components/checkout/payment_method.vue
@@ -3,10 +3,10 @@ import { GlSprintf } from '@gitlab/ui';
 // eslint-disable-next-line no-restricted-imports
 import { mapActions, mapState } from 'vuex';
 import { STEP_PAYMENT_METHOD, TRACK_SUCCESS_MESSAGE } from 'ee/subscriptions/constants';
-import Step from 'ee/vue_shared/purchase_flow/components/step.vue';
+import Step from 'ee/subscriptions/shared/components/purchase_flow/components/step.vue';
 import { sprintf, s__ } from '~/locale';
 import Tracking from '~/tracking';
-import { i18n } from 'ee/vue_shared/purchase_flow/constants';
+import { i18n } from 'ee/subscriptions/shared/components/purchase_flow/constants';
 import Zuora from './zuora.vue';
 
 export default {
diff --git a/ee/app/assets/javascripts/subscriptions/new/components/checkout/subscription_details.vue b/ee/app/assets/javascripts/subscriptions/new/components/checkout/subscription_details.vue
index a93faaad13e4c954ec9ec739f26204d766b80b10..23ac40cab02b7be7079bc1e27b5fcbf8b204be4f 100644
--- a/ee/app/assets/javascripts/subscriptions/new/components/checkout/subscription_details.vue
+++ b/ee/app/assets/javascripts/subscriptions/new/components/checkout/subscription_details.vue
@@ -13,7 +13,7 @@ import { isEmpty } from 'lodash';
 import { mapActions, mapGetters, mapState } from 'vuex';
 import { QSR_RECONCILIATION_PATH, STEP_SUBSCRIPTION_DETAILS } from 'ee/subscriptions/constants';
 import { PurchaseEvent, NEW_GROUP } from 'ee/subscriptions/new/constants';
-import Step from 'ee/vue_shared/purchase_flow/components/step.vue';
+import Step from 'ee/subscriptions/shared/components/purchase_flow/components/step.vue';
 import { __, s__, sprintf } from '~/locale';
 import autoFocusOnShow from '~/vue_shared/directives/autofocusonshow';
 import Tracking from '~/tracking';
diff --git a/ee/app/assets/javascripts/subscriptions/new/components/checkout/zuora.vue b/ee/app/assets/javascripts/subscriptions/new/components/checkout/zuora.vue
index c0764ffd084443623f6083f931e7e42a191a8b1e..4146194a517830bd246d9855f29d956440740c2f 100644
--- a/ee/app/assets/javascripts/subscriptions/new/components/checkout/zuora.vue
+++ b/ee/app/assets/javascripts/subscriptions/new/components/checkout/zuora.vue
@@ -4,7 +4,7 @@ import { GlLoadingIcon } from '@gitlab/ui';
 // eslint-disable-next-line no-restricted-imports
 import { mapState, mapActions } from 'vuex';
 import Tracking from '~/tracking';
-import { extractErrorCode } from 'ee/vue_shared/purchase_flow/zuora_utils';
+import { extractErrorCode } from 'ee/subscriptions/shared/components/purchase_flow/zuora_utils';
 import { ZUORA_SCRIPT_URL, ZUORA_IFRAME_OVERRIDE_PARAMS } from 'ee/subscriptions/constants';
 
 export default {
diff --git a/ee/app/assets/javascripts/subscriptions/new/graphql.js b/ee/app/assets/javascripts/subscriptions/new/graphql.js
index 1b743cc92c9645455ff835b5f6caffbad2130e4e..b03866b50a6ea60ef50d4d8e822194f09f4e60f8 100644
--- a/ee/app/assets/javascripts/subscriptions/new/graphql.js
+++ b/ee/app/assets/javascripts/subscriptions/new/graphql.js
@@ -1,8 +1,8 @@
-import activeStepQuery from 'ee/vue_shared/purchase_flow/graphql/queries/active_step.query.graphql';
-import stepListQuery from 'ee/vue_shared/purchase_flow/graphql/queries/step_list.query.graphql';
-import furthestAccessedStepQuery from 'ee/vue_shared/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql';
-import resolvers from 'ee/vue_shared/purchase_flow/graphql/resolvers';
-import typeDefs from 'ee/vue_shared/purchase_flow/graphql/typedefs.graphql';
+import activeStepQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/active_step.query.graphql';
+import stepListQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/step_list.query.graphql';
+import furthestAccessedStepQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql';
+import resolvers from 'ee/subscriptions/shared/components/purchase_flow/graphql/resolvers';
+import typeDefs from 'ee/subscriptions/shared/components/purchase_flow/graphql/typedefs.graphql';
 import createDefaultClient from '~/lib/graphql';
 import { STEPS } from '../constants';
 
diff --git a/ee/app/assets/javascripts/subscriptions/new/store/actions.js b/ee/app/assets/javascripts/subscriptions/new/store/actions.js
index 82d87df364d1d6362050790a70147af796542533..c748a5c14b72b0acb41bf0e676055a6e6ee28c6a 100644
--- a/ee/app/assets/javascripts/subscriptions/new/store/actions.js
+++ b/ee/app/assets/javascripts/subscriptions/new/store/actions.js
@@ -1,6 +1,6 @@
 import Api from 'ee/api';
 import { PAYMENT_FORM_ID } from 'ee/subscriptions/constants';
-import activateNextStepMutation from 'ee/vue_shared/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql';
+import activateNextStepMutation from 'ee/subscriptions/shared/components/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql';
 import { s__, sprintf } from '~/locale';
 import { trackCheckout } from 'ee/google_tag_manager';
 import defaultClient from '../graphql';
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/billing_account_details.stories.js b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details.stories.js
similarity index 81%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/billing_account_details.stories.js
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details.stories.js
index 95d5afcab152eae04df16374755b71a7410ef843..7923f3987273ac939fafc798bb63d72e89673452 100644
--- a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/billing_account_details.stories.js
+++ b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details.stories.js
@@ -3,7 +3,8 @@ import BillingAccountDetails from './billing_account_details.vue';
 
 export default {
   component: BillingAccountDetails,
-  title: 'ee/vue_shared/purchase_flow/components/checkout/billing_account_details',
+  title:
+    'ee/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details',
 };
 
 const Template = (args, { argTypes }) => ({
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/billing_account_details.vue b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details.vue
similarity index 70%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/billing_account_details.vue
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details.vue
index da3abf2d4ac5c0e92132fdaf3f31c81101a9d3d3..36fb60206b49b5649523eaba09a53765c84c165c 100644
--- a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/billing_account_details.vue
+++ b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details.vue
@@ -1,6 +1,6 @@
 <script>
-import CompanyInformation from 'ee/vue_shared/purchase_flow/components/company_information.vue';
-import ContactBillingAddress from 'ee/vue_shared/purchase_flow/components/contact_billing_address.vue';
+import CompanyInformation from 'ee/subscriptions/shared/components/purchase_flow/components/company_information.vue';
+import ContactBillingAddress from 'ee/subscriptions/shared/components/purchase_flow/components/contact_billing_address.vue';
 
 export default {
   components: {
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/billing_address.stories.js b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/billing_address.stories.js
similarity index 82%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/billing_address.stories.js
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/billing_address.stories.js
index ec826529db8a07ba19ead45037b4cf072983b083..0099bbe77bacd2d51a8cb92ada4c6ca53f7b219b 100644
--- a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/billing_address.stories.js
+++ b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/billing_address.stories.js
@@ -1,12 +1,12 @@
-import { createMockApolloProvider } from 'ee_jest/vue_shared/purchase_flow/spec_helper';
-import { STEPS } from 'ee_jest/vue_shared/purchase_flow/mock_data';
+import { createMockApolloProvider } from 'ee_jest/subscriptions/shared/components/purchase_flow/spec_helper';
+import { STEPS } from 'ee_jest/subscriptions/shared/components/purchase_flow/mock_data';
 import { stateData as customerData } from 'ee_jest/subscriptions/mock_data';
 import stateQuery from 'ee/subscriptions/graphql/queries/state.query.graphql';
 import BillingAddress from './billing_address.vue';
 
 export default {
   component: BillingAddress,
-  title: 'ee/vue_shared/purchase_flow/checkout/billing_address',
+  title: 'ee/subscriptions/shared/components/purchase_flow/checkout/billing_address',
 };
 
 const NLcustomer = {
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/billing_address.vue b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/billing_address.vue
similarity index 95%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/billing_address.vue
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/billing_address.vue
index e77ccaaa67bdb207c2d475020ed888959fb27c20..fce6947c19707c2f5193ded9d2e0ac24cba082b2 100644
--- a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/billing_address.vue
+++ b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/billing_address.vue
@@ -11,18 +11,18 @@ import updateStateMutation from 'ee/subscriptions/graphql/mutations/update_state
 import countriesQuery from 'ee/subscriptions/graphql/queries/countries.query.graphql';
 import stateQuery from 'ee/subscriptions/graphql/queries/state.query.graphql';
 import statesQuery from 'ee/subscriptions/graphql/queries/states.query.graphql';
-import Step from 'ee/vue_shared/purchase_flow/components/step.vue';
-import SprintfWithLinks from 'ee/vue_shared/purchase_flow/components/checkout/sprintf_with_links.vue';
+import Step from 'ee/subscriptions/shared/components/purchase_flow/components/step.vue';
+import SprintfWithLinks from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/sprintf_with_links.vue';
 import { s__ } from '~/locale';
 import autofocusonshow from '~/vue_shared/directives/autofocusonshow';
 import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
 import { PurchaseEvent } from 'ee/subscriptions/new/constants';
 import { CUSTOMERSDOT_CLIENT } from 'ee/subscriptions/buy_addons_shared/constants';
-import getBillingAccountQuery from 'ee/vue_shared/purchase_flow/graphql/queries/get_billing_account.customer.query.graphql';
+import getBillingAccountQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/get_billing_account.customer.query.graphql';
 import { logError } from '~/lib/logger';
 import * as Sentry from '~/sentry/sentry_browser_wrapper';
 import { helpPagePath } from '~/helpers/help_page_helper';
-import BillingAccountDetails from 'ee/vue_shared/purchase_flow/components/checkout/billing_account_details.vue';
+import BillingAccountDetails from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details.vue';
 
 export default {
   components: {
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/confirm_order.vue b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/confirm_order.vue
similarity index 96%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/confirm_order.vue
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/confirm_order.vue
index 65502997956289229e8ce0f35809c80bf79bbc99..e0200a6fb7597487cd636170ac7eef4fd41786b5 100644
--- a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/confirm_order.vue
+++ b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/confirm_order.vue
@@ -5,10 +5,10 @@ import { GlButton, GlLoadingIcon } from '@gitlab/ui';
 import { s__ } from '~/locale';
 import Api from 'ee/api';
 import stateQuery from 'ee/subscriptions/graphql/queries/state.query.graphql';
-import activeStepQuery from 'ee/vue_shared/purchase_flow/graphql/queries/active_step.query.graphql';
+import activeStepQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/active_step.query.graphql';
 import PrivacyAndTermsConfirm from 'ee/subscriptions/shared/components/privacy_and_terms_confirm.vue';
 import { ActiveModelError } from '~/lib/utils/error_utils';
-import { extractErrorCode } from 'ee/vue_shared/purchase_flow/zuora_utils';
+import { extractErrorCode } from 'ee/subscriptions/shared/components/purchase_flow/zuora_utils';
 import { visitUrl } from '~/lib/utils/url_utility';
 import { PurchaseEvent } from 'ee/subscriptions/new/constants';
 import { STEPS } from 'ee/subscriptions/constants';
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/payment_method.vue b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/payment_method.vue
similarity index 92%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/payment_method.vue
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/payment_method.vue
index c186973db99444bf14f642e63e24178dff8297ce..819f8a7934ed89cb73516b1ac4ae91f3505ed158 100644
--- a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/payment_method.vue
+++ b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/payment_method.vue
@@ -3,8 +3,8 @@ import { GlSprintf } from '@gitlab/ui';
 import find from 'lodash/find';
 import { STEPS } from 'ee/subscriptions/constants';
 import stateQuery from 'ee/subscriptions/graphql/queries/state.query.graphql';
-import Step from 'ee/vue_shared/purchase_flow/components/step.vue';
-import Zuora from 'ee/vue_shared/purchase_flow/components/checkout/zuora.vue';
+import Step from 'ee/subscriptions/shared/components/purchase_flow/components/step.vue';
+import Zuora from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/zuora.vue';
 import { s__, sprintf } from '~/locale';
 import { PurchaseEvent } from 'ee/subscriptions/new/constants';
 
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/sprintf_with_links.vue b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/sprintf_with_links.vue
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/sprintf_with_links.vue
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/sprintf_with_links.vue
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/zuora.vue b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/zuora.vue
similarity index 95%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/zuora.vue
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/zuora.vue
index bbb08545efe5a8ac5c9a0916c2a1cf2a7588480a..37d3bc261dd7dd4ee247e331e75f5dc4817cf04e 100644
--- a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/checkout/zuora.vue
+++ b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/checkout/zuora.vue
@@ -10,8 +10,8 @@ import {
   ZUORA_SCRIPT_URL,
 } from 'ee/subscriptions/constants';
 import updateStateMutation from 'ee/subscriptions/graphql/mutations/update_state.mutation.graphql';
-import activateNextStepMutation from 'ee/vue_shared/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql';
-import { extractErrorCode } from 'ee/vue_shared/purchase_flow/zuora_utils';
+import activateNextStepMutation from 'ee/subscriptions/shared/components/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql';
+import { extractErrorCode } from 'ee/subscriptions/shared/components/purchase_flow/zuora_utils';
 import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils';
 import Tracking from '~/tracking';
 import { PurchaseEvent } from 'ee/subscriptions/new/constants';
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/company_information.stories.js b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/company_information.stories.js
similarity index 83%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/company_information.stories.js
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/company_information.stories.js
index 26476e6cb790d57e6855d1da1d03d76163db8b79..bd3175d6dfde2b71eea07692d6c2289d70a636c4 100644
--- a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/company_information.stories.js
+++ b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/company_information.stories.js
@@ -3,7 +3,7 @@ import CompanyInformation from './company_information.vue';
 
 export default {
   component: CompanyInformation,
-  title: 'ee/vue_shared/purchase_flow/components/company_information',
+  title: 'ee/subscriptions/shared/components/purchase_flow/components/company_information',
 };
 
 const Template = (args, { argTypes }) => ({
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/company_information.vue b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/company_information.vue
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/company_information.vue
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/company_information.vue
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/contact_billing_address.stories.js b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/contact_billing_address.stories.js
similarity index 87%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/contact_billing_address.stories.js
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/contact_billing_address.stories.js
index 8032ebe0b7398778f1becbf3c1dfb4330ad8c604..3271412d2ad63e477bff39b264e51d9fbf935fd5 100644
--- a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/contact_billing_address.stories.js
+++ b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/contact_billing_address.stories.js
@@ -3,7 +3,7 @@ import ContactBillingAddress from './contact_billing_address.vue';
 
 export default {
   component: ContactBillingAddress,
-  title: 'ee/vue_shared/purchase_flow/components/contact_billing_address',
+  title: 'ee/subscriptions/shared/components/purchase_flow/components/contact_billing_address',
 };
 
 const Template = (args, { argTypes }) => ({
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/contact_billing_address.vue b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/contact_billing_address.vue
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/contact_billing_address.vue
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/contact_billing_address.vue
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/step.stories.js b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/step.stories.js
similarity index 74%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/step.stories.js
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/step.stories.js
index 5e56b13171fa6848f3e924e9c1b95ae369965fcd..592de4943129891b7125da11d6ac1924d4daf9d3 100644
--- a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/step.stories.js
+++ b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/step.stories.js
@@ -1,10 +1,10 @@
-import { createMockApolloProvider } from 'ee_jest/vue_shared/purchase_flow/spec_helper';
-import { STEPS } from 'ee_jest/vue_shared/purchase_flow/mock_data';
+import { createMockApolloProvider } from 'ee_jest/subscriptions/shared/components/purchase_flow/spec_helper';
+import { STEPS } from 'ee_jest/subscriptions/shared/components/purchase_flow/mock_data';
 import Step from './step.vue';
 
 export default {
   component: Step,
-  title: 'ee/vue_shared/purchase_flow/step',
+  title: 'ee/subscriptions/shared/components/purchase_flow/step',
 };
 
 const Template = (_, { argTypes }) => ({
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/step.vue b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/step.vue
similarity index 81%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/step.vue
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/step.vue
index 4da2a41a98705dd4a042f7f27c50d6a30f1987e2..761181b40b5b908218d0f59d4983419a90e136bf 100644
--- a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/step.vue
+++ b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/step.vue
@@ -1,14 +1,17 @@
 <!-- eslint-disable vue/multi-word-component-names -->
 <script>
 import { GlFormGroup, GlButton } from '@gitlab/ui';
-import activateNextStepMutation from 'ee/vue_shared/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql';
-import updateStepMutation from 'ee/vue_shared/purchase_flow/graphql/mutations/update_active_step.mutation.graphql';
-import activeStepQuery from 'ee/vue_shared/purchase_flow/graphql/queries/active_step.query.graphql';
-import furthestAccessedStepQuery from 'ee/vue_shared/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql';
-import stepListQuery from 'ee/vue_shared/purchase_flow/graphql/queries/step_list.query.graphql';
+import activateNextStepMutation from 'ee/subscriptions/shared/components/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql';
+import updateStepMutation from 'ee/subscriptions/shared/components/purchase_flow/graphql/mutations/update_active_step.mutation.graphql';
+import activeStepQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/active_step.query.graphql';
+import furthestAccessedStepQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql';
+import stepListQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/step_list.query.graphql';
 import { createAlert } from '~/alert';
-import { i18n, GENERAL_ERROR_MESSAGE } from 'ee/vue_shared/purchase_flow/constants';
-import StepHeader from 'ee/vue_shared/purchase_flow/components/step_header.vue';
+import {
+  i18n,
+  GENERAL_ERROR_MESSAGE,
+} from 'ee/subscriptions/shared/components/purchase_flow/constants';
+import StepHeader from 'ee/subscriptions/shared/components/purchase_flow/components/step_header.vue';
 
 export default {
   components: {
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/step_header.stories.js b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/step_header.stories.js
similarity index 89%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/step_header.stories.js
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/step_header.stories.js
index 63fcd541add60902edf788a442b6e8dd80eed226..29114b747ded1845fef2000f928d1fbcab86ad6e 100644
--- a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/step_header.stories.js
+++ b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/step_header.stories.js
@@ -2,7 +2,7 @@ import StepHeader from './step_header.vue';
 
 export default {
   component: StepHeader,
-  title: 'ee/vue_shared/purchase_flow/step_header',
+  title: 'ee/subscriptions/shared/components/purchase_flow/step_header',
 };
 
 const Template = (_, { argTypes }) => ({
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/step_header.vue b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/step_header.vue
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/step_header.vue
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/step_header.vue
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/components/step_order_app.vue b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/step_order_app.vue
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/components/step_order_app.vue
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/components/step_order_app.vue
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/constants.js b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/constants.js
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/constants.js
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/constants.js
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/error_constants.js b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/error_constants.js
similarity index 98%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/error_constants.js
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/error_constants.js
index b1402e64d5365fd1b40f84bb32d57a358239503e..014a49a1202fbc395c9dba343e7a69372b592274 100644
--- a/ee/app/assets/javascripts/vue_shared/purchase_flow/error_constants.js
+++ b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/error_constants.js
@@ -5,7 +5,7 @@ import {
   licensingAndRenewalsProblemsLink,
   salesLink,
   userProfileLink,
-} from 'ee/vue_shared/purchase_flow/constants';
+} from 'ee/subscriptions/shared/components/purchase_flow/constants';
 import { convertObjectPropsToLowerCase } from '~/lib/utils/common_utils';
 
 export const CONTACT_SUPPORT_DEFAULT_MESSAGE = {
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/mutations/update_active_step.mutation.graphql b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/mutations/update_active_step.mutation.graphql
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/mutations/update_active_step.mutation.graphql
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/mutations/update_active_step.mutation.graphql
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/queries/active_step.query.graphql b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/queries/active_step.query.graphql
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/queries/active_step.query.graphql
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/queries/active_step.query.graphql
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/queries/get_billing_account.customer.query.graphql b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/queries/get_billing_account.customer.query.graphql
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/queries/get_billing_account.customer.query.graphql
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/queries/get_billing_account.customer.query.graphql
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/queries/step_list.query.graphql b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/queries/step_list.query.graphql
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/queries/step_list.query.graphql
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/queries/step_list.query.graphql
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/resolvers.js b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/resolvers.js
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/resolvers.js
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/resolvers.js
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/typedefs.graphql b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/typedefs.graphql
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/graphql/typedefs.graphql
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/graphql/typedefs.graphql
diff --git a/ee/app/assets/javascripts/vue_shared/purchase_flow/zuora_utils.js b/ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/zuora_utils.js
similarity index 100%
rename from ee/app/assets/javascripts/vue_shared/purchase_flow/zuora_utils.js
rename to ee/app/assets/javascripts/subscriptions/shared/components/purchase_flow/zuora_utils.js
diff --git a/ee/spec/frontend/subscriptions/buy_addons_shared/app_spec.js b/ee/spec/frontend/subscriptions/buy_addons_shared/app_spec.js
index f628f37d36619a7fbe71d41649d82071fcff192f..4ba5204a95c38f8e8e0455efc00c38905da04abb 100644
--- a/ee/spec/frontend/subscriptions/buy_addons_shared/app_spec.js
+++ b/ee/spec/frontend/subscriptions/buy_addons_shared/app_spec.js
@@ -24,7 +24,7 @@ import { PurchaseEvent } from 'ee/subscriptions/new/constants';
 import {
   PURCHASE_ERROR_DICTIONARY,
   CONTACT_SUPPORT_DEFAULT_MESSAGE,
-} from 'ee/vue_shared/purchase_flow/error_constants';
+} from 'ee/subscriptions/shared/components/purchase_flow/error_constants';
 
 Vue.use(VueApollo);
 
diff --git a/ee/spec/frontend/subscriptions/buy_addons_shared/components/checkout/addon_purchase_details_spec.js b/ee/spec/frontend/subscriptions/buy_addons_shared/components/checkout/addon_purchase_details_spec.js
index 9b62abb5e3a1bb44b24d8d91a5c58febfb1dbde3..b6f9343216133a2598d36fa799779519bb4a5d35 100644
--- a/ee/spec/frontend/subscriptions/buy_addons_shared/components/checkout/addon_purchase_details_spec.js
+++ b/ee/spec/frontend/subscriptions/buy_addons_shared/components/checkout/addon_purchase_details_spec.js
@@ -5,7 +5,7 @@ import VueApollo from 'vue-apollo';
 import { stateData as initialStateData } from 'ee_jest/subscriptions/mock_data';
 import AddonPurchaseDetails from 'ee/subscriptions/buy_addons_shared/components/checkout/addon_purchase_details.vue';
 import stateQuery from 'ee/subscriptions/graphql/queries/state.query.graphql';
-import Step from 'ee/vue_shared/purchase_flow/components/step.vue';
+import Step from 'ee/subscriptions/shared/components/purchase_flow/components/step.vue';
 import createMockApollo from 'helpers/mock_apollo_helper';
 import { mountExtended } from 'helpers/vue_test_utils_helper';
 import waitForPromises from 'helpers/wait_for_promises';
diff --git a/ee/spec/frontend/subscriptions/buy_addons_shared/components/checkout_spec.js b/ee/spec/frontend/subscriptions/buy_addons_shared/components/checkout_spec.js
index 8b77b10527da80980b460399ac8608dcec551af3..d05e72e84b762184dde75887c2b0536561064477 100644
--- a/ee/spec/frontend/subscriptions/buy_addons_shared/components/checkout_spec.js
+++ b/ee/spec/frontend/subscriptions/buy_addons_shared/components/checkout_spec.js
@@ -1,9 +1,9 @@
 import Vue from 'vue';
 import { merge } from 'lodash';
 import VueApollo from 'vue-apollo';
-import BillingAddress from 'jh_else_ee/vue_shared/purchase_flow/components/checkout/billing_address.vue';
-import OrderConfirmation from 'ee/vue_shared/purchase_flow/components/checkout/confirm_order.vue';
-import PaymentMethod from 'ee/vue_shared/purchase_flow/components/checkout/payment_method.vue';
+import BillingAddress from 'jh_else_ee/subscriptions/shared/components/purchase_flow/components/checkout/billing_address.vue';
+import OrderConfirmation from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/confirm_order.vue';
+import PaymentMethod from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/payment_method.vue';
 import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
 import Checkout from 'ee/subscriptions/buy_addons_shared/components/checkout.vue';
 import stateQuery from 'ee/subscriptions/graphql/queries/state.query.graphql';
diff --git a/ee/spec/frontend/subscriptions/buy_addons_shared/components/order_summary_spec.js b/ee/spec/frontend/subscriptions/buy_addons_shared/components/order_summary_spec.js
index 09917e323e45e5cf738d0072e942d4af37d9be59..b77e3e83c9475789dd3dbc0277f29081ccc68d63 100644
--- a/ee/spec/frontend/subscriptions/buy_addons_shared/components/order_summary_spec.js
+++ b/ee/spec/frontend/subscriptions/buy_addons_shared/components/order_summary_spec.js
@@ -5,7 +5,7 @@ import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
 import OrderSummary from 'ee/subscriptions/buy_addons_shared/components/order_summary.vue';
 import subscriptionsResolvers from 'ee/subscriptions/buy_addons_shared/graphql/resolvers';
 import stateQuery from 'ee/subscriptions/graphql/queries/state.query.graphql';
-import purchaseFlowResolvers from 'ee/vue_shared/purchase_flow/graphql/resolvers';
+import purchaseFlowResolvers from 'ee/subscriptions/shared/components/purchase_flow/graphql/resolvers';
 import {
   mockStoragePlans,
   mockParsedNamespaces,
diff --git a/ee/spec/frontend/subscriptions/new/components/app_spec.js b/ee/spec/frontend/subscriptions/new/components/app_spec.js
index 74ecfc22a032b6d67393949591c87fae0d4465bb..667858e2d972549708bc438a2359693c78b54837 100644
--- a/ee/spec/frontend/subscriptions/new/components/app_spec.js
+++ b/ee/spec/frontend/subscriptions/new/components/app_spec.js
@@ -13,7 +13,7 @@ import initialStore from 'ee/subscriptions/new/store';
 import {
   PURCHASE_ERROR_DICTIONARY,
   CONTACT_SUPPORT_DEFAULT_MESSAGE,
-} from 'ee/vue_shared/purchase_flow/error_constants';
+} from 'ee/subscriptions/shared/components/purchase_flow/error_constants';
 
 Vue.use(Vuex);
 
diff --git a/ee/spec/frontend/subscriptions/new/components/checkout/billing_address_spec.js b/ee/spec/frontend/subscriptions/new/components/checkout/billing_address_spec.js
index 42fde2b4760f337a7b423daf3eddf0c0b2801e5a..7b13e4f6a260a2a71d4f5a95420cb12862e0740d 100644
--- a/ee/spec/frontend/subscriptions/new/components/checkout/billing_address_spec.js
+++ b/ee/spec/frontend/subscriptions/new/components/checkout/billing_address_spec.js
@@ -4,17 +4,17 @@ import VueApollo from 'vue-apollo';
 // eslint-disable-next-line no-restricted-imports
 import Vuex from 'vuex';
 import { GlAlert } from '@gitlab/ui';
-import getBillingAccountQuery from 'ee/vue_shared/purchase_flow/graphql/queries/get_billing_account.customer.query.graphql';
+import getBillingAccountQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/get_billing_account.customer.query.graphql';
 import { mockTracking } from 'helpers/tracking_helper';
 import { STEPS } from 'ee/subscriptions/constants';
 import BillingAddress from 'ee/subscriptions/new/components/checkout/billing_address.vue';
 import { getStoreConfig } from 'ee/subscriptions/new/store';
 import * as types from 'ee/subscriptions/new/store/mutation_types';
-import Step from 'ee/vue_shared/purchase_flow/components/step.vue';
-import BillingAccountDetails from 'ee/vue_shared/purchase_flow/components/checkout/billing_account_details.vue';
-import activateNextStepMutation from 'ee/vue_shared/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql';
-import { createMockApolloProvider } from 'ee_jest/vue_shared/purchase_flow/spec_helper';
-import SprintfWithLinks from 'ee/vue_shared/purchase_flow/components/checkout/sprintf_with_links.vue';
+import Step from 'ee/subscriptions/shared/components/purchase_flow/components/step.vue';
+import BillingAccountDetails from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details.vue';
+import activateNextStepMutation from 'ee/subscriptions/shared/components/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql';
+import { createMockApolloProvider } from 'ee_jest/subscriptions/shared/components/purchase_flow/spec_helper';
+import SprintfWithLinks from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/sprintf_with_links.vue';
 import { mockBillingAccount } from 'ee_jest/subscriptions/mock_data';
 import { CUSTOMERSDOT_CLIENT } from 'ee/subscriptions/buy_addons_shared/constants';
 import { createMockClient } from 'helpers/mock_apollo_helper';
diff --git a/ee/spec/frontend/subscriptions/new/components/checkout/confirm_order_spec.js b/ee/spec/frontend/subscriptions/new/components/checkout/confirm_order_spec.js
index df9e4646ecd0698c6c52917099fb96cf8f539d23..34180dc22136d8387436bc037bd838e5467d17c1 100644
--- a/ee/spec/frontend/subscriptions/new/components/checkout/confirm_order_spec.js
+++ b/ee/spec/frontend/subscriptions/new/components/checkout/confirm_order_spec.js
@@ -8,7 +8,7 @@ import { v4 as uuid } from 'uuid';
 import Api from 'ee/api';
 import { STEPS } from 'ee/subscriptions/constants';
 import ConfirmOrder from 'ee/subscriptions/new/components/checkout/confirm_order.vue';
-import { createMockApolloProvider } from 'ee_jest/vue_shared/purchase_flow/spec_helper';
+import { createMockApolloProvider } from 'ee_jest/subscriptions/shared/components/purchase_flow/spec_helper';
 import * as googleTagManager from 'ee/google_tag_manager';
 import { useMockLocationHelper } from 'helpers/mock_window_location_helper';
 import Tracking from '~/tracking';
diff --git a/ee/spec/frontend/subscriptions/new/components/checkout/payment_method_spec.js b/ee/spec/frontend/subscriptions/new/components/checkout/payment_method_spec.js
index f87bcac6b589424096966ed29e912efe963fc1af..4ea40524aca7518f0d6393dc5bbcf9731e7b1e88 100644
--- a/ee/spec/frontend/subscriptions/new/components/checkout/payment_method_spec.js
+++ b/ee/spec/frontend/subscriptions/new/components/checkout/payment_method_spec.js
@@ -8,13 +8,13 @@ import axios from '~/lib/utils/axios_utils';
 import Api from 'ee/api';
 import Zuora from 'ee/subscriptions/new/components/checkout/zuora.vue';
 import { mockTracking } from 'helpers/tracking_helper';
-import furthestAccessedStepQuery from 'ee/vue_shared/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql';
+import furthestAccessedStepQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql';
 import { STEPS, STEP_CONFIRM_ORDER } from 'ee/subscriptions/constants';
 import PaymentMethod from 'ee/subscriptions/new/components/checkout/payment_method.vue';
 import createStore from 'ee/subscriptions/new/store';
 import * as types from 'ee/subscriptions/new/store/mutation_types';
-import Step from 'ee/vue_shared/purchase_flow/components/step.vue';
-import { createMockApolloProvider } from 'ee_jest/vue_shared/purchase_flow/spec_helper';
+import Step from 'ee/subscriptions/shared/components/purchase_flow/components/step.vue';
+import { createMockApolloProvider } from 'ee_jest/subscriptions/shared/components/purchase_flow/spec_helper';
 import { HTTP_STATUS_OK } from '~/lib/utils/http_status';
 import { stubComponent } from 'helpers/stub_component';
 
diff --git a/ee/spec/frontend/subscriptions/new/components/checkout/subscription_details_spec.js b/ee/spec/frontend/subscriptions/new/components/checkout/subscription_details_spec.js
index c35d610c7f9f6e2e887babd41dcda5ffde405014..90eb52f9776d8e75bd7863769102e81651bd3de4 100644
--- a/ee/spec/frontend/subscriptions/new/components/checkout/subscription_details_spec.js
+++ b/ee/spec/frontend/subscriptions/new/components/checkout/subscription_details_spec.js
@@ -4,14 +4,14 @@ import VueApollo from 'vue-apollo';
 // eslint-disable-next-line no-restricted-imports
 import Vuex from 'vuex';
 import { mockTracking } from 'helpers/tracking_helper';
-import furthestAccessedStepQuery from 'ee/vue_shared/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql';
+import furthestAccessedStepQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql';
 import { QSR_RECONCILIATION_PATH, STEPS, STEP_BILLING_ADDRESS } from 'ee/subscriptions/constants';
 import Component from 'ee/subscriptions/new/components/checkout/subscription_details.vue';
 import { PurchaseEvent, NEW_GROUP } from 'ee/subscriptions/new/constants';
 import createStore from 'ee/subscriptions/new/store';
 import * as types from 'ee/subscriptions/new/store/mutation_types';
-import Step from 'ee/vue_shared/purchase_flow/components/step.vue';
-import { createMockApolloProvider } from 'ee_jest/vue_shared/purchase_flow/spec_helper';
+import Step from 'ee/subscriptions/shared/components/purchase_flow/components/step.vue';
+import { createMockApolloProvider } from 'ee_jest/subscriptions/shared/components/purchase_flow/spec_helper';
 import { mountExtended, shallowMountExtended } from 'helpers/vue_test_utils_helper';
 import getBillableMembersCountQuery from 'ee/subscriptions/graphql/queries/billable_members_count.query.graphql';
 import waitForPromises from 'helpers/wait_for_promises';
diff --git a/ee/spec/frontend/subscriptions/new/store/actions_spec.js b/ee/spec/frontend/subscriptions/new/store/actions_spec.js
index cd53bebee4e4619958e45cf7e2ee976a997d826a..463d354f2583fca8226ed26528981a4e5450450a 100644
--- a/ee/spec/frontend/subscriptions/new/store/actions_spec.js
+++ b/ee/spec/frontend/subscriptions/new/store/actions_spec.js
@@ -4,7 +4,7 @@ import * as constants from 'ee/subscriptions/constants';
 import { CHARGE_PROCESSING_TYPE } from 'ee/subscriptions/new/constants';
 import defaultClient from 'ee/subscriptions/new/graphql';
 import * as actions from 'ee/subscriptions/new/store/actions';
-import activateNextStepMutation from 'ee/vue_shared/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql';
+import activateNextStepMutation from 'ee/subscriptions/shared/components/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql';
 import testAction from 'helpers/vuex_action_helper';
 import axios from '~/lib/utils/axios_utils';
 import { HTTP_STATUS_INTERNAL_SERVER_ERROR, HTTP_STATUS_OK } from '~/lib/utils/http_status';
diff --git a/ee/spec/frontend/vue_shared/purchase_flow/components/checkout/billing_account_details_spec.js b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details_spec.js
similarity index 78%
rename from ee/spec/frontend/vue_shared/purchase_flow/components/checkout/billing_account_details_spec.js
rename to ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details_spec.js
index 0467fbab3fa7a01a1b094a8d6d6537874eb75b63..86b1fd73cd3e75ac51e6f9e567632dba7acc18fc 100644
--- a/ee/spec/frontend/vue_shared/purchase_flow/components/checkout/billing_account_details_spec.js
+++ b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details_spec.js
@@ -1,7 +1,7 @@
 import { shallowMount } from '@vue/test-utils';
-import CompanyInformation from 'ee/vue_shared/purchase_flow/components/company_information.vue';
-import ContactBillingAddress from 'ee/vue_shared/purchase_flow/components/contact_billing_address.vue';
-import BillingAccountDetails from 'ee/vue_shared/purchase_flow/components/checkout/billing_account_details.vue';
+import CompanyInformation from 'ee/subscriptions/shared/components/purchase_flow/components/company_information.vue';
+import ContactBillingAddress from 'ee/subscriptions/shared/components/purchase_flow/components/contact_billing_address.vue';
+import BillingAccountDetails from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details.vue';
 import { mockBillingAccount } from 'ee_jest/subscriptions/mock_data';
 
 describe('Billing account details', () => {
diff --git a/ee/spec/frontend/vue_shared/purchase_flow/components/checkout/billing_address_spec.js b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/billing_address_spec.js
similarity index 94%
rename from ee/spec/frontend/vue_shared/purchase_flow/components/checkout/billing_address_spec.js
rename to ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/billing_address_spec.js
index 2ac683567c990d7f2ffde70b064328349b83467c..b4d11c42e7e6002dc2639e7fd2f7e51ddd2d1aee 100644
--- a/ee/spec/frontend/vue_shared/purchase_flow/components/checkout/billing_address_spec.js
+++ b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/billing_address_spec.js
@@ -2,15 +2,15 @@ import Vue from 'vue';
 import { merge } from 'lodash';
 import VueApollo from 'vue-apollo';
 import { GlAlert } from '@gitlab/ui';
-import getBillingAccountQuery from 'ee/vue_shared/purchase_flow/graphql/queries/get_billing_account.customer.query.graphql';
+import getBillingAccountQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/get_billing_account.customer.query.graphql';
 import { gitLabResolvers } from 'ee/subscriptions/buy_addons_shared/graphql/resolvers';
 import { STEPS } from 'ee/subscriptions/constants';
 import stateQuery from 'ee/subscriptions/graphql/queries/state.query.graphql';
-import BillingAddress from 'ee/vue_shared/purchase_flow/components/checkout/billing_address.vue';
-import SprintfWithLinks from 'ee/vue_shared/purchase_flow/components/checkout/sprintf_with_links.vue';
-import Step from 'ee/vue_shared/purchase_flow/components/step.vue';
+import BillingAddress from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/billing_address.vue';
+import SprintfWithLinks from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/sprintf_with_links.vue';
+import Step from 'ee/subscriptions/shared/components/purchase_flow/components/step.vue';
 import { mockBillingAccount, stateData as initialStateData } from 'ee_jest/subscriptions/mock_data';
-import { createMockApolloProvider } from 'ee_jest/vue_shared/purchase_flow/spec_helper';
+import { createMockApolloProvider } from 'ee_jest/subscriptions/shared/components/purchase_flow/spec_helper';
 import waitForPromises from 'helpers/wait_for_promises';
 import { mountExtended } from 'helpers/vue_test_utils_helper';
 import { PurchaseEvent } from 'ee/subscriptions/new/constants';
@@ -18,7 +18,7 @@ import { CUSTOMERSDOT_CLIENT } from 'ee/subscriptions/buy_addons_shared/constant
 import { createMockClient } from 'helpers/mock_apollo_helper';
 import * as Sentry from '~/sentry/sentry_browser_wrapper';
 import { logError } from '~/lib/logger';
-import BillingAccountDetails from 'ee/vue_shared/purchase_flow/components/checkout/billing_account_details.vue';
+import BillingAccountDetails from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/billing_account_details.vue';
 
 Vue.use(VueApollo);
 jest.mock('~/lib/logger');
diff --git a/ee/spec/frontend/vue_shared/purchase_flow/components/checkout/confirm_order_spec.js b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/confirm_order_spec.js
similarity index 98%
rename from ee/spec/frontend/vue_shared/purchase_flow/components/checkout/confirm_order_spec.js
rename to ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/confirm_order_spec.js
index ec2d23d0e43d273c146a4a25cd7dd94871534936..536b65ffff47abb8ac323123b0de709eb5546273 100644
--- a/ee/spec/frontend/vue_shared/purchase_flow/components/checkout/confirm_order_spec.js
+++ b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/confirm_order_spec.js
@@ -6,11 +6,11 @@ import VueApollo from 'vue-apollo';
 import waitForPromises from 'helpers/wait_for_promises';
 import Api from 'ee/api';
 import stateQuery from 'ee/subscriptions/graphql/queries/state.query.graphql';
-import ConfirmOrder from 'ee/vue_shared/purchase_flow/components/checkout/confirm_order.vue';
+import ConfirmOrder from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/confirm_order.vue';
 import { createAlert } from '~/alert';
 import PrivacyAndTermsConfirm from 'ee/subscriptions/shared/components/privacy_and_terms_confirm.vue';
 import { extendedWrapper } from 'helpers/vue_test_utils_helper';
-import { createMockApolloProvider } from 'ee_jest/vue_shared/purchase_flow/spec_helper';
+import { createMockApolloProvider } from 'ee_jest/subscriptions/shared/components/purchase_flow/spec_helper';
 import * as UrlUtility from '~/lib/utils/url_utility';
 import { ActiveModelError } from '~/lib/utils/error_utils';
 import { stateData as initialStateData, subscriptionName } from 'ee_jest/subscriptions/mock_data';
diff --git a/ee/spec/frontend/vue_shared/purchase_flow/components/checkout/payment_method_spec.js b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/payment_method_spec.js
similarity index 90%
rename from ee/spec/frontend/vue_shared/purchase_flow/components/checkout/payment_method_spec.js
rename to ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/payment_method_spec.js
index fe07260400437ed076806940adc28a3a8936f995..3d909b4db04a986d9652af6d82ab0f3834017c5c 100644
--- a/ee/spec/frontend/vue_shared/purchase_flow/components/checkout/payment_method_spec.js
+++ b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/payment_method_spec.js
@@ -8,10 +8,10 @@ import {
 import { gitLabResolvers } from 'ee/subscriptions/buy_addons_shared/graphql/resolvers';
 import { STEPS, STEP_CONFIRM_ORDER } from 'ee/subscriptions/constants';
 import stateQuery from 'ee/subscriptions/graphql/queries/state.query.graphql';
-import PaymentMethod from 'ee/vue_shared/purchase_flow/components/checkout/payment_method.vue';
-import Step from 'ee/vue_shared/purchase_flow/components/step.vue';
-import { createMockApolloProvider } from 'ee_jest/vue_shared/purchase_flow/spec_helper';
-import Zuora from 'ee/vue_shared/purchase_flow/components/checkout/zuora.vue';
+import PaymentMethod from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/payment_method.vue';
+import Step from 'ee/subscriptions/shared/components/purchase_flow/components/step.vue';
+import { createMockApolloProvider } from 'ee_jest/subscriptions/shared/components/purchase_flow/spec_helper';
+import Zuora from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/zuora.vue';
 import { mountExtended } from 'helpers/vue_test_utils_helper';
 import { PurchaseEvent } from 'ee/subscriptions/new/constants';
 
diff --git a/ee/spec/frontend/vue_shared/purchase_flow/components/checkout/sprintf_with_links_spec.js b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/sprintf_with_links_spec.js
similarity index 94%
rename from ee/spec/frontend/vue_shared/purchase_flow/components/checkout/sprintf_with_links_spec.js
rename to ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/sprintf_with_links_spec.js
index cec9c8dbf3f4d26ff2b7b31545a7cf03e844c660..83adbf21b693867f0337326ad108d52f91ef9bf7 100644
--- a/ee/spec/frontend/vue_shared/purchase_flow/components/checkout/sprintf_with_links_spec.js
+++ b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/sprintf_with_links_spec.js
@@ -1,6 +1,6 @@
 import { mount } from '@vue/test-utils';
 import { GlLink, GlSprintf } from '@gitlab/ui';
-import SprintfWithLinks from 'ee/vue_shared/purchase_flow/components/checkout/sprintf_with_links.vue';
+import SprintfWithLinks from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/sprintf_with_links.vue';
 
 describe('SprintfWithLinks', () => {
   let wrapper;
diff --git a/ee/spec/frontend/vue_shared/purchase_flow/components/checkout/zuora_spec.js b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/zuora_spec.js
similarity index 98%
rename from ee/spec/frontend/vue_shared/purchase_flow/components/checkout/zuora_spec.js
rename to ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/zuora_spec.js
index 0755bcdfa2c8bbcdd4ee3e2a3b52386d54ecb126..d1533cb60964b69903da998659ae5d36ed3071cb 100644
--- a/ee/spec/frontend/vue_shared/purchase_flow/components/checkout/zuora_spec.js
+++ b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/zuora_spec.js
@@ -7,9 +7,9 @@ import VueApollo from 'vue-apollo';
 import Api from 'ee/api';
 import { ERROR_LOADING_PAYMENT_FORM, STEPS } from 'ee/subscriptions/constants';
 import stateQuery from 'ee/subscriptions/graphql/queries/state.query.graphql';
-import Zuora from 'ee/vue_shared/purchase_flow/components/checkout/zuora.vue';
+import Zuora from 'ee/subscriptions/shared/components/purchase_flow/components/checkout/zuora.vue';
 import { stateData as initialStateData } from 'ee_jest/subscriptions/mock_data';
-import { createMockApolloProvider } from 'ee_jest/vue_shared/purchase_flow/spec_helper';
+import { createMockApolloProvider } from 'ee_jest/subscriptions/shared/components/purchase_flow/spec_helper';
 import axios from '~/lib/utils/axios_utils';
 import waitForPromises from 'helpers/wait_for_promises';
 import { mockTracking } from 'helpers/tracking_helper';
diff --git a/ee/spec/frontend/vue_shared/purchase_flow/components/company_information_spec.js b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/company_information_spec.js
similarity index 93%
rename from ee/spec/frontend/vue_shared/purchase_flow/components/company_information_spec.js
rename to ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/company_information_spec.js
index 8c0e68e035f77c3775e7cb5a83a260c9c0bd6a2f..3cc064cb54c7e91b5cd2fe7bdcda29d88d9619c6 100644
--- a/ee/spec/frontend/vue_shared/purchase_flow/components/company_information_spec.js
+++ b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/company_information_spec.js
@@ -1,4 +1,4 @@
-import CompanyInformation from 'ee/vue_shared/purchase_flow/components/company_information.vue';
+import CompanyInformation from 'ee/subscriptions/shared/components/purchase_flow/components/company_information.vue';
 import { mockBillingAccount } from 'ee_jest/subscriptions/mock_data';
 import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
 
diff --git a/ee/spec/frontend/vue_shared/purchase_flow/components/contact_billing_address_spec.js b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/contact_billing_address_spec.js
similarity index 96%
rename from ee/spec/frontend/vue_shared/purchase_flow/components/contact_billing_address_spec.js
rename to ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/contact_billing_address_spec.js
index 38cdd28f6d8ee7485f9e4dfab78f84045c87c8eb..c1ecaa17143e62ed88e1c3d16218800ec8fdfc92 100644
--- a/ee/spec/frontend/vue_shared/purchase_flow/components/contact_billing_address_spec.js
+++ b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/contact_billing_address_spec.js
@@ -1,4 +1,4 @@
-import ContactBillingAddress from 'ee/vue_shared/purchase_flow/components/contact_billing_address.vue';
+import ContactBillingAddress from 'ee/subscriptions/shared/components/purchase_flow/components/contact_billing_address.vue';
 import { mockBillingAccount } from 'ee_jest/subscriptions/mock_data';
 import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
 
diff --git a/ee/spec/frontend/vue_shared/purchase_flow/components/step_spec.js b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/step_spec.js
similarity index 96%
rename from ee/spec/frontend/vue_shared/purchase_flow/components/step_spec.js
rename to ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/step_spec.js
index fb73a34e1628758af374958b8922f7f4eba49b7d..e68932627a05601fd3fbb95125603b5e2cd0836c 100644
--- a/ee/spec/frontend/vue_shared/purchase_flow/components/step_spec.js
+++ b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/step_spec.js
@@ -1,10 +1,10 @@
 import { GlButton, GlFormGroup } from '@gitlab/ui';
 import Vue from 'vue';
 import VueApollo from 'vue-apollo';
-import Step from 'ee/vue_shared/purchase_flow/components/step.vue';
-import StepHeader from 'ee/vue_shared/purchase_flow/components/step_header.vue';
-import { GENERAL_ERROR_MESSAGE } from 'ee/vue_shared/purchase_flow/constants';
-import updateStepMutation from 'ee/vue_shared/purchase_flow/graphql/mutations/update_active_step.mutation.graphql';
+import Step from 'ee/subscriptions/shared/components/purchase_flow/components/step.vue';
+import StepHeader from 'ee/subscriptions/shared/components/purchase_flow/components/step_header.vue';
+import { GENERAL_ERROR_MESSAGE } from 'ee/subscriptions/shared/components/purchase_flow/constants';
+import updateStepMutation from 'ee/subscriptions/shared/components/purchase_flow/graphql/mutations/update_active_step.mutation.graphql';
 import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
 import waitForPromises from 'helpers/wait_for_promises';
 import { createAlert } from '~/alert';
diff --git a/ee/spec/frontend/vue_shared/purchase_flow/graphql/resolvers_spec.js b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/graphql/resolvers_spec.js
similarity index 86%
rename from ee/spec/frontend/vue_shared/purchase_flow/graphql/resolvers_spec.js
rename to ee/spec/frontend/subscriptions/shared/components/purchase_flow/graphql/resolvers_spec.js
index f7e57e5ce99121294b80d83784e823917d46405f..233d377c67ee1c2eaaba492278bc7488bcf63c23 100644
--- a/ee/spec/frontend/vue_shared/purchase_flow/graphql/resolvers_spec.js
+++ b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/graphql/resolvers_spec.js
@@ -1,12 +1,12 @@
-import activateNextStepMutation from 'ee/vue_shared/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql';
-import updateStepMutation from 'ee/vue_shared/purchase_flow/graphql/mutations/update_active_step.mutation.graphql';
-import activeStepQuery from 'ee/vue_shared/purchase_flow/graphql/queries/active_step.query.graphql';
-import furthestAccessedStepQuery from 'ee/vue_shared/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql';
-import stepListQuery from 'ee/vue_shared/purchase_flow/graphql/queries/step_list.query.graphql';
+import activateNextStepMutation from 'ee/subscriptions/shared/components/purchase_flow/graphql/mutations/activate_next_step.mutation.graphql';
+import updateStepMutation from 'ee/subscriptions/shared/components/purchase_flow/graphql/mutations/update_active_step.mutation.graphql';
+import activeStepQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/active_step.query.graphql';
+import furthestAccessedStepQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql';
+import stepListQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/step_list.query.graphql';
 import { STEPS } from '../mock_data';
 import { createMockApolloProvider } from '../spec_helper';
 
-describe('ee/vue_shared/purchase_flow/graphql/resolvers', () => {
+describe('ee/subscriptions/shared/components/purchase_flow/graphql/resolvers', () => {
   let mockApolloClient;
 
   describe('Query', () => {
diff --git a/ee/spec/frontend/vue_shared/purchase_flow/mock_data.js b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/mock_data.js
similarity index 100%
rename from ee/spec/frontend/vue_shared/purchase_flow/mock_data.js
rename to ee/spec/frontend/subscriptions/shared/components/purchase_flow/mock_data.js
diff --git a/ee/spec/frontend/vue_shared/purchase_flow/spec_helper.js b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/spec_helper.js
similarity index 62%
rename from ee/spec/frontend/vue_shared/purchase_flow/spec_helper.js
rename to ee/spec/frontend/subscriptions/shared/components/purchase_flow/spec_helper.js
index bd3090f1bd3a9bb13598229e1560a4833385e3c3..8349bcef6001aac94440312408d77931d8bff8d5 100644
--- a/ee/spec/frontend/vue_shared/purchase_flow/spec_helper.js
+++ b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/spec_helper.js
@@ -1,8 +1,8 @@
 import { merge } from 'lodash';
-import activeStepQuery from 'ee/vue_shared/purchase_flow/graphql/queries/active_step.query.graphql';
-import furthestAccessedStepQuery from 'ee/vue_shared/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql';
-import stepListQuery from 'ee/vue_shared/purchase_flow/graphql/queries/step_list.query.graphql';
-import resolvers from 'ee/vue_shared/purchase_flow/graphql/resolvers';
+import activeStepQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/active_step.query.graphql';
+import furthestAccessedStepQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/furthest_accessed_step.query.graphql';
+import stepListQuery from 'ee/subscriptions/shared/components/purchase_flow/graphql/queries/step_list.query.graphql';
+import resolvers from 'ee/subscriptions/shared/components/purchase_flow/graphql/resolvers';
 import createMockApollo from 'helpers/mock_apollo_helper';
 
 // eslint-disable-next-line max-params
diff --git a/ee/spec/frontend/vue_shared/purchase_flow/zuora_utils_spec.js b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/zuora_utils_spec.js
similarity index 94%
rename from ee/spec/frontend/vue_shared/purchase_flow/zuora_utils_spec.js
rename to ee/spec/frontend/subscriptions/shared/components/purchase_flow/zuora_utils_spec.js
index fe8e7b76390dae1c4831f04abed9c2b3aa1edecd..59a940eb97020ef5c76b8748da32b324171ab4bc 100644
--- a/ee/spec/frontend/vue_shared/purchase_flow/zuora_utils_spec.js
+++ b/ee/spec/frontend/subscriptions/shared/components/purchase_flow/zuora_utils_spec.js
@@ -1,5 +1,5 @@
 import { get } from 'lodash';
-import * as zuoraUtils from 'ee/vue_shared/purchase_flow/zuora_utils';
+import * as zuoraUtils from 'ee/subscriptions/shared/components/purchase_flow/zuora_utils';
 import * as Sentry from '~/sentry/sentry_browser_wrapper';
 
 jest.mock('lodash/get', () => jest.fn((fn) => fn));
diff --git a/scripts/frontend/quarantined_vue3_specs.txt b/scripts/frontend/quarantined_vue3_specs.txt
index 74ab9e396058997a96a9b1f41b6a00056c60bc68..1adfae5b8a917ba8f20b87589d0e829035cda3cd 100644
--- a/scripts/frontend/quarantined_vue3_specs.txt
+++ b/scripts/frontend/quarantined_vue3_specs.txt
@@ -163,7 +163,7 @@ ee/spec/frontend/vue_merge_request_widget/components/mr_widget_pipeline_containe
 ee/spec/frontend/vue_merge_request_widget/components/states/mr_widget_ready_to_merge_spec.js
 ee/spec/frontend/vue_shared/components/groups_list/groups_list_item_spec.js
 ee/spec/frontend/vue_shared/components/projects_list/projects_list_item_spec.js
-ee/spec/frontend/vue_shared/purchase_flow/components/checkout/sprintf_with_links_spec.js
+ee/spec/frontend/subscriptions/shared/components/purchase_flow/components/checkout/sprintf_with_links_spec.js
 ee/spec/frontend/vue_shared/security_reports/components/security_training_promo_spec.js
 ee/spec/frontend/vulnerabilities/generic_report/types/list_graphql_spec.js
 ee/spec/frontend/vulnerabilities/related_issues_spec.js