Sales Handbook

Reaching the Sales Team (internally)

On this page

Other Sales Topics in Handbook

Sales Resources outside of the Sales Handbook

How GitLab Sales are organised

Team Structure & Roles

See the GitLab org chart.

Reporting into the Chief Revenue Officer (CRO) are the:

Reporting into the VP Sales are:

Initial Account owner - based on segment

The people working with each segment and their quota are:

  1. Strategic & Large: Strategic Account Leader (SAL) with a quota of $1M incremental annual contract value (IACV) per year
  2. Mid market: Account Executive with a quota of $700,000 incremental ACV (IACV) per year
  3. SMB: SMB Customer Advocate can close SMB deals directly by referring them to our self-serve web store or assisting them with a direct purchase.

Quotas may be adjusted based on geographic region.

Variable Compensation takes the following into consideration:

Quota Ramp

For all quota carrying salespeople, we expect them to be producing at full capacity after 6 full months. We have the following ramp up schedule and measure performance based on this schedule:

For the purposes of our internal analytics tool, InsightSquared, we have the first 3 months at 25%. We do this so we do not have overinflated %'s when a salesperson does sell something in months 1 and 2.'

Operating Rhythm - Sales Meetings, Presentations and Forecasting

Weekly Monday Sales Call

  1. We start on time and do not wait for people.
  2. If you are unable to attend, just add your name to the list of "Not Attending".
  3. When someone passes the call to you, no need to ask "Can you hear me?" Just begin talking and if you can't be heard, someone will let you know.

Weekly Thursday Sales Enablement Call led by Product Marketing

Sales Group Conversation

Weekly Forecasting

Submitting Weekly Forecasts

Each week before Monday 10 AM Pacific Time, SALs, AEs, AMs, and Channel Managers are responsible for submitting a weekly forecast for the current quarter in InsightSquared. Regional forecasts are due by Monday 10 AM Pacific Time. The regional numbers will be documented and shared on the weekly forecast call.

There are two categories that opportunities will fall into when submitted for a forecast:

Please use these terms correctly and don't introduce other words. Apart from the above the company uses two other terms:

To submit a forecast, complete the following steps:

  1. Log into Salesforce
  2. Go to the Forecasts Tab. If you don't it listed, click on the "+" sign along the row of tabs, then look for "Forecasts".
  3. Click on the "Change" link to ensure that the forecast is for the current quarter.
  4. Click on the "Refresh" button on the right side of the page.
  5. Here are the columns:
    • "Closed" shows all Closed Won Opportunities
    • "Commit" shows Closed and opportunities in "5-Negotiating" and "6-Awaiting Signature" stages
    • "Best Case" shows Commit and opportunities in "4-Proposal" stage. You can also run this report in Salesforce if you want to include an Upside IACV or Swing Deals into your Best Case forecast. For more information on Upside IACV and Swing Deals, go to the Opportunity Values section of the handbook.
    • "Open Pipeline" shows all open opportunities.
  6. You can override both your "Commit" and "Best Case" forecasts.
    • Go to the field you want to update, and click on the pencil icon.
    • Update the value.
    • Add a note on why the adjustment made.
    • Click the green checkbox.
    • Repeat this for both Commit and Best Case.

If you are a Sales Leader, you can overwrite your entire team's forecast or that of an individual team member.

To overwrite your entire team's forecast:

  1. Repeat Steps 1-5 of the previous section.
  2. Go to the quarter whose forecast you want to update.
  3. Update the value.
  4. Add a note on why the adjustment made.
  5. Click the green checkbox.
  6. Repeat this for both Commit and Best Case for all the quarters you want to override.

To overwrite an individual team member:

  1. Repeat Steps 1-5 of the first section.
  2. Go to the AE/AM whose forecast you want to update.
  3. Update the value.
  4. Add a note on why the adjustment made.
  5. Click the green checkbox.
  6. Repeat this for both Commit and Best Case for all the AEs/AMs you want to override.

Here is a link to a recording explaining Salesforce Forecasts.

How Sales work with other GitLab teams

Sales Development Representative (SDR)

1:1 pairing with SDR

Customer Success

See our customer success page in the handbook for more details.

Support - Escalation to Support

During the sales cycle potential customers that have questions that are not within the scope of sales can have their queries escalated in different ways depending on the account size:

  1. For Strategic/Large accounts that will have a dedicated Solutions Architect, engage the SA so that they can triage and develop the request.
  2. For questions that you think technical staff can answer in less than 10 minutes, see the internal support section of the support handbook.
  3. If a potential customer has already asked you a question, forward a customer question via email to the support-trials email address. - It's important the email is forwarded and not CC'd to avoid additional changes required once the support request is lodged.

How Support Level in Salesforce is Established

Once a prospect becomes a customer, depending on the product purchased, they will be assigned a Support Level (Account) in Salesforce:

GitLab EE
  1. Premium: Ultimate customers; Premium customers; any Starter customer who has purchased the Premium Support add on
  2. Basic: any Starter customer without the Premium Support add on
  3. Custom: any customer on Standard or Plus legacy package
  1. Gold: Gold Plan
  2. Silver: Silver Plan
  3. Bronze: Bronze Plan

If a customer does not renew their plan, their account will be transitioned to an "Expired" status.


Who to talk to for what

If a client has a question or suggestion about a particular part of the product, find out here who in the Product team you need to speak to.

Contributing to EE Direction

Being in a customer facing role, salespeople are expected to contribute to GitLab Direction. Each day we talk to customers and prospects we have the opportunity to hear of a feature they find valuable or to give feedback (positive and constructive) to an EE feature that there is an issue for. When you hear of feedback or you personally have feedback, we encourage you to comment within the issue, if one exists, or create your own issue on our EE Issue Tracker. Checking the GitLab Direction page and the EE Issue Tracker should happen throughout the week.

When you have an organization that is interested in an EE feature and you have commented in the issue and added a link to the account in salesforce, please follow the process outlined on the product handbook to arrange a call with the product manager and account to further discuss need of feature request.

Requesting Assistance/Introductions Into Prospects from our Investors

We have great investors who can and want to help us penetrate accounts. Each month we send out an investor update and within this update there will be a section called "Asks". Within this section, we can ask investors for any introductions into strategic accounts. To make a request, within the account object in Salesforce, use the chatter function and type in "I'd like to ask our investors for help within this account". Please cc the CRO and your manager within the chatter message. All requests should be made before the 1st of the month so they are included in the upcoming investor update.

If an investor can help, they will contact the CRO, and the CRO will introduce the salesperson and the investor. The salesperson shall ask how the investor wants to be updated on progress and follow up accordingly.

Email Intro

GitLab makes it easier for companies to achieve software excellence so that they can unlock great software for their customers by reducing the cycle time between having an idea and seeing it in production. GitLab does this by having an integrated product for the entire software development lifecycle. It contains not only issue management, version control and code review but also Continuous Integration, Continuous Delivery, and monitoring. Organizations all around the world, big and small, are using GitLab. In fact, 2/3 of organizations that self-host git use GitLab. That is more than 100,000 organizations and millions of users.

GitLab Sales Process

Capturing "MEDDPIC" Questions for Deeper Qualification

MEDDPIC is a proven sales methodology used for complex sales process into enterprise organizations. These questions should be answered in the "1-Discovery" Stage of the sales process. These questions will appear in the MEDDPIC Section of the Opportunity layout and will be required for all new business opportunities that are greater than $25,000 IACV.

Tracking Proof of Concepts (POCs)

In Stage 3-Technical Evaluation, a prospect or customer may engage in a proof of concept as part of the evaluation. If they decide to engage, please fill in the following information, as we will use this to track existing opportunities currently engaged in a POC, as well as win rates for customers who have engaged in a POC vs. those that do not.

  1. In the opportunity, go to the 3-Technical Evaluation Section.
  2. In the POC Status field, you can enter the status of the POC. The options are Not Started, Planning, In Progress, Completed, or Cancelled.
  3. Enter the POC Start and End Dates.
  4. Enter any POC Notes.
  5. Enter the POC Success Criteria, ie how does the prospect/customer plan to determine whether the POC was successful or not.

Capturing Purchasing Plans

