Sales Process

On this page

Pages inside Sales Handbook

Pages outside Sales Handbook

GitLab Version Check

Before prospecting and engaging with a prospect, check to see if they are using CE. To do this, use GitLab Version Check. Everything about GitLab Version Check.

Parent and Child Accounts

When to create an Opportunity

Before a lead is converted or an opportunity is created the following must occur:

Opportunity Naming Convention

Opportunities will follow the following rules:

Opportunity Types

  1. New Business - This type should be used for any new account (business) who signs up
  2. Web Direct - This type should be used for any new business who pays directly online
  3. Add-on - This type should be used for any incremental/upsell business sold into an existing account and division mid term, meaning not at renewal.
  4. Exisiting Account (new division) - This type should be used for new business sold into an existing account but a new division, a new puchasing group.
  5. Renewal - This type should be used for an existing account renewing their license with GitLab. Renewals can have their value increased, decreased, or stay the same. We capture growth/loss as a field in

Adding Products to an Opportunity

  1. When creating an opportunity, you will be required to add in a product for the opportunity.
  2. Select the product the prospect is interested in. The product you choose should match the plan you added in the Opportunity Name.
    • If selling a 24 or 36 month deal, please select the correct product. Each plan has a 12, 24, and 36 month product.
    • Please note that the discount (10% for 24 month pre-paid and 15% for 36 month pre-paid) has already been applied to the product amount when you select it. You may change the sales price of the pack if you are giving a further discount or if no discount at all.
  3. If selling more than one pack, please note the number of packs you are selling in the quantity field.
  4. Once you select a product you can edit the quantity and the sales price.
  5. If you want to change the product, you must first delete the product you have currently in the opportunity, then add in the new product.

Opportunity Stages

Submitting Quotes in

To create a quote, you must be in the opportunity object

  1. Click New Quote
  2. Name the Quote Suggested format “ GitLab/Company name/Type of Subscription. Customers will see the name of the quote.
  3. Enter expiration date if required - It can be left blank.
  4. In "Prepared for” search for the contact name and ensure email address is correct.
  5. Check correct mailing address this will be pulled from account page. If there is no address, add on to the account page
  6. Save Quote
  7. Now in the quote "Create PDF” and choose the type of subscription template; Basic,Standard or Plus.
  8. Either "save quote" this allows you to send pdf from your mail client or "save and email quote" this will send from with sfdc mail client.

Closing a Won Deal

In order to close a deal in, one of the following must happen:

  1. Client paid via Credit Card. Terms are automatically accepted.
  2. Prospect or existing customer has returned a signed quote (attach to the opportunity) that acknowledges acceptance of GitLab terms.
  3. If customer has made modifications to standard terms then a signed copy the subscription terms. The quote template must indicate the effective date of the subscription terms.

Once the above has happened, please make sure the following actions are done:

  1. Process order in Recurly
  2. Add Invoice Number in the Invoice Number field within the opportunity
  3. Make sure opportunity close date matches invoice date in Recurly
  4. Make sure opportunity product matches subscription plan in Recurly
  5. Make sure opportunity amount matches amount in Recurly
  6. Attach any signed agreement, PO, and/or quote as an attachment to the account page/object in
  7. Add in the competition we were up against in the opportunity. This can be the legacy SCM solution they had and/or who they were evaluating along side of us.
  8. Create a renewal opportunity opportunity by cloning the current opportunity and changing the close date to be 12, 24, or 36 months out.
  9. Create an add-on or Existing Account (new division) opportunity if there has been one identified by you at this time.
  10. Create a task 30 days later, to check in with Account to make sure they are happy, address any questions they have and to explore any growth opportunity in the account. Example: new divisions, more users on the existing team.
    • If an add-on or existing account (new division) opportunity has been identified and recorded in Salesforce, create a task for the day you and the client will meet to explore the growth opportunity.
  11. Check to make sure the Type field on the Account page now says Customer. If not, please manually change it.
  12. Update the Technology Stack field on the account to reflect the GitLab Tools they are using. Example: GitLab Issue Tracker, CI, Wiki

Process after you sell a Premium Support Subscription

Once you close a deal that includes Premium Support, you need to follow the steps outlined in Premium Support Customer Onboarding.

Processing Orders in Recurly

