# Report Display Name in Footer

This module extends the pagination functionality in reports to display the name of the document on each page of PDFs, allowing you to know which document each page belongs to and in what order they should appear.

Pagination will appear on the left side and document name on the right side of the footer.

# Implementation Details

The pagination and document name positioning is implemented differently across report layouts:

Layouts using ``replace`` (``Standard``, ``Folder``):

- The entire report_footer container div is replaced to recreate the structure with the pagination moved below the company footer
- This approach is necessary because these layouts use `<div t-field="company.report_footer"/>` instead of `<span>`, and you cannot add child elements inside the element.
- The original pagination div is deleted first, then the new structure is created with both the company footer and pagination in the correct order

Other layouts (``Striped``, ``Boxed``, ``Bold``, ``Bubble``, ``Wave``):

- Elements are repositioned using `move` operations or by adding CSS classes (`float-start`, `float-end`)

In all cases, the comma separator originally present in the document name is removed by modifying the `t-out` attribute.

Important

This is an alpha version, the data model and design can change at any time without warning. Only for development or testing purpose, do not use in production. More details on development status

Table of contents

- Use Cases / Context
- Configuration
- Usage
- Known issues / Roadmap
- Bug Tracker
- Credits
  - Authors
  - Contributors
  - Maintainers

## Use Cases / Context

Printing the name of the document on footer is only allowed by default to invoices by setting `account.display_name_in_footer` to True.

This module was developed because there is no way to print other document names on each page of reports.

It will be useful for you if you want to print the name of the document in the footer pages to quickly know what page belongs to what document.

Also you can define what documents will have the document name in its footer.

## Configuration

To configure this module, you need to:

1. Go to System parameters and create or edit `report.display_name_in_footer_models` parameter.
2. Add desired model names separated by comma.
   - If you want to print name on all reports, just write ‘all’ on the value.
   - If you want to exclude certain models, add ‘-’ before model name.
3. Examples:
   - Only few models: sale.order,purchase.order,stock.picking
   - All models: all
   - All models except two: all,-sale.order,-purchase.order
4. The field printed in the report will be name for any type of document. If your document doesn’t have this field, please exclude from the list with ‘-’ and the name of the model.
5. Compatible on all document layout:
   - Light
   - Boxed
   - Bold
   - Striped
   - Bubble
   - Wave
   - Folder
6. Compatible report types:
   - PDF

## Usage

To use this module, you need to:

1. Go to System Parameters.
2. Add your desired models or use ‘all’ to show document name on all type of documents.
3. Print a report for you desired model.
4. Check Footer to see document name.

## Known issues / Roadmap

When this module is checking if the model has to display the name in the footer is done at the level of the initial model of the report you are printing.

Examples of strange cases/uses: stock_picking_batch_print_pickings and stock_picking_batch_print_invoices modules print the delivery notes or invoices of the Pickings associated with the Batch, but the report is being launched from the Batch. So, the header and footer belongs to the Batch.

Within that report, calls are made to the invoice or delivery note reports, but the check to see if the name of the document has to be printed in the footer is done on the Batch.

Therefore, if you set the configuration parameter to “stock.picking, account.move” , the names printed from that report will not appear. By setting it to “stock.picking.batch”, the module will establish that all the documents contained in that report (whether invoices or delivery notes) must include the name in the footer.

## Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

## Credits

### Authors

- Moduon

### Contributors

- Eduardo de Miguel (Moduon)
- Rafael Blasco (Moduon)
- Joel Estrada (Moduon)

### Maintainers

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainers:

This module is part of the OCA/reporting-engine project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.