Once you have reached Stage 4-Proposal, you should agree to a purchasing plan with your prospect/contact. This will include a clear understanding of purchase/contract review process and a close plan. This should include actions to be taken, named of people to complete actions and dates for each action. The information captured in this field will be used by sales management to see if the deal is progressing as planned. Delays in the purchasing plan may result in a request to push the opportunity into the following period.

How Sales Segments Are Determined

Sales Segmentation information can be found in the Business Operations - Database Management section.

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

GitLab's Export Control Classification (or ECCN) is 5D992.c. As a consequence of this classification, we currently do not do business in: Iran, Sudan (excluding South Sudan), Syria, North Korea, and Cuba.

Seeing how our customers use GitLab

Adoption - GitLab Usage Statistics

Using GitLab Version Check, GitLab usage data is pushed into Salesforce for both CE, EE and EE trial users. Once in Salesforce application, you will see a tab called "Usage Statistics". Using the drop down view, you can select CE, EE Trails or EE to see all usage data sent to Gitlab. Since version check is pulling the host name, the lead will be recorded as the host name. Once you have identified the correct company name, please update the company name. Example: change to Boeing as the company name.

To view the usage, click the hyperlink under the column called "Usage Statistics". The link will consist of several numbers and letters like, a3p61012001a002. You can also access usage statistics on the account object level within Salesforce. Within the account object, there is a section called "Usage Ping Data", which will contain the same hyperlink as well as a summary of version they are using, active users, historical users, license user count, license utilization % and date data was sent to us.

A few example of how to use Usage Statistics to pull insight and drive action?

Take a look at a Training Video to explain in greater detail by searching for the "Sales Training" folder on the Google Drive.

Open Source users - GitLab CE Instances and CE Active Users on SFDC Accounts

In an effort to make the Usage/Version ping data simpler to use in SFDC, there are 2 fields directly on the account layout - "CE Instances" and "Active CE Users" under the "GitLab/Tech Stack Information" section on the Salesforce account record.

The source of these fields is to use the latest version ping record for and usage record for each host seen in the last 60 days and combine them into a single record. The hosts are separated into domain-based hosts and IP-based hosts. For IP based hosts, we run the IP through a reverse-DNS lookup to attempt to translate to a domain-based host. If no reverse-DNS lookup (PTR record) is found, we run the IP through a whois lookup and try to extract a company name, for instance, if the IP is part of a company's delegated IP space. We discard all hosts that we are unable to identify because they have a reserved IP address (internal IP space) or are hosted in a cloud platform like GCP, Alibaba Cloud, or AWS as there is no way to identify those organizations through this data. For domain-based hosts, we use the Clearbit domain lookup API to identify the company and firmographic data associated with the organization and finally the Google Geocoding API to parse, clean, and standardize the address data as much as possible.

