Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Completing a Contract

Disclaimer

These agreements are examples of the agreements that we currently use at GitLab. However, the terms and conditions of an employee or contractor’s agreement will vary based on each employee or contractor’s specific circumstances. GitLab reserves the right to amend or change the sample agreements, as well as each employee or contractor’s actual agreement. The samples below are samples only — they are not valid as such and do not replace personalized signed agreements.

Employment and Contractor Agreements

The following contracts are for reference only and are viewable by anyone with the link.

How to use this page to prepare a contract

Assuming that the hiring process went smoothly, now it is time to prepare the applicable contracts. Once the verbal offer is made, the coordinator will send the contract to the applicant, using DocuSign in Greenhouse. On rare occasion, the coordinator may have to create the contract outside of Greenhouse using Google Docs; if this is the case, the coordinator needs to have a People Ops team member review the contract for accuracy before sending it out for signature.

First, be sure to validate the following:

  1. The currency listed in the offer package in Greenhouse should normally be the local currency of the new team member unless they explicitly request USD/EUR because their local currency has a lot of inflation. This needs to be confirmed and approved by our People Ops Analyst prior to making the offer, as any changes to the currency will require complete reapproval in Greenhouse, regardless if it is the same amount just in a different currency.
  2. Confirm if the team member would be an employee or contractor and through which entity the team member would be employed or contracted. If the team member wants to be contracted through a company, it can either be their own established legal entity or a separate and unaffiliated 3rd party company; please confirm which with the team member prior to sending out the contract. If the team member will be contracted through their own entity (or as an independent contractor), please use the BV Contractor Agreement. If the team member will be contracted through a 3rd party company, please inform Legal so that we can enter into a vendor contract with the company. The 3rd party company will then enter into a contract with the team member, and People Ops Analyst will provide the necessary specific salary and position information.

Send the contract through Greenhouse

  1. Once the offer package has been approved in Greenhouse and the recruiter has given the verbal offer, go to the candidate's profile in Greenhouse. Verify the address is listed on the details tab. If the address is not listed you can locate it on the background check, or in the reference request email reply.
  2. If necessary click Edit Profile to update the candidate's name to their legal name (given during the reference/background check stage) and list any preferred names in quotes as the first name. Legal names are required on contracts and for proper export to Bamboo HR.
  3. Scroll to the section "Offer Documents" and click "Generate". Then click in the box and select from the options the appropriate template for the team member's entity, employment/contractor status, full-time or part-time, and any applicable bonuses. An example is GitLab Inc full-time, with variable bonus/commission. Then click "Generate". It will now populate and .docx and .pdf files under the "Offer Documents" section. Download the pdf and preview it to ensure everything populated correctly. If there are any token errors (i.e. problems with the information pulling from the candidate's profile and into the contract), Greenhouse will notify you. Most likely, if that happens it is because a field in the candidate profile is not accurately filled in. Once you fix the error, you'll need to "Regenerate" the contract.
  4. Next, click "Send with DocuSign" right below the offer documents. You will need to have first connected your Greenhouse account with your DocuSign account by going to the integrations tab in Greenhouse.
  5. Choose the correct template according to country, or if no country template is available select Offer through DocuSign. In the "To User" field, choose the GitLab signatory for the contract. In the "CC" field, add the recruiter and the hiring manager. Then click "Preview on DocuSign".
  6. You will be redirected to DocuSign.
  7. On the top left of the screen, click where it says the candidate's name, then click "Edit Recipients". Change the 2 next to the GitLab signatory's name to a 1, change the 1 next to the candidate's name to a 2 and change the 1 next to the hiring manager's name to a 2. This ensures that the contract goes to the GitLab signatory to sign first, as well as the recruiter for a Cc and once signed by them it will go to the candidate and the hiring manager with a Cc. Then click "Done".
  8. Scroll throughout the contract and double check that the candidate and GitLab signatory signature and date fields are accurately added. If there is an Exhibit A to the PIAA section of the contract, be sure to add add a dropdown box assigned to the candidate. On the right side of the screen, under fill in list of options click add option type in YES. Click add option again, type in None. Click save as custom field, name it as desired. Click Save On the left side of the screen, navigate to standard field icon. Select Text, resize the box as desired. On the right side of the screen, scroll down, select Conditional Logic click on Create a rule
    Click on the Yes/None dropdown, at the top of the screen, where it says Click on the field to show when trigger field, type YES in the equal to box. Click Done Click on the Text box. Click save as custom field name it as desired. You will need to create the conditional logic rule each time you send out contracts, it does not save for future use. There may also be other fields you'll need to add a textbox for, so double check if there are any other fields that need to be completed by either the candidate or GitLab signatory (as contracts for different entities vary; one that is easy to miss is the UK contract which requires the candidate to input their national insurance number). Once you've verified that all the information is correct and appropriately assigned, click "Send" at the top right corner.
  9. You'll now be redirected back to Greenhouse, where you can monitor the progress of the contract and be able to see when each party signs it. Once it is signed by all parties, you and everyone cc'd on the original request will receive a confirmation email that it has been signed.
  10. If you need to resend the contract, follow the same steps, but be sure to log into your DocuSign account and first delete the original one to avoid confusion.

