diff --git a/src/Domain/Reporting/Generator/Word/ContractorGenerator.php b/src/Domain/Reporting/Generator/Word/ContractorGenerator.php
index e0545ec5e2898b8f4b871965780fc92b9108e448..2f7307ec6abf849c835bc99b654c3aac2f5775bb 100644
--- a/src/Domain/Reporting/Generator/Word/ContractorGenerator.php
+++ b/src/Domain/Reporting/Generator/Word/ContractorGenerator.php
@@ -154,6 +154,21 @@ class ContractorGenerator extends AbstractGenerator implements ImpressionGenerat
             $section->addTitle($contractor->getName(), 2);
 
             $generalInformationsData = [
+                [
+                    'Nom',
+                    $contractor->getName(),
+                ],
+            ];
+
+            // Ajouter les services si le module est actif
+            if ($contractor->getCollectivity()->getIsServicesEnabled()) {
+                $generalInformationsData[] = [
+                    'Service',
+                    $contractor->getService(),
+                ];
+            }
+
+            $generalInformationsData = array_merge($generalInformationsData, [
                 [
                     'Agent référent',
                     $contractor->getReferent() ?? $this->parameterBag->get('APP_DEFAULT_REFERENT'),
@@ -178,7 +193,7 @@ class ContractorGenerator extends AbstractGenerator implements ImpressionGenerat
                     'Autres informations',
                     $contractor->getOtherInformations(),
                 ],
-            ];
+            ]);
 
             $addressData = [
                 [
diff --git a/src/Domain/Reporting/Generator/Word/MesurementGenerator.php b/src/Domain/Reporting/Generator/Word/MesurementGenerator.php
index 231652b3bea1b5581299da09300b56e3c51f6af1..c3f4f722e5fa866665b7d8c94ad551cef2538a13 100644
--- a/src/Domain/Reporting/Generator/Word/MesurementGenerator.php
+++ b/src/Domain/Reporting/Generator/Word/MesurementGenerator.php
@@ -314,6 +314,17 @@ class MesurementGenerator extends AbstractGenerator implements ImpressionGenerat
                     'Nom',
                     $mesurement->getName(),
                 ],
+            ];
+
+            // Ajouter les services si le module est actif
+            if ($mesurement->getCollectivity()->getIsServicesEnabled()) {
+                $generalInformationsData[] = [
+                    'Service',
+                    $mesurement->getService(),
+                ];
+            }
+
+            $generalInformationsData = array_merge($generalInformationsData, [
                 [
                     'Description',
                     $mesurement->getDescription() ? \preg_split('/\R/', $mesurement->getDescription()) : null,
@@ -334,7 +345,7 @@ class MesurementGenerator extends AbstractGenerator implements ImpressionGenerat
                     'Charge',
                     $mesurement->getCharge(),
                 ],
-            ];
+            ]);
 
             $applicationData = [
                 [
@@ -344,7 +355,7 @@ class MesurementGenerator extends AbstractGenerator implements ImpressionGenerat
                 [
                     'Échéance',
                     MesurementStatusDictionary::STATUS_NOT_APPLICABLE !== $mesurement->getStatus()
-                        ? ($mesurement->getPlanificationDate() ? $this->getDate($mesurement->getPlanificationDate()) : null)
+                        ? ($mesurement->getPlanificationDate() ? $this->getDate($mesurement->getPlanificationDate(), 'd/m/Y') : null)
                         : 'Non applicable',
                 ],
                 [
diff --git a/src/Domain/Reporting/Generator/Word/RequestGenerator.php b/src/Domain/Reporting/Generator/Word/RequestGenerator.php
index d89b73273b7cb33b15c3d68b16b263f800581d09..fc0e0f843426285907f28703d3c120bb4c500bb8 100644
--- a/src/Domain/Reporting/Generator/Word/RequestGenerator.php
+++ b/src/Domain/Reporting/Generator/Word/RequestGenerator.php
@@ -121,7 +121,18 @@ class RequestGenerator extends AbstractGenerator implements ImpressionGeneratorI
                 $section->addPageBreak();
             }
             $section->addTitle($request->__toString(), 2);
-            $requestData = [
+
+            $requestData = [];
+
+            // Ajouter les services si le module est actif
+            if ($request->getCollectivity()->getIsServicesEnabled()) {
+                $requestData[] = [
+                    'Service',
+                    $request->getService(),
+                ];
+            }
+
+            $requestData = array_merge($requestData, [
                 [
                     'Objet de la demande',
                     $request->getObject() ? RequestObjectDictionary::getObjects()[$request->getObject()] : null,
@@ -150,7 +161,7 @@ class RequestGenerator extends AbstractGenerator implements ImpressionGeneratorI
                     'Demande légitime',
                     $request->isLegitimateRequest() ? 'Oui' : 'Non',
                 ],
-            ];
+            ]);
 
             $applicant     = $request->getApplicant();
             $applicantData = [
diff --git a/src/Domain/Reporting/Generator/Word/ToolGenerator.php b/src/Domain/Reporting/Generator/Word/ToolGenerator.php
index 4c1b2d97691e9e241d9d8d12505b6c32d806ce2f..2c583bf024af8bede13006d94e073f0685a597a3 100644
--- a/src/Domain/Reporting/Generator/Word/ToolGenerator.php
+++ b/src/Domain/Reporting/Generator/Word/ToolGenerator.php
@@ -116,6 +116,21 @@ class ToolGenerator extends AbstractGenerator implements ImpressionGeneratorInte
             $section->addTitle($tool->getName(), 2);
 
             $generalInformationsData = [
+                [
+                    'Nom',
+                    $tool->getName(),
+                ],
+            ];
+
+            // Ajouter les services si le module est actif
+            if ($tool->getCollectivity()->getIsServicesEnabled()) {
+                $generalInformationsData[] = [
+                    'Service',
+                    $tool->getService(),
+                ];
+            }
+
+            $generalInformationsData = array_merge($generalInformationsData, [
                 [
                     'Type',
                     ToolTypeDictionary::getTypes()[$tool->getType()],
@@ -140,7 +155,7 @@ class ToolGenerator extends AbstractGenerator implements ImpressionGeneratorInte
                     'Pays d\'hébergement ou de stockage',
                     $this->translator->trans($tool->getCountryType()),
                 ],
-            ];
+            ]);
 
             if (Tool::COUNTRY_FRANCE !== $tool->getCountryType()) {
                 $generalInformationsData[] = [
diff --git a/src/Domain/Reporting/Generator/Word/TreatmentGenerator.php b/src/Domain/Reporting/Generator/Word/TreatmentGenerator.php
index 56ca6c96214cea51be7af82422ef5a6d987b0e80..a9674b9e97925f6d731366cd56c655756cbac215 100644
--- a/src/Domain/Reporting/Generator/Word/TreatmentGenerator.php
+++ b/src/Domain/Reporting/Generator/Word/TreatmentGenerator.php
@@ -220,8 +220,8 @@ class TreatmentGenerator extends AbstractGenerator implements ImpressionGenerato
 
             $generalInformationsData = [
                 [
-                    'Registre public',
-                    $treatment->getPublic() ? 'Oui' : 'Non',
+                    'Nom',
+                    $treatment->getName(),
                 ],
             ];
 
@@ -233,14 +233,16 @@ class TreatmentGenerator extends AbstractGenerator implements ImpressionGenerato
                 ];
             }
 
-            $generalInformationsData[] = [
-                'Finalités',
-                $treatment->getGoal() ? \preg_split('/\R/', $treatment->getGoal()) : null,
-            ];
-            $generalInformationsData[] = [
-                'En tant que',
-                !\is_null($treatment->getAuthor()) && array_key_exists($treatment->getAuthor(), TreatmentAuthorDictionary::getAuthors()) ? TreatmentAuthorDictionary::getAuthors()[$treatment->getAuthor()] : $treatment->getAuthor(),
-            ];
+            $generalInformationsData = array_merge($generalInformationsData, [
+                [
+                    'Finalités',
+                    $treatment->getGoal() ? \preg_split('/\R/', $treatment->getGoal()) : null,
+                ],
+                [
+                    'En tant que',
+                    !\is_null($treatment->getAuthor()) && array_key_exists($treatment->getAuthor(), TreatmentAuthorDictionary::getAuthors()) ? TreatmentAuthorDictionary::getAuthors()[$treatment->getAuthor()] : $treatment->getAuthor(),
+                ],
+            ]);
 
             // Ajouter les coordonnées du responsable de traitement si l'auteur est différent du Responsable de Traitement
             if ('processing_manager' !== $treatment->getAuthor()) {
@@ -250,40 +252,49 @@ class TreatmentGenerator extends AbstractGenerator implements ImpressionGenerato
                 ];
             }
 
-            $generalInformationsData[] = [
-                'Gestionnaire',
-                $treatment->getManager() ?? $this->parameterBag->get('APP_DEFAULT_REFERENT'),
-            ];
-            $generalInformationsData[] = [
-                'État',
-                $treatment->isActive() ? 'Actif' : 'Inactif',
-            ];
-            $generalInformationsData[] = [
-                'Base légale',
-                TreatmentLegalBasisDictionary::getBasis()[$treatment->getLegalBasis()],
-            ];
-            $generalInformationsData[] = [
-                'Justification de la base légale',
-                $treatment->getLegalBasisJustification() ? \preg_split('/\R/', $treatment->getLegalBasisJustification()) : null,
-            ];
+            $generalInformationsData = array_merge($generalInformationsData, [
+                [
+                    'Gestionnaire',
+                    $treatment->getManager() ?? $this->parameterBag->get('APP_DEFAULT_REFERENT'),
+                ],
+                [
+                    'État',
+                    $treatment->isActive() ? 'Actif' : 'Inactif',
+                ],
+                [
+                    'Base légale',
+                    TreatmentLegalBasisDictionary::getBasis()[$treatment->getLegalBasis()],
+                ],
+                [
+                    'Justification de la base légale',
+                    $treatment->getLegalBasisJustification() ? \preg_split('/\R/', $treatment->getLegalBasisJustification()) : null,
+                ],
+            ]);
 
             // Ajouter le consentement demandé et son format si la base légale est "consent"
             if ('consent' === $treatment->getLegalBasis()) {
-                $generalInformationsData[] = [
-                    'Consentement demandé',
-                    $treatment->getConsentRequest() ? 'Oui' : 'Non',
-                ];
-
-                $generalInformationsData[] = [
-                    'Format de la demande du consentement',
-                    $treatment->getConsentRequestFormat(),
-                ];
+                $generalInformationsData = array_merge($generalInformationsData, [
+                    [
+                        'Consentement demandé',
+                        $treatment->getConsentRequest() ? 'Oui' : 'Non',
+                    ],
+                    [
+                        'Format de la demande du consentement',
+                        $treatment->getConsentRequestFormat(),
+                    ],
+                ]);
             }
 
-            $generalInformationsData[] = [
-                'Observations',
-                $treatment->getObservation() ? \preg_split('/\R/', $treatment->getObservation()) : null,
-            ];
+            $generalInformationsData = array_merge($generalInformationsData, [
+                [
+                    'Observations',
+                    $treatment->getObservation() ? \preg_split('/\R/', $treatment->getObservation()) : null,
+                ],
+                [
+                    'Registre public',
+                    $treatment->getPublic() ? 'Oui' : 'Non',
+                ],
+            ]);
 
             $detailsData = [
                 [
@@ -312,10 +323,19 @@ class TreatmentGenerator extends AbstractGenerator implements ImpressionGenerato
                         return TreatmentCollectingMethodDictionary::getMethods()[$cm];
                     }, $treatment->getCollectingMethod())) : '',
                 ],
