Task and my work.
Visitors needed to estimate a building and send a request. The sales manager needed the order parameters, a way to refine the estimate and a ready commercial proposal.
- Built the website and a step-by-step estimate wizard that passes building parameters into the request.
- Built the CRM workspace: deal statuses, documents and manager actions.
- Added a manual line-item editor and saving of the estimate before the document opens.
- After launch, refined the interface and flows: units of measure, document display and handling of closed deals.
Key decisions.
Data integrity is checked before a manual estimate is shown.
When the document opens, the system verifies that the prepared line items have not changed, using a server-side signature. If the check fails or there is no signature, the preliminary estimate is shown instead.
Estimate edits are saved before the document opens.
A manual editor handles non-standard items. The total is the sum of line items; unsaved edits are stored before the document is opened or downloaded.
How it works.
- The visitor sets parameters
Picks the building type on the website and enters the inputs for the estimate.
- The manager picks up the order
Refines the parameters, sees the deal status and checks the line items.
- The estimate becomes a document
The module assembles line items, cost groups and the total. The manager decides on the final scope and price.
- The team issues the proposal
The manager checks the terms, saves a PDF via the browser print dialog and chooses how to send it.
Implementation and example.
A sample draft proposal for a fictional 18 × 12 × 4.5 m warehouse, generated locally by the project's estimate module. Company details are replaced, amounts come from a local price list. The sample document is translated into English.
Client data is hidden on the website screens. The CRM is shown on a test record.
A commercial proposal from the estimate module.
Building parameters, line items, cost and scope of work. A local draft before manager review.
Project result.
Each request arrives with the building parameters, the estimate and the documents. The manager can keep working on the estimate, prepare a proposal and come back to the deal after clarifications.
Technologies and implementation details
Next.js, TypeScript, Supabase and APIs. Forms, pricing logic, statuses and documents are connected. The manual estimate is validated before the proposal is issued; sending stays a manager's action.
Let's discuss your task.
We can start with a calculator, document generation or connecting your existing website to a CRM. We will look at one real order and define the first stage.
Discuss requests and quotes ↗︎