Sales Order Processing

On this page


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 GitLab.com 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 GitLab.com deals, please make sure that the Sold To Email is the same as the email used on the GitLab.com 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
GmbH DE DE
Ltd UK 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 GitLab.com 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 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.

Process for Agreement Terms Negotiations (when applicable)

For customers that request to negotiate terms of our standard agreements, Sales will follow the below workflow through the process of contract negotiations.

Create a new contract linked to the Customer’s main account page.

  1. Go to the “Contracts” object for the applicable SalesForce Account page
  2. Create a new contract by clicking on the “New Contract” button
  3. Fill in the required information, which is marked in red.
  4. Press “Save”

Post a message to the contract chat feed and tag @contracts. Your request should include an e-mail address of the customer contract to receive the subscription terms. Legal will create a new file and send it out for negotiations to the Customer.

Obtain Signatures

Once negotiations are completed, stage the contract in HelloSign for signatures. Send to the Customer and our CFO for signing. Copy legal@

Filing the Executed Contract

After both parties have signed the contract, complete these steps:

  1. Upload the fully executed pdf to the contract page;
  2. Edit the Contract Status field to show “Active”;
  3. Input the ‘Contract Start Date and fill in the Contract Term (months)` field, if applicable. The End Date will auto-fill based on the number you enter. Do not put the end date in the Termination Date field.
  4. Copy and paste the terms that have capture fields from the executed contract into the fields. Then, change the drop-down named "Term Capture" to "Complete". If you run into problems, you can change the field to "Started" and then request help by sending a chatter message at @Contracts.

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. A quote is required for all direct purchases not made via the web portal in order to confirm products purchased, # of seats, term, and pricing. A quote is also needed to confirm the Prospect/Client agrees to the terms and conditions referenced in the quote. All quotes must be signed by the Prospect/Client.
    • If the parties agreed to non-standard, negotiated terms, the URL to our standard terms and privacy policy should be deleted and replaced with the following: "This Quote is governed by the terms and conditions of the [NAME OF AGREEMENT] dated [MM/DD/YYYY] between the parties."
  3. In rare circumstances where a Prospect/Client is unwilling to sign the quote document (and evidence of the refusal is attached to the opportunity Notes & Attachments), a Purchase Order from the Prospect/Client can be accepted in lieu of a signed quote if ALL of the following conditions are met:
    • the PO contains the following clause: "Notwithstanding any of purchasers standard terms and conditions set forth or referenced herein, this PO is governed by the GitLab Subscription Agreement, GitLab Professional Services Terms (as applicable) or other such software license and/or services agreement negotiated by the parties.";
    • the quote document template WITHOUT a signature block must be used; AND
    • the Prospect/Client must attach the quote document to the PO in a combined PDF or email in order to show evidence of which quote document they are accepting. The combined PDF or email must be saved to opportunity Notes & Attachments.

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 Salesforce.com.

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 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.
    • GitLab.com 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 10-Duplicate while marking the original opportunity as 7-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 GitLab.com

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 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

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

Example:

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 GitLab.com (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 renewals@gitlab.com. 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!