-                [
-                    'Mentions légales apposées',
-                    $treatment->getLegalMentions() ? 'Oui' : 'Non',
-                ],
+            ];
+
+            // Ajouter l'autre moyen de collecte si le champ n'est pas vide
+            if (!empty($treatment->getOtherCollectingMethod())) {
+                $detailsData[] = [
+                    'Autre moyen de collecte',
+                    $treatment->getOtherCollectingMethod(),
+                ];
+            }
+
+            $detailsData[] = [
+                'Mentions légales apposées',
+                $treatment->getLegalMentions() ? 'Oui' : 'Non',
             ];
 
             // "Durée de conservation"
@@ -553,7 +573,7 @@ class TreatmentGenerator extends AbstractGenerator implements ImpressionGenerato
             $cell->addText($item->getName());
             $cell = $treatmentAnnexListTable->addCell(2000);
             $cell->addText($item->getManager());
-            $cell    = $treatmentAnnexListTable->addCell(1500);
+            $cell = $treatmentAnnexListTable->addCell(1500);
             $support = $item->isPaperProcessing() ? 'Papier, ' : '';
             $support = $item->getCollectivity() && $item->getCollectivity()->isHasModuleTools() ? $item->getToolsString() : $item->getSoftware();
 
diff --git a/src/Domain/Reporting/Generator/Word/ViolationGenerator.php b/src/Domain/Reporting/Generator/Word/ViolationGenerator.php
index d0009a673050b26ef99ea9f7f366318f8df151c5..06591a06662d5a20a9c1ccf3625fcc1751549a9a 100644
--- a/src/Domain/Reporting/Generator/Word/ViolationGenerator.php
+++ b/src/Domain/Reporting/Generator/Word/ViolationGenerator.php
@@ -177,12 +177,23 @@ class ViolationGenerator extends AbstractGenerator implements ImpressionGenerato
 
             $cellDate = $this->getDate($violation->getDate(), 'd/m/Y');
 
