diff --git a/src/app/features/deposit/components/routables/deposit-collection/deposit-collection.routable.html b/src/app/features/deposit/components/routables/deposit-collection/deposit-collection.routable.html
new file mode 100644
index 0000000000000000000000000000000000000000..075a7b83d306b4eea66fac0f3aebe788148212f4
--- /dev/null
+++ b/src/app/features/deposit/components/routables/deposit-collection/deposit-collection.routable.html
@@ -0,0 +1,40 @@
+<div>
+  <div class="tab-content">
+    <div class="file-uploaded">
+      <h1>{{'deposit.aip.title.collection' | translate}}</h1>
+      <div class="file-uploaded-header">
+        <button mat-icon-button
+                mat-button
+                (click)="refresh()"
+                [matTooltip]="'deposit.file.tree.refresh' | translate"
+                [matTooltipPosition]="'left'"
+                [class.spinning]="isLoadingCollectionObs | async"
+                [disabled]="isLoadingCollectionObs | async"
+        >
+          <fa-icon icon="sync-alt"></fa-icon>
+        </button>
+      </div>
+
+      <div class="file-viewer">
+        <div class="file-list-wrapper"
+             [dlcmSpinner]="isLoadingCollectionObs | async"
+        >
+          <dlcm-shared-data-table *ngIf="columns"
+                                  [columns]="columns"
+                                  [actions]="actions"
+                                  [isLoading]="isLoadingCollectionObs | async"
+                                  [datas]="listCollectionObs | async"
+                                  [queryParameters]="queryParametersObs | async"
+                                  (queryParametersChange)="onQueryParametersEvent($event)"
+                                  (selectChange)="showDetail($event)"
+          >
+          </dlcm-shared-data-table>
+        </div>
+
+        <ng-template #noFile>
+          <label>{{'deposit.file.tree.noFile' | translate}}</label>
+        </ng-template>
+      </div>
+    </div>
+  </div>
+</div>
diff --git a/src/app/features/deposit/components/routables/deposit-collection/deposit-collection.routable.scss b/src/app/features/deposit/components/routables/deposit-collection/deposit-collection.routable.scss
new file mode 100644
index 0000000000000000000000000000000000000000..e625020704368d8b94f3a2dffb9eab99d50bec7a
--- /dev/null
+++ b/src/app/features/deposit/components/routables/deposit-collection/deposit-collection.routable.scss
@@ -0,0 +1,52 @@
+@import "../../../../../../sass/abstracts/variables";
+@import "../../../../../../sass/abstracts/mixins";
+@import "../../../../../shared/components/routables/shared-abstract-detail-edit-common/shared-abstract-detail-edit-common.routable";
+
+:host {
+  padding: 0;
+
+  .tab-content {
+
+    .file-uploaded {
+
+      .file-uploaded-header {
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        position: relative;
+        min-height: 35px;
+
+        fa-icon {
+          font-size: 20px;
+        }
+
+        button {
+          transition-property: transform;
+          transition-duration: 1s;
+
+          position: absolute;
+          top: -10px;
+          right: 10px;
+
+          &.spinning {
+            animation-name: rotate;
+            animation-duration: 2s;
+            animation-iteration-count: infinite;
+            animation-timing-function: linear;
+          }
+
+          @keyframes rotate {
+            from {
+              transform: rotate(0deg);
+            }
+            to {
+              transform: rotate(360deg);
+            }
+          }
+        }
+      }
+    }
+  }
+
+}
+
diff --git a/src/app/features/deposit/components/routables/deposit-collection/deposit-collection.routable.ts b/src/app/features/deposit/components/routables/deposit-collection/deposit-collection.routable.ts
new file mode 100644
index 0000000000000000000000000000000000000000..1fe32d755a73e92fba1685786e7dde03e62d6261
--- /dev/null
+++ b/src/app/features/deposit/components/routables/deposit-collection/deposit-collection.routable.ts
@@ -0,0 +1,226 @@
+import {
+  ChangeDetectorRef,
+  Component,
+  OnInit,
+} from "@angular/core";
+import {MatDialog} from "@angular/material";
+import {ActivatedRoute} from "@angular/router";
+import {DepositExtended} from "@deposit/models/deposits-extended.model";
+import {DepositCollectionAction} from "@deposit/stores/collection/deposit-collection.action";
+import {DepositCollectionState} from "@deposit/stores/collection/deposit-collection.state";
+import {depositActionNameSpace} from "@deposit/stores/deposit.action";
+import {DepositStateModel} from "@deposit/stores/deposit.state";
+import {environment} from "@environments/environment";
+import {
+  Actions,
+  Store,
+} from "@ngxs/store";
+import {AipExtended} from "@preservation/aip/models/aip-extended.model";
+import {PreservationAipAipAction} from "@preservation/aip/stores/aip-aip/aip-aip.action";
+import {PreservationAipAipState} from "@preservation/aip/stores/aip-aip/aip-aip.state";
+import {PreservationAipAipStatusHistoryAction} from "@preservation/aip/stores/aip-aip/status-history/aip-aip-status-history.action";
+import {
+  SharedAipDetailDialog,
+  SharedAipDetailDialogData,
+} from "@shared/components/dialogs/shared-aip-detail/shared-aip-detail.dialog";
+import {SharedAbstractDetailEditRoutable} from "@shared/components/routables/shared-abstract-detail-edit/shared-abstract-detail-edit.routable";
+import {ComplianceLevelEnum} from "@shared/enums/business/compliance-level.enum";
+import {DataFileStatusEnum} from "@shared/enums/business/data-file-status.enum";
+import {DataTableComponentEnum} from "@shared/enums/data-table-component.enum";
+import {FieldTypeEnum} from "@shared/enums/field-type.enum";
+import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {
+  AppRoutesEnum,
+  PreservationPlanningRoutesEnum,
+} from "@shared/enums/routes.enum";
+import {DataTableActions} from "@shared/models/data-table-actions.model";
+import {DataTableColumns} from "@shared/models/data-table-columns.model";
+import {Observable} from "rxjs";
+import {
+  CompositionState,
+  MemoizedUtil,
+  ObservableUtil,
+  OrderEnum,
+  QueryParameters,
+  ResourceActionHelper,
+  TRANSLATE,
+} from "solidify-frontend";
+
+@Component({
+  selector: "dlcm-deposit-collection-routable",
+  templateUrl: "./deposit-collection.routable.html",
+  styleUrls: ["./deposit-collection.routable.scss"],
+})
+export class DepositCollectionRoutable extends SharedAbstractDetailEditRoutable<DepositExtended, DepositStateModel> implements OnInit {
+  readonly KEY_PARAM_NAME: keyof DepositExtended & string = undefined;
+
+  isLoadingCollectionObs: Observable<boolean> = MemoizedUtil.isLoading(this._store, DepositCollectionState);
+  listCollectionObs: Observable<AipExtended[]> = CompositionState.list(this._store, DepositCollectionState);
+  queryParametersObs: Observable<QueryParameters> = CompositionState.queryParameters(this._store, DepositCollectionState);
+
+
+
+  columns: DataTableColumns<AipExtended>[];
+  actions: DataTableActions<AipExtended>[];
+
+  constructor(protected readonly _store: Store,
+              protected readonly _route: ActivatedRoute,
+              protected readonly _actions$: Actions,
+              protected readonly _changeDetector: ChangeDetectorRef,
+              protected readonly _dialog: MatDialog) {
+    super(_store, _route, _actions$, _changeDetector, _dialog, LocalStateEnum.deposit, depositActionNameSpace);
+  }
+
+  ngOnInit(): void {
+    super.ngOnInit();
+    this.getCurrentModelOnParent();
+
+    this.columns = [
+      {
+        field: "info.name" as any,
+        header: TRANSLATE("deposit.aip.table.aipName"),
+        type: FieldTypeEnum.string,
+        order: OrderEnum.none,
+        isSortable: true,
+        isFilterable: false,
+      },
+      {
+        field: "info.status" as any,
+        header: TRANSLATE("deposit.aip.table.status"),
+        type: FieldTypeEnum.singleSelect,
+        order: OrderEnum.none,
+        isSortable: false,
+        isFilterable: false,
+        translate: true,
+        filterEnum: [
+          {
+            key: DataFileStatusEnum.IN_ERROR,
+            value: TRANSLATE("IN_ERROR"),
+          },
+          {
+            key: DataFileStatusEnum.READY,
+            value: TRANSLATE("READY"),
+          },
+          {
+            key: DataFileStatusEnum.RECEIVED,
+            value: TRANSLATE("RECEIVED"),
+          },
+          {
+            key: DataFileStatusEnum.CHANGE_RELATIVE_LOCATION,
+            value: TRANSLATE("CHANGE_RELATIVE_LOCATION"),
+          },
+          {
+            key: DataFileStatusEnum.TO_PROCESS,
+            value: TRANSLATE("TO_PROCESS"),
+          },
+          {
+            key: DataFileStatusEnum.PROCESSED,
+            value: TRANSLATE("PROCESSED"),
+          },
+          {
+            key: DataFileStatusEnum.FILE_FORMAT_IDENTIFIED,
+            value: TRANSLATE("FILE_FORMAT_IDENTIFIED"),
+          },
+          {
+            key: DataFileStatusEnum.FILE_FORMAT_UNKNOWN,
+            value: TRANSLATE("FILE_FORMAT_UNKNOWN"),
+          },
+          {
+            key: DataFileStatusEnum.VIRUS_CHECKED,
+            value: TRANSLATE("VIRUS_CHECKED"),
+          },
+          {
+            key: DataFileStatusEnum.CLEANING,
+            value: TRANSLATE("CLEANING"),
+          },
+          {
+            key: DataFileStatusEnum.CLEANED,
+            value: TRANSLATE("CLEANED"),
+          },
+        ],
+      },
+      {
+        field: "info.complianceLevel" as any,
+        header: TRANSLATE("deposit.aip.table.complianceLevel"),
+        type: FieldTypeEnum.singleSelect,
+        order: OrderEnum.none,
+        isSortable: false,
+        isFilterable: false,
+        translate: true,
+        component: DataTableComponentEnum.conformityLevelStar,
+        filterEnum: [
+          {
+            key: ComplianceLevelEnum.FULL_COMPLIANCE,
+            value: TRANSLATE("FULL_COMPLIANCE"),
+          },
+          {
+            key: ComplianceLevelEnum.AVERAGE_COMPLIANCE,
+            value: TRANSLATE("AVERAGE_COMPLIANCE"),
+          },
+          {
+            key: ComplianceLevelEnum.WEAK_COMPLIANCE,
+            value: TRANSLATE("WEAK_COMPLIANCE"),
+          },
+          {
+            key: ComplianceLevelEnum.NO_COMPLIANCE,
+            value: TRANSLATE("NO_COMPLIANCE"),
+          },
+          {
+            key: ComplianceLevelEnum.NOT_ASSESSED,
+            value: TRANSLATE("NOT_ASSESSED"),
+          },
+        ],
+      },
+    ];
+    this.actions = [
+      {
+        logo: "forward",
+        callback: (aipExtended: AipExtended) => this.goToAip(aipExtended),
+        placeholder: TRANSLATE("crud.list.action.goToAip"),
+        displayOnCondition: (aipExtended: AipExtended) => true,
+      }
+    ];
+  }
+
+  private getCurrentModelOnParent(): void {
+    this._resId = this._route.snapshot.parent.paramMap.get(AppRoutesEnum.paramIdWithoutPrefixParam);
+    this.getDepositById(this._resId);
+  }
+
+  private getDepositById(id: string): void {
+    this._store.dispatch(ResourceActionHelper.getById(depositActionNameSpace, id, true));
+    this.getSubResourceWithParentId(id);
+  }
+
+  getSubResourceWithParentId(id: string): void {
+    this._store.dispatch(new DepositCollectionAction.GetAll(id, null, true));
+  }
+
+  refresh(): void {
+    this._store.dispatch(new DepositCollectionAction.Refresh(this._resId));
+  }
+
+  onQueryParametersEvent(queryParameters: QueryParameters): void {
+    this._store.dispatch(new DepositCollectionAction.ChangeQueryParameters(this._resId, queryParameters, true));
+  }
+
+  showDetail(aip: AipExtended): void {
+    const dialogRef = this._dialog.open(SharedAipDetailDialog, {
+      data: {
+        aip: aip,
+        parentId: this._resId,
+        isReadonly: true,
+        isLoading: null,
+        statusHistory: null,
+        queryParametersObs: null,
+        state: null,
+        name: LocalStateEnum.deposit_collection,
+      } as SharedAipDetailDialogData<AipExtended>,
+      width: environment.modalWidth,
+    });
+  }
+
+  private goToAip(aip: AipExtended): void {
+    this._store.dispatch(new DepositCollectionAction.GoToAip(aip));
+  }
+}
diff --git a/src/app/features/deposit/components/routables/deposit-detail-edit/deposit-detail-edit.routable.html b/src/app/features/deposit/components/routables/deposit-detail-edit/deposit-detail-edit.routable.html
index 8a4b266c4222b810e88141eeeed9e20652e4ed81..95ca9ae3ad072cb310d070ad7f9887da1e1f56c8 100644
--- a/src/app/features/deposit/components/routables/deposit-detail-edit/deposit-detail-edit.routable.html
+++ b/src/app/features/deposit/components/routables/deposit-detail-edit/deposit-detail-edit.routable.html
@@ -122,6 +122,12 @@
       <span class="tab-header-label">{{'deposit.tab.upload' | translate}}</span>
     </ng-template>
   </mat-tab>
