User identifiers

This guide describes which identifier standards are accepted by our API. For each standard we also provide a regular expression that can be used to ensure a provided number is validly formatted.

CONCAT identifier

Once the user is created and the set of nationalities corresponds to the list of nationalities below, a so-called CONCAT identifier is automatically generated on our side. This allows Upvest to create transaction reports for our clients.

INFO

Note that there is no need to create this CONCAT identifier explicitly via the API.


List of nationalities

Out of the box, Upvest supports user onboarding for the following nationalities which use CONCAT as their accepted reporting standard:

  • AT - Austria

  • DE - Germany

  • FR - France

  • HU - Hungary

  • IE - Ireland

  • LU - Luxembourg

INFO

If a user has more than one nationality, the first nationality will be used if the list of nationalities is in alphabetical order.
The exception is that nationalities from the EEA (European Economic Area) always take precedence over nationalities from non-EEA countries.


User nationalities that need explicit identifier

Country codeIdentifier standardDescriptionRegex
BEBNNBelgian National Number^[0-9]{2}([0][1-9]|[1][012])([0][1-9]|[12][0-9]|[3][01])[0-9]{5}$
BGBPNBulgarian Personal Number^[0-9]{2}([0][1-9]|[1][012]|[4][1-9]|[5][012])([0][1-9]|[12][0-9]|[3][01])[0-9]{4}$
CYCYPNCypriot National Passport Number^(([E][0-9]{6})\b|([K][0-9]{8}))$
CZCZNICzech National Identification Number^[0-9]{2,6}-?[0-9]{2,10}\/?[0-9]{4}$
DKDPICDanish Personal Identity Code^([0][1-9]|[12][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{2}[0-9]{4}$
EEEPICEstonian Personal Identification Code^[1-6][0-9]{2}([0][1-9]|[1][012])([0][1-9]|[12][0-9]|[3][01])[0-9]{4}$
ESSTINSpanish Tax Identification Number^[A-Z0-9]{9}$
FIFPINFinnish Personal Identification Code^([0][1-9]|[1][0-9]|[2][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{2}[A+-][0-9]{3}(?![GIOQZ])[A-Z0-9]$
GBGPNGeneral Passport Number^[A-Z0-9]{3,}$
GRDSSGreek DSS Investor Share^[0-9]{10}$
HROIBCroatian Personal Identification Number^[0-9]{11}$
ISIPICIcelandic Personal Identity Code^([0][1-9]|[1][0-9]|[2][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{2}[0-9]{4}$
ITFSCItalian Fiscal Code^[A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1}$
LILIPBLiechtenstein National Passport Number^[A-Z][0-9]{5}$
LTLTPCLithuanian Personal Code^[1-6][0-9]{2}[0,1][0-9][0-9]{2}[0-9]{4}$
LVLVPCLatvian Personal Code^(0[1-9]|[12][0-9]|3[01])(0[1-9]|1[012])(\d{2})[-]?(0|1|2)(\d{4})$
MTMTNIMaltese National Identification Number^[0-9]{7}[A-Z]$
NLNLPNDutch National Passport Number^[A-NP-Z]{2}[A-NP-Z0-9]{6}[0-9]$
NONDPINorwegian 11 Digit Personal ID^([0][1-9]|[12][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{7}$
PLPESELPolish National Identification Number^[0-9]{11}$
PTPTTNPortuguese Tax Number^[0-9]{9}$
RORONIRomanian National Identification Number^[1-9]\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])(0[1-9]|[1-4]\d|5[0-2]|99)(00[1-9]|0[1-9]\d|[1-9]\d\d)\d$
SESEPISwedish Personal Identity Number^((19)|(20))[0-9]{2}([0][1-9]|[1][012])([0][1-9]|[12][0-9]|[3][01])[0-9]{4}$
SIEMSOSlovenian Personal Identification Number^([0][1-9]|[12][0-9]|[3][01])([0][1-9]|[1][012])[0-9]{3}[1-9][0-9]{5}$
SKSKPNSlovakian Personal Number^[0-9]{2,6}-?[0-9]{2,10}[0-9]{4}$
Any other ISO2 country codeGPNGeneral Passport Number^[A-Z0-9]{3,}$

If you didn't find your identifier on this page, you might need to visit our other priority identifiers guide.