diff --git a/src/frontend/app/administration/indexingModel/indexing-model-administration.component.html b/src/frontend/app/administration/indexingModel/indexing-model-administration.component.html
index b8e38d6590b3a4d718ee90d7ae60fe5c0e8f4b49..80194727368301a38715e0f8fb29a527d7a9eae0 100644
--- a/src/frontend/app/administration/indexingModel/indexing-model-administration.component.html
+++ b/src/frontend/app/administration/indexingModel/indexing-model-administration.component.html
@@ -11,6 +11,17 @@
                 <mat-spinner style="margin:auto;"></mat-spinner>
             </div>
             <mat-card *ngIf="!loading" class="card-app-content">
+                <div style="display: flex;">
+                    <mat-form-field>
+                        <mat-label>{{lang.category_id}}</mat-label>
+                        <mat-select name="category" [(ngModel)]="indexingModel.category" [placeholder]="lang.category_id"
+                            required>
+                            <mat-option *ngFor="let category of categoriesList;let i=index" [value]="category.id">
+                                {{category.label}}
+                            </mat-option>
+                        </mat-select>
+                    </mat-form-field>
+                </div>
                 <div style="display: flex;">
                     <div style="flex:1;">
                         <mat-form-field class="indexingModelLabel" appearance="outline">
@@ -26,7 +37,8 @@
                 </div>
                 <mat-tab-group>
                     <mat-tab [label]="lang.indexingForm">
-                        <app-indexing-form #indexingForm [indexingFormId]="indexingModel.id" [admin]="true"></app-indexing-form>
+                        <app-indexing-form #indexingForm [indexingFormId]="indexingModel.id" [admin]="true">
+                        </app-indexing-form>
                         <div class="col-md-12 text-center">
                             <button mat-raised-button color="primary" (click)="onSubmit()"
                                 [disabled]="(!indexingForm.isModified() && !isModified()) || indexingModel.label === ''">{{creationMode ? lang.save : lang.update}}</button>
diff --git a/src/frontend/app/administration/indexingModel/indexing-model-administration.component.ts b/src/frontend/app/administration/indexingModel/indexing-model-administration.component.ts
index 408935517bb991c4cfd581c33d9cc1a3b61727dd..9d9fbbfdd753a312d13966b0962fa31f743bbac1 100644
--- a/src/frontend/app/administration/indexingModel/indexing-model-administration.component.ts
+++ b/src/frontend/app/administration/indexingModel/indexing-model-administration.component.ts
@@ -6,7 +6,7 @@ import { HeaderService } from '../../../service/header.service';
 import { MatDialog } from '@angular/material/dialog';
 import { MatSidenav } from '@angular/material/sidenav';
 import { AppService } from '../../../service/app.service';
-import { tap, catchError, finalize } from 'rxjs/operators';
+import { tap, catchError, finalize, exhaustMap } from 'rxjs/operators';
 import { of } from 'rxjs';
 import { SortPipe } from '../../../plugins/sorting.pipe';
 import { IndexingFormComponent } from '../../indexation/indexing-form/indexing-form.component';