+  <mat-tab *ngIf="(currentObs | async)?.collectionSize > 0">
+    <ng-template mat-tab-label>
+      <mat-icon class="tab-header-icon">insert_drive_file</mat-icon>
+      <span class="tab-header-label">{{'deposit.tab.collection' | translate}}</span>
+    </ng-template>
+  </mat-tab>
 </mat-tab-group>
 
 <div class="tab-content">
diff --git a/src/app/features/deposit/deposit-routing.module.ts b/src/app/features/deposit/deposit-routing.module.ts
index 561f03a97ff5d385e814160f6c8beb4beef8117f..09c12218f83086ecc48cb930be2e17f8922e5c99 100644
--- a/src/app/features/deposit/deposit-routing.module.ts
+++ b/src/app/features/deposit/deposit-routing.module.ts
@@ -10,6 +10,7 @@ import {
   DepositRoutesEnum,
 } from "@app/shared/enums/routes.enum";
 import {DlcmRoutes} from "@app/shared/models/dlcm-route.model";
+import {DepositCollectionRoutable} from "@deposit/components/routables/deposit-collection/deposit-collection.routable";
 import {DepositDetailEditRoutable} from "@deposit/components/routables/deposit-detail-edit/deposit-detail-edit.routable";
 import {DepositFileRoutable} from "@deposit/components/routables/deposit-file/deposit-file.routable";
 import {DepositHomeRoutable} from "@deposit/components/routables/deposit-home/deposit-home.routable";
