A commercial proposal generator is worth building when your managers spend every day turning client specifications into proposals. A good one accepts the file exactly as the client sent it (Excel, PDF or another format), parses the line items, takes the client’s details from a shared directory of organisations and builds the proposal on the company’s template, with the calculation. Below we explain how we are building such a generator for an equipment supplier and where these projects usually get stuck.
Where a manager’s time goes
The project is under NDA, so the company is not named. It supplies equipment. Before the generator, commercial proposals were put together by hand from three places: the client’s specification, the client card and old files with earlier proposals. The calculation was done manually.
None of these steps is hard on its own. The time goes into merging them. The specification arrives in one shape, the last proposal was laid out in another, the client’s details sit in a third file, and the manager copies rows, checks quantities and recalculates totals. With many line items, a mistake in one row easily slips through.
The second problem is quieter. When old files are used as the starting point, each manager edits their own, and earlier terms or an outdated layout easily survive into the new proposal. The client then receives proposals from one company that look different from each other.
How the commercial proposal generator works
In our project the flow is:
- The manager uploads the specification. Excel, PDF or whatever format the client sent.
- The generator parses the file. It extracts the line items, quantities and everything the calculation needs.
- The client’s details come from the directory. This is a shared directory of organisations used by every product in the system, not only by the generator.
- The proposal is built on the company’s template, with the calculation and layout.
What used to take time spent merging files and recalculating now takes one click. The generator is in development together with the rest of the platform; details are on the Sales and service platform page.
Why it has to read both Excel and PDF
Clients send specifications in whatever form suits them. If the generator only accepts its own spreadsheet layout, the manager is back to retyping rows from a PDF into a template, which is the manual work the company wanted to drop. So the generator takes the file as it is.
Excel is easier: rows and columns already exist, and the task is to work out which column means what. PDF is harder, because a table there may simply be text placed on a page. Parsing such files usually takes the most work in a generator, and it is worth budgeting for at the estimate stage.
Where client details come from
The client’s details in a proposal matter. The proposal goes to a specific organisation, and its name, tax number (INN) and address should match what later appears in the contract and the invoice.
Typing them in every time is another chance to get them wrong. In our platform the details live in one directory of organisations. The generator takes them from there, and the same data is used by warranty tracking and by the products that will join later.
How the directory gets filled depends on the project. In the system we built for the law firm GORONO, a client card is created from the tax number: name, registration numbers, address and lines of business are filled in automatically. If the number is not found, the system highlights the fields to fill in and does not block the work.
In Russia, company data is published by the Federal Tax Service (FNS). It runs a service for integration and access to the EGRUL and EGRIP databases, the state registers of legal entities and sole traders: in integration mode, open register data is delivered as files for use in your own information systems. The FNS warns that, because of the volume, daily files can be delayed, and data for a missed date is included in the files of the following days. That is why manual edits and a note on where the data came from are useful in the directory.
Why the company template matters more than looks
You could build a generator that produces attractive proposals in many layouts. We think something else is more useful: one template approved by the company, used for every proposal.
There are several reasons.
- Consistent terms. Payment terms, deadlines and reservations are written into the template once, and a manager cannot send an old version by accident.
- Legal weight. Under Article 435 of the Russian Civil Code, an offer is a proposal addressed to specific persons that is definite enough and contains the essential terms of the contract, and it binds the sender from the moment the addressee receives it. A proposal with prices and quantities sent to a specific organisation may be exactly that. So its wording should be checked by a lawyer once, in the template, and not by every manager in their own file.
- One place for the disclaimer. Under Article 437, advertising and proposals to an indefinite range of people are treated as an invitation to make offers unless stated otherwise. If the company wants its proposal to count, or not to count, as an offer, that wording is easiest to keep in the template.
- Recognition. Every proposal looks like a document from the same company.
In our platform templates are kept in shared file storage with a document template engine that all products of the system use.
Manual, spreadsheet template or generator: a comparison
| Method | Where line items come from | Where client details come from | Layout |
|---|---|---|---|
| By hand in an editor | The manager copies them from the specification | Typed in | The manager’s last file |
| Spreadsheet template | The manager pastes them into the template | Typed or copied | A shared template, if nobody edited it |
| Proposal generator | Parsed from the specification file | Directory of organisations | The company template |
Why the generator is part of a shared platform
For this client the proposal generator is one of two products on a shared foundation. The other is warranty tracking: deliveries, waybills with scans, serial numbers and warranty terms. Logistics, tenders, electronic document exchange and automatic invoices will later plug into the same foundation.
So each product has its own service and its own database, while login and rights, the directory of organisations and products, file storage with the template engine, notifications and an end-to-end action log are shared. The failure of one product does not stop the rest. Client, manager, warehouse, service centre and management log in with one account, and each sees only their own part.
A similar setup exists in the customer portal of an equipment supplier, where clients see the equipment they bought, licences and service with deadlines from 1C:ERP, the most widely used business accounting system in Russia.
Frequently asked questions
Can a proposal generator read PDF files, not only Excel?
Yes. Our generator accepts a specification in Excel, PDF or another format and parses the line items itself. PDF parsing is harder than spreadsheets, so it should be reflected in the project timeline.
Where does the generator get the client’s details?
From a shared directory of organisations inside the system. In Russia the directory can be filled by tax number from open EGRUL register data, which the Federal Tax Service provides for use in information systems, and edited by hand.
Is a commercial proposal a binding offer?
It can be. Under Article 435 of the Russian Civil Code, an offer is a proposal to a specific person that is definite enough and contains the essential terms of the contract. That is why the proposal template is worth agreeing with a lawyer once.
How is a proposal generator different from a Word or Excel template?
With a template the manager copies line items and client details in by hand. A generator parses the specification file, fills in the details from the directory and builds the proposal on the approved template in one click.
Can the generator be connected to a CRM and other systems?
Yes. In our project the generator is one of the services of a shared platform with a directory of organisations, rights and an action log, and other products connect to the same foundation.
Who it fits
Equipment and machinery suppliers, distributors and service companies: anyone who prepares many commercial proposals from client specifications. If your proposals are assembled from several files and recalculated by hand, tell us in the form below what your specifications look like when they arrive and what your template looks like now. More of our work is in directions.