@@ -37,6 +37,7 @@ export class IndexingModelAdministrationComponent implements OnInit {
     indexingModel: any = {
         id: 0,
         label: '',
+        category: 'incoming',
         default: false,
         owner: 0,
         private: false
@@ -81,7 +82,9 @@ export class IndexingModelAdministrationComponent implements OnInit {
         }
     ];
 
-    availableCustomFields: any[] = []
+    availableCustomFields: any[] = [];
+
+    categoriesList: any [];
 
     constructor(
         public http: HttpClient,
@@ -101,11 +104,21 @@ export class IndexingModelAdministrationComponent implements OnInit {
 
         this.route.params.subscribe((params) => {
             if (typeof params['id'] == "undefined") {
+                this.creationMode = true;
+
                 this.headerService.setHeader(this.lang.indexingModelCreation);
 
+                this.http.get('../../rest/categories').pipe(
+                    tap((data: any) => {
+                        this.categoriesList = data.categories;
+                    }),
+                    finalize(() => this.loading = false),
+                    catchError((err: any) => {
+                        this.notify.handleErrors(err);
+                        return of(false);
+                    })
+                ).subscribe();
                 this.indexingModelClone = JSON.parse(JSON.stringify(this.indexingModel));
-                this.creationMode = true;
-                this.loading = false;
 
             } else {
                 this.creationMode = false;
@@ -119,6 +132,10 @@ export class IndexingModelAdministrationComponent implements OnInit {
                         this.indexingModelClone = JSON.parse(JSON.stringify(this.indexingModel));
 
                     }),
+                    exhaustMap(() => this.http.get('../../rest/categories')),
+                    tap((data: any) => {
+                        this.categoriesList = data.categories;
+                    }),
                     finalize(() => this.loading = false),
                     catchError((err: any) => {
                         this.notify.handleErrors(err);
diff --git a/src/frontend/app/administration/indexingModel/indexing-models-administration.component.html b/src/frontend/app/administration/indexingModel/indexing-models-administration.component.html
index b1fdc0d6ebdb54df8677c9d57cd6468df1eb34bb..f04f5079ce39fd07f11401e20b42e6c7ae5ac36d 100644
--- a/src/frontend/app/administration/indexingModel/indexing-models-administration.component.html
+++ b/src/frontend/app/administration/indexingModel/indexing-models-administration.component.html
@@ -33,20 +33,26 @@
                     </div>
                 </div>
                 <mat-table #table [dataSource]="dataSource" matSort matSortActive="label" matSortDirection="asc">
+                    <ng-container matColumnDef="category">
+                        <mat-header-cell *matHeaderCellDef mat-sort-header>{{lang.category_id}}</mat-header-cell>
+                        <mat-cell *matCellDef="let element"> {{lang[element.category]}} </mat-cell>
+                    </ng-container>
                     <ng-container matColumnDef="label">
-                        <mat-header-cell *matHeaderCellDef mat-sort-header>{{lang.label}}</mat-header-cell>
-                        <mat-cell *matCellDef="let element"> {{element.label}} </mat-cell>
+                        <mat-header-cell *matHeaderCellDef mat-sort-header style="flex:2">{{lang.label}}</mat-header-cell>
+                        <mat-cell *matCellDef="let element" style="flex:2"> {{element.label}} </mat-cell>
                     </ng-container>
                     <ng-container matColumnDef="private">
                         <mat-header-cell *matHeaderCellDef mat-sort-header>{{lang.perimeter}}</mat-header-cell>
                         <mat-cell *matCellDef="let element">
-                            <span [ngClass]="{'dataLabelWarn': element.private, 'dataLabelPrimary': !element.private}" class="label">{{element.private ? lang.private : lang.public}}</span>
+                            <span [ngClass]="{'dataLabelWarn': element.private, 'dataLabelPrimary': !element.private}"
+                                class="label">{{element.private ? lang.private : lang.public}}</span>
                         </mat-cell>
                     </ng-container>
                     <ng-container matColumnDef="default">
                         <mat-header-cell *matHeaderCellDef mat-sort-header>{{lang.default}}</mat-header-cell>
                         <mat-cell *matCellDef="let element">
-                                <span [ngClass]="{'dataLabelWarn': !element.default, 'dataLabelPrimary': element.default}" class="label">{{element.default ? lang.yes : lang.no}}</span>
+                            <span [ngClass]="{'dataLabelWarn': !element.default, 'dataLabelPrimary': element.default}"
+                                class="label">{{element.default ? lang.yes : lang.no}}</span>
                         </mat-cell>
                     </ng-container>
                     <ng-container matColumnDef="actions">
diff --git a/src/frontend/app/administration/indexingModel/indexing-models-administration.component.ts b/src/frontend/app/administration/indexingModel/indexing-models-administration.component.ts
index 90a5f18d8f49a08dcccd6447e7ce2e1c794354e4..c5928e931ded149b0026b45ddbd9f1f277cf0a85 100644
--- a/src/frontend/app/administration/indexingModel/indexing-models-administration.component.ts
+++ b/src/frontend/app/administration/indexingModel/indexing-models-administration.component.ts
@@ -33,7 +33,7 @@ export class IndexingModelsAdministrationComponent implements OnInit {
 
     loading: boolean = false;
 
-    displayedColumns = ['label', 'private', 'default', 'actions'];
+    displayedColumns = ['category', 'label', 'private', 'default', 'actions'];
 
     dataSource = new MatTableDataSource(this.indexingModels);
 
diff --git a/src/frontend/app/indexation/indexing-form/indexing-form.component.html b/src/frontend/app/indexation/indexing-form/indexing-form.component.html
index 714dd11e6c11ecd00678bdef3b8dcbb7fc4e1d10..d63b2850bd5207bfc093d3830ded9d18a6599039 100644
--- a/src/frontend/app/indexation/indexing-form/indexing-form.component.html
+++ b/src/frontend/app/indexation/indexing-form/indexing-form.component.html
@@ -3,6 +3,7 @@
 </div>
 <ng-container *ngIf="!loading">
     <div *ngIf="!adminMode" style="display: flex;align-items: center;justify-content: flex-end;">
+        <span class="categoryLabel">{{lang[currentCategory]}}</span>
         <button mat-icon-button>
             <mat-icon color="primary" class="far fa-star" style="font-size: 20px;"></mat-icon>
         </button>
diff --git a/src/frontend/app/indexation/indexing-form/indexing-form.component.scss b/src/frontend/app/indexation/indexing-form/indexing-form.component.scss
index 2a5d8652106a765e3c3b319e3be843eecbea645d..c1f5dcb8021d4d4c3c5054dd87327a38766b826c 100644
--- a/src/frontend/app/indexation/indexing-form/indexing-form.component.scss
+++ b/src/frontend/app/indexation/indexing-form/indexing-form.component.scss
@@ -386,4 +386,9 @@
 
 .checkboxInput {
     display: block;
+}
+
+.categoryLabel {
+    color: $secondary;
+    font-weight: bold;
 }
\ No newline at end of file
diff --git a/src/frontend/app/indexation/indexing-form/indexing-form.component.ts b/src/frontend/app/indexation/indexing-form/indexing-form.component.ts
index 5b62cc55dd7130219f6e7ebf537f39d566a082c9..d0595e58cf9ec032aac37de2fd8cf23674ef37e1 100644
--- a/src/frontend/app/indexation/indexing-form/indexing-form.component.ts
+++ b/src/frontend/app/indexation/indexing-form/indexing-form.component.ts
@@ -31,16 +31,6 @@ export class IndexingFormComponent implements OnInit {
     fieldCategories: any[] = ['mail', 'contact', 'process', 'classement'];
 
     indexingModelsCore: any[] = [
-        {
-            identifier: 'category_id',
-            label: this.lang.category_id,
-            unit: 'mail',
-            type: 'select',
-            system: true,
-            mandatory: true,
-            default_value: '',
-            values: []
-        },
         {
             identifier: 'doctype',
             label: this.lang.doctype,
@@ -165,6 +155,8 @@ export class IndexingFormComponent implements OnInit {
 
     arrFormControl: any = {};
 
+    currentCategory: string = '';
+
     constructor(
         public http: HttpClient,
         private notify: NotificationService,
@@ -486,6 +478,8 @@ export class IndexingFormComponent implements OnInit {
             }),
             exhaustMap((data) => this.http.get("../../rest/indexingModels/" + indexModelId)),
             tap((data: any) => {
+                
+                this.currentCategory = data.indexingModel.category;
                 let fieldExist: boolean;
                 if (data.indexingModel.fields.length === 0) {
                     this.fieldCategories.forEach(element => {