How to bulk import Restricted Stock Units (RSUs)

This article will detail the different fields and how to prepare an import file.

Before you can start recording RSUs, you will need to ensure that you have enabled the RSU add-on as well as have the plan added in beforehand. If you need assistance on this, you can read the following support article: Enable RSUs

You will now be able to record RSU grants. The video below covers the process of how to to prepare the import file with basic issuances and secondary transactions.

Capdesk (1)
The next step would be to navigate back to the grants tab and click on the grey "Import Grants" button.

Screenshot 2020-10-22 at 15.49.58

You will then be redirected to the following page, please click on the navy "download sample CSV file" button.


Screenshot 2020-10-22 at 15.54.25

Once downloaded, you can see that we have list examples in the sheet. It is important to delete these examples before you begin inputting details onto the import sheet. 

Screenshot 2020-10-23 at 14.23.08

Preparing the import file 

id” (mandatory) - For every RSU grant, there needs to be a unique number filled in the “id” column (it can be as simple as 1, 2, 3, etc.).

security_plan” (mandatory) - Fill in the same RSU plan name from the RSU plan you created on Capdesk earlier (e.g. Demo plan for RSU.).

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.

"quantity" (mandatory) - The amount of RSU's that have been granted.

Screenshot 2020-10-23 at 09.27.30

first_name” (mandatory) - First name of the RSU holder. Only mandatory to fill if the RSU holder is a person.

last_name” (mandatory) - Last name of RSU holder. Only mandatory to fill if the RSU holder is a person.

email” (mandatory) - Email address of RSU holder.
"registration_number" (mandatory if RSU holder is a company) - The registration number if the RSU holder is a company
"company_name" - The name of the company holding the RSU

country” (mandatory) - Country of residence of the RSU holder. Please ensure this is in the format of ISO ALPHA-2 (you can find the full list of countries here).

"address1" (non-mandatory) - The first line of the address for the RSU holder. 
"city" (non-mandatory) - City of residence for the RSU holder.

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

Screenshot 2020-10-23 at 09.28.49

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

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

    • vesting_type” - always input ‘immediate’.
    • vesting_start” - the date the RSU was granted and subsequently vested.

Automatic: the standard vesting schedule i.e. RSU 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 RSU 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 RSU 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 RSUs are vested. This can be 0 if the RSUs starts vesting immediately / no cliff.
    • vesting_percentage” - (if applicable) at the end of the cliff period, a % amount will have vested. E.g. 6 RSUs vested out of 24 in total (6/24 = 25%).
    • vesting_interval” - how often the RSUs 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 RSU grant has special conditions i.e. it vests on certain dates. Cells to fill:

    • vesting_type” - input ‘custom’.
    • scheduled_quantity”:
      - The quantity of RSUs vested on a specific date
      - This is separate from the RSU grant row and you will need to insert a new row. You will also need to input “grant_id” with the “id” of the RSU grant.
      - You will also need to input the “date” 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 RSUs will vest.
      • vesting_start” - the date of when vesting starts (can also be the same date as the date of grant).

    Other vesting conditions: if the RSU 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 fill in the condition field (input vests upon exit, etc). You do not need to enter a date.

    The vesting type will be 'vesting_condition'.

    Screenshot 2020-10-23 at 09.30.28

    The two below are only relevant when you want to record secondary transactions (see more info below):

    reason” (non-mandatory)

    • This is separate from the RSU grant row and will need to insert a new row. You will need to input grant_id with the id of the RSU grant in the new row and fill in 'date' and 'quantity'. (See below 'How to record a cancellation' for further details).
    • Fill this column with the transaction reason i.e. if there has been an exercise or lapse.
    • If lapse, we have a list of cancellation reasons to input into this cell: registration_fault / buyback / expiration / share_capital_variation / death / disability / leave_involuntarily / leave_voluntarily / retirement / release / other.

    note” (non-mandatory)

    • If you have listed one of the cancellation reasons, you will need to include a note i.e. "lapsed".
    • You can use this field to include any additional notes for the RSU holder to see.

    The remaining columns are all optional but if you want to use them, please feel free to reach out to support for further help at

    How to record a cancellation:

    To record an exercise you will have to fill out these specific fields:

    grant_id” - input the “id” of the RSU holder.

    date” - the date of the cancellation

    registered” - the date the shares are entered into the share register. Can be left blank.

    quantity” - the amount that is cancelled 

    Screenshot 2020-10-23 at 09.34.21

    reason” - reason for the cancellation. We have a list of cancellation reasons to input into this cell:

    • registration_fault
    • buyback
    • expiration
    • share_capital_variation
    • death
    • disability
    • leave_involuntarily
    • leave_voluntarily
    • retirement
    • release
    • other.

    note” - additional note about the reason for cancellation/lapse. 

    Screenshot 2020-05-13 at 16.14.47

    How to upload the import file

    Once you have prepared 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 -> “Save as” -> “comma-separated values (csv, current sheet)”.

    Screenshot 2020-10-23 at 09.36.16

    You will then need to go back onto Capdesk and to the page where you downloaded the template (“RSU” tab -> “Import Grants”).

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

    You will 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.

    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 is successful:

    Once you have imported the file, you will be given a choice of publishing the transactions (only if you are live) or viewing the transactions in draft mode. If you are happy with the data, you may publish:

    Screenshot 2020-10-23 at 09.39.08

    If you navigate back to the RSUs tab, you will see your new transactions:

    Screenshot 2020-10-23 at 09.41.48

    If you need further assistance, you can reach out by submitting a support article here.