-            $natures                = join(', ', array_map(function ($n) { return ViolationNatureDictionary::getNatures()[$n] ?? $n; }, (array) $violation->getViolationNatures()));
-            $generalInformationData = [
+            $generalInformationsData = [
                 [
                     'Date de la violation',
                     $cellDate,
                 ],
+            ];
+
+            // Ajouter les services si le module est actif
+            if ($violation->getCollectivity()->getIsServicesEnabled()) {
+                $generalInformationsData[] = [
+                    'Service',
+                    $violation->getService(),
+                ];
+            }
+
+            $natures                = join(', ', array_map(function ($n) { return ViolationNatureDictionary::getNatures()[$n] ?? $n; }, (array) $violation->getViolationNatures()));
+            $generalInformationsData = array_merge($generalInformationsData, [
                 [
                     'Violation en cours',
                     $violation->isInProgress() ? 'Oui' : 'Non',
@@ -215,7 +226,7 @@ class ViolationGenerator extends AbstractGenerator implements ImpressionGenerato
                     'Nombre approximatif de personnes concernées par la violation',
                     $violation->getNbAffectedPersons(),
                 ],
-            ];
+            ]);
 
             $consequenceData = [
                 [
@@ -268,7 +279,7 @@ class ViolationGenerator extends AbstractGenerator implements ImpressionGenerato
             ];
 
             $section->addTitle('Informations sur la violation', 3);
-            $this->addTable($section, $generalInformationData, false, self::TABLE_ORIENTATION_VERTICAL);
+            $this->addTable($section, $generalInformationsData, false, self::TABLE_ORIENTATION_VERTICAL);
 
             $section->addTitle('Conséquences de la violation', 3);
             $this->addTable($section, $consequenceData, false, self::TABLE_ORIENTATION_VERTICAL);
diff --git a/templates/Registry/Request/list.html.twig b/templates/Registry/Request/list.html.twig
index deea71f66c9aa7a38a59b87a60fc631f349e41fc..b1f8bcd1d584af6f3e35c20a9c09576a073c1aa9 100644
--- a/templates/Registry/Request/list.html.twig
+++ b/templates/Registry/Request/list.html.twig
@@ -40,16 +40,16 @@
                     {{ 'registry.request.action.new'|trans }}
                 </a>
             {% endif %}
-            <a href="{{ path('registry_request_report') }}" class="btn btn-default">
-                <i aria-hidden="true" class="fa fa-clipboard-list"></i>
-                {{ 'global.action.report'|trans }}
-            </a>
             {% if app.request.query.get('archive') == 'true' %}
                 <a href="{{ path('registry_request_list', {'archive' : 'false'}) }}" class="btn btn-default">
                     <i aria-hidden="true" class="fa fa-archive"></i>
                     {{ 'registry.request.action.not_archived'|trans }}
                 </a>
             {% else %}
+                <a href="{{ path('registry_request_report') }}" class="btn btn-default">
+                    <i aria-hidden="true" class="fa fa-clipboard-list"></i>
+                    {{ 'global.action.report'|trans }}
+                </a>
                 <a href="{{ path('registry_request_list', {'archive' : 'true'}) }}" class="btn btn-default">
                     <i aria-hidden="true" class="fa fa-archive"></i>
                     {{ 'registry.request.action.archived'|trans }}
diff --git a/templates/Registry/Treatment/list.html.twig b/templates/Registry/Treatment/list.html.twig
index 8325de3d9413e2e2b03e1ca700e184293e3978db..b1bcc8ce871f0ae538eeb0381610516d2e8e4ef3 100644
--- a/templates/Registry/Treatment/list.html.twig
+++ b/templates/Registry/Treatment/list.html.twig
@@ -39,16 +39,16 @@
                     {{ 'registry.treatment.action.new'|trans }}
                 </a>
             {% endif %}
-            <a href="{{ path('registry_treatment_report') }}" class="btn btn-default">
-                <i aria-hidden="true" class="fa fa-clipboard-list"></i>
-                {{ 'global.action.report'|trans }}
-            </a>
             {% if app.request.query.get('active') == 'false' %}
                 <a href="{{ path('registry_treatment_list', {'active' : 'true'}) }}" class="btn btn-default">
                     <i aria-hidden="true" class="fa fa-list"></i>
                     {{ 'registry.treatment.action.active'|trans }}
                 </a>
             {% else %}
+                <a href="{{ path('registry_treatment_report') }}" class="btn btn-default">
+                    <i aria-hidden="true" class="fa fa-clipboard-list"></i>
+                    {{ 'global.action.report'|trans }}
+                </a>
                 <a href="{{ path('registry_treatment_list', {'active' : 'false'}) }}" class="btn btn-default">
                     <i aria-hidden="true" class="fa fa-list"></i>
                     {{ 'registry.treatment.action.inactive'|trans }}
diff --git a/templates/Registry/Treatment/pdf.html.twig b/templates/Registry/Treatment/pdf.html.twig
index 3b685ee4a51bf1e8831e1b27415865217bfe0ed5..7b75994afe29c188784709f05037feed8e12ac62 100644
--- a/templates/Registry/Treatment/pdf.html.twig
+++ b/templates/Registry/Treatment/pdf.html.twig
@@ -40,16 +40,6 @@
         <div class="box-body no-padding">
             <table class="table">
                 <tbody>
-                    <tr>
-                        <td><strong>{{ 'registry.treatment.label.public_registry'|trans }}</strong></td>
-                        <td>
-                            {% if object.public == true %}
-                                <span class="badge bg-green">{{ 'global.label.yes'|trans }}</span>
-                            {% else %}
-                                <span class="badge bg-yellow">{{ 'global.label.no'|trans }}</span>
-                            {% endif %}
-                        </td>
-                    </tr>
                     <tr>
                         <td><strong>{{ 'registry.treatment.label.name'|trans }}</strong></td>
                         <td>{{ object.name }}</td>
@@ -116,6 +106,16 @@
                         <td><strong>{{ 'registry.treatment.label.observation'|trans }}</strong></td>
                         <td>{{ object.observation|nl2br }}</td>
                     </tr>
+                    <tr>
+                        <td><strong>{{ 'registry.treatment.label.public_registry'|trans }}</strong></td>
+                        <td>
+                            {% if object.public == true %}
+                                <span class="badge bg-green">{{ 'global.label.yes'|trans }}</span>
+                            {% else %}
+                                <span class="badge bg-yellow">{{ 'global.label.no'|trans }}</span>
+                            {% endif %}
+                        </td>
+                    </tr>
                 </tbody>
             </table>
         </div>
@@ -472,7 +472,7 @@
                             </ul>
                         </td>
                     </tr>
-                    {% if  object.otherCollectingMethod is not null %}
+                    {% if object.otherCollectingMethod is not null %}
                         <tr>
                             <td><strong>{{ 'registry.treatment.label.otherCollectingMethod'|trans }}</strong></td>
                             <td>{{ object.otherCollectingMethod }}</td>
diff --git a/templates/Registry/Treatment/pdf_all.html.twig b/templates/Registry/Treatment/pdf_all.html.twig
index 7aa1a6854527a39f22506c7d0ded99c97f2ffaf1..1111d07e0292ce52f8aa5e6bf18ce02a7fe253c3 100644
--- a/templates/Registry/Treatment/pdf_all.html.twig
+++ b/templates/Registry/Treatment/pdf_all.html.twig
@@ -42,16 +42,6 @@
                     <div class="box-body no-padding">
                         <table class="table">
                             <tbody>
-                                <tr>
-                                    <td><strong>{{ 'registry.treatment.label.public_registry'|trans }}</strong></td>
-                                    <td>
-                                        {% if object.public == true %}
-                                            <span class="badge bg-green">{{ 'global.label.yes'|trans }}</span>
-                                        {% else %}
-                                            <span class="badge bg-yellow">{{ 'global.label.no'|trans }}</span>
-                                        {% endif %}
-                                    </td>
-                                </tr>
                                 <tr>
                                     <td><strong>{{ 'registry.treatment.label.name'|trans }}</strong></td>
                                     <td>{{ object.name }}</td>
@@ -118,6 +108,16 @@
                                     <td><strong>{{ 'registry.treatment.label.observation'|trans }}</strong></td>
                                     <td>{{ object.observation|nl2br }}</td>
                                 </tr>
+                                <tr>
+                                    <td><strong>{{ 'registry.treatment.label.public_registry'|trans }}</strong></td>
+                                    <td>
+                                        {% if object.public == true %}
+                                            <span class="badge bg-green">{{ 'global.label.yes'|trans }}</span>
+                                        {% else %}
+                                            <span class="badge bg-yellow">{{ 'global.label.no'|trans }}</span>
+                                        {% endif %}
+                                    </td>
+                                </tr>
                             </tbody>
                         </table>
                     </div>
@@ -474,7 +474,7 @@
                                         </ul>
                                     </td>
                                 </tr>
-                                {% if  object.otherCollectingMethod is not null %}
+                                {% if object.otherCollectingMethod is not null %}
                                     <tr>
                                         <td><strong>{{ 'registry.treatment.label.otherCollectingMethod'|trans }}</strong></td>
                                         <td>{{ object.otherCollectingMethod }}</td>
diff --git a/templates/Registry/Treatment/show.html.twig b/templates/Registry/Treatment/show.html.twig
index 65c09ada4300784a185c59581c7ec227c14dd563..4034bf72cdaeea2fa35e9acf4f32f75dd528ea05 100644
--- a/templates/Registry/Treatment/show.html.twig
+++ b/templates/Registry/Treatment/show.html.twig
@@ -78,16 +78,6 @@
                 <div class="box-body no-padding">
                     <table role="presentation" class="table">
                         <tbody>
-                            <tr>
-                                <td><strong>{{ 'registry.treatment.label.public_registry'|trans }}</strong></td>
-                                <td>
-                                    {% if object.public == true %}
-                                        <span class="badge bg-green">{{ 'global.label.yes'|trans }}</span>
-                                    {% else %}
-                                        <span class="badge bg-yellow">{{ 'global.label.no'|trans }}</span>
-                                    {% endif %}
-                                </td>
-                            </tr>
                             <tr>
                                 <td><strong>{{ 'registry.treatment.label.name'|trans }}</strong></td>
                                 <td>{{ object.name }}</td>
@@ -154,6 +144,16 @@
                                 <td><strong>{{ 'registry.treatment.label.observation'|trans }}</strong></td>
                                 <td>{{ object.observation|nl2br }}</td>
                             </tr>
+                            <tr>
+                                <td><strong>{{ 'registry.treatment.label.public_registry'|trans }}</strong></td>
+                                <td>
+                                    {% if object.public == true %}
+                                        <span class="badge bg-green">{{ 'global.label.yes'|trans }}</span>
+                                    {% else %}
+                                        <span class="badge bg-yellow">{{ 'global.label.no'|trans }}</span>
+                                    {% endif %}
+                                </td>
+                            </tr>
                         </tbody>
                     </table>
                 </div>
diff --git a/templates/Registry/Violation/list.html.twig b/templates/Registry/Violation/list.html.twig
index 4de2d4c0924cab7bc0f22837f381a13c30f91464..56326f9bb19624ce5af8a1c4416059a486f820cd 100644
--- a/templates/Registry/Violation/list.html.twig
+++ b/templates/Registry/Violation/list.html.twig
@@ -40,16 +40,16 @@
                     {{ 'registry.violation.action.new'|trans }}
                 </a>
             {% endif %}
-            <a href="{{ path('registry_violation_report') }}" class="btn btn-default">
-                <i aria-hidden="true" class="fa fa-clipboard-list"></i>
-                {{ 'global.action.report'|trans }}
-            </a>
             {% if app.request.query.get('archive') == 'true' %}
                 <a href="{{ path('registry_violation_list', {'archive' : 'false'}) }}" class="btn btn-default">
                     <i aria-hidden="true" class="fa fa-archive"></i>
                     {{ 'registry.violation.action.not_archived'|trans }}
                 </a>
             {% else %}
+                <a href="{{ path('registry_violation_report') }}" class="btn btn-default">
+                    <i aria-hidden="true" class="fa fa-clipboard-list"></i>
+                    {{ 'global.action.report'|trans }}
+                </a>
                 <a href="{{ path('registry_violation_list', {'archive' : 'true'}) }}" class="btn btn-default">
                     <i aria-hidden="true" class="fa fa-archive"></i>
                     {{ 'registry.violation.action.archived'|trans }}