How to add a contract into Greenhouse

  1. In the Google Drive, go to the folder titled "Employee and Contractor Templates and Staging". Only the People Group, Finance, and Legal should have access to this folder.
  2. Click the folder called "Templates" to find the relevant template contract (each document is also linked below).
  3. Make a copy of the contract and move it into the "Greenhouse Templates" folder.
  4. Log in to Greenhouse and go to "Configure" by clicking the gear at the top right corner, then choose "Offer Templates".
  5. For each of the fields with curly brackets ({ }) in the template on Google Drive, find and replace that field (including the curly brackets) with the corresponding Greenhouse tokens (including the curly bracket). For example, {Contributor Name} in the Drive template will be replaced with {{CANDIDATE_NAME}}.
    1. Some fields that are not necessarily clear are the compensation fields as there are separate fields for the vacancy and for the candidate; we want the candidate fields for the contract, so in Greenhouse, the appropriate token for salary is {{CURRENCY}}, bonus is {{BONUS_AMOUNT}}, and stock options is {{STOCK_OPTIONS}}. Another field that is easily confused is the title; the {{JOB_NAME}} is the name of the vacancy, which is not always necessarily the same as the title the candidate will have; to make sure it is always correct and includes the appropriate level and specialty for the candidate, use the token {{FULL_TITLE__INCLUDING_LEVEL_AND_SPECIALTY_}}.
    2. The one exception to the curly bracket find and replace process is the Belgian contract. The fields that need to be edited are highlighted.
    3. If there is no corresponding field in the Greenhouse tokens, go to "Configure", "Custom Options", "Offers". Then click "Add Field" at the top, and add the name of this field (being as succinct yet descriptive as possible), add a description if needed (this will only show up when hovering over the field), the type of field it will be (this cannot be changed once the field is created), and check off "Create new email token (optional)" which will allow you to include it in the contract. Then click save. The new field will populate at the bottom, and you'll be able to drag it elsewhere in list, but do keep in mind that this is the list that populates the offer package, so unless it's crucial to the offer/approval process, it's usually best left towards the bottom. It is, however, best practice to at least move it above the "Signatory Name" and "Signatory Title" fields, so that they are always last. Then, go back to the "Offer Templates" section in Greenhouse, and you'll see the new field you created is a new token option.
    4. When removing optional clauses, take care that the paragraph / section numbering still makes sense.
    5. Double check that each field that needs to be filled out is replaced with a Greenhouse token. Sometimes it is not always obvious, as the curly bracket might be regular brackets by mistake.
    6. For each signature section, the following tokens must be on their own line in the document, with nothing else on the line: {{CANDIDATE_SIGNATURE}}, {{CANDIDATE_SIGNATURE_DATE}}, {{COMPANY_SIGNATURE}}, and {{COMPANY_SIGNATURE_DATE}}. Find each signature page, then hit enter to create the new line after the "Signature", "Name", "Title", and "Date" sections, then copy the corresponding Greenhouse tokens. These can be easy to miss, so double check each signature section has the appropriate Greenhouse tokens, each on their own line.
    7. Most contracts will have various versions that need to created, e.g. one that contains bonus language for variable bonus/commission, director/executive bonuses, or signing bonuses. Best practice is to create the contract containing all of the additional information and title it accordingly, then once you are done go to "File" in Google Docs and choose "Make a copy". Then remove the information as needed and rename the new document and continue the steps below. You can view other documents in the Greenhouse Templates folder for examples.
    8. For contract templates with variable bonus/commission plans, replace all paragraphs with the token {{VARIABLE_BONUS_TYPE_OFFER_SECTION}} which will tell Greenhouse to automatically choose the correct bonus type based on the offer package created in Greenhouse.
  6. Once you have completed customizing the contract for Greenhouse, click "File" in Google Docs, then "Download as" and "Microsoft Word (.docx)".
  7. Then go back to the "Offer Templates" section in Greenhouse and scroll down to "Template Name" and click "Upload New" to the left.
  8. Choose the document you've downloaded and add a name for the template. The convention is typically "GitLab Entity employment-type, with/without bonus", e.g. GitLab Inc full-time, with variable bonus/commission.
  9. Greenhouse will upload the document and it will appear at the bottom of the page. There will be a Test button next to it; click this, and it will validate that all of the Greenhouse tokens are correctly inputted. If there are any errors, it will notify you. You will then need to go back to the template in Google Docs and correct the errors, redownload it, and reupload it to Greenhouse (after deleting the original one with mistakes). If all of the tokens are functioning properly, there will be green checkmarks, and you're ready to use this template for contracts!
  10. To delete a contract template from Greenhouse, click the three dots ... to the right of the template name, then click delete and confirm.

The "source of truth" for the contract templates are in the Google Drive, in the folder titled "Employee and Contractor Templates and Staging". Any updates to contracts will be done there first, and then the recruiting team needs to be pinged to be made aware of the changes so they can update the corresponding Greenhouse template.

