How to bulk (import) options

You can bulk upload options that have been signed off Capdesk or information for options to signed on Capdesk.

Before preparing an import file for options, you’ll need to create an option plan on Capdesk.

How to Download an Import File:

Once you’ve created your option plans on Capdesk, you can now prepare an import file to get your options data on Capdesk. To do so, you will need to download the import file template.

To do this, go to 'Options' tab -> 'Import Grants'.

Screenshot 2021-03-25 at 16.32.43

You’ll then be directed to the Import Data page where you can download the template for importing the data. Click on 'Download Sample CSV File'.

Screenshot 2021-03-25 at 16.34.44

Once you’ve downloaded the spreadsheet, it is populated with examples. You can use these as guidance on how to record option grants.

Screenshot 2021-03-25 at 16.38.57

Please ensure you delete all the example data before importing the data.

Note: The order of the columns in the template may differ from the screenshots shown below. This doesn’t matter for importing but if you want you can drag columns around to match the screenshots.

How to Create an Import File

This section will explain every column that is needed to be able to successfully import onto Capdesk.

Key information:

Screenshot 2021-04-12 at 15.30.23
  • 'id'(mandatory) - For every option grant, there needs to be a unique number filled in the “id” column (it can be as simple as 1, 2, 3, etc.).
  • 'grant_id' (non-mandatory) - For every transaction relating to an option grant (i.e. exercise / lapse), you will need to fill the “grant_id” column with the option grant id you have inputted in the “id” column; shown in the image above.
  • 'security_plan' (mandatory) - Fill in the same option plan name from the option plan you created on Capdesk earlier (e.g. EMI / CSOP / Unapproved etc.).
  • 'date' (mandatory) - The date of the transaction. The date will all need to be in the same format i.e. if you use a (/) or (.) as the separator, all dates will need to be inputted in that format.
  • 'registered' (non-mandatory) - If there is an exercise, you can also provide the date the shares are entered in the share register.

Personal information:

  • 'national_insurance_number' (non-mandatory) - Fill if applicable. We ask this because you can use Capdesk to generate EMI Notification and Annual Return forms.
  • 'first_name' (mandatory) - First name of the optionholder.
  • 'middle_name' (non-mandatory) - Middle name of the optionholder if applicable.
  • 'Last_name' (mandatory) - Last name of optionholder.
  • 'email' (mandatory) - Email address of optionholder.
  • 'country' (mandatory) - Country of residence of optionholder. Please ensure this is in the format of ISO ALPHA-2 (you can find the full list of countries here).

Tip: You only need to provide personal information in the row where 'id' is filled.


Option details:

