Document templates can be created and uploaded to Ledgy to be filled in with the information from the corresponding transactions. Here is a list of the supported variables that can be used in your document templates.
Content |
General variables
Variable | Example | Description |
{today} | 18 Mar 2020 | Date of today |
{currency} | EUR | Transaction's currency |
Stakeholder variables
Variable | Example | Description |
{stakeholder.name} | Elon Must | Stakeholder's name as inserted on Ledgy |
{stakeholder.email} |
| |
{stakeholder.nationality} | US |
|
{stakeholder.birthdate} | 28 Jun 1971 |
|
{stakeholder.notes} |
| Stakeholder's Internal Notes |
{stakeholder.address.line1} | Rocket Road 1 |
|
{stakeholder.address.line2} | c/o SpaceX Corp. |
|
{stakeholder.address.postcode} | 9808 |
|
{stakeholder.address.city} | Hawthorne |
|
{stakeholder.address.country} | India |
|
{stakeholder.identifier} | EM-1234 |
|
Usage
Stakeholder variables can be used wherever a stakeholder is involved.
The base prefix is "stakeholder". When adding variables to your template document, you may reference any of the sub-fields of the stakeholder, e.g. {stakeholder.name}, {stakeholder.email}, etc., as shown in the example below.
On Transfer templates, the transfer prefix is "fromStakeholder". E.g. {fromStakeholder.name} is the variable to denote the stakeholder from which the transfer originates.
One quick way to view and edit stakeholder properties is using Bulk Import and Edit (Stakeholders > "Bulk" button at the top bar). The easy-edit spreadsheet is designed to make adding, updating and checking stakeholder information effortlessly.
In the event that a template variable is used, but the stakeholder information is missing, we have also added a template validation feature that checks for misspelled variables or missing inputs in transactions before the document is created.
Stakeholder beneficiary variables
A beneficiary refers to the economic beneficiary of a transaction and first needs to be added to Ledgy as a stakeholder. At each individual transaction level, a stakeholder beneficiary can then be designated. This will then also reflect in the Usage column on the Stakeholder page.
The stakeholder beneficiary's personal details can also be retrieved during the templating workflow.
The base prefix is ''beneficiary". Similarly to the stakeholder variables, combine the prefix with any of the beneficiary's sub-fields e.g. {beneficiary.name}, {beneficiary.identifier} and {beneficiary.address.postcode}, and custom fields.
See the guidance on Custom stakeholder variables for more details.
Variable | Example | Description |
{beneficiary.name} | Elon Must | Stakeholder's name as inserted on Ledgy |
{beneficiary.email} |
| |
{beneficiary.nationality} | US |
|
{beneficiary.birthdate} | 28 Jun 1971 |
|
{beneficiary.notes} |
| Stakeholder's Internal Notes |
{beneficiary.address.line1} | Rocket Road 1 |
|
{beneficiary.address.line2} | c/o SpaceX Corp. |
|
{beneficiary.address.postcode} | 9808 |
|
{beneficiary.address.city} | Hawthorne |
|
{beneficiary.address.country} | India |
|
{beneficiary.identifier} | EM-1234 |
|
Option, warrant, and phantom grant variables
Variable | Example | Description |
| Follow the link to see the available stakeholder variables that can be used | |
| Follow the link to see the available vesting variables that can be used | |
{amount} or {granted} | 10,000 | The number of grants being granted |
{sharePrice} | 2.00 | Grant's purchase price (price to pay per each of the grants to receive them - usually applicable for Warrants) |
{totalSharePrice} | 20'000 | The amount to be paid by the stakeholder to receive all their grants |
{strikePrice} | 3.1415926535 | Grant's strike/exercise price (price to pay per each of the grants to exercise them - usually applicable for Options and Warrants |
{totalStrikePrice} | 31,415.926535 | The amount to be paid by the stakeholder to exercise all their grants in the future |
{date} | 12 Jul 2020 | Date of the grant |
{expiryDate} | 12 Jul 2025 |
|
{notes} | Grant transaction's internal note | |
{investment} | 20,000.00 | The amount payable by the stakeholder to receive the grants |
{dilutedShareCapital} | 100.00 | = number of grants issued * nominal value per grant |
Vesting variables
Variable | Example | Description |
{vesting.startDate} | 1 Jul 2020 |
|
{vesting.duration} | 48 | Vesting duration in months |
{vesting.interval} | 1 | Vesting interval in months |
{vesting.cliff} | 12 | Vesting cliff in months |
Usage
Vesting variables can be used wherever vesting or reverse vesting can be added. You may reference any of the sub-fields of the vesting, e.g. {vesting.duration}, {vesting.cliff}, etc., as shown in the example below. Currently, templating only supports simple vesting schedules.
Dynamic grant variables
{automation:updateGrantDateFromSignature} | The grant date is automatically updated in the app when fully signed by all associated parties |
Exercise variables
1. General exercise variables
Variable | Example | Description |
|
| |
| For reverse vesting | |
{amount} or {exercised} | 10,000 | Amount of grants being exercised |
{date} | 1 Oct 2022 | Date of the exercise |
{sharePrice} | 3.1415926535 | Strike/exercise price |
{investment} | 17'671.46 | Amount payable by the stakeholder to exercise the grants = strike price * exercised amount |
{class} | Common | Share class issued from the exercising transaction |
{notes} | Exercise transaction's internal note | |
{shareCapital} | 56.25 | = number of shares issued * nominal value per share |
2. Variables relating to the original grant, that is being exercised
Variable | Example | Description |
{grant.amount} or {grant.granted} | 10,000 | Total original grant amount |
{grant.strikePrice} | 3.1415926535 | Grant's strike/exercise price |
{grant.investment} | 20,000.00 | Original grant investment amount (= purchase price * granted amount) |
{grant.date} | 12 Jul 2020 | Original grant date |
{grant.expiryDate} | 12 Jul 2025 |
|
{grant.notes} | Original grant transaction's internal notes | |
{grant.dilutedShareCapital} | 100.00 | Original grant's diluted share capital (= number of grants granted * nominal value per grant) |
{grant.vesting.startDate} | 1 Jul 2020 |
|
{grant.vesting.duration} | 48 |
|
{grant.vesting.interval} | 1 |
|
{grant.vesting.cliff} | 12 |
|
Share issuance variables
Variable | Example | Description |
|
| |
| For reverse vesting | |
{amount} or {issued} | 1,500 | Amount of shares being issued |
{sharePrice} | 1.55 | Shares' issue price |
{investment} | 2,325.00 | = sharePrice * amount |
{class} | Common | Share class issued |
{date} | 3 Feb 2021 | Date of the share issuance |
{notes} | Share issuance transaction's internal note | |
{shareCapital} | 15 | = number of shares issued * nominal value per share |
{stakeholderCertificateId} | PA-123 | Certificate Id for increase transactions (e.g. increase shares, exercise and a stock grant from authorized capital) |
{fromStakeholderCertificateId} | PA-456 | Certificate Id for transfer transactions (e.g. transfer, exercise and a stock grant from reserved shares) |
Custom Variables
Would you like to have other customizable information in the document and the variable is not available for replacement on Ledgy in the list above? Below you may find two alternatives to insert further custom information in your templates.
Transaction's notes
Ledgy has all the usual variables needed for document templates, but sometimes there could be a small difference between some companies to others. For such cases there is a workaround:
An existing variable is {notes}, and it retrieves the information present in the Internal note section of the transaction on Ledgy. If you have a variable that you would like to use on the document template, but that variable is not available within Ledgy's standard variables, you can input the value of the variable in the transaction's Internal Notes, and use the variable {notes} to retrieve it in the document. For example, if you would like to input the amount of money paid when exercising a particular transaction, you can write that number in the transaction's Internal Note and use the variable {notes} in the document where you would like the variable to be replaced.
Custom stakeholder variables
Additionally, it is also possible to use the Stakeholder custom fields as variables in document templates.
Follow the structure below to enter the information in your template accurately:
General structure: {stakeholder.Custom Field} or {beneficiary.Custom Field}
Example of a Stakeholder Custom field:
Cost Center: 7237-234
Custom stakeholder field variable for Stakeholder: {stakeholder.Cost Center} ⇒ Result: 7237-234
Custom stakeholder field variable for Beneficiary: {beneficiary.Cost Center} ⇒ Result: 7237-234
Pro-tips
Is your variable not working? Ledgy will automatically fill in with “undefined” if the variable cannot be found.
Ensure that the information to replace the variable is on Ledgy: if you use the variable {stakeholder.address.city} but you have not input the stakeholder’s city information on Ledgy, it will show up as “undefined”
Ensure the variable is written exactly as stated above: if you have written {stakeholder.adress.city} (with a missing d), it will show up as “undefined”
At the transaction level (any issuance, transfer, or convertible loan), we have added an automatic validation to help you along when a template document is uploaded. For example, if {vesting.cliff} is in use within the document but is not yet defined, Ledgy will identify this and prompt you to input the information.
Note: The document size should not exceed 32 MB.
Example
Let’s put the following text in a Word document for an option grant template:
Berlin, {today} Dear {stakeholder.name}, We hereby grant you the following number of Virtual Options according to the terms and conditions contained in the Agreement and in this Grant: Number of Options: {amount} Sincerely yours, Gwynne Sheetwell, Tom Baker |
The resulting PDF will contain the following:
Berlin, 18 Mar 2020 Dear Elon Must, We hereby grant you the following number of Virtual Options according to the terms and conditions contained in the Agreement and in this Grant: Number of Options: 10,000 Sincerely yours, Gwynne Sheetwell, Tom Baker |