Professional Report Templates

Odoo 17


v 10.0 v 11.0 v 12.0 Third Party 523
Required Apps Inventory Management (stock)
Purchase Management (purchase)
Sales Management (sale_management)
Invoicing Management (account_invoicing)
Lines of code 9595
Technical Name professional_templates
Also available in version v 15.0 v 14.0 v 10.0 v 12.0 v 13.0
You bought this module and need support? Click here!
Required Apps Inventory Management (stock)
Purchase Management (purchase)
Sales Management (sale_management)
Invoicing Management (account_invoicing)
Lines of code 9595
Technical Name professional_templates
Also available in version v 15.0 v 14.0 v 10.0 v 12.0 v 13.0

Professionally Designed Invoice, P.O, R.F.Q, S.O, Quotation, Delivery Note and Picking List Templates

Take your business to the next level by using professionally designed reports templates for your Invoices, Sales Orders, Quotations, RFQs, Purchase Orders, Delivery Notes and Picking Lists. Ensure that you use your company theme colors, high resolution logos and uniform design in all your business reports. This Module will install five customizable templates for every document mentioned above. You will be able to select one among the five templates for each document/report and customize it with a nice large company logo, your company colors, any font color you want, any font family and size or even the background color of the invoice lines or sales order lines depending on which document you are customizing

New Version Released For Odoo 11.0 on Jan 15, 2019

10 Distinct templates per every report

  1. Classic Template
  2. Retro Template
  3. TVA Template
  4. Modern Template
  5. Band Template
  6. Military Template
  7. Western Template
  8. Slim Template
  9. Cubic Template
  10. Clean Template

Each of the customized reports (Invoice, Sales Order, Quotation, Purchase Order, RFQ, Delivery Note & Picking Slip) has 10 templates which you can select to use at any time.

These templates can further be customized in terms of font, font size, your company logo, colors, text colors and many more settings.

Use your own watermark or letterhead PDF

Watermark PDF

Simply upload your beautifully designed watermark PDF or letterhead PDF as the background for your reports and it will print the reports on it. Also, if you want to add some watermark text, write a simple expression or sentence that will be printed on the PDF as watermark.

There are variables available for you to use to generate a watermark text. You can print dynamic content such as timestamp, your company details, user details or details related to the current document being printed. See examples on the left and below.

Watermark PDF

Watermark PDF + Dynamic Watermark Text

Append Your Extra Content In PDF Format To Reports

Do you have extra content such as terms and conditions, product promotion, advert, brochure..etc in PDF format? You can upload this PDF on the Last Page field so that it will be appended to the printed report.

The number of pages you can upload is not limited. As long as the document is in PDF format, it will be appended to the report during the print to form one single document ready to be sent to your customer or supplier. (see examples below)

Terms & Conditions

Brochure Sample

Stand Out; Be Different!

The most important thing in business is a persona. With this App, you have not just one but 4 distinct professional templates to help you stand out from competition.The templates have a contemporary outlook and option to link customers to your 3 main social media pages.They are easily customizable to have a look and feel of your business. Use the best business Logo to spice up your theme.You can associate a customer/partner with a certain template or you can just set a default template for all your customers. You can translate the templates to the language your customer/partner speaks. The original Odoo template is not left out, just in case you want to fallback.

Pick A Font-Family

Don't forget to choose the best font family to use in your reports. Once you install your favorite font in your Odoo server, simply set the name of the font in the settings and forget!. This App will use it entirely in your PDF report. It is important to choose and use the right font as it improves readability of your documents helping your business to stay ahead of competition in terms of customer experience.If you choose non existing font family, your reports will fall back to the default HTML font-family; which is ``Times New Roman``. The default font family set in this App is ``san-serif``

Pick A Font-Size