To change or update a contract that has already been created and uploaded into Greenhouse, return to the corresponding Google Drive doc in the "Greenhouse Templates" folder, open the templates that need to be updated (there may be multiple that need to be changed, since there are different varieties of each contract to accommodate bonus structures, full-time/part-time, etc.), then update each accordingly. If you need to add new tokens to accommodate the change, be sure to follow step 5.3 in the above instructions. Once you have finished making any updates, click "File" in Google Docs, then "Download as" and "Microsoft Word (.docx)". Then go back to the "Offer Templates" section in Greenhouse. Find the contract that you are replacing, copy the name of it so you can maintain consistency, then click the three dots ... to the right of the template name, then click delete and confirm. Then click "Upload New", paste the name of the template, and upload the new version. Click "Test" to validate that everything translated correctly (per step 9 above), and you are ready to use the new template.

How to Update a Start Date After the Contract is Signed

To change a start date after a GitLab entity contract has been signed and the new team member has been "hired" in GreenHouse the Candidate Experience Specialist will complete the following steps:

  1. Confirm the start date via email with the new team member, the recruiter, the hiring manager, and the Candidate Experience Specialist.
  2. Save the email as a pdf file for upload into BambooHR.
  3. Update GreenHouse:
    • Offer Details
    • Click the edit pencil next to the start date
    • Select the new Start Date
    • Save
    • In the "Make a Note" section in Greenhouse state the old start date and the new state date
    • Save
  4. Update the GitLab Onboarding Tracker start date and at mention/tag the assigned People Ops Specialist in the Google Sheet so they are aware of the new start date. Ensure you move the row to the appropriate section in the sheet as well. In additiion, please add a note on the tracker for the People Ops team.
    • If the People Team already has an issue assigned for the new team member they will need to update the draft on-boarding issue's title to reflect the new start date.
    • Click on the Issue link from the GitLab Onboarding Tracker
    • Click the pencil in the upper right hand corner to Edit title and description
    • Update to reflect the adjusted start date
    • Save changes
  5. Update BambooHR to reflect the new start date.
    • Sign into Bamboo HR
    • Search of the new team member's name
    • Click on the Job tab under the name and title
    • Update the hire date to reflect the adjusted date
    • Save Changes
    • Click on the Documents tab under the name and title
    • Upload
    • Choose File(s)
    • Select the saved email pdf file
    • Open
    • Folder: Contracts and Changes
    • Check the "Share these File(s) with the Employee" box
    • Upload

To change a start date after a PEO contract has been signed and the new team member has been "hired" in GreenHouse the Candidate Experience Specialist will complete the following steps:

  1. Confirm the start date via email with the new team member, the recruiter, the hiring manager, and the Candidate Experience Specialist.
  2. Forward the email to the contact at the PEO.
  3. The PEO will generate a new contract and send to the new team member.
    • The Candidate Experience Specialist will need to follow-up with the PEO contact to ensure the new contract is signed.
  4. Update GreenHouse:
    • Offer Details
    • Click the edit pencil next to the start date
    • Select the new Start Date
    • Save
    • In the "Make a Note" section in Greenhouse state the old start date and the new state date
    • Save
  5. Update the GitLab Onboarding Tracker start date and at mention/tag the assigned People Ops Specialist in the Google Sheet so they are aware of the new start date. Ensure you move the row to the appropriate section in the sheet as well. In additiion, please add a note on the tracker for the People Ops team.
    • If the People Team already has an issue assigned for the new team member they will need to update the draft on-boarding issue's title to reflect the new start date.
    • Click on the Issue link from the GitLab Onboarding Tracker
    • Click the pencil in the upper right hand corner to Edit title and description
    • Update to reflect the adjusted start date
    • Save changes
  6. Update BambooHR to reflect the new start date.
    • Sign into Bamboo HR
    • Search of the new team member's name
    • Click on the Job tab under the name and title
    • Update the hire date to reflect the adjusted date
    • Save Changes
    • Click on the Documents tab under the name and title
    • Upload
    • Choose File(s)
    • Select the saved email pdf file
    • Open
    • Folder: Contracts and Changes
    • Check the "Share these File(s) with the Employee" box
    • Upload

How to Unhire a Candidate After Contract is Signed

In rare cases, candidates may reject our offer after they have signed the contract. If they have been hired in Greenhouse and exported to BambooHR, follow these steps:

  1. Unhire the candidate in Greenhouse.
  2. Reject them in Greenhouse; add reasons in notes, you may add the email that was sent by the candidate. Click ‘reject and don’t send email’.
  3. Cancel any scheduled emails in Greenhouse.
  4. Tag the assigned People Ops specialist on the tracker sheet so they are aware of this change. If no People Ops specialist has been assigned, ping the People Ops specialist team in the specialist-ces slack channel. It is important to inform the People Ops specialist team in order for them to delete the candidate from BambooHR.
  5. If they were hired via a PEO, inform the contact person of this change.

Amended Contracts

Contract amendments or modifications are processed by the Candidate Experience Specialist if the team member has not started or by the People Operations Specialist if they have.

  1. Amendments prior to starting with GitLab:

If an amendment needs to be made and the previous contract was never active, the Candidate Experience Specialist should:

Note: It is essential that People Operations Specialists are informed of all changes, as various fields must be updated in BambooHR.

  1. Amendments after starting with GitLab:

