diff --git a/module/fid_bbi/src/fid_bbi/View/Helper/Root/Factory.php b/module/fid_bbi/src/fid_bbi/View/Helper/Root/Factory.php
index babf0f5cecff2247120e105db76f788b4b8b888a..5dc5f64a141947d1af437065eec9fe7ba9304a25 100644
--- a/module/fid_bbi/src/fid_bbi/View/Helper/Root/Factory.php
+++ b/module/fid_bbi/src/fid_bbi/View/Helper/Root/Factory.php
@@ -28,6 +28,7 @@
 namespace fid_bbi\View\Helper\Root;
 
 use Interop\Container\ContainerInterface;
+use VuFind\Role\PermissionManager;
 
 /**
  * Factory for Root view helpers.
@@ -56,7 +57,8 @@ class Factory
             $container->get('ViewHelperManager')->get('url'),
             $container->get('VuFind\AuthManager'),
             $container->get('finc\Rewrite\EblRewrite'),
-            $container->get('VuFind\Config')->get('Resolver')
+            $container->get('VuFind\Config')->get('Resolver'),
+            $container->get(PermissionManager::class)
         );
 
         //due to https://github.com/vufind-org/vufind/pull/718
diff --git a/module/fid_bbi/src/fid_bbi/View/Helper/Root/Record.php b/module/fid_bbi/src/fid_bbi/View/Helper/Root/Record.php
index 818e8de5843b7423da7334cba221573903d7ca2b..61daa1b7a2396fd9d314fc6c085136429dc28721 100644
--- a/module/fid_bbi/src/fid_bbi/View/Helper/Root/Record.php
+++ b/module/fid_bbi/src/fid_bbi/View/Helper/Root/Record.php
@@ -27,6 +27,8 @@
  */
 namespace fid_bbi\View\Helper\Root;
 
+use VuFind\Role\PermissionManager;
+
 /**
  * Record driver view helper
  *
@@ -43,13 +45,19 @@ class Record extends \finc\View\Helper\Root\Record
      */
     protected $formatIconMappings = [];
 
-    public function __construct($config, \Zend\View\Helper\Url $helper, \VuFind\Auth\Manager $manager, $rewrite, $resolverConfig)
+    /**
+     * @var PermissionManager
+     */
+    protected $permissionManager;
+
+    public function __construct($config, \Zend\View\Helper\Url $helper, \VuFind\Auth\Manager $manager, $rewrite, $resolverConfig, PermissionManager $permissionManager)
     {
         parent::__construct($config, $helper, $manager, $rewrite, $resolverConfig);
-        $formatIconMappingsFile = APPLICATION_PATH.$config->Record->format_icon_mappings_file_path;
+        $formatIconMappingsFile = APPLICATION_PATH . $config->Record->format_icon_mappings_file_path;
         if (file_exists($formatIconMappingsFile)) {
             $this->formatIconMappings = json_decode(file_get_contents($formatIconMappingsFile), true);
         }
+        $this->permissionManager = $permissionManager;
     }
 
     /**
@@ -112,7 +120,7 @@ class Record extends \finc\View\Helper\Root\Record
         $subtitle = (!empty($subTitle) ? ': ' . $subTitle : '') .
             (!empty($sectionTitle) ? ', ' . $sectionTitle : '');
 
-        $subtitle = preg_replace('/^((\S*\s){'.$maxLengthArr.'})\S.*$/','$1 ...',$subtitle);
+        $subtitle = preg_replace('/^((\S*\s){' . $maxLengthArr . '})\S.*$/', '$1 ...', $subtitle);
 
         if (!empty($subtitle)) {
             $escapeHtml = $this->getView()->plugin('escapeHtml');
@@ -123,9 +131,34 @@ class Record extends \finc\View\Helper\Root\Record
 
     public function getIconMapping($format = null)
     {
-        if (is_null($format)) {
+        if (null === $format) {
             $format = ($this->driver->tryMethod('getFormats') ?? ['Unknown format'])[0];
         }
         return $this->formatIconMappings[$format] ?? 'unknown';
     }
+
+    public function allowDigitizationOnDemand()
+    {
+        if (!$this->manager->isLoggedIn()) {
+            return false;
+        }
+        if (!$this->permissionManager->isAuthorized('fid.Acquisitions')) {
+            return false;
+        }
+        $publishDate = $this->driver->tryMethod('getPublishDateSort');
+        $copyrightExpiredDate = date("Y") - 71;
+        if (!($publishDate < $copyrightExpiredDate && $publishDate > 0)) {
+            return false;
+        }
+        $formats = $this->driver->tryMethod('getFormat');
+        if (in_array("eBook", $formats)) {
+            return false;
+        }
+        $allowedFormats = ["Atlas","Book","Manuscript","Map","Print","Thesis"];
+        if (array_intersect($allowedFormats, $formats)) {
+            return true;
+        } else {
+            return false;
+        }
+    }
 }
diff --git a/themes/fid_bbi/templates/RecordDriver/DefaultRecord/core.phtml b/themes/fid_bbi/templates/RecordDriver/DefaultRecord/core.phtml
index 03fa4ab3f15f5be9efb49e1149e42157096d1f77..98e89b6f070b672c32cd54ec4bbd21533eb5107a 100644
--- a/themes/fid_bbi/templates/RecordDriver/DefaultRecord/core.phtml
+++ b/themes/fid_bbi/templates/RecordDriver/DefaultRecord/core.phtml
@@ -100,6 +100,20 @@
     </a>
   </li>
 
+  <?php if($this->record($this->driver)->allowDigitizationOnDemand()): ?>
+    <li>
+      <a
+        class="link-with-icon"
+        data-lightbox
+        href="<?=$this->recordLink()->getActionUrl($this->driver, 'fidDigitization')?>"
+        rel="nofollow"
+      >
+        <?=$this->icon('small/scan-book')?>
+        <?=$this->transEsc('Digitization-On-Demand Service')?>
+      </a>
+    </li>
+  <?php endif; ?>
+
   <li>
     <a
       class="link-with-icon"