TIP: You can type at any time to perform a new search.
Sales PDF Quotation Builder
sale_pdf_quote_builder · odoo/odoo
- Repository
- odoo/odoo · module folder
- Module version
- 0.1.0
- Category
- Sales/Sales
- Folder size
- 5.97 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- Yes
- Website
- None
- Last tracking update
- 2026-08-15 22:44:19
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Xavier Morel, Raphael Collet, Odoo Translation Bot, GitHub, Julien Castiaux, Victor Feyens, Alvaro Fuentes, Tiffany Chang (tic), Gorash, Demesmaeker, Valentin Chevalier, Mylyna Hy, Mahamadasif Ansari, Levi Siuzdak (sile), Dylan Kiss (dyki), Emanuele, Moises Lopez - https://www.vauxoo.com/, Adam Heinz, Louis (loti), Maxime de Neuville, kcv-odoo, aamo-odoo, Victor Miguel Armenta Carrillo, Pierre Lamotte (pila), Pierre Pulinckx, Bastien PIERRE, jeep-odoo, Shrey Mehta, Krzysztof Magusiak (krma), krip-odoo, utma-odoo, bhna-odoo, Nisarg (nipl), Lionel Piraux (lipi), saurabh, Hoan Hoang
Code Analysis ⓘ
Views touched (10)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_document_form |
product.document.form.sale | product.document | form | Inherits product.product_document_form |
quotation_document_form |
quotation.document.form | quotation.document | form | New |
quotation_document_kanban |
quotation.document.kanban | quotation.document | kanban | New |
quotation_document_list |
quotation.document.list | quotation.document | list | New |
quotation_document_search |
sale.pdf.form.field.search | sale.pdf.form.field | search | New |
quotation_document_search_view |
quotation.document.search | quotation.document | search | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.sale.pdf.quote.builder | res.config.settings | form | Inherits sale_management.res_config_settings_view_form |
sale_order_form_inherit_sale_pdf_quote_builder |
sale.order.form.pdf.quote.builder | sale.order | form | Inherits sale_management.sale_order_form_quote |
sale_order_template_form |
sale.order.template.form | sale.order.template | form | Inherits sale_management.sale_order_template_view_form |
sale_pdf_form_field_list |
sale.pdf.form.field.list | sale.pdf.form.field | list | New |
HTTP endpoints (1)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/sale_pdf_quote_builder/quotation_document/upload |
QuotationDocumentController.upload_document |
user | http | POST |
Models touched (7)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (2)
-
attached_on_saleSelectionhelp="Allows you to share the document with your customers within a sale.\nLeave it empty if you don't want to share this document with sales customer.\nOn quote: the document will be sent to and accessible by customers at any time.\ne.g. this option can be useful to share Product description files.\nOn order confirmation: the document will be sent to and accessible by customers.\ne.g. this option can be useful to share User Manual or digital content bought on ecommerce. \nInside quote: The document will be included in the pdf of the quotation and sale order between the header pages and the quote table. "ondelete={'inside': 'set default'}selection_add=[('inside', 'Inside quote pdf')] -
form_field_idsMany2many → sale.pdf.form.fieldcomodel_name='sale.pdf.form.field'compute='_compute_form_field_ids'domain=[('document_type', '=', 'product_document')]store=Truestring='Form Fields Included'
-
action_open_pdf_form_fields(self)
New fields (7)
-
activeBooleandefault=Truehelp='If unchecked, it will allow you to hide the header or footer without removing it.' -
add_by_defaultBooleandefault=Falsehelp='If checked, this header or footer will be added by default on new quotes.'string='Add By Default' -
document_typeSelectiondefault='header'required=Trueselection=[('header', 'Header'), ('footer', 'Footer')]string='Document Type' -
form_field_idsMany2many → sale.pdf.form.fieldcomodel_name='sale.pdf.form.field'compute='_compute_form_field_ids'domain=[('document_type', '=', 'quotation_document')]store=Truestring='Form Fields Included' -
ir_attachment_idMany2one → ir.attachmentcomodel_name='ir.attachment'ondelete='cascade'required=Truestring='Related attachment' -
quotation_template_idsMany2many → sale.order.templatecheck_company=Truecomodel_name='sale.order.template'groups='sales_team.group_sale_salesman'relation='header_footer_quotation_template_rel'string='Quotation Templates' -
sequenceIntegerdefault=10
-
action_open_pdf_form_fields(self) -
create(self, vals_list)@api.model_create_multi
New fields (4)
-
available_quotation_document_idsMany2many → quotation.documentcomodel_name='quotation.document'compute='_compute_available_quotation_document_ids'string='Available Quotation Documents' -
customizable_pdf_form_fieldsJsonreadonly=Falsestring='Customizable PDF Form Fields' -
is_pdf_quote_builder_availableBooleancompute='_compute_is_pdf_quote_builder_available' -
quotation_document_idsMany2many → quotation.documentcheck_company=Truecomodel_name='quotation.document'default=_default_quotation_document_idsreadonly=Falsestring='Headers/Footers'
-
get_update_included_pdf_params(self)
New fields (2)
-
available_product_document_idsMany2many → product.documentcomodel_name='product.document'compute='_compute_available_product_document_ids'compute_sudo=Truerelation='available_sale_order_line_product_document_rel'string='Available Product Documents' -
product_document_idsMany2many → product.documentcomodel_name='product.document'domain="[('id', 'in', available_product_document_ids)]"help='The product documents for this order line that will be merged in the PDF quote.'readonly=Falserelation='sale_order_line_product_document_rel'string='Product Documents'
No public methods.
New fields (1)
-
quotation_document_idsMany2many → quotation.documentcheck_company=Truecomodel_name='quotation.document'relation='header_footer_quotation_template_rel'string='Headers and footers'
No public methods.
New fields (5)
-
document_typeSelectionreadonly=Truerequired=Trueselection=[('quotation_document', 'Header/Footer'), ('product_document', 'Product Document')]string='Document Type' -
nameCharhelp='The form field name as written in the PDF.'readonly=Truerequired=Truestring='Form Field Name' -
pathCharhelp='The path to follow to dynamically fill the form field. \nLeave empty to be able to customized it in the quotation form.'string='Path' -
product_document_idsMany2many → product.documentcomodel_name='product.document'string='Product Documents' -
quotation_document_idsMany2many → quotation.documentcomodel_name='quotation.document'string='Quotation Documents'
No public methods.
Loading…
Loading…