[IMP] send_quotations/pdf_quote_builder
Add documentation about the new features and possibilities of the PDF quote builder. Delete obsolote information. closes odoo/documentation#11128 Signed-off-by: Morgane Demesmaeker <edm@odoo.com>
This commit is contained in:
parent
a4ac625bab
commit
3c7f6c0e55
@ -7,8 +7,8 @@ customized PDF file for quotes, showcasing the company and products, with variou
|
|||||||
design elements, instead of just showing the price and total.
|
design elements, instead of just showing the price and total.
|
||||||
|
|
||||||
The PDF Quote Builder groups header pages, product descriptions, the price(s), and footer pages to
|
The PDF Quote Builder groups header pages, product descriptions, the price(s), and footer pages to
|
||||||
create a detailed quote. It can also inject dynamic texts in the PDF to personalize the offer for
|
create a detailed quote. It can also inject dynamic texts or custom notes in the PDF to personalize
|
||||||
the customer.
|
the offer for the customer.
|
||||||
|
|
||||||
Having a customized PDF in quotes provides a heightened conclusion to the shopping experience for
|
Having a customized PDF in quotes provides a heightened conclusion to the shopping experience for
|
||||||
customers, and adds an elegant level of professionalism to a company.
|
customers, and adds an elegant level of professionalism to a company.
|
||||||
@ -30,28 +30,45 @@ To do that, navigate to :menuselection:`Sales app --> Configuration --> Settings
|
|||||||
:guilabel:`Settings` page, scroll to the :guilabel:`Quotations & Orders` section, and locate the
|
:guilabel:`Settings` page, scroll to the :guilabel:`Quotations & Orders` section, and locate the
|
||||||
:guilabel:`PDF Quote builder` feature.
|
:guilabel:`PDF Quote builder` feature.
|
||||||
|
|
||||||
.. image:: pdf_quote_builder/pdf-quote-builder-feature.png
|
Add PDF as Header/Footer
|
||||||
:align: center
|
========================
|
||||||
:alt: The PDF Quote Builder feature located on the Settings page of the Sales application.
|
|
||||||
|
|
||||||
Here, custom :guilabel:`Header pages` and :guilabel:`Footer pages` can be uploaded. To upload
|
In Odoo *Sales*, it's possible to add a custom PDF that can be used either as a header or a footer.
|
||||||
either, click the :guilabel:`Upload your file` button, or the :guilabel:`✏️ (pencil)` icon to the
|
When the PDF quote builder is activated in a quotation, you can then select as many headers and
|
||||||
right of the desired field, and proceed to locate, select, and upload the desired PDF file.
|
footers as you wish to use, these PDF will then also be inserted in the final PDF.
|
||||||
|
|
||||||
|
To add a custom PDF as header or footer, start by navigating to
|
||||||
|
:menuselection:`Sales app --> Configuration --> Headers/Footers`. From this page, either click
|
||||||
|
:guilabel:`New` or :guilabel:`Upload`.
|
||||||
|
|
||||||
|
Clicking :guilabel:`Upload` instantly provides the opportunity to upload the desired document. Then,
|
||||||
|
the document can be further configured on the document card, or by clicking the three dots icon in
|
||||||
|
the top right corner of the document card, and then clicking :guilabel:`Edit`.
|
||||||
|
|
||||||
|
Clicking :guilabel:`New` reveals a blank documents form, in which the desired PDF can be uploaded
|
||||||
|
via the :guilabel:`Upload your file` button on the form, located in the :guilabel:`File Content`
|
||||||
|
field.
|
||||||
|
|
||||||
|
Various information and configurations related to the uploaded document can be modified here.
|
||||||
|
|
||||||
|
The first field on the documents form is for the :guilabel:`Name` of the document, and it is
|
||||||
|
grayed-out (not clickable) until a document is uploaded. Once a PDF has been uploaded, the
|
||||||
|
:guilabel:`Name` field is auto-populated with the name of the PDF, and it can then be edited.
|
||||||
|
|
||||||
|
Then, in the :guilabel:`Document Type` field, click the drop-down menu, and select either:
|
||||||
|
:guilabel:`Header`, or :guilabel:`Footer` to define whether these files would be selectable to be at
|
||||||
|
the beginning or at the end of your quote.
|
||||||
|
|
||||||
|
Under this, in the :guilabel:`Quotation Templates` section, you can restrict this PDF to some quotation
|
||||||
|
templates only.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Headers and footers can also be added directly in a quotation template, so it's possible to have
|
Alternatively, you can also navigate to
|
||||||
different variations per template.
|
:menuselection:`Sales app --> Configuration --> Quotation Templates`, select a template and
|
||||||
|
directly :guilabel:`Add` or :guilabel:`Upload` a PDF to it in the :guilabel:`Quote Builder` tab.
|
||||||
|
|
||||||
Clicking the :guilabel:`🗑️ (trash)` icon deletes the current PDF file and replaces the blank field
|
Lastly, beside the :guilabel:`File Content` field, you have the possibility to
|
||||||
with an :guilabel:`Upload your file` button.
|
:guilabel:`Configure dynamic fields`.
|
||||||
|
|
||||||
Once the desired PDF file(s) are uploaded in the appropriate fields in the :guilabel:`PDF Quote
|
|
||||||
builder` section of the *Sales* :guilabel:`Settings` page, be sure to click :guilabel:`Save`.
|
|
||||||
|
|
||||||
The files uploaded here will be the default PDF used for all quotes.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
Values set in the PDF Quote Builder settings are company-specific.
|
|
||||||
|
|
||||||
Dynamic text in PDFs
|
Dynamic text in PDFs
|
||||||
====================
|
====================
|
||||||
@ -65,7 +82,10 @@ automatically fills those values in with information related to the quote.
|
|||||||
Dynamic text values
|
Dynamic text values
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
Below are common dynamic text values used in custom PDFs, and what they represent:
|
Below are common dynamic text values used in custom PDFs that are already mapped to the correct
|
||||||
|
fields, and what they represent.
|
||||||
|
|
||||||
|
For headers and footers PDF:
|
||||||
|
|
||||||
- :guilabel:`name`: Sales Order Reference
|
- :guilabel:`name`: Sales Order Reference
|
||||||
- :guilabel:`partner_id__name`: Customer Name
|
- :guilabel:`partner_id__name`: Customer Name
|
||||||
@ -76,12 +96,8 @@ Below are common dynamic text values used in custom PDFs, and what they represen
|
|||||||
- :guilabel:`validity_date`: Expiration Date
|
- :guilabel:`validity_date`: Expiration Date
|
||||||
- :guilabel:`client_order_ref`: Customer Reference
|
- :guilabel:`client_order_ref`: Customer Reference
|
||||||
|
|
||||||
.. note::
|
|
||||||
Double underscore notation for :guilabel:`partner_id__name` and :guilabel:`user_id__name` values
|
|
||||||
are used in place of the typically used `.` symbol because the library currently does not support
|
|
||||||
the `.` symbol.
|
|
||||||
|
|
||||||
Product-specific dynamic text values are as follows:
|
For product PDF:
|
||||||
|
|
||||||
- :guilabel:`description`: Product Description
|
- :guilabel:`description`: Product Description
|
||||||
- :guilabel:`quantity`: Quantity
|
- :guilabel:`quantity`: Quantity
|
||||||
@ -93,6 +109,13 @@ Product-specific dynamic text values are as follows:
|
|||||||
- :guilabel:`tax_excl_price`: Tax Excluded Price
|
- :guilabel:`tax_excl_price`: Tax Excluded Price
|
||||||
- :guilabel:`tax_incl_price`: Tax Included Price
|
- :guilabel:`tax_incl_price`: Tax Included Price
|
||||||
|
|
||||||
|
After uploading a PDF, you can then :guilabel:`Configure dynamic fields`. This will allow you to map
|
||||||
|
any field name found in your PDF to the field you want to show by writing down any existing path.
|
||||||
|
Headers and footers starts from the current :guilabel:`sale_order` model, whereas product document
|
||||||
|
follows their path from their :guilabel:`sale_order_line`.
|
||||||
|
Leaving that path empty allows you to fill a custom notes, directly from the specific quote that
|
||||||
|
requires it.
|
||||||
|
|
||||||
.. example::
|
.. example::
|
||||||
When a PDF is built, it's best practice to use common dynamic text values (:guilabel:`name` and
|
When a PDF is built, it's best practice to use common dynamic text values (:guilabel:`name` and
|
||||||
:guilabel:`partner_id_name`). When uploaded into the database, Odoo auto-populates those fields
|
:guilabel:`partner_id_name`). When uploaded into the database, Odoo auto-populates those fields
|
||||||
@ -106,11 +129,20 @@ Product-specific dynamic text values are as follows:
|
|||||||
:alt: PDF quote being built using common dynamic placeholders.
|
:alt: PDF quote being built using common dynamic placeholders.
|
||||||
|
|
||||||
Once the PDF file(s) are complete, save them to the computer's hard drive, and proceed to upload
|
Once the PDF file(s) are complete, save them to the computer's hard drive, and proceed to upload
|
||||||
them to Odoo via :menuselection:`Sales app --> Configuration --> Settings --> PDF Quote builder`.
|
them to Odoo via :menuselection:`Sales app --> Configuration --> Headers/Footers`.
|
||||||
|
|
||||||
Upload the created PDF in the :guilabel:`Header pages` or :guilabel:`Footer pages` field.
|
.. example::
|
||||||
|
When uploading PDF containing the form field :guilabel:`invoice_partner_country`, which is an
|
||||||
|
information available in the sales order, configure the :guilabel:`path` of the
|
||||||
|
:guilabel:`Form Field Name` to:
|
||||||
|
- :guilabel:`partner_invoice_id.country_id.name` for a header or footer document
|
||||||
|
- :guilabel:`order_id.partner_invoice_id.country_id.name` for a product document
|
||||||
|
fills the form with the invoice partner country's name when the PDF is built.
|
||||||
|
|
||||||
Once the upload(s) are complete, click :guilabel:`Save`.
|
.. example::
|
||||||
|
When uploading any PDF containing the form field :guilabel:`custom_note`, leaving the
|
||||||
|
:guilabel:`path` empty allows the seller to write down any note where that form field is in that
|
||||||
|
document and shown when the PDF is built.
|
||||||
|
|
||||||
Add PDF to product
|
Add PDF to product
|
||||||
==================
|
==================
|
||||||
@ -188,6 +220,11 @@ quote`.
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: Sample of an uploaded pdf with the inside quote option chosen in Odoo Sales.
|
:alt: Sample of an uploaded pdf with the inside quote option chosen in Odoo Sales.
|
||||||
|
|
||||||
|
Beside the :guilabel:`File Content` field, you have the possibility to
|
||||||
|
:guilabel:`Configure dynamic fields`. When doing so, remember that the starting model is the
|
||||||
|
:guilabel:`sale_order_line`, unlike for headers and footers that start from the
|
||||||
|
:guilabel:`sale_order`.
|
||||||
|
|
||||||
Lastly, in the :guilabel:`E-Commerce` section, decide whether or not to :guilabel:`Show on product
|
Lastly, in the :guilabel:`E-Commerce` section, decide whether or not to :guilabel:`Show on product
|
||||||
page` on the front-end (in the online store).
|
page` on the front-end (in the online store).
|
||||||
|
|
||||||
@ -205,6 +242,13 @@ page` on the front-end (in the online store).
|
|||||||
PDF quote
|
PDF quote
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
On a :guilabel:`Sales Order`, in the :guilabel:`Quote Builder` tab, select any document you want to
|
||||||
|
be merged within the final PDF. If this document has custom fields, you'll then be able to write
|
||||||
|
same notes to fill the PDF.
|
||||||
|
|
||||||
|
You can add as many headers, product documents and footers you want to customize your quote to the
|
||||||
|
needs of your customers.
|
||||||
|
|
||||||
Once a quote with a pre-configured PDF has been confirmed, Odoo provides the option to print the
|
Once a quote with a pre-configured PDF has been confirmed, Odoo provides the option to print the
|
||||||
confirmed quote to check for errors, or to keep for records.
|
confirmed quote to check for errors, or to keep for records.
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 9.2 KiB |
Loading…
Reference in New Issue
Block a user