Commercial Proposal Template Development for Bitrix24
A sales manager spends an hour preparing each commercial proposal: copying products from a deal into Word, formatting a table, inserting client details, and adding descriptions. With a high volume of leads this becomes a bottleneck — and this is exactly where automatic proposal generation from Bitrix24 delivers a tangible impact.
Commercial Proposal Template Development for Bitrix24
Proposals in Bitrix24: Where and How
Commercial proposals in Bitrix24 can be created in two ways:
Via CRM document templates — the standard docx template mechanism, available on plans from "Basic" onwards. A proposal is created from the deal card using the "Create Document" button, where you select the desired template. Suitable for relatively simple proposals with a fixed structure.
Via the "Commercial Proposals" smart process (plans from "Professional" onwards) — the proposal is stored as a separate entity linked to the deal. It has its own fields, a status pipeline, and automation. Document templates work the same way, via docx.
Commercial Proposal Template Structure
A good commercial proposal has a specific structure. Within a docx template:
Header — company logo (inserted as an image in docx, not via a placeholder), manager contact details ({AssignedName}, {AssignedPhone}, {AssignedEmail}).
Document title — "Commercial Proposal No. {DealId} dated {CreatedDate}", "To: {CompanyTitle}".
Body — proposal description. If it's standard — static text in the template. If individual — a custom UF field of type "Text" with a description that the manager fills in before generating.
Product/service table — repetition block {#Products}: {ProductName}, {ProductQuantity}, {ProductPrice}, {ProductSum}. Summary rows: amount excluding VAT, VAT, total.
Terms and deadlines — static text or custom fields (proposal validity period, delivery time).
Manager's signature — {AssignedName}, field for a handwritten signature.
Images and Branding
Bitrix24 does not allow inserting images via placeholders in docx templates. For branding, the following approaches are used:
- Logo as a static element in
docx(header, footers) - Brand colors via Word styles
- Product photos — if needed, implemented via an external PDF generation service (a custom module or third-party service)
For proposals with product images, Bitrix24's standard capabilities are insufficient. In such cases, an external generator is developed: a PHP script retrieves data via REST API (crm.deal.get, crm.deal.productrows.get), generates a PDF using mPDF or Dompdf with images, and returns the file or saves it to the deal via crm.deal.files.attachFile.
Automating Proposal Delivery
After generation, a proposal often needs to be sent to the client automatically. The flow:
- The manager clicks "Create Document" → the proposal is generated and attached to the deal
- A robot in the pipeline, upon transitioning to the "Proposal Sent" status, sends an email to the client with the attached proposal using the "Send Email" action
- The deal status automatically transitions to "Awaiting Response"
Case Study: Proposal for a Wholesale Company
A company selling construction materials wholesale. Proposals contain up to 50 product items, and managers were assembling each one manually. Goal: automatic generation from a deal with products.
We developed a docx template with a product repetition block. Added UF fields to the deal: "Proposal Validity Period," "Payment Terms," "Delivery Time" — the manager fills these in the card before generating. The total including VAT — via a custom field populated by a robot. The template was uploaded and placed first in the deal's document template list.
Proposal preparation time dropped from 40–60 minutes to 5 minutes (filling in UF fields + generation).
Timelines
| Task | Timeline |
|---|---|
| Proposal template with a fixed structure (no custom fields) | 4–8 hours |
| Template with custom UF fields and a product table | 1–2 days |
| Proposal with an external PDF generator and product images | from 5 days |