Font-sizing is equally important as font-family. Readability of your content depends largely on the size of the font used.This App will allow you to independently set the font size of your ``Header`` content, ``Body`` content and ``Footer`` of your report. Fonts are set in pixels dimension and as a general rule a font size between 8-14 pixels is good enough but it also depends on the content and section of the document.Titles and sections that require larger size of font are scaled automatically based on the font size you have chosen.The font sizes are selected from a drop-down list between 1and 50 pixels.

Pick A Font-Color

The choice of the font color of the content of your documents is in your hands. No restriction at all. Simply pick the right color by specifying the Hex color code e.g #372E33. Color matching and pairing is important but not hard to achieve. Make sure the colors you pick are matching the overall theme of your business. You will be able to pick at least 4 different font-colors; The overall ``Text Color`` of the document content, The ``Theme Text Color``, The ``Company Name Color`` and the ``Customer/Partner Name Color``.

Pick A Theme Color

Every business has a theme and the most important theme element is color. Your documents should have a stunning and distinct appearance from the rest in order for your customers to easily identify you. In every template you choose, you will be able to set the main ``Theme Color``. This Color will be used extensively in most of the sections of the report such as in the table header as the background color and many more sections depending on the template design. It is a good idea to match or use complimentary colors for your theme color and company logo in order to achieve great harmony.

Color Alternate Rows

For improved readability of table content with several rows of data, it is better to use different background colors for alternate rows. This will achieve a zebra stripped rows of content that are easy to follow.This feature has been implemented in this App to help improve the readability of your documents. Simply state the background color of your ``Odd`` and ``Even`` lines and it will be implemented in your PDF documents printed. Additionally, all rows of data are automatically numbered for easy reference.

Translate Your Documents

If language is not correct, then what is said is not what is meant. Thanks to Odoo Translation Feature which has been enabled in this App as well. Translation to any language is possible in all the templates. The language to translate to is set in the Customer/Partner object in Odoo. If you need any help in finding the right place to do translation in Odoo, simply open a support ticket with us by sending us an email to contacts shown at the bottom of this page.

Easy Configuration

This is a ``Set & Forget`` kind of App which does not take much of your time to deploy and configure once and for all. It comes with default parameters as examples during the configuration. There are also ``Tool Tips`` added to guide you in the process. It takes less than 5 minutes to configure and use it for the first time. In case you need more documentation, you can refer to the module Installation page.We also offer free support via email or phone. We recommend ``wkhtmltopdf`` version 0.12.3 or higher for excellent PDF reports.

Wonderful Support

This is one of the most downloaded App in its category and which such a large number of businesses using it, we have gotten a lot of feedback from users that has helped us fix bugs, improve its performance and features. Currently there are no much reported issues but we continue to update and fix known issues on regular basis. Our Support team is keen and dedicated to offer any help and listen to your needs. We offer unconditional free support as soon as you purchase it. We also help you to customize it further in case it is necessary

Amount in Words

Now it is possible to automatically convert the invoice amount, quote amount, sales order amount, RFQ amount and purchase order amount into words. The amount in words can be displayed in 13 different languages:

  • en (English, default)
  • fr (French)
  • de (German)
  • es (Spanish)
  • lt (Lithuanian)
  • lv (Latvian)
  • en_GB (British English)
  • en_IN (Indian English)
  • no (Norwegian)
  • pl (Polish)
  • ru (Russian)
  • dk (Danish)
  • pt_BR (Brazilian Portuguese)
Note that it is possible to disable this feature if you don't require it.

Invoice Status and Payment info

When a customer makes a payment and you register the payment in Odoo, The transaction will be displayed on the Invoice.The paid invoice can therefore act as a receipt and can be sent to customer as a proof of payment received. Also, The invoice will display the current status whether it has been fully paid, not paid, partially paid, draft, cancelled e.t.c. Below are the complete invoice statuses:

  • No charge
  • Fully Paid
  • Fully Refunded
  • Unpaid
  • Not Refunded
  • Partially Paid
  • Partially Refunded
  • Not Issued
  • Pro-Forma
  • Overdue
  • Cancelled

