Beimbet

September 28, 2026 · 4 min read

Custom CRM for manufacturing: how the Kulsary Vent system works

Since 2012, Kulsary Vent has been manufacturing and installing ventilation systems in Kulsary, Kazakhstan, as well as cutting metal and making kitchen equipment. We built the company a website and an internal order-tracking system. Here is how the system works and when a custom CRM pays off better than an off-the-shelf one.

Why not an off-the-shelf CRM

Off-the-shelf CRMs are built for sales: a deal, a pipeline, calls. In manufacturing, an order lives longer and is more complex: site survey, design, quote, payment, production, delivery, installation. The price does not come from a price list - it is calculated from the dimensions and the material.

You can configure all this in an off-the-shelf system, but the process still ends up bending to someone else's logic. A custom system mirrors the production process as it is.

12 order stages on a kanban board

Each order is a card on the board that moves through the stages: request, site survey, design and quote, quote approved, rejected, awaiting payment, invoice paid, invoice unpaid, in production, products ready, delivery and installation, project completed.

Cards are dragged between columns, but the system blocks the move if the conditions are not met: the order has no products, no payment type is selected or the bank details are missing. Financial transitions require a separate confirmation.

Prices are calculated with formulas

Products are added to an order from templates. A template has variables, such as dimensions and quantity, and a pricing formula. Materials - galvanized steel in different thicknesses - are stored in a reference list with a price per square meter: change the material and the price recalculates.

Formulas are evaluated by our own safe parser, which never executes arbitrary code. An employee editing a template cannot accidentally break the system or get at the data.

A quote straight from the order

A commercial quote with the products and the total is exported from the order to Excel - the manager does not have to assemble it by hand in a spreadsheet.

Reference lists

  • Materials with a price per square meter
  • Product templates with formulas and variables
  • Clients: contacts, company details, addresses
  • Payment types: cash, bank transfer with a fee, bank transfer with VAT

Under the hood

  • Staff log in with a username and password; passwords are stored only as hashes
  • PostgreSQL and Prisma, with order changes executed in transactions
  • Files in S3-compatible storage from a Kazakhstani provider
  • Docker, Nginx, Let's Encrypt certificates, automated deployment via GitHub Actions
  • A separate health check endpoint that verifies the database connection

Where to store the data

If the system stores customers' personal data - names, phone numbers, addresses - keep in mind the Law of the Republic of Kazakhstan “On Personal Data and Their Protection”: it requires such databases to be stored within Kazakhstan. Kulsary Vent's files are kept in storage from a Kazakhstani provider.

Database backups should run automatically and be stored separately from the main server: a single server failure should not take both the data and its copy down with it.

Website and system together

The public website kulsaryventservice.kz collects inquiries: it has a cost calculator, a form, a WhatsApp button and maps. The internal system helps carry each order from site survey to installation without losing it between stages.

When a custom CRM makes sense

  • The price is calculated, not taken from a price list
  • An order has more stages than a typical sales deal, and different people keep track of them
  • Documents such as commercial quotes follow the same template again and again
  • An off-the-shelf system needs workarounds and paid add-ons for the features you need

If your process fits a standard sales pipeline, an off-the-shelf CRM will be faster and cheaper. We recommend starting with the core - the order board and pricing - and adding features as staff actually ask for them.

Where to start

  • Map out the order stages as they actually happen, and who is responsible for each one
  • Compile the reference lists: materials, prices, product templates, payment types
  • Decide which documents the system should generate on its own
  • Launch the order board with pricing and spend a week working in it together with your staff
  • Add reports, roles and integrations as real requests come in

Contact

Have a project? Let's talk

Message us on TelegramMessage us on WhatsApp

The founder answers personally.