diff --git a/ee/app/assets/javascripts/pages/admin/code_suggestions/index.js b/ee/app/assets/javascripts/pages/admin/code_suggestions/index.js
index 15bcbe32aa63d1dd1c8573e0d4f303db44eba52e..2e1ee0f1b4ceea874d53069ade902999916869e4 100644
--- a/ee/app/assets/javascripts/pages/admin/code_suggestions/index.js
+++ b/ee/app/assets/javascripts/pages/admin/code_suggestions/index.js
@@ -22,6 +22,7 @@ function mountCodeSuggestionsUsageApp() {
     apolloProvider,
     provide: {
       isSaaS: false,
+      addDuoProHref: el.dataset.addDuoProSeatsUrl,
     },
     render: (h) => h(CodeSuggestionsUsage),
   });
diff --git a/ee/app/controllers/admin/code_suggestions_controller.rb b/ee/app/controllers/admin/code_suggestions_controller.rb
index 42f440e5eb772152abe251b2ff7c4192da982ac6..ef166429631c4ca45c2b7c56eea8fd5125f61d76 100644
--- a/ee/app/controllers/admin/code_suggestions_controller.rb
+++ b/ee/app/controllers/admin/code_suggestions_controller.rb
@@ -12,6 +12,10 @@ class CodeSuggestionsController < Admin::ApplicationController
 
     before_action :ensure_feature_available!
 
+    def index
+      @subscription_name = License.current.subscription_name
+    end
+
     private
 
     def ensure_feature_available!
diff --git a/ee/app/helpers/gitlab_subscriptions/code_suggestions_helper.rb b/ee/app/helpers/gitlab_subscriptions/code_suggestions_helper.rb
index 2a24ddb0beafad4630093e0ff158038b1c3a11fc..00b18eb153e398e4fd870406881bfc8732f855f3 100644
--- a/ee/app/helpers/gitlab_subscriptions/code_suggestions_helper.rb
+++ b/ee/app/helpers/gitlab_subscriptions/code_suggestions_helper.rb
@@ -11,5 +11,11 @@ def code_suggestions_available?(namespace = nil)
         Feature.enabled?(:self_managed_code_suggestions)
       end
     end
+
+    def add_duo_pro_seats_url(subscription_name)
+      return unless code_suggestions_available?
+
+      ::Gitlab::Routing.url_helpers.subscription_portal_add_duo_pro_seats_url(subscription_name)
+    end
   end
 end
diff --git a/ee/app/views/admin/code_suggestions/index.html.haml b/ee/app/views/admin/code_suggestions/index.html.haml
index 5a36db058c8c51f7b11f0807080decfad9d73e22..06e360ad8ca21b771a03d119ef991c6712835f4c 100644
--- a/ee/app/views/admin/code_suggestions/index.html.haml
+++ b/ee/app/views/admin/code_suggestions/index.html.haml
@@ -1,4 +1,5 @@
 -# EE:Self Managed
 - page_title s_('CodeSuggestions|Duo Pro')
+- duo_pro_url = add_duo_pro_seats_url(@subscription_name)
 
-#js-code-suggestions-page{ data: {} }
+#js-code-suggestions-page{ data: { add_duo_pro_seats_url: duo_pro_url } }
diff --git a/ee/spec/helpers/gitlab_subscriptions/code_suggestions_helper_spec.rb b/ee/spec/helpers/gitlab_subscriptions/code_suggestions_helper_spec.rb
index c0a23219204534792b9e753f89be1cb6b882d97d..a49a406eed67ab2287880ce71f7f5ceaa7e73813 100644
--- a/ee/spec/helpers/gitlab_subscriptions/code_suggestions_helper_spec.rb
+++ b/ee/spec/helpers/gitlab_subscriptions/code_suggestions_helper_spec.rb
@@ -3,6 +3,8 @@
 require 'spec_helper'
 
 RSpec.describe GitlabSubscriptions::CodeSuggestionsHelper, feature_category: :seat_cost_management do
+  include SubscriptionPortalHelper
+
   describe '#code_suggestions_available?' do
     context 'when GitLab is SaaS' do
       let_it_be(:namespace) { build_stubbed(:group) }
@@ -60,4 +62,30 @@
       end
     end
   end
+
+  describe '#add_duo_pro_seats_url' do
+    let(:subscription_name) { 'A-S000XXX' }
+    let(:env_value) { nil }
+
+    before do
+      stub_env('CUSTOMER_PORTAL_URL', env_value)
+    end
+
+    context 'when code suggestions are not available' do
+      before do
+        allow(helper).to receive(:code_suggestions_available?).and_return false
+      end
+
+      it 'returns nil' do
+        expect(helper.add_duo_pro_seats_url(subscription_name)).to eq nil
+      end
+    end
+
+    context 'when code suggestions are available' do
+      it 'returns expected url' do
+        expected_url = "#{staging_customers_url}/gitlab/namespaces/#{subscription_name}/duo_pro_seats"
+        expect(helper.add_duo_pro_seats_url(subscription_name)).to eq expected_url
+      end
+    end
+  end
 end