A contractor requests a modification to their contract due to a name change/company incorporation (Example: The individual recently incorporated a company, and would like to invoice GitLab through their company versus individually)

Important: Employment contracts cannot be backdated. If a team member requests to backdate a contract for invoicing purposes, an addendum should be added to the contract stating: "As the Contractor has not invoiced GitLab for payment since their start date on contractor start date, GitLab will pay the Contractor for this period of time in accordance with the Contractor’s base compensation". The start date on the new contract should always reflect the date the contract is staged for signatures.

Process for GitLab team-members in the Netherlands

In this location, a temporary labor contract (tijdelijk contract) is for one year, with a pre-determined end date. A dismissal procedure is not required to terminate a temporary contract at the end of its duration. It is quite common for Dutch employers to offer a second temporary contract when the first expires, but it's not guaranteed. As a Dutch employer, this is standard procedure for GitLab. As of 2015-07-01, employees who have worked with an employer on temporary contracts for at least two years are entitled to a permanent contract if the work agreement continues, this is known as the ketenregeling (chain rule). Should a team member request indefinite employment after the initial 12 month contract or second 12 month contract, approval via email should be requested based on performance, from the team member's manager as well as the People Business Partner that is working with the business unit. The approval email should be printed to pdf and saved under Contracts and Changes in BambooHR. Also, an employee cannot have more than three temporary contracts with the same employer in a row. If a fourth contract is offered by GitLab then it must be a permanent one.

  1. The offer is made by the recruiter per the hiring process.
  2. The Candidate Experience Specialist emails the new team member the Contract Info Request - the Netherlands from GreenHouse.
  3. The Candidate Experience Specialist will update the GreenHouse offer details when the new team member provides the necessary details and then generates the appropriate GitLab BV contract out of GreenHouse.
  4. The Candidate Experience Specialist will stage the contract for signature via DocuSign, cc the hiring manager and HRSavvy. HRSavvy should be the final recipient on the signing order, to ensure they receive only the executed contract. This will ensure our payroll provider in this location can start their onboarding, well ahead of ours.

Process for GitLab Team Members in Australia

GitLab has an entity in Australia and use this contract in this location. All team members in this location are employees.

CXC

GitLab is working in partnership with CXC Global to employ GitLab team-members located in several countries listed below. The actual employment contracts will be sent and issued by CXC and are in accordance with local labor law. CXC also handle the processing and payment of payroll and associated taxes and compliance in each of the countries on behalf of GitLab. The contracts themselves are between the individual and CXC. The offer details will be provided to CXC by GitLab's hiring team.

New Zealand

CXC will hire individuals as casual employees with an initial contract of two years. This can be extended. Working time is set at 40 hours each week and payment of salary happens on a monthly basis upon payment of invoices that CXC will submit to GitLab at the beginning of each month. In addition to the details on leave, as stated in CXC's contract, further details are also provided in a separate letter.

  1. Offer is made by the recruiter per the hiring process.
  2. The Candidate Experience Specialist emails the new team member the Contract Info Request - New Zealand from GreenHouse.
  3. The Candidate Experience Specialist will update the GreenHouse offer details when the new team member provides the necessary details and then generates the CXC form out of GreenHouse.
  4. The Candidate Experience Specialist will stage the form for their own signature via DocuSign and Cc the new team member and the appropriate CXC contact. Contact details can be found in 1password => People Operations Vault => Entity & Co-employer HR Contacts
  5. The Candidate Experience Specialist should add the candidate to the PEO Tracking Sheet and keep track of communication between GitLab.
  6. CXC will then prepare the SOW and contract.
  7. CXC will then reach out to the candidates directly to coordinate the contract signing and onboarding to CXC's payroll.
  8. CXC will send a copy of the signed contract to the Candidate Experience Specialist.
  9. The Candidate Experience Specialist will upload a copy of the signed contract to Greenhouse prior to marking the candidate as hired and exporting candidate to BambooHR.
    • Select Offer Details tab on left menu bar.
    • Scroll down to Offer Documents section.
    • Click Upload Signed Offer Document.
  10. The CES will adjust the 'Accepted' date to match the 'Sent' date.
  11. The Candidate Experience Specialist will now hire and export candidate to BambooHR.

Canada

CXC will hire individuals as T4 Workers, paid on an hourly basis each fortnight. Time-sheets are required to be completed and submitted to CXC. These are to comply with the public holiday paid time off requirements and vacation pay accrual that is credited to the individuals account. In addition to the paid vacation as stated in CXC's contract, further details are also provided in a separate letter.