These stats will be aggregated up and only appear on the Ultimate Parent account in SFDC when there are children (since we don't really know which host goes to which child).

To see a list of accounts by # of CE users or instances, you can use the CE Users list view in SFDC. To filter for just your accounts, hit the "edit" button and Filter for "My Accounts". Make sure to save it under a different name so you don't wipe out the original. These fields are also available in SFDC reporting.

A few caveats about this data:

For the process of working these accounts, appending contacts from third-party tools, and reaching out, please refer to the business operations section of the handbook.

How we use our systems

GitLab Tech Stack

For information regarding the tech stack at GitLab, please visit the Business Operations section of the handbook where we maintain a comprehensive table of the tools used across the Marketing, Sales and Customer Success functional groups, in addition to a 'cheat-sheet' for quick reference of who should have access and whom to contact with questions.

Collaboration Applications used by Sales

Please use the handbook as much as possible instead of traditional office applications. When you have to use office applications always use Gsuite applications instead of Microsoft Office; for example, Google Sheets instead of Excel, Google Docs instead of Word, and Google Slides instead of Keynote or Powerpoint. Give the entire company editing rights whenever possible so everyone can contribute.

Parent and Child Accounts

When to Create an Opportunity with Software License Fees

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

  1. Authority
    • What role does this person play in the decision process? (i.e. decision maker, influencer, etc.) OR is this someone that has a pain and a clear path to the decision maker
  2. Need
    • Identified problem GitLab can solve
  3. Required Information
    • Number of potential EE users
    • Current technologies and when the contract is up
    • Current business initiatives
  4. Handoff
    • The prospect is willing to schedule another meeting with the salesperson to uncover more information and uncover technical requirements and decision criteria
  5. Interest by GitLab salesperson to pursue the opportunity. Are you interested in investing time in pursuing this opportunity.

Creating a New Business Opportunity

Since a new opportunity is being created with no previous campaign attribution, we must first associate this opportunity to a lead or contact. This will accomplish two things: first, we will attribute all of the lead or contact's previous campaigns to an opportunity for attribution; and second, the lead or the contact will become the primary contact on the new opportunity.

  1. From Lead Conversion: Once you have qualified the prospect via our sales development qualification process (please see the Sales Development handbook for more information), you will convert the lead.

  2. From the Contact Record: On the contact page, click on the New Opportunity button. Then enter all required fields, including Opportunity Name, Stage, and Close Date. Then click Save.

Creating an Add On Business Opportunity

An add on opportunity will inherit information (including marketing attribution) from the original new business opportunity, so instead of creating an add on opportunity from a converted lead or from a contact record, an add on opportunity is created from the original new business opportunity record. This establishes a parent-child relationship between the original new business opportunity and the add on opportunity you are creating.

  1. Go to the original new business opportunity that will become the parent opportunity. For example, if you are selling additional seats to an existing subscription, you should go to the original new business opportunity.
  2. Click on the "New Add On Opportunity" button.
  3. Update the Opportunity Name (see the Opportunity Naming Conventions).
  4. Enter the Lead Source, Close Date, and Stage.
  5. If there are other fields you'd like to populate you can do so.
  6. Click Save.

Once the parent-child opportunity hierarchy is established, as mentioned earlier some information will pass from the parent (new business) to the child (add on) opportunity. This information will be used in our reporting and analysis to track add on business opportunities to their initial sources and team members.

Please note the addition of some validation rules with the new marketing attribution requirements:

Creating a Professional Services Opportunity

A professional services opportunity will cover any integration, consulting, training, or other services that a Sales rep will sell to a prospect/client. You can see the full list of professional services sold here. Because we want to invoice separately, a new opportunity and quote must be created.

  1. Go to the original opportunity that will become the parent opportunity.
  2. Click on the "New PS Opportunity" button.
  3. The opportunity name will already be set to "[Account Name]- Professional Services"
  4. A few fields will be pre-populated from the parent opportunity:
    • Type
    • Initial Source
  5. Enter the Close Date
  6. Enter the Stage
  7. Enter the value in the Professional Services Value field. A workflow will automatically populate the ACV and Amount fields, so no need to enter data into these fields. (Please remember that Professional Services does not count towards quota relief as it is not considered Incremental ACV.)
  8. Enter values in the Professional Services Description, Project Scope, Task Schedule, and Key Assumptions fields. These will push to the Statement of Work when you generate a PDF from Zuora.
  9. Ensure that the professional service opportunity has the original opportunity in the Parent Opportunity field. If not you will encounter a validation rule error while attempting to save the opportunity since all professional service opportunities must have a parent opportunity.
  10. Click Save.
  11. If you'd like to create a quote, please go to the Creating Accounts, Contacts, Opportunities, and Quotes and begin with Step 4.

Here is a video that highlights the process.

Tracking Sales Qualified Source in the Opportunity

Sales Qualified Source is dimension used when analyzing pipeline creation, lead conversion, sales cycles, and conversion rates. Sales Qualified Source may be different from the Lead Source of an Opportunity, which captures the original source (event, campaign, etc). For example, if a prospect originates from a trial (lead source), that prospect can be qualified by a BDR, SDR, Account Executive, Channel Partner, or the Web (sales qualified source).

The logic for the Sales Qualified Source is as follows:

  1. If the Business Development Representative field (Opportunity) is populated, regardless of opportunity owner, the Sales Qualified Source is "BDR Generated"
  2. If the Sales Development Representative field (Opportunity) is populated, regardless of opportunity owner, the Sales Qualified Source is "SDR Generated"
  3. If both the Business Development Representative and Sales Development Representative fields are NULL and the opportunity owner is:
    • a Regional Director, Account Executive, or Account Manager, the Sales Qualified Source is "AE Generated"
    • a GitLab team member that is not a Regional Director, Account Executive, or Account Manager, the Sales Qualified Source is "Other"
    • an authorized reseller, the Sales Qualified Source is "Channel Generated"
    • the Sales Admin, the Sales Qualified Source is "Web Direct Generated"

Reseller Opportunities

Opportunities utilizing a reseller require slightly different data:

Opportunity Naming Convention

Opportunities for subscriptions will use the following guidelines:

Opportunity Types

There are three things that can be new or existing:

That gives 4 types of of opportunities:

  1. New account (new account, new subscription, new amount) This type should be used for any new subscription who signs up either through the sales team or via the web portal. Paid training also falls under this type if the organization does not have an enterprise license.
  2. New subscription (existing account, new subscription, new amount) If an existing account is purchasing a new license for another GitLab instance, this will be new business.
  3. Add-on business (existing account, existing subscription, new amount) This type should be used for any incremental/upsell business sold into an existing subscription division mid term, meaning not at renewal. This may be additional seats for their subscription or an upgrade to their plan. If an existing account is adding a new subscription, this would be new business, not an add-on.
  4. Renewal (existing subscription, existing subscription, existing amount) 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 incremental annual contract value growth/loss as a field in Renewal business can be a negative amount if renewed at less than the previous dollars paid for the subscription (renewal rate). Only the part that is more or less than the old amount is IACV, the rest is part of the the renewal opportunity.

New business is the combination of new account and new subscription.

True up

What is it?

A true up is a back payment for a customer going over their license count during the year.

Why do we use it?

We use the true up model so that the license never becomes a barrier to adoption for the client.

Let's take an example.

A customer takes out a subscription for 100 users. During the year they grow the usage of the server and 200 additional users come on board. When it comes time to renew, they are now up to 300 active users despite the license only being for 100 users.

At this point the customer needs to do two things: they need to renew the license and to add the true up users. The number of true up users in this case is 200. It is the difference between the Maximum Users and the Users in License. This can be found by the customer in their GitLab server by going to the Admin > License area. It will look like this

There is more information below on the steps you need to take, but in this example you would need to update the number of users for the renewal to 300 and add the True Up product to the renewal quote for 200 users. This will create a one time only charge to the customer and in a year's time, they will have a renewal for 300 users.

See here more information on the steps to take for the true up

Note that we make provision for true ups in our standard Subscription Terms Section 5 - Payment of Fees.

Deal Sizes

Deal Size is a dimension by which we will measure stage to stage conversions and stage cycle times of opportunities. Values are IACV in USD.

  1. Jumbo - USD 100,000 and up
  2. Big - USD 25,000 to 99,999.99
  3. Medium - USD 5,000 to 24,999.99
  4. Small - below USD 5,000

Associating Emails to Opportunities

Associating emails to Salesforce is a best practice that should be followed by all users. Attaching emails to a Lead, Account, Contact, or Opportunity record are vital for transparency, as any number of team members can review the correspondence between GitLab and the customer/prospect account. It doesn't do anyone any good when all of the correspondence is kept in a user's inbox.

With that said, there are multiple ways that an email can be associated to an opportunity. But before you do that, you must first make sure that the contact record is associated to an opportunity via the Contact Roles object.

First, Contact Roles

To add a Contact Role to an opportunity:

  1. Go to the Opportunity.
  2. Go to the Contact Role related list.
  3. Click 'New'.
  4. Add the Contact.
  5. If this person is your primary contact, click on the 'Primary' radio button.
  6. Add the Role this person plays in the opportunity (Economic Buyer, Technical Buyer, etc).
  7. Repeat the steps, although you can only have one Primary Contact per opportunity.
  8. For more information, you can visit the Salesforce Knowledge Center.

Email to Salesforce

Email to Salesforce allows you to associate emails to Opportunities using an email long email string that associates the email to the contact. To set this up:

  1. Click on your 'Name' on the top right of any page in Salesforce.
  2. Select 'My Settings'
  3. Go to the left sidebar and click 'Email'.
  4. Then click 'My Email to Salesforce'.
  5. Copy the email string.
  6. Go to My Acceptable Email Addresses and make sure your gitlab email address is there.
  7. In 'Email Associations', make sure "Automatically assign them to Salesforce records" is checked.
  8. Check Opportunities, Leads, and Contacts.
  9. In the Leads and Contacts section, make sure to select "All Records".
  10. It is up to you if you want to save all attachments, as well as if you want to receive an email confirmation of an association (my recommendation is yes for the first few weeks to make sure it's working, then you can turn it off anytime).
  11. Click Save.
  12. Go to Gmail and save this email address in a Contact record. A good practice is name it 'BCC SFDC' for first and last name.
  13. When you send any emails from Gmail, you will BCC the "BCC SFDC" contact, which will send the email to long string you copied in Step 5.


If you want to associate emails to Opportunities using Outreach, follow these steps:

  1. Go to your photo on the bottom left.
  2. Click Settings
  3. Select 'Plugins' on the left menu.
  4. Select the SFDC (Salesforce) plugin.
  5. Click on 'Contact'.
  6. On the bottom right, enable 'Automatically associate activity with Opportunity'
  7. Click the 'Save' button on the top right.

Salesforce Lightning for Gmail

If you want to associate emails to Opportunities or other records using the the Salesforce Lightning for Gmail plug in, follow these steps:

  1. Visit the Chrome Store to download the Salesforce Lightning for Gmail plug in.
  2. Click Add to Chrome
  3. Click Add Extension
  4. Go to Gmail and open the right sidebar.
  5. When you open an email that may contain email addresses from existing leads or contacts in Salesforce, all related records associated to that email (Lead, Contact, Account, Opportunity, and Cases) will appear, and you can select any or all records to related the email to.
  6. For each record you'd like to associate the email to, click on the upload icon for each record.
  7. If you wish, you can include some or all of the attachments to the record as well by clicking the checkbox next to each attachment.

If you have any issues with the setup, please contact the Director of Sales Operations via Slack, email, or SFDC Chatter.

Sales Order Processing

Creating Accounts, Contacts, Opportunities, and Quotes in Salesforce

Step 1 - Create an Account

  1. Click on the Accounts tab
  2. Click on New button to Create Account
  3. Select either Standard or Channel record Type. Each record type will have a different Account layout based on our engagement.
  4. Standard Record Type should be used for all non-reseller partner accounts.
  5. Channel Record Type should be used for all authorized and non authorized reseller accounts.
  6. Create Account Screen – Enter all mandatory fields and click on Save – Account is created

Step 2 - Create a Contact

  1. Create Contacts, by clicking on the new contact button
  2. Make sure to add in the address for any contacts associated with the quote (Bill To and Sold To)

Step 3 - Create an Opportunity

  1. Please see the Creating a New Business Opportunity section for an overview on how to create opportunities based on new vs. growth.
  2. Select the Opportunity Record Type. Like Accounts, the options are Standard and Channel.
    • Standard should be selected when engaged in a Sales opportunity.
    • Channel should be selected when engaged in a Reseller opportunity (attempting to sign a reseller partner in a new territory, not Sales opportunities where resellers are involved).
  3. Enter all the required fields based on your business process and click on Save Button

Step 4 - ZQuotes – New QUOTE

This is the process to create a quote. If you want to clone an existing quote, please see the Cloning an Existing Quote section.

Entering Quote Details
  1. Click on New Quote button within the opportunity
  2. Enter all details and click on Next and select products to complete the Quote creation process
  3. All the fields marked in red are mandatory fields, below are fields description
  4. Valid Date – Date until when Quote is valid; This is auto set to 30 days from today’s date
  5. Quote Template – click on the button to select the Quote template
    • If you are selling a subscription where the prospect/customer is requiring an SLA for the hosted offering, please make sure to use the template that includes the SaaS Addendum. For example, if selling to a customer, you would normally use New Quote V2.5. However, if you need the SLA, you would select New Quote V2.5 (w/ SaaS Addendum).
  6. Bill To contact - Click on the vlookup button to enter the Bill To contact information. This will bring up a pop-up window that will list all the contact that were created during Step 2 of the process. Bill To person would be the contact to whom the bill will be sent
  7. Sold To Contact - Click on the vlookup button to enter the Sold To contact information. This will bring up a pop-up window that will list all the contact that were created during Step 2 of the process. Sold To person would be the contact to whom the product was sold. For deals, please make sure that the Sold To Email is the same as the email used on the account. 1, Invoice Owner -
  8. Invoice Owner Contact - is the person at the Invoice Owner who will receive the invoice.
  9. Note that the GitLab entity information will be populated via the following rules. This table is based on the ISO-2 billing country code of the direct customer or reseller we are delivering invoices to:
Entity Direct / Unauthorized Reseller Authorized Reseller
BV NL Not DE, US, or UK
Inc Not NL, DE, or UK US
  1. Payment Method - refers to the type of payment the customer is using for paying this Quote/Subscription. Payment Methods currently defined are as follows:
    • Credit Card
    • ACH
    • Check
    • Wire Transfer
  2. Currency - only USD is available.
  3. Click Thru EULA - is used when an agreement has not been signed; A use case being a product (EE) is sold through a partner
  4. Start Date - Specify the date on which this subscription, or contract, is effective. This date becomes the Contract Effective Date of the subscription in Zuora. Note: Customers can purchase in advance of the subscription Start Date. In this case, when the Quote is pushed to Z-billing the license generated will be encrypted with the future Start Date and will not function until then.
  5. Subscription Term Type:
    • By default set as Termed
  6. Initial Term and Renewal Term - Specify initial term and the renewal term in months
  7. Auto Renew - it is checked by Default; However for all quotes when they are saved the auto-renew is turned off.
  8. Tax Exempt - Need to check with client to make sure they are tax exempt and load tax exempt certificate into their account in SFDC.
  9. Tax Exempt - If tax exempt click yes on drop down menu and add additional notes if needed.
  10. If the Invoice will come from GitLab Ltd or GitLab BV, you are required to enter the VAT/Tax ID field. A validation error will not allow you to save the quote, so if you do not have this information available, just enter "0000" until you receive it. You will not be able to send a quote to Zuora if the VAT/Tax ID is "0000".
  11. Special Terms and Notes - Enter any additional notes that is not specified by the above settings.
  12. Click on Next to make the product selection
Selecting Products
  1. In the 'Edit Products and Charges' screen, click 'Select'.
  2. Select either 'Add Base Products' or 'Add Add On Products'. Starter, Premium, Ultimate, or the plans are considered Base Products, while Professional Services and True Ups are considered Add On Products.
  3. Locate the product you'd like to add to the Quote.
  4. Click 'Select Plan'. If there are no options, click on 'Add'.
  5. Go the term length (one, two, three, etc) and click '+Select'. It should say 'Added' if you've successfully added the rate plan. If not, reselect the rate plan.
  6. Go to the bottom right and click 'Next'.
  7. If you were adding a base product, you will be prompted to select Add On Product.
  8. Repeat steps 3 - 5 to select add on products.
  9. Once done, click 'Next.'
  10. One the next screen, you will see a summary of the products you've selected in the previous steps. The columns in yellow are editable.
  11. In the Discount field, enter the discount in percentage (%) you wish to apply. This will automatically update the Effective Price field.
  12. Conversely, if you wish to apply a specific price to a product, enter the price in the Effective Price field. This will update the Discount (%) field.
  13. Enter the quantity.
  14. Once you've entered the final numbers, click anywhere on the screen to update the totals on the quote.
  15. Repeat this step for each product you've selected.
  16. If you need to add additional products to the quote, click "+Add Product" button and repeat the steps of adding a product and rate plan.
  17. After you've completed adding all products to a quote, click Next Button and you will be taken back to the Quote record detail screen.
  18. Once the quote has been created, you can modify it, delete it, or send it from Salesforce to Zuora to create a subscription.
  19. Before you can deliver the quote to the prospect or customer, it must be approved. Please refer to the Opportunity Discounting Approval Matrix to review the approval tiers.
  20. To request approval, go to the Opportunity record in Salesforce and go to the Chatter feed. To direct the Chatter message to a particular person or persons, use @firstnamelastname. Note that multiple people may be required to approve a quote (eg, Discount for EE Premium greater than 10% and an ACV greater than $499,999.99). A Chatter message will ensure all requests and approvals are documents within the opportunity.

Step 5 – Generate Quote as PDF or Word

  1. Once a quote has been approved, go back to the quote and click Generate PDF or Generate Word. The document will be saved as an attachment in the Notes and Attachments section in the opportunity record.
  2. The default template for all transaction types (new, amendment, or renewals) will be the direct (non-channel) quotes that do not show $0 line items. If you want to select a different template, click the search icon next to the Quote Template field and select the desired template. A description of each template will be visible next to each template.

Step 6 – Send for Signature via Sertifi

  1. Within the ZQuote object, click Sertifi E-Sign button near the top of page.
  2. 1st signer will be auto-populated with the bill to contact. You can change if needed by clicking on the search icon next to the contact name field.
  3. You will now be asked to attach the Quote PDF. Under the drop down for Related Notes and Attachments. Select the quote for signature and click send for signature.
  4. Once the prospect/customer has signed, you will receive an email with the signed quote as an attachment. The signed document will also be added to the Notes and Attachments section of the Opportunity.
Quote Metrics

The following quote metrics are available:

Step 7 – Submitting an Opportunity for Approval

Before You Submit an Opportunity for Approval

The following is a list of required documents/processes needed before you submit an opportunity for approval:

Direct Deals that do not involve resellers
  1. Prospect/Client paid via Credit Card through the web portal (terms are agreed upon sign up).
  2. Prospect/Client has returned a signed quote (attach to the opportunity as a "New Contract"). A quote is required for all purchases not made via web portal in order to confirm products purchased, # of seats, term, and pricing. A quote is also needed to confirm they agree to terms and conditions. If the terms are not standard, be sure to change the terms reference in the Quote to the negotiated agreement.
  3. In rare circumstances a PO can be accepted in lieu of a signed quote if it is submited with one of the following: a) customer acceptance of the click through EULA, 2) reference to the unsigned quote made within the PO, but only if the PO does not include any additional standard terms or conditions of the Prospect/Client, or 3) if the PO does contain additional standard terms and conditions of the Prospect/Client, then the PO must have specific language that states "Notwithstanding the standard terms set forth in this PO, this PO is governed by Quote No. XXXX, including the [NAME OF THE AGREEMENT AND EFFECTIVE DATE] between the parties." (NOTE: In all circumstances where the customer refuses to sign the quote, the quote document template without a signature block must be used AND the customer must attach the quote document to the PO in a combined PDF.)
  4. All POs submitted under 3 above must be submitted to in advance for approval. The approval must be noted in SFDC Chatter for the opportunity. Note that the vast majority of customer POs carry terms that invalidate the EULA and will not be allowed.
