Computershare GEMS
Import companies, people, shareholdings and appointments from Computershare GEMS.
Note
The GEMS connector is not self-service yet. Avallone support sets up the connection with you. This page explains what you need to prepare.
The GEMS connector imports data from Computershare GEMS (Global Entity Management System) into Avallone:
- companies, with their addresses, status and capital;
- people;
- shareholdings, as ownership between companies, or between a person and a company;
- appointments, as the positions people hold at companies.
Avallone reads this data through saved searches in your GEMS environment. You choose which saved search Avallone reads for each GEMS schema. See Supported schemas and Saved searches.
How authentication works
Avallone signs in to GEMS as an API client, not as a GEMS user. It uses the OAuth 2.0 client credentials flow:
- Avallone sends the API client's client ID and client secret to the GEMS token endpoint, and asks for the
gemswebapiscope. - GEMS returns a short-lived access token.
- Avallone sends that token with each request to the GEMS Web API.
Avallone requests a new token when it needs one. Nobody has to sign in or renew access by hand.
Both endpoints are on your GEMS environment's base URL:
| Endpoint | Address |
|---|---|
| Token endpoint | https://<your GEMS base URL>/gemsidsvr/connect/token |
| GEMS Web API | https://<your GEMS base URL>/gemswebapi/api |
The base URL must use HTTPS. Avallone stores the client secret securely, never shows it again, and only sends it to the base URL it was saved with.
Client certificate
Some GEMS environments also require a client certificate. GEMS then uses mutual TLS: when Avallone connects, it proves that it holds the certificate's private key. Avallone presents the certificate on every connection to GEMS, including the token request. It is used together with the client ID and client secret, not instead of them.
A client certificate is optional. Only use one if Computershare asks for it.
Computershare issues the certificate as a .pfx file with a password:
-
The file must be a
.pfxor.p12file of at most 32 KB. -
Avallone checks the password when the certificate is saved, and rejects a wrong one.
-
Avallone rejects older
.pfxfiles that use legacy encryption. Re-export such a file with modern encryption, then use the new file:openssl pkcs12 -legacy -in old.pfx -nodes | openssl pkcs12 -export -out new.pfx
Avallone stores the certificate and its password securely, and never shows them again. The certificate has an expiry date. Ask Computershare for a new certificate before it expires, because GEMS refuses the connection once it has expired. Avallone shows the expiry date as a warning from 30 days before it.
GEMS environments
Each GEMS environment, such as UAT or production, has its own base URL and its own API client. Connecting another environment needs that environment's client secret. It also clears the chosen saved searches, because saved searches belong to one environment. A stored client certificate is kept. Replace or remove it if the other environment uses a different certificate, or none.
Ask Computershare or your GEMS administrator
Send them this list:
- Register an API client for Avallone that can use the client credentials flow, with access to the
gemswebapiscope. GEMS then issues a client ID and a client secret. - Confirm the base URL of the GEMS environment to connect, for example the UAT or the production environment.
- Tell you whether the environment requires a client certificate. If it does, they issue a
.pfxfile and its password. - Create the saved searches Avallone will read, one for each schema you want to import. See What each saved search should include.
- Share the base URL, the client ID, the client secret and, if there is one, the client certificate and its password. Use a secure channel for the credentials if possible.
Supported schemas
GEMS organizes its data in schemas. Avallone reads these eight:
| Schema | What Avallone imports from it | Required |
|---|---|---|
| Company Basics | The companies, and their main details | Yes |
| Entity Address | Company addresses | No |
| Status History | Company status | No |
| Summary Capital | Company capital | No |
| Summary Shareholders | Shareholdings | No |
| Company Appointments | Appointments | No |
| Add Entity | Every entity in GEMS, used to find who a shareholder is | No |
| Person Basics | People | No |
Company Basics is required, because it holds the GEMS entity ID that every other schema refers to. The other schemas can be added later.
Some schemas only work together:
- Shareholdings and appointments link to people only if Person Basics is also set up. Without Person Basics, no people are imported.
- Add Entity helps Avallone find who each shareholder is. Without it, Avallone only matches shareholders to the companies and people it imports.
Saved searches
Saved searches are the searches you save in GEMS for a schema. They are specific to each GEMS environment. Avallone lists the saved searches in your environment, and you choose one for each schema.
A saved search decides two things:
- Which records Avallone imports. Avallone imports every row the saved search returns. Use the search's filters to limit the import, for example to the companies Avallone should know about.
- Which columns Avallone can import. Avallone can only import a column the saved search returns.
Every schema also has a default [All] saved search. It returns every column of the schema, with no filters. Use it if you don't need a custom saved search.
Avallone reads the columns of each saved search from GEMS every time its settings are opened. A change to a saved search in GEMS shows up in Avallone without further setup.
What each saved search should include
Each saved search must include the GEMS entity ID column. Avallone uses it to link the schemas together. It also uses it to recognize a record it has already imported, so a later sync updates it instead of creating a copy.
Columns Avallone has no standard field for can still be imported into custom fields, for companies and for people.
Company Basics
| Column | Required |
|---|---|
| GEMS entity ID | Yes |
| Company name | Yes |
| Registration number, VAT number, LEI | No |
| Country and date of incorporation, legal form | No |
| Contact first name, last name and email | No |
Entity Address
| Column | Required |
|---|---|
| GEMS entity ID | Yes |
| Street, postcode, city and country | No |
Status History and Summary Capital
| Column | Required |
|---|---|
| GEMS entity ID | Yes |
| The status or capital columns to import | No |
Summary Shareholders
Each row is one shareholding.
| Column | Required |
|---|---|
| GEMS entity ID of the company whose register the shareholding is on | Yes |
| Shareholder name | Yes |
| Ownership percentage | No |
| Voting percentage | No |
| Reason, such as the security held | No |
| Notes | No |
A shareholder that holds several securities in one company appears on several rows. Avallone adds their percentages together, up to 100%.
Add Entity
Each row is one entity in your GEMS environment. Avallone matches each shareholder name to an entity here.
| Column | Required |
|---|---|
| GEMS entity ID | Yes |
| Entity name | Yes |
| Entity type | No, but recommended |
Avallone uses the entity type to tell people from companies. A value such as Individual, Person or Natural person means a person. Any other value means a company. Without the entity type, Avallone treats every shareholder as a company.
Person Basics
| Column | Required |
|---|---|
| GEMS entity ID | Yes |
| First name | Yes |
| Last name | Yes |
| Email, PEP status, date of birth, country of birth | No |
| Citizenship, tax country, tax identification number | No |
| Street, postcode, city and country | No |
First name and last name must be separate columns. Avallone doesn't import a person without both.
By default, Avallone only imports a person who holds a shareholding or an appointment in one of the imported companies. Person Basics usually lists far more people than that. Avallone support can turn this filter off to import everyone the saved search returns.
Company Appointments
Each row is one position held at one company.
| Column | Required |
|---|---|
| GEMS entity ID of the company | Yes |
| GEMS entity ID of the person, or their name | One of the two. The entity ID is preferred. |
| Position | No, but recommended |
| Title | No |
| Appointed on | No |
| Resigned on | No |
Avallone turns each position into an officer role, and creates any role your tenant doesn't have yet. Without a position, every appointment gets the role Other.
Dates must use the format YYYY-MM-DD, such as 2024-03-31. Avallone leaves out a date in another format rather than guess it.
Only people are appointed. Avallone skips a company appointed as an officer.