Timesheet completion and submission can be automated using the instructions and scripts in this repository.

  1. Offer is made by the recruiter per the hiring process.
  2. The Candidate Experience Specialist emails the new team member the Contract Info - CXC template from GreenHouse: Click Email (Candidate's Name) button in GreenHouse and select Contract Info - CXC template.
  3. Update stock options in body of email.
  4. Click Send Email.
  5. Click Generate at the bottom of the offer details section in GreenHouse.
  6. Select CXC Global Canada template.
  7. Click Generate.
  8. Click Send with GreenHouse.
  9. Select Offer through Greenhouse - CXC template.
  10. Send to new team member (should autopopulate) and appropriate CXC contact. CC recruiter and hiring manager. Contact details for CXC can be found in 1password => People Operations Vault => Entity & Co-employer HR Contacts.
  11. CXC will then prepare the SOW and return it to the CES for their signature.
  12. Upon receipt of the SOW, save the pdf.
  13. Sign in to Docusign.
  14. Click New.
  15. Select Sign a Document.
  16. Click Upload.
  17. Select the saved pdf.
  18. Click sign.
  19. Select Continue.
  20. Add name, signature, title, and date.
  21. Click Finish.
  22. Enter name and email of CXC contact.
  23. Click Send and Close.
  24. The Candidate Experience Specialist should add the candidate to the PEO Tracking Sheet and keep track of communication between GitLab.
  25. CXC will then reach out to the candidates directly to coordinate the contract preparation, signing and onboarding to CXC's payroll.
  26. Kindly allow a duration of one week for CXC to complete their process. This might mean that a two week notice period to start at GitLab, could increase to three weeks, its important to communicate this duration to new hires in this location.
    • Note CXC will give confirmation when the new team member signs the contract, but will NOT provide a copy of the contract.
  27. Once notified that the contract has been signed by the new team member, the CES will mark the candidate as hired and export to BambooHR.
  28. The Candidate Experience Specialist will adjust the 'Accepted' date to match the 'Sent' date on the Offer Details tab.

CXC currently does not cover the Medical Services Plan (MSP) fees in British Columbia, Canada.

Poland

CXC provides a 12 month contract in this location, this can be extended. They are only able to support contractors that have an establised entity/company in Poland. The offer details will be provided to CXC by GitLab's hiring team.

  1. Offer is made by the recruiter per the hiring process.
  2. The Candidate Experience Specialist emails the new team member the Contract Info Request - CXC from GreenHouse.
  3. The Candidate Experience Specialist will update the GreenHouse offer details when the new team member provides the necessary details and then generates the CXC form out of GreenHouse.
  4. The Candidate Experience Specialist will stage the form for their own signature via DocuSign, the new team member and the appropriate CXC contact. Contact details can be found in 1password => People Operations Vault => Entity & Co-employer HR Contacts.
  5. The Candidate Experience Specialist should add the candidate to the PEO Tracking Sheet and keep track of communication between GitLab.
  6. CXC will then prepare the SOW and contract.
  7. CXC will then reach out to the candidates directly to coordinate the contract signing and onboarding to CXC's payroll.
  8. Kindly allow a duration of one week for CXC to complete their process. This might mean that a two week notice period to start at GitLab, could increase to three weeks, its important to communicate this duration to new hires in this location.
  9. The Candidate Experience Specialist will mark the candidate as hired and export the candidate to BambooHR once notified by CXC that the contract has been signed.
  10. The Candidate Experience Specialist will adjust the 'Accepted' date to match the 'Sent' date on the Offer Details tab.

Ukraine

CXC provides a 12 month contract in this location, this can be extended. They are only able to support contractors that has an establised entity/company in Ukraine. The offer details will be provided to CXC by GitLab's hiring team.

  1. Offer is made by the recruiter per the hiring process.
  2. The Candidate Experience Specialist emails the new team member the Contract Info Request - CXC from GreenHouse.
  3. The Candidate Experience Specialist will update the GreenHouse offer details when the new team member provides the necessary details and then generates the CXC form out of GreenHouse.
  4. The Candidate Experience Specialist will stage the form for their own signature via DocuSign, the new team member and the appropriate CXC contact. Contact details can be found in 1password => People Operations Vault => Entity & Co-employer HR Contacts.
  5. The Candidate Experience Specialist should add the candidate to the PEO Tracking Sheet and keep track of communication between GitLab.
  6. CXC will then prepare the SOW and contract.
  7. CXC will then reach out to the candidates directly to coordinate the contract signing and onboarding to CXC's payroll.
  8. Kindly allow a duration of one week for CXC to complete their process. This might mean that a two week notice period to start at GitLab, could increase to three weeks, its important to communicate this duration to new hires in this location.
  9. CXC will send a copy of the signed contract to the Candidate Experience Specialist.
  10. The Candidate Experience Specialist will upload a copy of the signed contract to Greenhouse prior to marking the candidate as hired and exporting candidate to BambooHR.
    • Select Offer Details tab on left menu bar.
    • Scroll down to Offer Documents section.
    • Click Upload Signed Offer Document.
  11. The CES will adjust the 'Accepted' date to match the 'Sent' date.
  12. The Candidate Experience Specialist will now hire and export candidate to BambooHR.

Safeguard

GitLab has partnered with Safeguard to hire in Hungary, South Africa, Switzerland, Ireland, France, Italy, Brazil, Spain, South Korea, Japan. You can also review this document that Safeguard created regarding frequently asked questions about their process.

To create the contract:

  1. The Offer is made by the recruiter per the hiring process.
  2. The Candidate Experience Specialist emails the new team member to gather additional details required to generate the contract.
    • From the GreenHouse profile, under tools, click to email the new team member
    • From the template drop down list select: Contract Info Request - Safeguard
    • Send Email
  3. When the new team member provides the necessary details the Candidate Experience Specialist will save the required forms of ID, update GreenHouse offer details and generates the Safeguard form out of GreenHouse.
    • Offer Details
    • Update
    • Work Authorization ID
    • Nationality
    • Country of Citizenship
    • Level of Role
    • Position Category
    • Travel Percentage
    • Save
    • Navigate to Offer Documents
    • Generate
    • Click in the white space below Select templates
    • Select Safeguard - Template from the drop down list
    • Generate
    • Send with DocuSign
    • Template: Offer through DocuSign - Safeguard
    • To User: yourself
    • Add our single point of contact at Safeguard and the global email address to the list of CC email addresses. If they are not populating automatically you can find their contact details in 1password => People Operations Vault => Entity & Co-employer HR Contacts.
    • Attachments: Choose Files
    • Select the saved forms of ID file
    • Open
    • Preview on DocuSign
    • Select the new team member's name in the upper left hand corner
    • Edit Recipients
    • On the new team member's block change Needs to Sign to Receives a Copy
    • Edit the signing order to yourself 1 and everyone else 2
    • Done
    • Add fields to Section 5 of the form if they do not auto populate: Name, title, email, and date
    • Send
    • Do you want to sign this now? Yes
    • Sign the form
  4. The Candidate Experience Specialist should add the candidate to the PEO Tracking Sheet and keep track of communication between GitLab.
  5. Once Safeguard receives the form they will contact the candidate directly to onboard them. This first contact usually takes 2-3 days, but can take up to a week.
  6. If the Candidate Experience Specialist does not hear back from Safeguard within 72 hours, they will follow up to check if the start date is viable, get timing on when they will hear back and when the new hire will receive their contract and other important employee information.
  7. The new hire should be kept updated by the Candidate Experience Specialist or Recruiter by email. If the contract has not been received by GitLab 5 business days prior to the start date, we'll need to reconsider the start date.
  8. The Candidate Experience Specialist will upload a copy of the signed contract to Greenhouse prior to marking the candidate as hired and exporting candidate to BambooHR.
    • Select Offer Details tab on left menu bar.
    • Scroll down to Offer Documents section.
    • Click Upload Signed Offer Document.
  9. The CES will adjust the 'Accepted' date to match the 'Sent' date.
  10. The Candidate Experience Specialist will now hire and export candidate to BambooHR.

Preparing Employment Agreements for GitLab team-members in India

GitLab is working in partnership with Lyra Infosystems for employing GitLab team-members located in India. These agreements are mailed rather than emailed so there is a lead time of approximately one week for completion before the new hire can start their employment at GitLab. The process for creating and sending an agreement is as follows:

  1. The Offer is made by the recruiter per the hiring process.
  2. The Candidate Experience Specialist will email the new team member Contract Info Request - India from GreenHouse.
  3. The Candidate Experience Specialist will email Lyra HR with salary information for the new hire so that Lyra can prepare the Cost to Company (CTC) breakdown to include in the contract. The Cost to Company (CTC) breakdown will be sent to the Candidate Experience Specialist and is required to complete the next steps.
  4. The Candidate Experience Specialist will update the GreenHouse offer details when the new team member provides the necessary details and then generates the LyraHR form out of GreenHouse and attaches the Cost to Company (CTC) Sheet to "Anexure A."
  5. The Candidate Experience Specialist will stage the form for their own signature via DocuSign, the new team member and LyraHR. Contact details can be found in 1password => People Operations Vault => Entity & Co-employer HR Contacts.
  6. Once the contract has been emailed, HR at Lyra will send the hardcopy for signature directly to the new team member's home address.
  7. The Candidate Experience Specialist should add the candidate to the PEO Tracking Sheet and keep track of communication between GitLab.
  8. When the contract has been signed HR at Lyra will send the Candidate Experience Specialist a PDF copy of the document which can then be filed in BambooHR.
  9. The Candidate Experience Specialist will upload a copy of the signed contract to Greenhouse prior to marking the candidate as hired and exporting candidate to BambooHR.
    • Select Offer Details tab on left menu bar.
    • Scroll down to Offer Documents section.
    • Click Upload Signed Offer Document.
  10. The CES will adjust the 'Accepted' date to match the 'Sent' date.
  11. The Candidate Experience Specialist will now hire and export candidate to BambooHR.

Employment Agreements for GitLab team-members in China

GitLab is working in partnership with CIIC to employ GitLab team-members located in China. Signed agreements between GitLab and CIIC are required to employ any new hire. Therefore, there will be a lead time of approximately three weeks prior to starting. As soon as it becomes clear that an offer to a candidate is going to be made, People Ops will reach out to CIIC to begin the process. The process for preparing the agreements between all parties is as follows:

GitLab and New Hire:

  1. Once the verbal offer has been made by the recruiter hiring process complete the Template-GitLab China Employee Offer letter as per How to use this page to prepare a contract.
  2. CIIC require a Chinese version of a Letter of Employment Intent.
  3. Complete the Letter of Intents with all of the information required/known. This should be completed in English first then translated into Chinese using Google Translate.
  4. Once this has been done send the GitLab (Chinese & English) versions of the Letter of Employment Intent to the new hire for their review, completion and signature using DocuSign. Ensure that Peopleops and CIIC are copied.
  5. Once everything has been signed, print and FedEx the Chinese and English Letter of Intents to CIIC. The address can be found in the PEO China folder > China Employment Options > CIIC in the Google Drive.
  6. The Candidate Experience Specialist should add the candidate to the PEO Tracking Sheet and keep track of communication between GitLab.
  7. The PEO will provide a copy of the signed contract.
  8. The Candidate Experience Specialist will upload a copy of the signed contract to Greenhouse prior to marking the candidate as hired and exporting candidate to BambooHR.
    • Select Offer Details tab on left menu bar.
    • Scroll down to Offer Documents section.
    • Click Upload Signed Offer Document.
  9. The CES will adjust the 'Accepted' date to match the 'Sent' date.
  10. The Candidate Experience Specialist will now hire and export candidate to BambooHR.

GitLab & CIIC:

  1. GitLab has a Secondment Agreement in place with CIIC, this may need to be updated but CIIC will confirm.
  2. Once CIIC have received the documents they will prepare a payment notice and send this to GitLab (peopleops) for payment. This must be paid upfront and may need CFO approval.
  3. After CIIC receive payment they will reach out to the new hire to complete a Labor Contract.

CIIC & New Hire

Once the Labor Contract has been signed by both CIIC and the new hire the individual can now commence their work with GitLab.

Employment Agreements for GitLab team-members in Germany

A wet signature is required for German employment agreements the following process must be followed:

  1. The Offer is made by the recruiter per the hiring process.
  2. The Candidate Experience Specialist sends the new team member the GreenHouse email template: German Contract Step 1.
  3. The Candidate Experience Specialist generates the German Contract form out of GreenHouse and stages for signature though GreenHouse and DocuSign. The Recruiting Manager or the VP of Recruiting (with the CPO and the People Ops Director as backup) signs the German Contract.
  4. The Candidate Experience Specialist saves the unsigned contract to be used in a future step. It may require a manual edit to remove the signature tokens.
  5. Once the DocuSign contract is signed you may hire the candidate in Greenhouse.
  6. The Candidate Experience Specialist saves the DocuSign Contract for upload into BambooHR as per the standard procedure.
  7. Using the Greenhouse email template "German Contract to Mail" the Candidate Experience Specialist emails the unsigned contract to a Recruiting Manager, or the Recruiting Director or CPO as backup. Be sure to attach the unsigned contract to that email. Information that will auto populate in the email includes;
    • German Power of Attorney (POA) document (Google Drive: Employee and Contractor Templates and Staging => German Contracts)
    • new team member's name
    • new team member's name address
  8. The Recruiting Manager or the VP of Recruiting will print two copies of the unsigned contract, sign and then send them to the new team member by postal service or FedEx (details of the fedex account can be found in 1Password => Secretarial Vault => Fedex).
  9. Once the documents have been sent the Recruiting Manager will add the tracking number to the activity feed in the GreenHouse profile.
  10. The Candidate Experience Specialist should set a Greenhouse reminder for 2 weeks time to follow-up with the new team member if they have not received an update.
  11. When the new team member has emailed stating they received and signed the paper version, the Candidate Experience Specialist will email them back the GreenHouse email template German Contract Step 2.
  12. Once the law firm has received the contract they will scan and email a copy to People Operations Specialist to file in BambooHR.

Employment Agreements for GitLab team-members in Japan

  1. The Candidate Experience Specialist emails the new team member to gather additional details required to generate the contract.
    • From the GreenHouse profile, under tools, click to email the new team member
    • From the template drop-down list select: Contract Info Request - Safeguard
    • Send Email
  2. When the new team member provides the necessary details the Candidate Experience Specialist will save the required forms of ID, update GreenHouse offer details and generates the Safeguard form out of GreenHouse.
    • Offer Details
    • Update
    • Work Authorization ID
    • Nationality
    • Country of Citizenship
    • Level of Role
    • Position Category
    • Travel Percentage
    • Save
  3. Navigate to Offer Documents and Generate
    • Click in the white space below Select templates
    • Select Safeguard - Template from the drop-down list
    • Generate
  4. Send with DocuSign
    • Template: Offer through DocuSign - Innovare (Japan)
    • To User: yourself
    • Add the Innovare contacts to the list of Cc email addresses (If they are not populating automatically you can find their contact details in 1password => People Operations Vault => Entity & Co-employer HR Contacts.)
    • Fill in the Project Lead contact details with the hiring manager's name and email address
    • Confirm the Probation Period, Leave Benefits, and Termination Notice are correct
    • Attachments: Choose Files
    • Select the saved forms of ID file
    • Open
    • Preview on DocuSign
  5. Select the new team member's name in the upper left-hand corner
    • Edit Recipients
    • On the new team member's block change Needs to Sign to Receives a Copy
    • Edit the signing order to yourself 1 and everyone else 2
    • Done
  6. Add fields to Section 5 of the form if they do not auto-populate: Name, title, email, and date
    • Send
  7. Do you want to sign this now? Yes
    • Sign the form
  8. The Candidate Experience Specialist should add the candidate to the PEO Tracking Sheet and keep track of communication between GitLab.
  9. Once GitLab receives a signed copy of contract, they will proceed to upload to GH and complete normal steps.

Employment Agreements for GitLab team-members located everywhere else (IT BV contractor agreements)

  1. Review the Hiring Status of the location you are working with. If the location has not been evaluated yet, we issue a IT BV contractor agreement.
  2. If the candidate would like to use their own entity for the contractor agreement update the offer details with the Contractor Name and Address. You will use the IT BV Contractor Agreement - C2C in these cases.
  3. Generate IT BV Contractor Agreement - Independent or the IT BV Contractor Agreement - C2C
  4. Select Send with DocuSign
  5. Select "Offer through DocuSign" email template
  6. Update the "To" field to include the GitLab signatory and include the hiring manager in CC field
  7. Select Preview on DocuSign
  8. Once in DocuSign, update the signing order as you would with other contracts and hit send

Contractor Conversions to Employees

As GitLab continues to scale, we sometimes convert all BV Contractors in a country to Employees through a PEO (Professional Employer Organization) or GitLab entity. This also aligns with GitLab's strategy and growth plans. The People Operations Specialist is responsible for managing the country conversion process.

Converting Contractors to Employees:

  1. The People Operations Specialist (POS) team will pull a weekly report (every Friday) to review the amount of hire's per country (this should include reporting on current offers). When we reach five team members in a country, this is the indicator to proceed to PEO (Professional Employer Organisation).
  2. The DRI for Country Conversion decisions is our Director of Tax. All requests for converting a country to PEO, will be sent by the Director of Tax to countryconversions@gitlab.com email alias and confirm the conversion priority (green, yellow or red according to urgency).
  3. The People Operations Specialist team will rotate which member of the team will be the country owner for the requested country. The assigned People Ops team member will send an email to all of our country vendors using the Country Conversions Quote Request template to request a quote from all current PEO vendors to compare benefits, cost, and ability to scale. The countryconversions@gitlab.com email alias should also be copied on this email for full transparency and visibility.
  4. As the People Operations Specialst receives requested information from vendors, they should proceed with the following steps:
  5. The assigned POS sends an email to all team members based in the converting country to provide a heads up about the country conversion and share the country issue link for feedback and transparency.
  6. Once all country vendor quotes and benefits information are obtained, the People Operations Specialist will make a non-official country vendor recommendation based on: employee experience, social norm in the location, cost impact to the employee, overall SLA between GitLab and the PEO vendor, cost impact to GitLab, PEO vendor ability to scale and delivery quickly, alignment with our values, and meeting tech needs/digital way of working. This recommendation should be shared with the larger People Operations International Expansion for feedback in the #country_conversions Slack channel.
  7. Once the initial recommendation is determined, the People Operations Specialist will ping the Manager of Compensation & Benefits in the corresponding country issue, sharing benefits information from all vendors.
  8. The Compensation & Benefits Group will focus on benefits evaluation for the non-official country vendor recommendation first and aim to align the benefits package with GitLab's needs.
  9. In the event that the Compensation & Benefits Group determines that the non-official country vendor recommendation is not a fit for GitLab's benefits needs, the People Operations Specialist will share the runner-up selection for benefits reviewal.
  10. After a final recommendation is agreed upon, People Operations Specialist country owner will tag the CFO on the CFO Approval line in the Country Conversions sheet requesting approval.
  11. If the CFO approves the recommendation, proceed to the following steps. If the recommendation is not approved, the People Operations Specialist should proceed with investigating other options.
  12. The People Operations Specialist will send Payroll a note about the change that is coming and mention a follow up confirmation will be sent once completed.
  13. The People Operations Specialist will send an email, containing the issue and all other information about the conversion, to the team member(s) and their manager confirming that a conversion in their location will be taking place. Note: All questions relating to the converion should be sent to the People Operation Specialist via email with the countryconversions@gitlab.com email alias copied.
  14. The People Operations Specialist will complete the onboarding document for the PEO that was selected. These templates are found in the Employee and Contracts Templates and Staging folder in the shared drive. These should then be sent to the main Account Manager of the selected PEO to confirm which local contact should be used for the conversion.
  15. The selected PEO will then reach out to the team member and start the onboarding process.
  16. The People Operations Specialist will complete the Mutual Termination Agreement, found in the Drive called Employee and Contractor Templates and Staging mentioned above. This will need to uploaded to HelloSign signed by both the team member and CFO in accordance with the new selected start date of the team member. The start date is usually within two calendar months after the initial conversion email was sent.

Note: Once the Mutual Termination Agreement is signed, it is essential that it is uploaded to the team member's BambooHR profile in the Contracts & Changes section.

  1. The People Operations Specialist will keep the issue created above up to date with any questions asked documented in the relevant section of the handbook.
  2. The People Operations Specialist will update the Payroll team to confirm the change as well as the internal compensation calculator
  3. The People Operations Specialist will update BambooHR with the team member status for: payroll type, location, and any other relevant updates.
  4. The People Operations Specialist will notify the People Analyst team by emailing compensation@gitlab.com to audit BambooHR and other systems to ensure there are no pending updates.