Authorized Reseller Deals that involve an official reseller purchasing on behalf of an End User
  1. Reseller has returned a signed authorized reseller quote (attach to opportunity). Quote required for all purchases in order to confirm products purchased, # of seats, term, and pricing. Quote is also needed to confirm they agree to terms and conditions.
  2. Clickthrough EULA must be delivered and accepted by the End User. Please attach a Note to the Notes and Attachments section with a confirmation link or email.
Unauthorized Reseller Deals that involve an unofficial reseller purchasing on behalf of an End User
  1. If a PO is received, it must reference our quote showing the Quote ID, products, # of users, term, and pricing of the subscription. The acceptance of terms language can be removed from our quote but click-thru EULA needs to be checked in the Z-Quote before sending to Zuora. If the customer has previously accepted a EULA, you can follow the steps below to avoid them needing to re-accept the terms.
  2. If the customer has previously accepted a EULA, then we can use it as the governing terms for this purchase. In such a case go to our EULA Request Server and find the Token and Accepted At from the customer's previous EULA. Then insert the following into the quote: "By accepting this quote, you, and the entity that you represent (collectively, “Customer”) unconditionally agree to be bound by the terms agreed to in EULA Token previously accepted on Accepted At."
  3. If the PO is approved by legal, the reseller must return an unauthorized reseller quote (no signature) and is attached to the opportunity. Quote required for all purchases not made via web portal in order to confirm products purchased, # of seats, term, and pricing. Quote is also needed to confirm they agree to terms and conditions. Also, a Click through EULA must be delivered and accepted by the End User. Please attach a Note to the Notes and Attachments section with a confirmation link or email.
  4. If the PO is not approved by legal, the end user must sign a standard quote between GitLab and the end user company. Please follow the steps in the Direct Deals section above.
