Quotation Pro
Complete documentation to install, configure and use the Quotation Pro module in your PrestaShop store.
What is Quotation Pro?
Quotation Pro is a quotation and estimate module for PrestaShop that brings together three features:
-
Quotations (admin side): you prepare a quotation from the back office, as a draft or directly, and send it to the customer with a PDF and a link. When the customer opens the link, the products are loaded into their cart at the agreed prices and they only have to pay; the quotation stays linked to the order.
-
Quote-only products: part of your catalog is shown without a price or a buy button, and the customer sends you a quotation request from the store, without having to register.
-
Estimates (customer side): the customer, from the cart or the checkout, clicks "Download your quotation" and gets a PDF of their cart. You see it in the back office and can reply to it with a quotation.
Main Features
Quotations that become orders
Prepare it as a draft, send it with its PDF and link, and the customer pays at the agreed prices in the store checkout. The quotation turns into an order automatically.
PDF estimates for the customer
A button in the cart and the checkout lets the customer download a PDF estimate of their cart, and you can reply to it with a quotation.
Quote-only products
Sell part of the catalog without a published price: by category, brand, supplier or product. The customer sends their request from the store and you reply with a quotation.
Multistore, multicurrency and multi-language
Compatible with multiple stores, currencies and languages, with a built-in translation editor and emails in the customer's language.
System Requirements
| Requirement |
Minimum |
Recommended |
| PrestaShop |
1.7.6 |
9.x |
| PHP |
7.2.5 |
8.1+ |
Installation
There are two ways to install the module in your PrestaShop store, depending on your server.
Method 1: Installation from the Back Office
1
Access the Back Office
Log in to the admin panel of your PrestaShop store.
2
Go to Modules
Go to Modules → Module Manager in the side menu.
3
Upload the module
Click "Upload a module" and select the downloaded ZIP file.
4
Install and enable
Once uploaded, the module installs automatically. Click "Configure" to get started.
Method 2: Installation via FTP
Use this method if the ZIP file is too large and your server does not allow uploading it from the Back Office because of upload size limits.
1
Unzip the ZIP file
Extract the contents of the ZIP file on your local computer.
2
Connect via FTP
Use an FTP client (such as FileZilla) to connect to your server.
3
Upload the module folder
Upload the module folder to /modules/ in your PrestaShop installation.
4
Install from the Back Office
Go to Modules → Module Manager, find the module and click "Install".
Multistore note
If you work with several stores, the module requires you to select a specific store to configure it. Use the store selector at the top of the Back Office and configure the module store by store.
Possible Installation Issues
Override conflicts: Problems related to override files may appear while installing or enabling the module. This happens when another module has already modified the same PrestaShop core files.
If you get override errors when installing or enabling the module, do not try to fix them yourself unless you have technical experience. Contact our support team for personalized help to resolve the conflict safely.
Contact Support
Configuration
Open the settings from Modules → Quotation Pro → Configure. The General menu groups the settings in four tabs: Configuration, Quotations, Customer quotations and Quote-only products. Changes are saved automatically.
Configuration
Settings that affect the whole module.
Debug mode
Turns on a test mode in which only authorized IP addresses see the module's features in the store. Use it to check your setup before offering it to your customers.
IP
IP addresses authorized while debug mode is on. It appears when you enable debug mode and has a button to add your current IP.
Enable debug logs
Keeps a detailed record of the module's actions in the PrestaShop logs (Advanced Parameters > Logs), useful for support to diagnose an issue.
Note: Errors are always logged; this option adds the extra detail.
Primary color
The module's brand color: the "Download your quotation" button, the estimate card and the bands of the PDFs. Default: blue (#1d4ed8).
Primary text color
Color of the text and icons placed on top of the primary color. Default: white (#ffffff).
Default currency
Currency used in quotations, product prices and all calculations. If you do not choose one, the store's default currency is used.
Legal text for quotations
Legal or informative text shown at the bottom of every quotation and estimate PDF and of the emails the customer receives. You write it in each store language.
Terms and conditions CMS page
CMS page linked as terms and conditions in the PDFs and emails.
The PDFs and customer emails also show the store logo: the invoice logo or, if there is none, the general logo (Design > Theme & Logo).
Quotations
Settings for the quotations you create from the back office.
Quotation prefix
Prefix added to quotation numbers (10 characters maximum). Default: QP-.
Quotation validity (days)
Number of days a quotation is valid from the moment it becomes official. With 0 it never expires. The date appears in the PDF as "Valid until" and in the email, and after that date the payment link stops working.
Show prices using the customer group's tax display method
When you create a quotation, prices are shown with or without tax depending on how the selected customer group displays them.
Product image size in PDF
Size of the product images in the quotation PDFs, the preview and the emails. Default: cart_default.
Carrier for paying a quotation
When the customer pays a quotation, only this carrier is offered, so they cannot change the shipping you agreed on. In a regular purchase this carrier is not offered. Leave it empty to let the customer see the store's usual carriers.
Note: Create a free carrier for this (for example, "Quotation"): the shipping amount is already included in the quotation.
Create quotations from the order detail
Adds a "Create quotation" button to each order page, which opens the quotation form already filled in with the customer and products of that order. See Quote from an order.
Order statuses showing the button
Appears when you enable the previous option. The button only shows on orders that are in one of these statuses.
Choose at least one status: with none, the button does not appear on any order.
Customer quotations
Settings for the "Download your quotation" button, which lets the customer generate a PDF estimate of their cart.
Show "Download your quotation" button in cart
Shows the button on the cart page. Enabled by default.
Cart hook
Position of the button on the cart page. Default: displayShoppingCartFooter, below the cart summary. Only the positions available in your store are listed.
Show "Download your quotation" button in checkout
Shows the button during checkout. Disabled by default.
Checkout hook
Position of the button in the checkout. Default: displayReassurance, the checkout reassurance block.
Note: "Custom" lets you place the button somewhere else, but requires editing a theme template: the module shows you the snippet to paste. If you are not familiar with this, ask whoever maintains your theme or our support team.
Require confirmation before sending
Makes the customer tick the "I confirm I want to download these products as a quotation" box before sending the form. This keeps them from confusing the estimate with a purchase: next to the box they are reminded that, to place the order, they must continue with the checkout. Disabled by default.
Show address fields in form
Shows in the form the address fields you choose next: "Autofill address from cart", "Show country field", "Show state field" (the list loads based on the country), "Show city field" and "Show postal code field".
Customer quotation prefix
Prefix for estimate numbers (BP-1000, BP-1001…). Default: BP-.
Auto-send email to customer
Emails the PDF to the customer as soon as they generate their estimate. Enabled by default.
Admin copy email
Address that receives a copy of every estimate. If you leave it empty, the store email is used.
Customer quotations allowed per IP and hour
Maximum number of estimates that can be generated from the same IP address in one hour. Default: 5.
Product image size in PDF
Size of the product images in the estimate PDF and in the emails. Default: cart_default.
Show product features in the PDF
Adds the features from the product page (composition, dimensions…) under each product in the estimate PDF. Enabled by default.
Note: The PrestaShop cart and invoices do not show them: disable it if you want the estimate to look like them.
Quote-only products
Which products are sold by quotation only and how they behave in the store.
What is sold by quotation only
Choose the Categories, Brands and Suppliers whose products are sold by quotation only. One matching rule is enough for a product. Under Products marked one by one you see the products marked individually: you can add more with "Add products" or remove their mark. Each product can also be marked from its product page (see Quote-only products).
Enable quote-only products
Turns the feature on. While it is disabled, the store works as usual even if you have rules set up, and the screen warns you about it.
Customer groups exempt from the restriction
Customers in these groups see prices and buy as usual (for example, professionals with an agreed rate).
Show a label on quote-only products in listings
Adds the "Get a quote" label to these products in categories, search and product blocks. It is not shown on the product page, which already has the quotation button.
Position of the quotation button on the product page
Where the "Add to the quotation" button appears on the product page. Default: its automatic position.
Note: "Custom" lets you place it somewhere else, but requires editing the theme's product page template: the module shows you the snippet to paste, and the steps are in the Information tab. If you are not familiar with this, ask whoever maintains your theme or our support team.
Show "My quotations" in the customer account
Adds a section to the customer account with their requests, quotations and estimates, where they can download the PDFs. Enabled by default.
Data policy CMS page
Page linked from the consent checkbox of the request form. If you do not choose one, the checkbox is not shown.
Ask for the address in the quotation request form
Asks for the customer's address when they send a request, so you can calculate shipping. You can choose which fields are shown: country, state, city and postal code. Every field you enable is required, and customers with an account have it already filled in with their address.
Note: The state field is only requested for countries that have states and when the country field is shown.
Quotation requests allowed per IP and hour
Maximum number of requests that can be sent from the same IP address in one hour. Default: 5. It is a separate limit, independent of the one for estimates.
Days an unsent quote request list is kept
If the customer neither sends nor changes their list within this many days, it is deleted. Requests already sent are not affected. Default: 30.
Module Usage
Quotation Pro works with two different documents. You prepare the quotation, and it is the only one the customer can pay. The customer generates the estimate from their cart. You can also sell part of your catalog by quotation only.
Quotations
A quotation is the offer you prepare for a customer: products, prices, shipping and discount. The customer receives it by email with a PDF and a link; when they open it, the products are loaded into their cart at the agreed prices and they only have to pay.
Create a quotation
From the module menu, open New Quotation and fill in the form:
1
Customer Data
Choose an existing customer (search by name or email) or enter the first name, last name and email of someone who is not a customer yet. If the customer already exists, you can pick one of their addresses.
2
Quotation conditions
Choose the customer group (prices and group discount), the country and state (taxes and shipping) and the email language.
3
Products
Add catalog products by name or reference, with their combinations, or manual lines with any name, price and tax you want. Prices you change by hand are kept even if you later change the customer, address or group.
4
Shipping and additional discount
Tick "Include free shipping" or choose a carrier to calculate shipping. In "Shipping cost" you can enter a price by hand, which replaces the carrier's. Optionally add an additional discount, fixed or as a percentage.
5
Save
Click Create and send to make it official and send it to the customer, or Save draft to keep working on it. Use "Preview PDF" to review it first.
Calculations: the module applies the group discount, the additional discount, the VAT of each line based on the country and state, and the shipping. The discount also applies to shipping, so the total in the form, in the PDF and in the customer's cart match.
Drafts
A draft is a quotation that has not been sent yet: it has no number, no payment link and the customer receives nothing. You can edit it as many times as you need and download its PDF, which is marked as DRAFT, to review it or show it to the customer.
When it is ready, click Make official and send in the list: the quotation gets its number, the payment link is created and the email is sent to the customer. An official quotation can no longer be edited.
Duplicate a quotation
Duplicate opens the form with a copy of the quotation (customer, products, prices, shipping and discount) to create a new one. The two are independent: if the new one replaces the old one, reject or delete the old one yourself.
Quote from an order
When the quotation starts from an existing order, enable it in General → Quotations ("Create quotations from the order detail") and choose in which order statuses you want to see it.
- On the order page, next to the other actions, the "Create quotation" button appears.
- A window opens with the quotation form already filled in: the customer, the country and state of their invoice address, the language, the carrier (if still available) and one line per product, with its quantity and price.
- If the order came from another quotation, its shipping is added as the shipping price and not as another line, so it is not charged twice.
- From then on, the order button reads "Quotation created". If you delete that quotation, the order offers to create it again.
Order discounts are not carried over. A store voucher is not a quotation discount. If the order had discounts, the window warns you so you can decide.
What happens when the customer opens the link
- If the customer has no account, one is created and they receive a welcome email; if they already have one, they are logged in automatically.
- Their cart is replaced with a new one containing the quotation products at the agreed prices, and they go to the store's regular checkout, where they can enter their address and pay with the payment methods the store offers.
- The agreed shipping is added to the cart as a "Shipping" line, and the module adds a free shipping discount so the carrier's shipping is not charged again. If you set up a carrier for paying a quotation, the customer only sees that one.
- A quotation cart cannot be modified: quantities, products and vouchers stay as agreed.
- The link can be opened several times without discounts adding up.
When the link stops working: if the quotation expires, if it has already become an order or if you rejected it.
Conversion into an order
When the customer places the order, the quotation changes to Completed and is linked to it, even if payment is deferred (bank transfer, cash on delivery…). You receive a notification email. There is nothing to do by hand.
List and management
In the Quotations menu you have the list with filters by status, text and dates, and the statistics at the top. The statuses are Draft, Requested (a customer request, see below), Pending (sent and awaiting payment), Completed and Declined. Depending on the status, each row offers:
- Edit draft, Make official and send and Download draft PDF, on drafts.
- Print PDF, on official quotations.
- Resend email and Open cart link, on pending ones.
- Duplicate, on all except requests.
- Reject request, on requests and pending ones. It asks for the reason and lets you notify the customer by email. A declined quotation can no longer be paid.
- Delete, as long as it has no order.
Quote-only products
For products whose price you cannot publish (custom cuts, projects, negotiated prices): they are shown with their photos and full product page, but without price or buy button. Instead, the customer adds them to a quotation request, and you reply with a priced quotation.
Mark the products
- By rules, in General → Quote-only products: by category, brand or supplier (see configuration).
- One by one, from the product page in the back office, Quotation only tab, with the "Sold by quotation only" switch. If the product is already covered by a rule, the tab tells you which one and it cannot be changed there.
Remember to turn on the "Enable quote-only products" option: without it, the store keeps selling as usual.
What the customer sees
1
Adds products to their quotation
On the product page, instead of the price and the buy button, the Add to the quotation button appears, with its quantity selector. In listings, the product can carry the "Get a quote" label.
2
Reviews their list
From the "Quotation" link in the header they open their list ("My quotation"), where they can change quantities and write a note per product (dimensions, finish, lead time…).
3
Sends the request
They click Request a quotation and enter their contact details and, if you have it enabled, their address. They do not need to register. If you have set up a data policy page, they must accept it.
4
Checks their quotations
If they have an account, in "My quotations" they see their requests, quotations and estimates, and download the PDFs.
If the customer builds their list without being logged in, the list is merged into their account when they log in.
Answer a request
The request arrives highlighted in the Quotations list, with the Requested status, and you receive a notification email. Quote it opens the form with the customer, their address and the products they asked for, each with its note. Enter the prices and shipping and click Create and send: the request becomes a pending quotation and the customer receives it with its payment link.
If you cannot handle it, use Reject request, enter the reason and, if you want, notify the customer by email.
Customer quotations
The customer generates an estimate themselves, as a PDF, from their cart, without you having to do anything. It is useful for anyone who needs a document to get approval before buying. The estimate records the current prices, but does not reserve them and cannot be paid: to close the sale, answer it with a quotation.
How the customer uses it
1
Clicks "Download your quotation"
The button appears in the cart and/or in the checkout, depending on what you have enabled, as long as the cart has products.
2
Fills in their details
They enter their name and email and, optionally, their phone, a comment and the address fields you have enabled. If they are logged in, the form comes pre-filled.
3
Downloads the PDF
After sending it they see the estimate number and a button to download the PDF. If you have auto-send enabled, they also receive it by email.
The PDF shows amounts with or without tax, the same way as the customer's cart. If you use the Advanced Options and Fees module, its surcharges appear by name in the PDF.
Existing estimate: if the customer already generated an estimate for that same cart, the module tells them and lets them download the existing PDF or update the details, without creating duplicates.
Follow-up and response
In the Customer quotations menu you see all the estimates your customers have generated, each with its status:
- Pending: you have not reviewed it yet.
- Reviewed: you marked it with "Mark as reviewed". You can leave Internal notes (what was discussed by phone, why it was dropped…), which only you can see.
- Answered: you answered it with a quotation.
Answer with a quotation opens the quotation form already filled in with the customer and their products: adjust prices and shipping and send it. When you save it, the estimate is marked as answered.
Email notifications
- The customer receives the PDF by email if you have auto-send enabled.
- You always receive a copy, at the configured address or, if it is empty, at the store email.
Translations
Edit translations
The module includes a translation editor that lets you customize all the texts in any language installed in your store.
- Go to the "Translation" section in the module menu
- Select the language you want to edit
- Modify the text strings as needed
- Click "Save" to apply the changes
Available actions
The translation editor includes several actions to manage your translations:
- Save: Saves the changes made to the translations.
- Save and Download: Saves the changes and downloads the translation file as a backup.
- Share with Us: Sends your translations to the PresTeamShop team so they can be included in future versions of the module.
- Expand All: Expands all translation sections.
- Collapse All: Hides the content of all sections.
Code Editors
Lets you add custom CSS and JavaScript code directly from the configuration panel, without accessing the server files.
Available editors:
- Custom CSS: Add styles to customize the appearance.
- Custom JavaScript: Add scripts to customize the behavior.
Caution: Use this section only if you have technical knowledge. Incorrect code can break the module or the store.
Backups
The backup system lets you protect the module's configuration and restore it if needed.
Create a backup
To create a new backup, click the "Generate new backup" button. The system creates a backup of the module's current configuration.
Upload a backup
If you have a previously downloaded backup, you can load it by clicking the "Upload backup" button. A dialog opens where you can select the backup ZIP file.
Available backups
The list shows all the backups created. You can filter by date with the date selector and refresh the list with the "Refresh list" button.
List actions
Each backup in the list has the following actions:
Restore Backup
Restores the module's configuration
Download Backup
Downloads the ZIP file
Delete Backup
Deletes the backup
Caution: Restoring a backup overwrites the module's current configuration. This action cannot be undone.
To restore, click the "Restore Backup" button of the backup you want to recover and confirm the action in the dialog.
Support
If you need additional help or have any questions about the module, we are here to help you.