Display Product Image on PDF Report

Now it is possible to display the product image on Sales Order, Quotation, Invoice, Delivery Note and Picking Slip. This feature is enabled by default but you can disable it in the report settings if not needed.

New Standard Footer With More Details

Now you can have additional details in the footer such as full company address, contacts, bank details, VAT number, company tagline and a small logo of your choice. From the settings you can show/hide the footer logo if not needed.

How To Create A Watermark OR Upload Watermark PDF

Go To: Settings Technical Reports Reports
  • Search for professional_templates then open each of the listed report and proceed to Advanced Properties where you can upload your PDF.
  • Also if you want to add/append some extra page to the printed PDF document, for example a page with common sales terms and conditions or a promotion or advertisement, please upload the page on the "last page PDF" field.
  • For each report which you want the watermark to appear, please upload a watermark or letterhead PDF which is the same size as the paper format you have chosen for your Odoo reports
  • If your watermark or letterhead PDF already has a header or footer content, you can disable the printing of the header or footer in the report style settings.
  • If you need more help, kindly contact our support team
NOTE: It may also be necessary to enable transparency of the background in the report style settings in order for the watermark to appear correctly.
How To Upload Watermark PDF
How To Add Watermark Text

How To Create Your Own Styles

Go To: Settings Technical Reports Report Styles

How To Set the Default Report Settings For Your Company

Go To: Settings General Settings Business Documents Professional Report Templates

Assign a Report Style to a Partner or a Document