Required fields in Salesforce before submitting for approval
  1. On the Account record:
    • Industry
    • Complete Billing and Shipping Address
    • In the Special Terms field, add any non-standard terms related to the subscription (ramps, special pricing), support (non-standard SLAs), finance (special billing/payment terms), or legal.
  2. On the Opportunity record:
    • Go to the Contact Roles related list and add a Primary Contact. Ideally, you'll add Contact Roles much earlier in the sales cycle.
    • If the opportunity involved a partner, meaning partner will get credit for the opportunity, please click new in the partner section and add partner. There should only be one partner selected for each opportunity.
    • Add the Competitor(s). Note that this is only required for New Business; it is not required for Renewals or Add On Business.
    • Make sure your Close Date is for the date you are submitting the opportunity for approval.
    • Provide the Closed Won Details- a few sentences on highlighting why we won the deal (pricing, packages, feature set, etc.) should do.
    • Once these steps are completed, save the record and submit the opportunity for approval.
  3. On the Contract record:
    • Attach any signed agreements, POs, and quotes as an attachment to the contract record in
Submitting an Opportunity for Approval
  1. Submit the Opportunity for Approval:
    • Click on the Submit for Approval button on the opportunity. The button is along the top of the page before the Opportunity Details section.
    • The opportunity page will then be in "edit" mode. Click on Save. This allows Salesforce to check for certain validation errors before the submission process is completed.
    • If you have any validation errors, please resolve those before clicking Save. Once you have resolved the issues, click Save.
    • If you run into an error submitting the opportunity for approval:
      1. Check the Close Date. The Close Date should be equal or greater than 2016-12-12, the day the approval process was implemented.
      2. Make sure the Approval Status is not equal to "Approved". If the opportunity was already approved, there is no need to resubmit for approval.
    • Once you submit the opportunity for approval, it will be locked, meaning that you will not be able to make any updates. If you'd like to unlock the opportunity to make any changes, you'll have to recall the approval submission. Scroll down to the Approval History section and click on the Recall Approval Request button. Once you've made your changes, you can resubmit your opportunity for approval.
    • An email will be sent to you confirming that the opportunity has been submitted for approval.
    • An email will also be sent to the Deal Desk, which is made up of Finance and Sales Operations team members.
    • If the opportunity has been rejected, the approver will add notes in the Approval Notes field. You will then receive an email explaining why the opportunity was rejected. Please resolve the issues, then resubmit the opportunity for approval.
    • If the opportunity has been approved, you will receive an email that the opportunity has been approved.
    • The opportunity will automatically change to Closed Won and the Close Date will update to the date of submission.

Deal Desk Approval Process

The Deal Desk will review the following data points once an opportunity has been submitted for approval:

  1. There is a signed quote or a PO attached to the opportunity Notes and Attachments section.
  2. If an SLA or MSA has been issued, it must be attached to the opportunity, approved, and countersigned.
  3. Complete and accurate Bill To and Sold To Information on the order form. Any blank values will be rejected.
  4. Start Date confirmation- start dates may be in the past because quote was never updated or took time to sign.
  5. Correct template is used for direct vs. authorized vs. unauthorized resellers. This is especially important if a EULA must be delivered.
  6. If a PO is issued:
    • The Amount on the PO and the Quote must match.
    • The correct Quote ID must appear on the PO. If the client/prospect is not going to sign the order form and if the PO contains terms and conditions (or a link to terms and conditions), you must also include the effective date of the governing MSA or EULA onto the PO.
    • The PO must appear in the Purchase Order field on the Quote object.
    • PO terms must be approved by Legal or CFO. However, for any direct customers or resellers not on the following list, POs need to be approved by Legal or CFO.
      • Comparex
      • SHI
      • Software One
      • QBS Software (Britain)
      • Portland
      • Media Driver
      • Insight
  7. For reseller quotes, the opportunity and quote should be created under the end-customer account, NOT the reseller account. The reseller should be listed as the Invoice Owner and the reseller's billing contact should be listed as the Invoice Owner Contact.
  8. Discounts:
    • Check discount level as per the Discount Approval Matrix.
    • Were the discount approvals documented via Chatter?
    • Future discounts greater than initial discount. This should be checked upon quote creation, but should be pre-approved by CRO or RD.
  9. Correct GitLab Entity
    • For customers subject to switch to new entity, Add Ons should be on the original entity.
    • Upon renewal, customer will then be migrated to new entity.
  10. Review for any revenue recognition terms.
  11. Ensure that the quote does not list any future products as this impacts revenue recognition.
  12. Any exceptions to standard start/end dates.

Step 8 – Sending the Quote to Zuora

  1. Once the opportunity has been approved, the Deal Desk will receive an email from Salesforce to push the Quote to Zuora.
  2. The immediate task will be to click on Send to Zuora button. This will complete a few actions:
    • First it will create the subscription in Zuora.
    • Second, it will create the Billing Account.
    • Lastly, it will prepare the system to send an invoice to the customer (this is completed by the Finance team).
  3. To send a quote to Zuora, go to the Quote and click on the Send to Zuora button.
  4. Review the customer and product details.
  5. Click Submit.
  6. If Click Through EULA is "Yes", the EULA will be delivered to the sold to email address for new customers. For existing customers, the EULA is delivered to the previous email that received the original EULA. Note that EULAs will be delivered in the following scenarios:
    • Invoice Owner is a reseller
    • Quote Template contains "No Signature"

Post-Closed Won Account and Opportunity Reassignments

Once an opportunity is approved and marked as Closed Won, certain actions occur:

  1. Depending on the Sales Segmentation, the account and/or future renewal opportunity may be assigned to a new team member:
    • If Sales Segmentation is SMB, then the account and renewal opportunity will be assigned to the regional SMB Customer Advocate.
    • If Sales Segmentation is Mid-Market, then the account and renewal opportunity will be assigned to the Mid-Market Account Manager by Region.
    • If Sales Segmentation is Large or Strategic, then the renewal opportunity will be assigned to the current Account Owner.
    • Please note the following exceptions to these assignments, regardless of Sales Segmentation:
    • If the Account Manager field is populated, the renewal opportunity and account will be reassigned to this user.
    • If the Account Owner is a Partner User, the renewal opportunity and account will remain with the Partner.
    • If the Customer is a Federal government account, the renewal opportunity and account will remain with the current Account Owner.
  2. If the customer agrees to be a reference, please complete the following steps:
    • In the Referenceable Customer field on the account page, change the picklist value to "Yes".
    • Select all the Reference Types they are willing to offer (please see the next section for an explanation of the Reference Types).
    • Enter any Reference Comments related to the customer's willingness to be a reference.
    • Also go to the contact object who agreed to be a reference and under the field "role" please select "reference - investors and prospects".
    • If customer agrees to speak with product marketing about how they use GitLab, please email product marketing manager.
  3. If the customer declines to be a reference in any way, please note that we cannot mention them in any external conversations with prospects or investors. Please make sure to add notes in the Reference Notes field on why the customer declined.
  4. Once the opportunity is closed won, the field "type" on the account object will change to "Customer".
  5. Create an add-on or Existing Account (new division) opportunity if there has been one identified by you at this time.

Customer Support Levels

Depending on the products purchased, the customer will receive certain level of support.

  1. If a customer has purchased:
    • Ultimate, Premium, or legacy Premium Support add on, they will receive "Premium" support.
    • Starter or legacy Enterprise Edition packages, they will receive "Basic" support.
    • Legacy Standard or Plus customers will receive a "Custom" support package.
    • customers will receive support that corresponds to their package (eg, Gold Plan customers receive Gold support).
    • Organization on a free Ultimate or Gold Plan for EDU or OSS will be on a "Community" support. If they paid for support, they will be on plan based on their package.

If a customer is overdue on an outstanding balance, the Finance team will mark their support as "Hold". This will sync to Zendesk and support will not respond to their support requests until the "Hold" has been lifted.

Reference Types:

Cloning an Existing Quote