@@ -137,6 +138,14 @@ const routes: DlcmRoutes = [
             canActivate: [DepositRoleGuardEditService],
             canDeactivate: [CanDeactivateGuard],
           },
+          {
+            path: DepositRoutesEnum.collection,
+            component: DepositCollectionRoutable,
+            data : {
+              breadcrumb: TRANSLATE("breadcrumb.deposit.collection"),
+              noBreadcrumbLink: true,
+            }
+          }
         ],
       },
     ],
diff --git a/src/app/features/deposit/deposit.module.ts b/src/app/features/deposit/deposit.module.ts
index bf6a76f51b541cb528021aa586a24012411fda90..d2ed7722cc87ddb07f224b14cd8163b79ee7d12b 100644
--- a/src/app/features/deposit/deposit.module.ts
+++ b/src/app/features/deposit/deposit.module.ts
@@ -15,11 +15,13 @@ import {DepositPersonAlternativeDialog} from "@deposit/components/dialogs/deposi
 import {DepositPersonDialog} from "@deposit/components/dialogs/deposit-person/deposit-person.dialog";
 import {DepositBannerPresentational} from "@deposit/components/presentationals/deposit-banner/deposit-banner.presentational";
 import {DepositFolderTreePresentational} from "@deposit/components/presentationals/deposit-folder-tree/deposit-folder-tree.presentational";
