Quote portal / 2025
Royal Plast: window quotes with price and sketch, no manual math
Case study: a portal that prices custom windows from their dimensions, adds per square meter surcharges, draws a sketch and creates a PDF quote with VAT.

- Client
- Royal Plast
- Year
- 2025
- Role
- Full development: pricing, window drawing, PDF quote and customer records
- Technologies
- PHP, MySQL, JavaScript, HTML
3
steps to a quote: customer, items, review
21%
Montenegrin VAT, calculated at the bottom of the quote
m² and m
surcharges per square meter and per linear meter
This is a case study of the quote portal I built for Royal Plast, a company from Montenegro that makes custom windows and doors. The company has no public website: the portal runs on its subdomain, and the company uses it to create quotes for businesses and private customers.
Client and context
Royal Plast sells custom windows and doors. Every customer enquiry ends in a quote, and a quote for windows is not a list of items with a total: every item has its own dimensions, opening direction, glass type and extras. I built the portal in 2025. It runs online, the company uses it, and more than one person can work in it.
Problem
Quotes were made by hand. A custom window has no price until everything is chosen: dimensions, opening type, glass, roller shutter, drip cap, insect screen. Extras are not added as fixed amounts; they are calculated per square meter or per linear meter, so the same math was done again for every enquiry.
The second part of the problem was the description. A finished item was described to the customer in words, "single sash, left sash tilt, right sash tilt and turn", which a window fitter understands and a customer often does not. With custom windows, a misunderstanding cannot be fixed by putting the product back on the shelf: the window has already been cut to those measurements.
Constraints
The hardest part was the window drawing and the surcharge calculation. The drawing has to come from the same dimensions entered for the price, with measurements, so it matches that exact item. Surcharges depend on the window type and on the extra: low emissivity glass and an insect screen are added to the base price, and each has a defined price per square meter or per linear meter.
The second constraint was prices. The client changes them often, so no price could be written into the code. Everything comes from a price list the company edits itself.
Solution
A quote in three steps
A quote is created in three steps: customer, items, review. In the first, you pick an existing customer or add a new one, a business or a private person. In the second, you add items, with the total before VAT at the top, changing as you choose. In the third, you see the whole quote before the PDF is created, so mistakes are caught on screen.
A price that calculates itself
Each item starts from an article in the price list. Articles are found by name while you type, and the price list can be filtered to windows or doors. On top of the base price, the portal adds surcharges: for the glass type (float is the default, while low emissivity, "four seasons" and "Stop Sol" glass each have a surcharge per square meter), for the insect screen by type, and for the roller shutter and drip cap. Every surcharge is shown next to the option, so whoever creates the quote knows why the price changed.
A window sketch instead of a description
For each item, the portal draws a sketch of the window from the dimensions entered, with measurements and the opening direction marked for the left and right sash (tilt, or tilt and turn, for example). The sketch sits on the quote next to the price. The customer sees the window they are ordering instead of picturing it from a description.
A PDF quote that looks professional
The final output is a PDF with the company logo, the company details and the customer details. At the bottom are the net amount, VAT at the 21% rate that applies in Montenegro and the total, followed by how long the quote is valid and fields for signatures. A note can be added to the quote for anything agreed outside the price list.
Customers and quote history
The portal keeps a record of customers, both businesses and private persons. Every quote stays in the list with its number, customer and date, and can be downloaded again at any time without being recreated. The home page has shortcuts to a new quote, customers and items, and a list of the five most recent quotes.
One item, as an example
The screenshots show a test quote, with prices as they were in the price list at the time:
| Part of the item | Value |
|---|---|
| Article | single sash window, 100 x 100 cm, 2 seals, double glazed, white |
| Base price from the price list | 150.00 EUR |
| Extras | roller shutter, drip cap, fixed insect screen (30 EUR/m²) |
| Glass | "four seasons", surcharge 7 EUR/m² |
| Total before VAT | 277.00 EUR |
| VAT 21% | 58.17 EUR |
| Total with VAT | 335.17 EUR |
By hand, an item like this means calculating each extra from the window area and adding it up. In the portal, you pick the extras and the amount is on screen before you move on to the review.
What the price list holds
Each article in the price list has a name, dimensions, type (single or double sash), color, number of chambers and a price, and is marked as a window or a door. The company adds articles and changes prices itself, and the next quote uses the new price list. There is no limit on the number of articles.
Technologies and why
The portal is built in PHP, MySQL, JavaScript and HTML and runs on the company's subdomain, online, so nothing has to be installed on the company's computers. The price changes on screen while extras are chosen, and the PDF carries the same data as the review.
Result
A quote that used to be made by hand now comes out finished, with the price, a sketch of every item and VAT, in a form that can be sent to the customer or printed and signed. The customer sees the window before ordering it, so misunderstandings are caught on paper, not in the workshop. All quotes are in one place and can be downloaded again at any time (as of October 2026).
Sources
The standard VAT rate of 21% in Montenegro has applied since January 1, 2018, according to KPMG Montenegro's overview of the VAT law amendments; checked on October 5, 2026.
Inside the application



Services used on this project
- Custom web applications for work that has outgrown spreadsheets
- Web design that starts on the phone
- Website maintenance after launch
Questions about the project
What is Royal Plast?
A company from Montenegro that makes custom windows and doors. It has no public website; the quote portal runs on its own subdomain and only the company uses it.
Does the portal run online?
Yes. It runs in the browser and more than one person can use it, so anyone in the company who deals with customers can create a quote.
How is the price of a window with extras calculated?
It starts from the item price in the price list. Surcharges for glass and fittings are added on top, each with its own price per square meter or per linear meter, and the portal calculates them from the dimensions entered.
What happens when prices change?
The company changes the price in the price list, and the next quote uses the new price. The client's prices change often, which is why they live in the price list and not in the code.
What would a portal like this cost?
Web applications start at 300 EUR, and the price comes from the specification, screen by screen. A build usually takes 7 to 20 days. Details are on the pricing page.
Similar projects
Case study
BKC Soft: licenses and daily register reports in one portal
Case study: BKC Soft issued licenses by hand and owners added up revenue by phone. The portal now handles 500+ licenses and reports from 20+ users.
Case study
EcoLED: 1,700 products with no manual entry, on 3 sales channels
Case study: 1,700 products from 3 suppliers with no manual entry, 3 sales channels with their own prices, card payments and B2B pro forma invoices.
Got a similar job?
Describe what you need in a few sentences. Messages sent before 5 pm CET get a same day reply with an estimate of price and timeline.