If you'd like to save time by cloning an existing quote, you can do so by doing the following:

  1. On the Quote Detail page of the quote you want to clone, click Clone Quote.
  2. On the Quote Clone Configuration page, select the following options:
    • Clone Products: Select to clone the products associated with the quote. This option only applies to the New Subscription quotes. Ensure that the products associated with the quote are maintained in the current version of the product catalog.
    • Maintain Quote: Select to be directed to the first step in the Quote Wizard flow that allows you to edit the newly cloned quote. The flows are configured based on the quote type, i.e., New Subscription, Amendment, and Renewal, in the Quote Wizard Settings.
  3. Click Next.
    • If you selected the Maintain Quote option, you are redirected to the first step in the Quote Wizard of the newly cloned quote.
    • If you did not select the Maintain Quote option, you are redirected to the Quote Detail page of the newly cloned quote.
  4. Please note that you cannot clone the products on an amendment (add-on or renewal quote.)

Using the Primary Quote Checkbox

If you create multiple quotes for a single opportunity (EEP vs. EES, single year vs. multi-year, etc.), you can select one of the quotes as the "primary", which will push the details of that quote to the opportunity. Once you select a different quote as primary, the details of the opportunity are overwritten with the new primary quote's details (amount, initial term, start date, and related quote).

Opportunity Values and Fields

The following fields are populated via a series of workflows or calculations from an associated quote or subscription in Zuora to the Opportunity object in Salesforce. For more information on some of the following values and how they are defined, please see the GitLab Metrics of the handbook.

  1. Annual Contract Value (ACV) is the value of first twelve months of a subscription. This field is calculated by the Opportunity Term and the MRR fields on the Opportunity. Here are the calculations: If the Opportunity Term is greater than 12 months, the ACV will be the 12 * MRR; otherwise the ACV will be Opportunity Term * MRR.
  2. Renewal ACV is manually populated at this time and takes all renewing opportunities and sums the ACV of these opportunities. For example, there are two opportunities (a new opportunity at 7,800 ACV and an add-on at 3,900 ACV). The Renewal ACV for the renewal opportunity will be 11,700.
  3. Incremental ACV is ACV - Renewal ACV. This value can be negative if the customer is planning to renew at a lower ACV than the previous subscription.
  4. Upside IACV is the potential value of an opportunity where the client/prospect might be interested in a higher-tier package or deploying to more users. For example, if you have a client/prospect that is interested in 1,000 Premium seats or 1,000 Ultimate seats, you will have 1,000 * $228 ($228,000) for the Incremental ACV but could have 1,000 * $1188 ($1,188,000) as the Upside IACV.
  5. Swing Deal is a checkbox. If this field is checked, it means that this opportunity has a chance to close in the current period.
  6. Opportunity Term is a value that is captured based on certain scenarios:
    • Single Quote
      • For New Business with a single quote, this field will be populated via the Initial Term field on the Quote object.
      • For Renewals with a single quote, this value will be populated via the Renewal Term field on the Quote object.
      • For Add-On Business with a single quote, this value will be populated via a formula that takes the Term End Date - Start Date. Any partial month will automatically be rounded up to the next month (2 months 1 day will automatically round up to 3 months).
    • Multiple Quotes: If there are multiple quotes, the values from the Primary Quote (Quote) will be pushed to the opportunity. If there is not a primary quote, this values can be manually entered.
    • No Quotes
      • Sales-Assisted- All Types: If there are no quotes, the value will be null and can be manually entered.
      • Web Direct- New Business or Renewal: This value will be hardcoded with 12 months since all web direct opportunities are 1 year in length.
      • Web Direct- Add On Business: This value will take the End Date (Subscription) - Start Date (opporutnity created date).
  7. MRR (Monthly Recurring Revenue) is a value that is captured based on certain scenarios:
    • Single Quote
      • For New Business or Renewals with a single quote, this value will be populated via the MRR field on the Quote object.
      • For Add-On Business with a single quote, this value will be populated via Delta MRR field on the Quote object.
      • Multiple Quotes: If there are multiple quotes, the values from the Primary Quote will be pushed to the opportunity. If there is not a primary quote, this values can be manually entered.
    • No Quotes
      • Sales-Assisted: If there are no quotes, the value will be null and can be manually entered.
      • Web Direct- New Business or Renewal: MRR will be the Amount/12
  8. Start Date varies by type and is captured based on certain scenarios:
    • Single Quote: for all types of business with a single quote, this field will be populated via the Start Date field. For new business or renewal, this will be the date that the new or renewal subsription starts, respectively. For Add-On Business, this will be the start date of the amendment.
    • Multiple Quotes: If there are multiple quotes, the values from the Primary Quote will be pushed to the opportunity. If there is not a primary quote, this values can be manually entered.
    • No Quotes
      • Sales-Assisted: If there are no quotes, the value will be null and can be manually entered.
      • Web Direct- New Business or Add-On Business: For new web direct purchases, the Start Date will be the Created Date of the opportunity
      • Web Direct- Renewal: For web direct renewals, the Start Date will be the Term End Date + 1 of the subscription.
  9. End Date is a value that is captured based on certain scenarios:
    • Single Quote
      • For New Business or Renewals, this field will be populated via a workflow that will take the End Date from the Start Date + Opportunity Term.
      • For Add-On Business, this field will be populated via the Term End Date on the Quote object.
    • Multiple Quotes: If there are multiple quotes, the values from the Primary Quote will be pushed to the opportunity. If there is not a primary quote, this values can be manually entered.
    • No Quotes
      • Sales-Assisted: If there are no quotes, the value will be null and can be manually entered.
      • Web Direct- New Business and Renewals: Since all web direct purchases are for 12 months, the End Date will be calculated taking the Start Date + 12 months
      • Web Direct- Add-On Business: End Date will be taken from the Term End Date on the Subscription object.

If a quote is sent to Zuora, the values from the Quote will overwrite any values on the opportunity, regardless of whether the quote is primary or not. If there are discrepancies between any of the values, such as the MRR, Amount, or Start and End Dates, please contact Finance or Sales Operations to resolve. We will either need to make amendments to the subscription or manually override the value in the Opportunity.

How to Handle Duplicate Accounts and Opportunities from Web Direct Purchases

In some cases, a prospect or customer that is currently engaged with an AE or AM on an opportunity might be proactive and sign up online via the web portal. If this occurs, then a duplicate Account, Opportunity, and Contact may be created. In the event that a duplicate opportunity is created, please do the following to resolve. Unfortunately there is no current method of merging opportunities so the work is manual at this time:

  1. Go to the web direct opportunity and add a Chatter note to Francis Aquino. To message someone directly, add the @ sign before typing their name.
  2. Add this note in Chatter: "Here is the duplicate web direct for the following opportunity ".
  3. Sales Ops will mark the web direct opportunity as 9-Duplicate while marking the original opportunity as 6-Closed Won. This will ensure that historical creation dates, lead sources, and other information is maintained for analysis.
  4. If a duplicate account is created, Sales Ops will merge the two accounts together and change the CRM ID in Zuora from the new account to the old account.

If the prospect is still a Lead record that has not converted into an Account, please complete the following steps:

  1. Go to the Lead record and convert it into an account, contact, and opportunity as you normally would any qualified opportunity.
  2. Then follow Steps 1-4 in the previous section.

Closing Deals for

Closing Deals for GitHost

Closing Deals for Educational Institutions receiving educational pricing

View and download invoices in Salesforce

As soon as an invoice is generated, the sales rep can view and download it as a PDF in Salesforce. Scroll to the bottom within the Salesforce-Account and click on the invoice number under "Invoices". Then on the bottom of the invoice view, click "Invoice PDF".

A paid invoice will have a zeroed Balance and positive Payment Amount.

Returning Customer Creation Process(Upgrade/Renewals/Cancellations)

  1. Create an Opportunity for an Add-on or Renewal. If a cancellation, click on Opportunity they want to cancel.
  2. Click on New Quote button within the opportunity.
  3. Since this is a returning customer, sales rep will see a screen showing the current subscription.
  4. This screen determines that this customer is already established in Zuora and will allow the sales rep to perform on the 4 actions –

Updating Subscription for the account

  1. Amend existing subscription for this billing account
  2. Renew existing subscription for this billing account
  3. Cancel existing subscription for this billing account
New Subscription for the account
  1. This will allow the Sales rep to create a new subscription for the existing billing account.
  2. Clicking on Next will take the sales rep thru the same Quoting flow that was seen the new Quote creation process
