diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsDisplay.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsDisplay.vue
new file mode 100644
index 0000000000..a9cda25329
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsDisplay.vue
@@ -0,0 +1,37 @@
+
+
+
+
+
diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsEntry.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsEntry.vue
new file mode 100644
index 0000000000..71ae8fc0d2
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/AdditionalFieldsEntry.vue
@@ -0,0 +1,296 @@
+
+
+
+
+
diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/additional-fields-api-client.js b/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/additional-fields-api-client.js
new file mode 100644
index 0000000000..19b3895cb2
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/additional-fields-api-client.js
@@ -0,0 +1,20 @@
+import HttpClient from "./http-client";
+
+export class AdditionalFieldsAPIClient extends HttpClient {
+ constructor() {
+ super({
+ baseURL: "/api/v1/extended_attribute_types",
+ });
+ }
+
+ get additional_fields() {
+ return {
+ getAll: resource_type =>
+ this.get({
+ endpoint: "?resource_type=" + resource_type,
+ }),
+ };
+ }
+}
+
+export default AdditionalFieldsAPIClient;
diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js b/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js
index 4bfd3c8dd0..7e10da71ea 100644
--- a/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js
+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js
@@ -1,6 +1,7 @@
import ERMAPIClient from "./erm-api-client";
import PatronAPIClient from "./patron-api-client";
import AcquisitionAPIClient from "./acquisition-api-client";
+import AdditionalFieldsAPIClient from "./additional-fields-api-client";
import AVAPIClient from "./authorised-values-api-client";
import ItemAPIClient from "./item-api-client";
import RecordSourcesAPIClient from "./record-sources-api-client";
@@ -11,6 +12,7 @@ export const APIClient = {
erm: new ERMAPIClient(),
patron: new PatronAPIClient(),
acquisition: new AcquisitionAPIClient(),
+ additional_fields: new AdditionalFieldsAPIClient(),
authorised_values: new AVAPIClient(),
item: new ItemAPIClient(),
sysprefs: new SysprefAPIClient(),