Invoice: {'Template': Modern, 'font-family': san-serif, 'font-size': 10px, 'Theme Color': #545454}

Invoice: {'Template': Retro, 'font-family': dosis, 'font-size': 12px, 'Theme Color': #9ABE00}

Quotation: {'Template': Classic, 'font-family': corbel, 'font-size': 10px, 'Theme Color': #009ABE}

Quotation: {'Template': TVA, 'font-family': Arial, 'font-size': 12px, 'Theme Color': #9A00BE}

R.F.Q: {'Template': Modern, 'font-family': FontAwesome, 'font-size': 10px, 'Theme Color': #F07C4D}

R.F.Q: {'Template': Retro, 'font-family': Georgia, 'font-size': 11px, 'Theme Color': #33ECFF}

Delivery Note: {'Template': Classic, 'font-family': Bradley Hand, 'font-size': 11px, 'Theme Color': #FF337A}

Delivery Note: {'Template': TVA, 'font-family': Calibri, 'font-size': 10px, 'Theme Color': #3380FF}

Purchase Order: {'Template': Modern, 'font-family': NoticiaText, 'font-size': 11px, 'Theme Color': #8333FF}

Purchase Order: {'Template': Retro, 'font-family': Trebuchet MS, 'font-size': 12px, 'Theme Color': #FF3352}

Sales Order: {'Template': Classic, 'font-family': Marvel, 'font-size': 10px, 'Theme Color': #1E8449}

Sales Order: {'Template': TVA, 'font-family': Rosario, 'font-size': 11px, 'Theme Color': #FFC300}

Odoo Support Services

For bug reporting and fixing, enjoy our odoo support and development services from experienced team in Kenya

We are a highly qualified team of well-rounded software engineers and applications systems integrators specialised in open source ERP solutions for SMEs all over the world
+254 715 956 855
+254 776 519 392

Pre-Installation Requirements

  • Install the latest version of a python dependency module called num2words. Module page: - You can install it using the pip3 command: pip3 install num2words - If you face any problem during the installation, please send us an email with a screenshot of the error.
  • Install the latest version of python dependency module called PyPDF2. - You can install it using the pip3 command: pip3 install pypdf2
  • Download and install the latest version of wkhtmltopdf. - We recommend version 0.12.4 (with patched qt)


NOTE: Before you proceed to install this module, please check the Pre-Installation Requirements section above. This Module is a standard Odoo Module. Once you purchase it, please follow the following steps to install it:

  • A download link will be given by Odoo once you purchase this module.
  • You need to extract the downloaded file into Odoo 'addons' directory where all other modules are kept or you can put it anywhere else depending on your Odoo Configuration
  • It may not be necessary to restart Odoo at this stage, but it is highly recommended.
  • Enable developer mode/Debug Mode and go to Apps menu. Click on Updates Apps list for the new module to appear on the list of Apps.
  • Search for professional_templates in the Apps list and then click on Install button and wait for it to finish
  • After that you can go to Setting --> Technical --> Reports --> Report Styles to create your styles and apply to your documents. Please refer to Module Description page for illustrated configuration example


Please refer to Module Description for illustrated steps on how to choose one among the multiple templates, colors, fonts, font size, and logos for your reports


  • Fully Supports Odoo Version 11.0 Community and Enterprise Editions

Frequently Asked Questions (FAQs)

  • How do I print the reports in a different language?

    First you need to translate the templates into your language. Please learn about how to do translation in Odoo here:

    You can also purchase the module and request for our help (open a ticket by sending email to on how to translate to a language of your choice.

  • The Header content is overlapping the Body content of the report?

    This is usually caused by the Logo or the Company Address being too large.

    This is not a big problem since in Odoo you can adjust the Paper Sizes to match the size of your logo or Address.

    • If this happens, Enable Debug Mode in Odoo 9.0 in order to access the Extra Technical Settings
    • Go to Settings -> Technical -> Reports -> Paper Format and open European A4 or US letter depending on your region or localization
    • Adjust the Top Margin and Header Spacing until you get an optima size to match the size of your logo or address
    • If you need help just send us a mail to
Odoo Proprietary License v1.0
This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).
You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).
It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.
The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
It's good temples as in Odoo 10 and 11 the regular report for printing not so attractive .
suhaib sada
on 12/13/18, 12:09 PM

It can be improved more I think as I liked it as it has Image supported in quote ,Sales order and other form it would be great if we have control on image size and many more similar improvement would be great

Amount to words displays incorrect terms.
Ahmed Kamar-eddine
on 7/9/18, 10:40 AM

Amount to words (french) doesn't display the correct amount. For eg. 352 EU shows Trois Cent Cinq Deux, instead of Trois Cent Cinquante-Deux. Please resolve ASAP.

Awesome support
Patrick Brodala
on 2/4/18, 1:57 PM

The team provides a high-level support in very (!) short reaction times.

We have been unable to use the module
Francis Gaitho
on 12/13/18, 7:58 AM Confirmed Purchase

Jeroen Broerse
on 12/11/18, 7:45 AM

HI, we don't have the Delivery Note option not visible were you can set the colors and the style for invoice and sales order. How can we get the delivery note/quotation visible? Thank you so much already!

on 10/30/18, 10:20 PM

I get error trying to install to odoo11 enterprise. Any clue?
Doğan Üstündağ
on 9/5/18, 3:10 PM Confirmed Purchase

Odoo Server Error Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/", line 1036, in _validate_fields check(self) File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/", line 330, in _check_xml view_def = view.read_combined(['arch']) File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/", line 720, in read_combined arch = self.apply_view_inheritance(arch_tree,, self.model) File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/", line 669, in apply_view_inheritance source = self.apply_inheritance_specs(source, specs_tree, view_id) File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/", line 647, in apply_inheritance_specs self.raise_view_error(_("Element '%s' cannot be located in parent view") % tag, inherit_id) File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/", line 509, in raise_view_error raise ValueError(message) ValueError: Element '<xpath expr="//field[@name='comment']">' cannot be located in parent view Error context: View `account.invoice.customized` [view_id: 9723, xml_id: n/a, model: account.invoice, parent_id: 747]

Yann Jaeger
on 9/3/18, 2:25 PM Confirmed Purchase

hi optima team for us you created 2 wonderful modules. 1. for invoice template 2. for email template "ad-hoc" we texted you more or less for invoice module 3 weeks ago, and nobody answare us. in addition we need to uninstall your email template, but, every time when i uninstall the odoo go in crash with a exption error. why ? how i can to configure by defualt the "send invoice" ? no pdf invoice or quotation, but only the email system by default. thx. (you know my contacts)

[RESOLVED!] Regression in this module : Missing native multiple address feature
Bernard Kipkorir Too
on 6/4/18, 9:35 AM Author

Hello Clément MUTZ, As per our email conversation, we sent you an update on this issue. Please check and upgrade your system to resolve this issue. Thanks

Regression in this module : Missing native multiple adress feature
Clément MUTZ
on 5/22/18, 8:51 AM Confirmed Purchase

Hi, It seems that the module is missing the feature to display separates adress, especially for us in sales order : - Odoo native report : 3 adress blocks - Optima template report : 2 adress blocks and no consideration of specific invoicing adress (invoicing adress = customer adress , wich is not suppose to be if a specific adress is different from customer adress) eg : "Customer adress (Mr X, purchaser of "HisCompany" in New Jearsey Offices ) / Invoicing adress (Miss Y, accomptant of "HisCompany in Manhatan headquarter offices") / shipping adress ( Mr Z, Warehouse manager, of "HisCompany in Chicago Spare parts Warehouse") . This is an Odoo native important consideration where the setting is schown here : Could it be possible to revise this module to eradicate the important feature regression. Actually, we have to print the quotation, write manually the missing adress, and scan the document, to be able to send it correctly. Thanks in advance.

After downloaded module on my installation, I cannot print any document (orders, invoices).
Antonio M. Vigliotti
on 5/21/18, 11:23 AM Confirmed Purchase

This is the error log Traceback (most recent call last): File "/opt/odoo/10.0/odoo/", line 641, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/opt/odoo/10.0/odoo/", line 683, in dispatch result = self._call_function(**self.params) File "/opt/odoo/10.0/odoo/", line 333, in _call_function return checked_call(self.db, *args, **kwargs) File "/opt/odoo/10.0/odoo/service/", line 101, in wrapper return f(dbname, *args, **kwargs) File "/opt/odoo/10.0/odoo/", line 326, in checked_call result = self.endpoint(*a, **kw) File "/opt/odoo/10.0/odoo/", line 941, in __call__ return self.method(*args, **kw) File "/opt/odoo/10.0/odoo/", line 506, in response_wrap response = f(*args, **kw) File "/opt/odoo/10.0/addons/web/controllers/", line 891, in call_kw return self._call_kw(model, method, args, kwargs) File "/opt/odoo/10.0/addons/web/controllers/", line 883, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/opt/odoo/10.0/odoo/", line 689, in call_kw return call_kw_multi(method, model, args, kwargs) File "/opt/odoo/10.0/odoo/", line 680, in call_kw_multi result = method(recs, *args, **kwargs) File "/opt/odoo/10.0/odoo/", line 3020, in read values[name] = field.convert_to_read(record[name], record, use_name_get) File "/opt/odoo/10.0/odoo/", line 5224, in __getitem__ return self._fields[key].__get__(self, type(self)) File "/opt/odoo/10.0/odoo/", line 914, in __get__ self.determine_value(record) File "/opt/odoo/10.0/odoo/", line 1026, in determine_value self.compute_value(recs) File "/opt/odoo/10.0/odoo/", line 980, in compute_value self._compute_value(records) File "/opt/odoo/10.0/odoo/", line 971, in _compute_value getattr(records, self.compute)() File "", line 2, in _compute_num2words File "/opt/odoo/10.0/odoo/", line 369, in loop result = [method(rec, *args, **kwargs) for rec in self] File "/opt/odoo/10.0/uncovered/professional_templates/models/", line 81, in _compute_num2words lang=self.partner_id.lang) + ' ' + ( File "/usr/lib/python2.7/site-packages/num2words/", line 92, in num2words return getattr(converter, 'to_{}'.format(to))(number, **kwargs) File "/usr/lib/python2.7/site-packages/num2words/", line 181, in to_cardinal string = self.thousands_to_cardinal(number) File "/usr/lib/python2.7/site-packages/num2words/", line 133, in thousands_to_cardinal prefix = self.to_cardinal(thousands) + "mila" File "/usr/lib/python2.7/site-packages/num2words/", line 175, in to_cardinal string = CARDINAL_WORDS[number] TypeError: list indices must be integers, not float

Professional Report Templates
Doğan Üstündağ
on 5/3/18, 8:26 AM Confirmed Purchase

Can you please advise if we can apply your profesional template for odoo10 or odoo11 "survey answers" pdf prints? Best Regards Doğan Üstündağ

HD-2018-00140 - ISSUE RESOLVED
Bernard Kipkorir Too
on 4/5/18, 11:19 AM Author

Hi Clement, according to our records, issue ref HD-2018-00140 has already been resolved and you have been contacted. If you still have any issue, we shall be glad to assist you.

Support is off since one week, no answer at all : Tel, Skype, mail....
Clément MUTZ
on 3/28/18, 8:57 AM Confirmed Purchase

We have installed the module, have send an email to support and black-out total.... Skype disconnected Mobile phone : no answer Company phone : no answer : automatic answer with creation ticket HD-2018-00140, but nothing after since a week.. am disapointed.... Don't understand !!!!

Hello Ronnie, send email to
Bernard Kipkorir Too
on 3/19/18, 4:17 PM Author

Ronnie, If you have any issue, please send us an email to We shall be glad to assist you if the system is slow.

i am odoo 9.0 , i can't use it
on 3/11/18, 5:09 AM Confirmed Purchase

it open very slowely ,it is no response

Amount in Words @ Mario Matamoros
Bernard Kipkorir Too
on 1/23/18, 11:10 AM Author

Thank you for your comment. If you have any issue with "num2words" python module, Please raise an issue with the team maintain this python module here:

Amount in Words
Mario Matamoros
on 1/21/18, 11:10 AM Confirmed Purchase

I checked the num2words library, but we want the word to matter, so we can print it on the invoice. example: 23.25 means "Twenty-three with twenty-five cents" in the library num2words treats it as "Twenty-three point two five"

Excellent Full support
Ahmed Kamar-eddine
on 1/16/18, 2:01 PM Confirmed Purchase

Thanks for your last email. Yes it was the product module that was causing the problem and there was nothing to do with your module. I have upgraded odoo base product module and it is working fine now. Thanks

Ahmed Kamar-eddine
on 1/16/18, 7:36 AM Confirmed Purchase

Thanks for your reply. I am getting now an Odoo Server error when i try to install the module. An email was sent showing the error. Thanks

Hi @Ahmed Kamar-eddine
Bernard Kipkorir Too
on 1/16/18, 5:24 AM Author

Thank you for your email. I have replied to you. please check and revert incase you have any issue.

Ahmed Kamar-eddine
on 1/16/18, 4:54 AM Confirmed Purchase

Hello, I have sent an email with my problems. Please find below a copy. ============================================================================= I am having some problems installing your module in Odoo 11. I have followed the exact steps of pre-installation requirements. Then uploaded the module to addon. When I click install nothing happen. Also I have lost apps icons My Odoo Order SO2016/110555 Please advise ASAP. Thanks and best regards

If you have any Issue/Error/Question/suggestion send us email to []
Bernard Kipkorir Too
on 10/11/17, 8:40 PM Author

It is better to contact us directly when you encounter any error/Issue so that we can assist you within a very short time possible. If you post your error here, it may take awhile before we see it because we don't get notified automatically when you leave a comment here... we have to visit this page in order to see your comments. Since we have several modules to maintain and manage, its rather almost impossible to check all your comments every day. Direct email to is a better option when you have an issue with this module. Regards, Ben