Amend existing subscription for the billing account
  1. This process is used to perform any upgrade to a subscription plan or add-on of additional seats t same subscriptionon an existing subscription.
  2. Choosing “Amend existing subscription for billing account”, will allow sales rep to perform amendment to an existing subscription.(Upgrades)
  3. Clicking on the this radio button will list all subscriptions that are tied to the customer
  4. Click to choose the subscription for performing an Amendment and hit on Next button
Cancel existing subscription for the billing account
  1. This process is used to cancel an existing subscription. (Note that if a customer purchases seats for the wrong billing account, please see the next section.)
  2. Click on Opportunity to cancel.
  3. Click on New Quote
  4. Since this is a returning customer, sales rep will see a screen showing the current subscription.
  5. Choosing “Cancel existing subscription for billing account”,
  6. Clicking on the this radio button will list all subscriptions that are tied to the customer
  7. Click the subscription for performing a cancellation and hit on Next button
  8. Select cancellation date and click Next Button.
Cancel an erroneous subscription for the billing account
  1. This process is used to cancel an erroneous subscription.
  2. For example, a customer may purchase additional seats or products via the web portal which was originally intended as on add-on to an existing subscription.
  3. Provide Finance or Sales Operations with the erroneously created Zuora Subscription ID, invoice number and the correct Zuora Subscription ID.
  4. Finance will cancel the subscription and either refund the invoice (if a credit card purchase) or cancel the invoice (if check or other payment method).
  5. Finance will then amend the correct Zuora Subscription ID and will either charge the card on file or send the invoice via email.

Changing the Sold To or Bill To Contact

If the customer wishes to change the contacts for either the license (Sold To Contact) or the invoice (Bill To Contact), then:

  1. Add the new recipient as a Contact to the Account;
  2. Choose the new Contact for the Sold/Bill To Contact;
  3. On the Quote Detail screen, select 'Update Zuora Account Details'.

Zuora Supporting 4 types of Amendments –

  1. Terms and Conditions amendment – The sales rep will be able to change the terms and conditions of an existing subscription;
  2. Remove product Amendment – The sales rep will be be able to perform a Remove a product Amendment;
    • In this case, sales rep will have to Set the Start date (Contract effective date in Zuora terms) when the remove product amendment should happen
    • Click on Next
    • This will take them to the product selector page and displays the original product that was purchased within the subscription
    • Sales rep can now remove the product
  3. Add product Amendment – Sales rep can add a new product from the product selector page
  4. Update Product Amendment – Sales rep can update the existing product of the existing selected product
    • Note: Do not change the Terms and conditions unless you are performing a terms and conditions amendment(except for start date). Let's take an example - Let's say a customer once to add more seats to their license.
      1. Set the start date
      2. Change the quantity field to reflect the new total number of seats
        • Hit on Save
  5. If you want to change the Payment Terms on an add on quote, you must contact the Billing Team to make this change as Zuora does not allow this value to be changed from within Salesfore. Zuora assumes the same payment term used for the original opportunity will be used for the amendment. However, Billing can change this in Zuora if needed.

Once on the Quote Summary, will click on generate PDF to generate a Quote PDF Send it to the customer - only if there is no record of a signed quote. If customer purchased online, they agreed to our terms and condition, so no need to have them sign a quote. It is ideal though. Upon Sign-off, or existing signed quote, click on the Send to Z-billing button to send the Quote over to Zuora

Renew existing subscription for the billing account
  1. This process is used to perform Renewal on an existing subscription; this is only created if the AUTO RENEW Flag is set to “NO” for a subscription initially.
  2. Choosing “Renew existing subscription for billing account”, will allow sales rep to perform Renewal to an existing subscription;
  3. Clicking on the this radio button will list all subscriptions that are tied to the customer
  4. Clicking on next will take the sales to the Create Renewal Quote page
  5. Sales rep will select the renewal Quote Template from the list
  6. Enter the Renewal term in months
  7. Will hit on Next
  8. Skip the product selector page, unless want to update the QTY or want to add a new product
    • if they are adding more seats, change the quantity field to reflect the new total number of seats
  9. Once on the Quote Summary, will click on generate PDF to generate a Quote PDF
  10. Send it to the customer, via Sertifi button within Zquote screen
  11. Upon Sign-off will click on the Send to Z-billing button to send the Quote over to Zuora
  12. Close Won the opportunity
Renew existing subscription with a "true-up" for the billing account
  1. This process is used to perform a Renewal on an existing subscription and to add a one time charge for true up; this is only created if the AUTO RENEW Flag is set to “NO” for a subscription initially.
  2. Choosing “Renew existing subscription for billing account”, will allow sales rep to perform Renewal to an existing subscription;
  3. Clicking on the this radio button will list all subscriptions that are tied to the customer
  4. Clicking on next will take the sales to the Create Renewal Quote page
  5. Sales rep will select the renewal Quote Template from the list
  6. Enter the Renewal term in months
  7. Will hit on Next
  8. On the product selector page, add the true up product
    • enter the number of seats they will true-up. Add in the price of the seat, 100% of price they paid.
  9. Next, update their current subscription to reflect the new total number of seats they will be renewing for which will be equal or greater than the amount they had with their subscription plus the true up amount.
  10. Once on the Quote Summary, will click on generate PDF to generate a Quote PDF
  11. Send it to the customer, via Sertifi button within Zquote screen
  12. Upon Sign-off will click on the Send to Z-billing button to send the Quote over to Zuora
  13. Close Won the opportunity
Amendments with Two Different Prices on the Same Product

If you are amending an existing subscription with an old product (eg, GitLab EE Starter) at the previous rate ($39) but are adding additional seats at the new rate ($48), you will need to add a second line item on the quote for the new rate plan (Starter). For example, you have a customer currently with 50 seats at $39, and you'd like to add another 50 seats at $48, your quote will look like this:

Provisioning Licenses for Subscriptions with Two Different Prices for the Same Product

Once this opportunity is Closed Won via the approval process, you will send the quote to Zuora to create the subscription and invoice. However, since the licensing application only looks at one line item as the quantity for provisioning, it will not take the actual number of licenses that the customer purchased. If use the previous scenario as an example, although the customer purchased 100 seats, they will only be provisioned 50 seats. You will need to create a new license in the license server for the appropriate number of seats. If you aren't familiar with how to create a license manually, please contact Sales Operations.

Subscription Types and Opportunity Type Validation Rules

The following Subscription Types (New, Renewal, Amendment) must match the corresponding Opportunity Types (New, Renewal, Add On) in Salesforce:

If you attempt to create a New Subscription when the Opportunity Type is Add On Business or Renewal, Salesforce will reject your request unless you obtain approval from Finance or Sales Operations. A major reason for this is because of churn considerations, as creating a new subscription instead of amending the existing subscription will cause this subscription to count towards our churned metrics. With approval, Sales Ops and Finance are made aware of the special circumstance and can make any adjustments needed to ensure the transaction will not count as churn.

Assistance with Quotes

If your quote contains any of the following special circumstances, or if you have questions regarding basic quotes, you are encouraged to send a Chatter message to "@quote-help" on the Account or Opportunity record. Please provide as much detail as possible, including links to relevant records, dates, user counts, and other useful information.


Co-terming is when a customer wants to align two or more subscriptions with different end dates.


Customer has 2 subscriptions for Premium.

The most likely scenario is to co-term into the subscription ending last:

The other scenario is co-terming into the subscription ending first:

This requires two steps: first combining the subscriptions, then cancelling the leftover one.

Tracking Churned Subscriptions and Opportunities

The following events will trigger require the Churn Information to be completed on the opportunity record:

When one of the above conditions are met, the user is responsible for entering the following details on the Churn Information of the opportnity record:

Creating a Quote for an Authorized Reseller Partner

A reseller quote has a few different things than a regular quote:

Using Customer Form Agreements

Our experience shows that using a prospect's form agreement is expensive and, more importantly, time consuming. Deals in which we use the customer agreement take on average 60 days longer to close than if completing using our standard subscription agreement with changes as requested by customer counsel. The arguments in favor of using our agreement are as follows:

  1. Our agreement is an annual subscription agreement with a true-up whereas customer form agreements typically are based on paid up licenses.
  2. We are an open source company and our agreement provides licenses for both the CE version of the product and the EE version as well as dealing with contributions of code from our customer.
  3. We have non-standard but customer favorable warranty and acceptance provisions.
  4. We are very accommodating of customer requested changes to our form agreement which is why we can close deals quickly.