Credit Card orders via Recurly

  1. Order comes in via email from Recurly and will always have an invoice # on it.
  2. Customer subscribes via Recurly (this happens automatically via the online credit card order form)
  3. Sales Admin to check to see if record already exists (or not) by searching for the company as shown on the Recurly invoice within the search field of If an account already exists, then add an opportunity to the account. If one does not exist, create a new account, contact, and opportunity for the name on the invoice.
  4. If standard subscriber: (note - you must have their user name to add them to the subscribers group. You must ask the customer for their user name)
    • Add to subscribers group (to add subscribers, you need access)
      1. Click the green button to the right “Add members”
      2. Copy and paste the customers user name into the field next to People.
      3. The customers login info will appear as a drop down which you select by clicking
      4. Then go down to the next field next to Group Access where the default access level is Guest. Click on the field and select Developer from the options
      5. Then click the green button immediately below “Add users to group”
    • Send onboarding email. If basic subscriber, do not add.
  5. Generate license keys - the license key should be auto-generated. If not, follow these steps:
    • Go to
    • Select the sign in with gitlab green button
    • Select the New License green button
    • Enter the Recurly subscription ID - follow these steps:
      1. Go to Recurly login and log in
      2. Select the Accounts tab at the top of the menu on the left
      3. Type in the name of the account in the search bar on the right
      4. Account will show up and select the account
      5. In the Subscriptions pane, select the More button
      6. Copy the portion of the URL after subscriptions/ (do not include the /). This portion is the Subscription ID
      7. Return to
      8. Paste the subscription ID (what you just copied from the URL) into the Recurly Subscription ID field (box)
      9. Select the Make license from Recurly subscription button
  6. Task created for Account Owner to reach out to new client, thanking them for their business and asking for time to learn more about their initiatives for account development opportunities and to ensure their experience is great.

Invoiced Clients

New Business Order

  1. Sales receives an order (one of the three options):
    • a Purchase Order (PO) issued by the company
    • a signed quote (the quote that we sent).
    • an e-mail agreement (“we accept the quote/subscription/etc”) or any other written statement. If order is a signed quote or written agreement, email and ask if there is a PO pending and get the PO number
  2. If no Subscription Agreement accompanies PO, only send 30 day temp license and request signed Agreement be returned in that time
  3. Send invoice to customer with one of the two onboarding emails or a renewal email Forward Recurly invoice to customer as safeguard against going to spam. Also reinterate to sign up on and send user name.
  4. PROCESS for bank transfer renewals with PO received before renewal date:
    • Create a one-off invoice in Recurly and send to customer:
    • Customer account;
    • Charges and credits area -> add charge;
    • In the description, write the exact name of the subscription plan;
    • Update subscription to start one year from current renewal time
  5. If standard subscriber, add to subscribers group
  6. License keys auto-generated
  7. Sales Admin to check to see if record already exists (or not) by searching for the company as shown on the Recurly invoice within the search field of If an account already exists, then add an opportunity to the account. If one does not exist, create a new account, contact, and opportunity for the name on the invoice.
  8. Task created for Account Owner to reach out to new client, thanking them for their business and asking for time to learn more about their initiatives for account development opportunities and to ensure their experience is great.


PO order for additional seats when past due:

  1. Get GitLab quote signed and upload to salesforce account
  2. Get PO from customer with their internal PO number included
  3. In Recurly, click “Add Charge” add quantity, it 2 or 3 years, then add 2 or 3 in quantity then use number that includes any discounts from upfront payments
  4. Click submit, then click manual billing
  5. Add the customers PO number under “PO Number” field, and make sure the number is updated on preview to the right
  6. Click submit, then PO will go to client for them to pay in net30. If they do not, then rep will need to follow up to get payment (will see list in Aging report)
  7. Go to License Key and update for one year

Renewal in Advance- before renew date:

  1. Add charge for renewal amount and process
  2. Click Subscription- Manually change renewal date
  3. Double check license key is sent

Renewal in Advance- plus add users:

  1. Go into account and click add charge- add total number (existing plus added seats) include details in description field.
  2. Click Subscription and manually change renewal date
  3. Click Edit Subscription, add pack with zero charge
  4. Confirm license key matches subscription

Adding users to current subscription as a separate department:

  1. Need to make sure it’s a different division as you will need to issue a second license key
  2. Click Add Subscription on main account page
  3. Process order
  4. Makes sure you see two separate subscriptions on the main page in Recurly
  5. Make sure a second license key is sent to the contact

Additional billing situations Accounting procedures

Export Control Classification, and Countries We Do Not Do Business In

GitLab's Export Control Classification (or ECCN) is 5D002.c.1. This means that GitLab source code can be exported and re-exported under the authority of license exception TSU of section 740.13(e) of the export administration regulations (EAR).

Per 740.13(e)(2)(ii) of the EAR, there are restrictions on "Any knowing export or reexport to a country listed in Country Group E:1 in Supplement No. 1 to part 740 of the EAR".

As a consequence of this classification, we currently do not do business in: Iran, Sudan (excluding South Sudan), Syria, North Korea, and Cuba.