Using Custom Variables in Contracts
The clauses in your contracts are full of placeholders like the customer’s name, the rental period, and your company details — these are system variables that Rentablez fills in automatically. But every business has details of its own: a vehicle’s VIN, a customer’s father’s name, a battery serial number, a motor number. Custom variables let you add those placeholders yourself, bind each one to data you already keep on record, and drop it into any clause. When a contract is generated, Rentablez pulls the real value in for you.
Why Use Custom Variables?
Instead of hand-typing the same business-specific detail into every contract, define it once as a variable:
- Reuse — write the placeholder once, use it across every template and clause.
- Accuracy — the value is pulled straight from the customer, stock, or order record, so it’s never mistyped.
- Consistency — the whole team uses the same wording and the same data source on every agreement.
Custom variables live in the Contracts module under the Custom Variables tab. Creating and editing them requires contract write access — read-only users can view the list but not add, edit, or delete variables.
How a Custom Variable Works
A custom variable has two parts: a key — the {{placeholder}} you type into a clause — and a source — where Rentablez reads the real value from when the contract is generated. You define the pairing once, then insert the placeholder into any clause from the variable picker.
Creating a Custom Variable
Step 1 — Open the Custom Variables tab
Go to Contracts, then open the Custom Variables tab. Click + New Custom Variable to open the form. If you have none yet, you’ll see a prompt to create your first one.
Step 2 — Name the variable
| Field | What it does |
|---|---|
| Variable Key | The placeholder you’ll type into clauses, e.g. vehicle_vin becomes {{vehicle_vin}}. Keep it short and lowercase — the app automatically converts spaces and symbols to underscores. |
| Display Label | The friendly name shown in the variable picker, e.g. “Vehicle VIN”. |
| Description | Optional note explaining what the value is, e.g. “Vehicle Identification Number from the chassis plate”. |
The Variable Key can’t be changed after the variable is created — changing it would break any clauses that already reference it. Pick it carefully. The Display Label and everything else remain editable.
Step 3 — Set the scope and category
Scope controls which contracts the variable is offered for:
| Scope | Available on |
|---|---|
| Order contracts only | Contracts tied to a single rental order |
| Master agreements only | Standing agreements that cover a customer |
| Both | Order contracts and master agreements |
Category is a grouping label (e.g. “vehicle”, “kyc”). Variables are grouped by category in the picker, so related placeholders stay together.
Step 4 — Choose where the value comes from
Under Where does the value come from?, pick a Source Type. This tells Rentablez which record to read the value from:
| Source Type | Reads from |
|---|---|
| Customer field (built-in) | A standard column on the customer record — PAN, GST, mobile, and so on |
| Customer custom field | A custom field you’ve defined on customers (e.g. Father’s Name) |
| Customer Aadhaar (KYC) | The Aadhaar reference number from the customer’s KYC record |
| Stock field (built-in) | A standard column on the allocated stock — asset tag, serial number, etc. |
| Stock custom field | A custom field you’ve defined on stocks (e.g. Battery Serial) |
| Order field (built-in) | A standard column on the order — order notes, fulfillment mode, etc. |
Once you pick a source type, choose the exact Source Field from the dropdown that appears. This field is required for every source type except Customer Aadhaar, which needs no field.
Custom Aadhaar (KYC) is an India-specific source tied to the customer KYC record. It appears for all orgs but only returns a value when Aadhaar KYC data is on file for the customer.
If the Source Field dropdown is empty for a custom-field source type, you haven’t created any custom fields in that module yet. Add the custom field on customers or stocks first, then come back and select it here.
Step 5 — Add fallback and preview values (optional)
| Field | What it does |
|---|---|
| Default Value | Used when the bound source has no value for a given customer, stock, or order. Leave blank to render nothing. |
| Sample Value | A sample shown in the variable picker preview so you can see roughly how it’ll look. Never appears on a real contract. |
Click Create Variable to save. Your new variable immediately joins the list, grouped under its category.
Using a Custom Variable in a Clause
Once created, a custom variable is available wherever you write clause text — in the Clause Library and in per-template clause overrides. Open the clause editor and use the + Insert Variable picker.
Inside the picker, your custom variables appear under a separate ✦ Custom Variables (Your Org) heading, below the built-in ⚙ System Variables, grouped by the category you assigned. Search by label or key, then click a variable to drop its {{placeholder}} into the text at your cursor.
When a contract is generated from a template that uses the clause, Rentablez reads each {{placeholder}} from its bound source and prints the real value. If the source is empty, the Default Value is used instead.
See Managing Templates & Clauses for how to add clauses to a template and override clause text.
Editing and Deleting Variables
Each variable in the list has Edit and Delete actions:
- Edit — change the label, description, scope, category, source, default, or sample value at any time. The key stays locked.
- Delete — removes the variable. Any clause still referencing its
{{placeholder}}will render as empty when contracts are generated, so update those clauses first.
Variables that are turned off show an INACTIVE badge and appear dimmed in the list; inactive variables aren’t offered in the picker.
Deleting a variable does not clean up your clauses. If a clause still contains the deleted
{{placeholder}}, that spot comes out blank on generated contracts. Remove the placeholder from your clauses before or after deleting the variable.