Despite the overwhelming arguments in favor of using the GitLab form some prospects insist on using their form agreement. GitLab will accommodate such requests with the following assumptions:

  1. GitLab must have been selected as the solution of choice by the customer.
  2. The deal must be in excess of $15,000.
  3. The primary decision maker must indicate their willingness to facilitate the internal process in a manner that brings issues to closure within 30 days of negotiations. The decision maker must also acknowledge that they understand that the form agreement may require significant revisions based on what is described in the above section. Items 1 and 3 above must be acknowledged in writing prior to proceeding with the contract markup.

Handling OSS and EDU Inquiries

With GitLab's announcement that our Ultimate and Gold packages will be free for Education institutions or organizations developing open-source software projects, we are implementing the following process with the Community Advocacy team owning many steps in this program. The process from initial inquiry to delivering a license key will be as follows:

Inquiry and Application Process (Leads)

  1. The Community Advocate team will receive inquiries from interested organizations. These inquiries will initially be bulk uploaded into Salesforce. Eventually, these inquiries will be created manually as they come in via a web capture form, manual entry, or other sources (Contact Us, trade shows, etc).
  2. If an existing lead is interested in taking part of the program, the lead must be reassigned to the Community Advocate user in Salesforce. When reassigning, be sure to notify the team by clicking the "Send Notification to New Owner" checkbox.
  3. The Community Advocate team will search Salesforce for the lead record via email address. During the application process, First Name, Last Name, and Address information must be captured. We should also include notes on whether they are interested in Ultimate or Gold, and if they want support or not.

Approved Applications and Opportunity Creation

  1. When an application is approved, the Community Advocate team will convert the Lead into an Account, Contact, and Opportunity.
  2. The opportunity name should be CompanyName-Source Product NumberofUsers, eg, "ABC University-Ultimate (EDU or OSS) 25" or "ABC University-Gold (EDU or OSS) 500 w/ Support"
  3. Type is "New Business"
  4. The Close Date should be a future date (as a general rule, it should be the date you expect the signed agreement from the organization). If you are unsure, you can set this date to the end of the current or next month.
  5. Stage should be "0-Pending Acceptance"
  6. Click Save.

Quote Creation and Product Selection

  1. To create a Quote for this organization, click on the "New Quote" button
  2. Select the Account you'd like to associate to Quote to 10.Select "New Subscription for this Account"
  3. Click "Next"
  4. In the Quote Template, select "Ultimate or Gold Free (OSS Only)" for OSS organizations and "Ultimate or Gold Free (EDU Only)" for educational institutions (the difference between the templates is becuase of an additional addendum for EDU)
  5. Click "Primary"
  6. Add a Sold to and Bill To Contact
  7. Enter the Start Date
  8. Enter the Initial and Renewal Term of 12 months
  9. Disable Auto-Renew
  10. If Tax Exempt and they want to purchase Support, make sure to ask for a Certificate ID so that there is not tax added to the Support cost. Not all organizations that opt for the free Ultimate or Gold will be tax exempt. If they are just signing up for the free plan, there will be no tax so you can skip this step.
  11. Click Next
  12. Click on the Select pull down
  13. Click "Add Base Products"
  14. Look for either Ultimate or (Gold Plans are listed under this product)
  15. Look for plan you'd like to add and click "Select Plan".
  16. Click Save
  17. Enter the Quantity (number of seats)
  18. Click Submit

Quote PDF Creation and Delivery

  1. Click on the Generate PDF button. A new window will appear. Please wait until you receive confirmation that the Quote has been successfully created before closing the window, otherwise your quote PDF will not be created.
  2. Go to the Sertifi eSign button
  3. In the Email Invite Message, add a few sentence notes to the contact
  4. Confirm the email the quote will be delivered to
  5. Click Next
  6. Go to the Related Notes and Attachments pull down and select your Quote
  7. Please wait for the quote PDF to load. You will see a green box titled "Signature Documents Added". It is recommended you click on the "Preview/Prefill Document" link before you deliver the quote to the organization. You can verify the data on the order form is correct.
  8. Send for Signature

Opportunity Approval

  1. You will receive a notification once the quote has been signed. Go to the opportunity in Salesforce
  2. Confirm that the signed document is in the Notes and Attachments section of the Opportunity. If it is not, you can attach the document
  3. Change the Stage to 6-Awaiting Signature
  4. Click on the Submit for Approval button
  5. You will receive an email if the opportunity was approved or rejected. If rejected, you will receive reasons why. Please resolve these issues and re-submit the opportunity for approval
  6. If the opportunity was approved, it will automatically be changed to "Closed Won" and the Close Date will be updated to the date the opportunity was approved. Also, a renewal opportunity will be created.
  7. The Deal Desk team will send the quote to Zuora. This will trigger the delivery of a EULA for the organization.
  8. Once the EULA has been accepted, the organization will then receive their license key.
  9. Create a reminder to reach out to this customer in 11 months time to start the renewal process. This may require adding seats if their organization has grown.

Using Cases in Salesforce

A Case is a question or feedback from a prospect or customer. While there are many ways that a customer can reach out to GitLab, the following are the only email addresses that will create a Case in Salesforce. If the Case submitter is an existing Contact in Salesforce, the case will be associated to both the Contact and Account record, and will be assigned to the Contact owner. If the Case submitter is not an existing Contact in Salesforce, please see below who the case will be assigned to.

New Business Inquiries

All new business inquiries will be handled by the BDR team. However, if an inquiry comes in for an account owned by an AE - Mid-Market or above or SAL, these will be treated similar to Contact Us requests and routed to the named account owner. Before the case is reassigned, the BDR will search Salesforce for a matching record:

Existing Customer Inquiries

We have deprecated All emails sent there will now go into the Cases > Account Management Queue in Salesforce.

Existing customer inquiries should be routed based to the appropriate team based on the inquiry:

Working the Account Management Queue

Each user will be responsible for checking Cases throughout the day to resolve their open cases.

Replying to CASES assigned to you:

For adding student users to an existing license key:

  1. Request proof of purchase from educational institution for staff users, which will either be an invoice or the signed order form
  2. Open the license app and duplicate the license adding the amount of extra seats for students
  3. The new license is sent automatically, but the best practice is to attach license to a follow-up explainer email. (Also clarify that they are not entitled to Gitlab technical support)
Purchase Order (PO) Fulfillment from a Reseller

In some cases, a reseller may send a purchase order for order fulfillment. When this happens, the following steps will be taken by the BDR:

  1. Search Salesforce for the related account and opportunity. Once found, the email will be forwarded to the opportunity owner.
  2. Reassign the Case to the Opportunity Owner.
  3. Go to the Type field and select PO Delivery.
  4. Go to the Status field and select Closed.
  5. Click Save.

Accessing Cases

The primary ways to access Cases in Salesforce:

  1. Cases display in a Cases related list on the Account, Contact, or Opportunity record. This is best when you are looking for Cases assigned to a specific Account or Contact.
  2. You can go to the Cases tab in Salesforce, then select My Open Cases (or any other list view available). This is best when you are looking for Cases either assigned to you or your group. It is a good practice to review cases assigned to you at least a few times a day.
  3. You can use the Console tab in Salesforce (if unavailable, it can be added by clicking on + to see All Tabs, and then selecting Customize My Tabs). This view allows you to view the Cases List and Content in the same window.

Working Cases

  1. You may be assigned a case that is not associated to a Contact or Account. This happens because the person who submitted the case is not an existing record in the system.
  2. When this occurs, a best practice is to create the contact, then associate the Case to that contact.
  3. Also, it is a best practice to associate the case to the Account, so that when you, or another team member access the account, the case will be visible to all team members.

To work with Email-to-Case or On-Demand Email-to-Case emails

Closing a Case

Process after you close a Premium Support Subscription

Once you close a deal that includes Premium Support, you need to:

  1. On the account object in Salesforce, check the Support Level in the GitLab Subscription Information section, so that it carries through to Zuora and Zendesk.
  2. Notify the Customer Success team there is a new Premium support customer, by creating an issue on the Customer Success project using the Premium support onboarding template. Be sure to include all parts of the issue:
    • Name of organization
    • Domain name, and optionally named individuals that are most likely to submit support tickets
    • Link to the SalesForce record.
    • Mark the issue confidential!