+import {DepositCollectionRoutable} from "@deposit/components/routables/deposit-collection/deposit-collection.routable";
 import {DepositFileRoutable} from "@deposit/components/routables/deposit-file/deposit-file.routable";
 import {DepositHomeRoutable} from "@deposit/components/routables/deposit-home/deposit-home.routable";
 import {DepositMetadataRoutable} from "@deposit/components/routables/deposit-metadata/deposit-metadata.routable";
 import {DepositRootRoutable} from "@deposit/components/routables/deposit-root/deposit-root.routable";
 import {DepositUploadRoutable} from "@deposit/components/routables/deposit-upload/deposit-upload.routable";
+import {DepositCollectionState} from "@deposit/stores/collection/deposit-collection.state";
 import {DepositDataFileStatusHistoryState} from "@deposit/stores/data-file/status-history/deposit-data-file-status-history.state";
 import {DepositOrganizationalUnitState} from "@deposit/stores/organizational-unit/deposit-organizational-unit.state";
 import {DepositStatusHistoryState} from "@deposit/stores/status-history/deposit-status-history.state";
@@ -38,6 +40,7 @@ const routables = [
   DepositFileRoutable,
   DepositUploadRoutable,
   DepositMetadataRoutable,
+  DepositCollectionRoutable
 ];
 const containers = [];
 const dialogs = [
@@ -74,6 +77,7 @@ const presentationals = [
       DepositStatusHistoryState,
       DepositDataFileStatusHistoryState,
       DepositOrganizationalUnitState,
+      DepositCollectionState
     ]),
   ],
   entryComponents: [
diff --git a/src/app/features/deposit/enums/deposit-tab.enum.ts b/src/app/features/deposit/enums/deposit-tab.enum.ts
index 6ba699f7ca1eb55c05090f8a6a53bbbc2a8ff210..253009927c15ce0a97cbf55bb2cae94bd5342cd4 100644
--- a/src/app/features/deposit/enums/deposit-tab.enum.ts
+++ b/src/app/features/deposit/enums/deposit-tab.enum.ts
@@ -2,4 +2,5 @@ export enum DepositTabEnum {
   metadata = 0,
   file = 1,
   upload = 2,
+  collection = 3,
 }
diff --git a/src/app/features/deposit/helpers/deposit.helper.ts b/src/app/features/deposit/helpers/deposit.helper.ts
index 5c828545b804d43d4c64429322e3d051d6ae4101..d1073820a783926d8b3f38b8528730597e44b605 100644
--- a/src/app/features/deposit/helpers/deposit.helper.ts
+++ b/src/app/features/deposit/helpers/deposit.helper.ts
@@ -34,6 +34,9 @@ export class DepositHelper {
     if (tabRouteSelected === DepositRoutesEnum.upload) {
       return DepositTabEnum.upload;
     }
+    if (tabRouteSelected === DepositRoutesEnum.collection) {
+      return DepositTabEnum.collection;
+    }
     return undefined;
   }
 
@@ -47,6 +50,9 @@ export class DepositHelper {
     if (tabIndexSelected === DepositTabEnum.upload) {
       return DepositRoutesEnum.upload;
     }
+    if (tabIndexSelected === DepositTabEnum.collection) {
+      return DepositRoutesEnum.collection;
+    }
     return undefined;
   }
 
diff --git a/src/app/features/deposit/stores/collection/deposit-collection.action.ts b/src/app/features/deposit/stores/collection/deposit-collection.action.ts
new file mode 100644
index 0000000000000000000000000000000000000000..7deba1e518a99e5068e4bc4b297f4f6ea43b2aa0
--- /dev/null
+++ b/src/app/features/deposit/stores/collection/deposit-collection.action.ts
@@ -0,0 +1,162 @@
+import {AipExtended} from "@preservation/aip/models/aip-extended.model";
+import {
+  BaseAction,
+  BaseSubAction,
+  CompositionAction,
+  CompositionNameSpace,
+  QueryParameters,
+  TypeDefaultAction,
+} from "solidify-frontend";
+import {LocalStateEnum} from "../../../../shared/enums/local-state.enum";
+
+const state = LocalStateEnum.deposit_collection;
+
+export namespace DepositCollectionAction {
+  @TypeDefaultAction(state)
+  export class GetAll extends CompositionAction.GetAll {
+  }
+
+  @TypeDefaultAction(state)
+  export class GetAllSuccess extends CompositionAction.GetAllSuccess<AipExtended> {
+  }
+
+  @TypeDefaultAction(state)
+  export class GetAllFail extends CompositionAction.GetAllFail {
+  }
+
+  @TypeDefaultAction(state)
+  export class GetById extends CompositionAction.GetById {
+  }
+
+  @TypeDefaultAction(state)
+  export class GetByIdSuccess extends CompositionAction.GetByIdSuccess<AipExtended> {
+  }
+
+  @TypeDefaultAction(state)
+  export class GetByIdFail extends CompositionAction.GetByIdFail {
+  }
+
+  @TypeDefaultAction(state)
+  export class Update extends CompositionAction.Update<AipExtended> {
+  }
+
+  @TypeDefaultAction(state)
+  export class UpdateSuccess extends CompositionAction.UpdateSuccess<AipExtended> {
+  }
+
+  @TypeDefaultAction(state)
+  export class UpdateFail extends CompositionAction.UpdateFail<AipExtended> {
+  }
+
+  @TypeDefaultAction(state)
+  export class Create extends CompositionAction.Create<AipExtended> {
+  }
+
+  @TypeDefaultAction(state)
+  export class CreateSuccess extends CompositionAction.CreateSuccess<AipExtended> {
+  }
+
+  @TypeDefaultAction(state)
+  export class CreateFail extends CompositionAction.CreateFail<AipExtended> {
+  }
+
+  @TypeDefaultAction(state)
+  export class Delete extends CompositionAction.Delete<AipExtended> {
+  }
+
+  @TypeDefaultAction(state)
+  export class DeleteSuccess extends CompositionAction.DeleteSuccess<AipExtended> {
+  }
+
+  @TypeDefaultAction(state)
+  export class DeleteFail extends CompositionAction.DeleteFail<AipExtended> {
+  }
+
+  export class ChangeQueryParameters extends BaseAction {
+    static readonly type: string = `[${state}] Change Query Parameters`;
+
+    constructor(public parentId: string, public queryParameters: QueryParameters, public keepCurrentContext: boolean = false) {
+      super();
+    }
+  }
+
+  export class Refresh {
+    static readonly type: string = `[${state}] Refresh`;
+
+    constructor(public parentId: string) {
+    }
+  }
+
+  export class GetListFolder extends BaseAction {
+    static readonly type: string = `[${state}] Get List Folder`;
+
+    constructor(public parentId: string) {
+      super();
+    }
+  }
+
+  export class GetListFolderSuccess extends BaseSubAction<GetListFolder> {
+    static readonly type: string = `[${state}] Get List Folder Success`;
+
+    constructor(public parentAction: GetListFolder, public folder: string[]) {
+      super(parentAction);
+    }
+  }
+
+  export class GetListFolderFail extends BaseSubAction<GetListFolder> {
+    static readonly type: string = `[${state}] Get List Folder Fail`;
+
+    constructor(public parentAction: GetListFolder) {
+      super(parentAction);
+    }
+  }
+
+  export class GetNumberAip extends BaseAction {
+    static readonly type: string = `[${state}] Get Number Aip`;
+
+    constructor(public parentId: string) {
+      super();
+    }
+  }
+
+  export class GetNumberAipSuccess extends BaseSubAction<GetNumberAip> {
+    static readonly type: string = `[${state}] Get Number Aip Success`;
+
+    constructor(public parentAction: GetNumberAip, public numberFiles: number) {
+      super(parentAction);
+    }
+  }
+
+  export class GetNumberAipFail extends BaseSubAction<GetNumberAip> {
+    static readonly type: string = `[${state}] Get Number Aip Fail`;
+  }
+
+  export class GetNumberAipInError extends BaseAction {
+    static readonly type: string = `[${state}] Get Number Aip in Error`;
+
+    constructor(public parentId: string) {
+      super();
+    }
+  }
+
+  export class GetNumberAipInErrorSuccess extends BaseSubAction<GetNumberAipInError> {
+    static readonly type: string = `[${state}] Get Number Aip in Error Success`;
+
+    constructor(public parentAction: GetNumberAipInError, public numberFilesInErrors: number) {
+      super(parentAction);
+    }
+  }
+
+  export class GetNumberAipInErrorFail extends BaseSubAction<GetNumberAipInError> {
+    static readonly type: string = `[${state}] Get Number Aip in Error Fail`;
+  }
+
+  export class GoToAip {
+    static readonly type: string = `[${state}] Go To Aip`;
+
+    constructor(public aip: AipExtended) {
+    }
+  }
+}
+
+export const depositCollectionActionNameSpace: CompositionNameSpace = DepositCollectionAction;
diff --git a/src/app/features/deposit/stores/collection/deposit-collection.state.ts b/src/app/features/deposit/stores/collection/deposit-collection.state.ts
new file mode 100644
index 0000000000000000000000000000000000000000..866f90b3c0f3b71df934c6927bef6b5f239432ea
--- /dev/null
+++ b/src/app/features/deposit/stores/collection/deposit-collection.state.ts
@@ -0,0 +1,99 @@
+import {HttpClient} from "@angular/common/http";
+import {Inject} from "@angular/core";
+import {WINDOW} from "@app/app.module";
+import {
+  DepositCollectionAction,
+  depositCollectionActionNameSpace,
+} from "@deposit/stores/collection/deposit-collection.action";
+import {DepositDataFileAction} from "@deposit/stores/data-file/deposit-data-file.action";
+import {DepositDataFileStateModel} from "@deposit/stores/data-file/deposit-data-file.state";
+import {Navigate} from "@ngxs/router-plugin";
+import {
+  Action,
+  Actions,
+  State,
+  StateContext,
+  Store,
+} from "@ngxs/store";
+import {AipExtended} from "@preservation/aip/models/aip-extended.model";
+import {PreservationAipAipAction} from "@preservation/aip/stores/aip-aip/aip-aip.action";
+import {PreservationAipAipStateModel} from "@preservation/aip/stores/aip-aip/aip-aip.state";
+import {PreservationAipAction} from "@preservation/aip/stores/aip.action";
+import {ApiResourceNameEnum} from "@shared/enums/api-resource-name.enum";
+import {PreIngestResourceApiEnum} from "@shared/enums/api.enum";
+import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {
+  AppRoutesEnum,
+  PreservationPlanningRoutesEnum,
+  RoutesEnum,
+  urlSeparator,
+} from "@shared/enums/routes.enum";
+import {DownloadService} from "@shared/services/download.service";
+import {
+  ApiService,
+  CompositionState,
+  CompositionStateModel,
+  defaultCompositionStateInitValue,
+  NotificationService,
+} from "solidify-frontend";
+
+export const defaultDepositCollectionValue: () => DepositCollectionStateModel = () =>
+  ({
+    ...defaultCompositionStateInitValue(),
+    listFolders: [],
+    numberAips: undefined,
+    numberAipInErrors: undefined,
+  });
+
+
+export interface DepositCollectionStateModel extends CompositionStateModel<AipExtended> {
+  listFolders: string[];
+  numberAips: number | undefined;
+  numberAipInErrors: number | undefined;
+}
+
+@State<DepositCollectionStateModel>({
+  name: LocalStateEnum.deposit_collection,
+  defaults: {
+    ...defaultDepositCollectionValue(),
+  },
+})
+export class DepositCollectionState extends CompositionState<DepositCollectionStateModel, AipExtended> {
+  constructor(protected apiService: ApiService,
+              protected store: Store,
+              protected notificationService: NotificationService,
+              protected actions$: Actions,
+              @Inject(WINDOW) private _window: Window,
+              protected httpClient: HttpClient,
+              private downloadService: DownloadService) {
+    super(apiService, store, notificationService, actions$, {
+      nameSpace: depositCollectionActionNameSpace,
+      resourceName: ApiResourceNameEnum.AIP,
+    });
+  }
+
+  protected get _urlResource(): string {
+    return PreIngestResourceApiEnum.deposits;
+  }
+
+
+  @Action(DepositCollectionAction.ChangeQueryParameters)
+  changeQueryParameters(ctx: StateContext<DepositCollectionStateModel>, action: DepositCollectionAction.ChangeQueryParameters): void {
+    ctx.patchState({
+      queryParameters: action.queryParameters,
+    });
+    ctx.dispatch(new DepositCollectionAction.GetAll(action.parentId, undefined, action.keepCurrentContext));
+  }
+
+  @Action(DepositCollectionAction.Refresh)
+  refresh(ctx: StateContext<DepositCollectionStateModel>, action: DepositCollectionAction.Refresh): void {
+    ctx.dispatch(new DepositCollectionAction.GetAll(action.parentId, undefined, true));
+  }
+
+  @Action(DepositCollectionAction.GoToAip)
+  goToAip(ctx: StateContext<DepositCollectionStateModel>, action: DepositCollectionAction.GoToAip): void {
+    const pathAipDetail = RoutesEnum.preservationAip + urlSeparator + 1 + urlSeparator + PreservationPlanningRoutesEnum.aipDetail + AppRoutesEnum.separator;
+    const path = [pathAipDetail, action.aip.resId];
+    ctx.dispatch(new Navigate(path));
+  }
+}
diff --git a/src/app/features/deposit/stores/deposit.state.ts b/src/app/features/deposit/stores/deposit.state.ts
index cc14197eaa1d484d57d4427fcc75cfe3ca682fa3..fdbab3a5ac400e2c30f2d445374d9eac9fd753a1 100644
--- a/src/app/features/deposit/stores/deposit.state.ts
+++ b/src/app/features/deposit/stores/deposit.state.ts
@@ -39,6 +39,11 @@ import {SharedPreservationPolicyAction} from "@app/shared/stores/preservation-po
 import {SharedSubmissionPolicyAction} from "@app/shared/stores/submission-policy/shared-submission-policy.action";
 import {AppAction} from "@app/stores/app.action";
 import {AppAuthorizedOrganizationalUnitState} from "@app/stores/authorized-organizational-unit/app-authorized-organizational-unit.state";
+import {
+  defaultDepositCollectionValue,
+  DepositCollectionState,
+  DepositCollectionStateModel,
+} from "@deposit/stores/collection/deposit-collection.state";
 import {DepositOrganizationalUnitState} from "@deposit/stores/organizational-unit/deposit-organizational-unit.state";
 import {
   DepositStatusHistoryState,
@@ -91,6 +96,7 @@ import {
 export interface DepositStateModel extends ResourceStateModel<DepositExtended> {
   deposit_dataFile: DepositDataFileStateModel;
   deposit_person: DepositPersonStateModel;
+  deposit_collection: DepositCollectionStateModel;
   isLoadingDataFile: boolean;
   uploadStatus: UploadFileStatus[];
   deposit_statusHistory: DepositStatusHistoryStateModel;
@@ -110,6 +116,7 @@ export interface DepositStateModel extends ResourceStateModel<DepositExtended> {
     ...defaultResourceStateInitValue(),
     deposit_dataFile: defaultDepositDataFileValue(),
     deposit_person: {...defaultAssociationRemoteStateInitValue()},
+    deposit_collection: defaultDepositCollectionValue(),
     isLoadingDataFile: false,
     uploadStatus: [],
     deposit_statusHistory: {...defaultStatusHistoryInitValue()},
@@ -127,6 +134,7 @@ export interface DepositStateModel extends ResourceStateModel<DepositExtended> {
     DepositPeopleState,
     DepositStatusHistoryState,
     DepositOrganizationalUnitState,
+    DepositCollectionState
   ],
 })
 export class DepositState extends ResourceState<DepositStateModel, DepositExtended> {
diff --git a/src/app/features/preservation/aip/components/routables/aip-tabs/aip-tabs.routable.ts b/src/app/features/preservation/aip/components/routables/aip-tabs/aip-tabs.routable.ts
index d4b543a298efa159747eb566be64812548dd0303..9cdc55db5e61629d1c36bf03c20efbf834d01f05 100644
--- a/src/app/features/preservation/aip/components/routables/aip-tabs/aip-tabs.routable.ts
+++ b/src/app/features/preservation/aip/components/routables/aip-tabs/aip-tabs.routable.ts
@@ -94,5 +94,4 @@ export class AipTabsRoutable extends SharedAbstractRoutable implements OnInit {
     this._store.dispatch(new Navigate([AppRoutesEnum.preservation, PreservationPlanningRoutesEnum.aip, this.storagionNode, PreservationPlanningRoutesEnum.aipList, tab]));
   }
 
-
 }
diff --git a/src/app/shared/components/dialogs/shared-aip-detail/shared-aip-detail.dialog.html b/src/app/shared/components/dialogs/shared-aip-detail/shared-aip-detail.dialog.html
index 8a422dc153cc1deafecd00bcc2ee2fb97bbe078d..748299e49a64d3a83118f3e985a6c0a2de249951 100644
--- a/src/app/shared/components/dialogs/shared-aip-detail/shared-aip-detail.dialog.html
+++ b/src/app/shared/components/dialogs/shared-aip-detail/shared-aip-detail.dialog.html
@@ -15,6 +15,7 @@
     </ng-container>
 
     <button mat-button
+            *ngIf="data.isLoading !==null"
             color="accent"
             (click)="showHistory()"
     >
diff --git a/src/app/shared/enums/local-state.enum.ts b/src/app/shared/enums/local-state.enum.ts
index 2053bf25bafd6de71423682d755305ca0fcd29b3..aeab43b388625980322d3666948b5e6ed58fa398 100644
--- a/src/app/shared/enums/local-state.enum.ts
+++ b/src/app/shared/enums/local-state.enum.ts
@@ -15,6 +15,7 @@ export enum LocalStateEnum {
   deposit_person = "deposit_person",
   deposit_organizationalUnit = "deposit_organizationalUnit",
   deposit_dataFile = "deposit_dataFile",
+  deposit_collection = "deposit_collection",
   deposit_statusHistory = "deposit_statusHistory",
   deposit_dataFile_statusHistory = "deposit_dataFile_statusHistory",
 
diff --git a/src/app/shared/enums/routes.enum.ts b/src/app/shared/enums/routes.enum.ts
index beb64cd1a4488e3792bcbb36e330d6133a68c5b3..567a2a7294922ac9e2e40191ce92590a2a1b3102 100644
--- a/src/app/shared/enums/routes.enum.ts
+++ b/src/app/shared/enums/routes.enum.ts
@@ -30,6 +30,7 @@ export enum DepositRoutesEnum {
   metadata = "metadata",
   files = "files",
   upload = "upload",
+  collection = "collection",
   paramTab = ":tab",
   paramTabWithoutPrefix = "tab",
 }
diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json
index bd2e5b34ac5e4d28e6e7944c5fec5b986b278c5e..564f68c5838db99aa38d278a5fc01bad9ebb537e 100644
--- a/src/assets/i18n/de.json
+++ b/src/assets/i18n/de.json
@@ -847,7 +847,8 @@
       "file": "Data files",
       "metadata": "Metadata",
       "root": "Deposits",
-      "upload": "Uploads"
+      "upload": "Uploads",
+      "collection": "Collection"
     },
     "home": "Home",
     "organizationalUnit": {
@@ -899,6 +900,15 @@
     }
   },
   "deposit": {
+    "aip": {
+      "title": {
+        "collection": "Collection"
+      },
+      "table": {
+        "aipName": "Aip Name",
+        "status": "Status",
+        "complianceLevel": "Compliance Level"
+      },
     "accessLevel": "Access Level",
     "addMeAsAuthor": "add me as author",
     "alert": {
@@ -1124,6 +1134,7 @@
     "submissionPolicy": "Submission Policy",
     "submit": "Submit",
     "tab": {
+      "collection": "Collection",
       "datafiles": "Files",
       "details": "Metadata",
       "upload": "Uploads"
diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json
index b2ee1e550ed23ce8759263919ed997a01a1d3cbe..acbb2f49130d167422368fc00ba9f0f1dedc7226 100644
--- a/src/assets/i18n/en.json
+++ b/src/assets/i18n/en.json
@@ -847,7 +847,8 @@
       "file": "Data files",
       "metadata": "Metadata",
       "root": "Deposits",
-      "upload": "Uploads"
+      "upload": "Uploads",
+      "collection": "Collection"
     },
     "home": "Home",
     "organizationalUnit": {
@@ -899,6 +900,16 @@
     }
   },
   "deposit": {
+    "aip": {
+      "title": {
+        "collection": "Collection"
+      },
+      "table": {
+        "aipName": "Aip Name",
+        "status": "Status",
+        "complianceLevel": "Compliance Level"
+      }
+    },
     "accessLevel": "Access Level",
     "addMeAsAuthor": "add me as author",
     "alert": {
@@ -1124,6 +1135,7 @@
     "submissionPolicy": "Submission Policy",
     "submit": "Submit",
     "tab": {
+      "collection": "Collection",
       "datafiles": "Files",
       "details": "Metadata",
       "upload": "Uploads"
diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json
index 987cf3e878e540facf0905cb206df1c0e1e07cf7..8d022b33ea8584d468b55d177830ac032f716c5f 100644
--- a/src/assets/i18n/fr.json
+++ b/src/assets/i18n/fr.json
@@ -847,7 +847,8 @@
       "file": "Fichiers",
       "metadata": "Métadonnées",
       "root": "Dépôts",
-      "upload": "Envois"
+      "upload": "Envois",
+      "collection": "Collection"
     },
     "home": "Accueil",
     "organizationalUnit": {
@@ -899,6 +900,15 @@
     }
   },
   "deposit": {
+    "aip": {
+      "title": {
+        "collection": "Collection"
+      },
+      "table": {
+        "aipName": "Nom d'Aip",
+        "status": "Statut",
+        "complianceLevel": "Niveau de conformité"
+      },
     "accessLevel": "Niveau d'accès",
     "addMeAsAuthor": "m'ajouter en tant qu'auteur",
     "alert": {
@@ -1126,7 +1136,8 @@
     "tab": {
       "datafiles": "Fichiers",
       "details": "Métadonnées",
-      "upload": "Envois"
+      "upload": "Envois",
+      "collection": "Collection"
     },
     "table": {
       "header": {