Screenshot 2021-04-12 at 15.39.50
  • 'quantity' (mandatory) - The amount of option that have been granted / exercised / lapsed.
  • 'exercise_price' (mandatory) - The exercise price of the option grant.
  • 'expires' (mandatory if there's a tax advantage) - The date of expiration of the option grant.
  • 'exercise_price_currency' - The currency the exercise price is in, only mandatory if exercise price currency different to share class currency.

Vesting Schedules:

Once you have inputted your key information, personal information and option details, you then need to insert vesting schedule details. If the vesting schedule is:

Immediate: this means that the option grant will vest immediately. Cells to fill:

    • 'vesting_type' - always input ‘immediate’.
    • 'vesting_start' - the date the option was granted and subsequently vested.
Automatic: the standard vesting schedule i.e. options that vest over 48 months, with a 12 month cliff, vests 25% at end of cliff then vests monthly. However, we have 4 different types of automatic schedules to accommodate for rounding (if there is fractional vesting). Cells to fill:

    • 'vesting_type':
      - Automatic (Distribute Evenly, Round Up): Rounds first tranche then distributes evenly. You will need to input 'automatic_equal_round_up'.
      - Automatic (Distribute Evenly, Round Down): Rounds down first tranche then distributes evenly. You will need to input 'automatic_equal_round_down'.
      - Automatic (Round Up): Rounds up any fractional vesting each tranche and removes any difference in last tranche. You will need to input 'automatic_round_up'.
      - Automatic (Round Down): Rounds down any fractional vesting each tranche and adds any difference at the last tranche. You will need to input 'automatic_round_down'.
    • 'vesting_on' - this corresponds to the day the vesting starts. You can enter that every time the option vests, it can vest on the same day as the vesting start date, the first of the month or the last of the month. Input 'same_date', 'first_of_month', or 'last_of_month' respectively.
    • 'vesting_start' - the date the option grant starts vesting
    • 'vesting_months' - the total vesting period in months including any cliff e.g. if it vests over 4 years, you input 48.
    • 'vesting_cliff' - this is the period (in months) where no options are vested. This can be 0 if the option starts vesting immediately / no cliff.
    • 'vesting_percentage' - (if applicable) at the end of the cliff period, a % amount will have vested. E.g. 6 options vested out of 24 in total (6/24 = 25%).
    • 'vesting_interval' - how often the options will vest either or after the cliff period. If monthly, input 1. If quarterly, it'll be 3. If annually, it’ll be 12 etc.


Custom: if the option grant has special conditions i.e. it vests on certain dates. Cells to fill:

    • 'vesting_type' - input ‘custom’.
    • 'scheduled_quantity':
      - The quantity of options vested on a specific date
      - This is separate from the option grant row and you will need to insert a new row. You will also need to input 'grant_id' with the 'id' of the option grant.
      - You will also need to input the 'date' (back at cell E) on the same row as the transaction.
      • 'vested_quantity' - if the date of vesting has taken place then you can input the amount that is vested on that date.
      • 'date' - the date of when the options will vest.

    Other vesting conditions: if the option grant has vesting conditions based on milestones, performances or market conditions i.e. vests upon an exit event.

    Similar to the Custom schedule, you will need to enter a scheduled quantity and then either fill in milestone field or condition field (input vests upon exit, etc). You do not need to enter a date.

    The vesting type will be 'vesting_condition'.


    HMRC details & option actions:


    • 'is_notified' (non-mandatory) - For EMI option grant only. If the option grant is notified to HMRC, please put "yes".
    • 'notified' (non-mandatory) - The date notified to HMRC. This can also be left blank even if answered "yes" in the is_notified column.
    • 'note' (non-mandatory) - You can use this field to include any additional notes for the optionholder to see.

    You may see other columns, however, they are non-mandatory. If you have any questions about them feel free to contact

    How to record an exercise or lapse:

    To record an 'exercise' you will need to fill in specific cells:


    • 'grant_id” - input the 'id' of the optionholder.
    • 'date' - the date of the exercise.
    • 'registered' - the date the shares are entered into the share register. Can be left blank
    • 'quantity' - the amount you want to exercise.
    • 'reason' - always enter exercise.

    To record a lapse you will need to fill in specific cells:

    • 'grant_id' - input the 'id' of the optionholder.
    • 'date' - the date of the lapse.
    • 'quantity' - the amount you want to lapse.
    • 'reason' - reason for the lapse. We have a list of cancellation reasons to input into this cell, a list of this can be found here.
    • 'note' - always enter lapsed.

    How to Upload the Import File:

    Once you have completed the Import File, you will then need to import it to Capdesk.

    To import, you need to download your sheet as a csv file.

    You can do this by clicking on the 'File' tab -> 'Download as' -> 'comma-separated values (csv, current sheet)'

    You’ll then need to go back onto Capdesk and to the page where you downloaded the template 'Options' tab -> 'Import Grants'.

    Screenshot 2021-04-16 at 16.34.54

    However, once directed, this time click on 'Select File to Import' and select the csv file you have just downloaded.

    You’ll then have to wait a moment while the file uploads.

    If import upload failed:

    If your csv file fails to upload you will need to download the 'Download Processed CSV' to see what errors have occurred.

    Screenshot 2021-04-16 at 16.37.50

    Once you have established the errors and corrected your import file, download the updated csv file and try and upload it again by clicking 'Reimport CSV File'.

    If you are unsure of the errors, please feel free to contact support at

    If import successful:

    If the import if successful you'll have the option to keep the data in drafts by clicking 'View Imported Data' or publish the data by clicking 'Publish Draft Transactions'

    Screenshot 2021-04-16 at 16.42.48

    Thanks for reading this support article. If you need further assistance, you can reach out to us by submitting a support ticket here.