Trade Register Data Structure for PKI and Subject Verification

Trade Register data should be stored as time-bound facts, not reconstructed from logs.

A jurisdiction-specific `subject_identifier` is proposed to identify the registered subject.

The internal subject_id remains the primary identifier within the Trade Register.

Names, legal status and optional subject attributes should be modelled using relational structures with explicit UTC date-times.

The primary trade name designation is a separate historical fact and should be maintained in its own table.

Optional attributes, such as IBAN, should be clearly identified and may require explicit consent before disclosure.

Field reference - From June 11, 2026 - Insight at janwillemstegink.nl

Naming Standardization in the Trade Register

Abbreviations such as B.V. and N.V. should be standardized as BV and NV by introducing a legalized_name name type. Trade names must be retrievable in their original letter case for precise matching.

Table Field Key Req. Meaning
registered_subjectsubject_idPKYesInternal Trade Register subject identifier.
subject_identifierIDXYesUnique reference assigned to a registered subject and prefixed by the issuing jurisdiction.
local_codeIDXYesUnique local Trade Register number assigned by the registration authority.
jurisdiction_codeYesIssuing jurisdiction code.
registration_authorityYesRegister authority.
subject_fromYesUTC date-time from which this subject record applies.
subject_toNoUTC date-time until which this subject record applied; empty means current.
subject_legal_statuslegal_status_idPKYesLegal status record identifier.
sls_subject_idFKYesRegistered subject.
legal_statusYesRecorded legal status.
legal_status_codeNoStandardized abbreviation of the legal status.
status_fromYesUTC date-time from which this legal status applies.
status_toNoUTC date-time until which this legal status applied; empty means current.
subject_namename_idPKYesName record identifier.
sn_subject_idFKYesRegistered subject.
name_typeYeslegal, legalized, trade.
name_valueYesRecorded name value.
is_case_sensitiveYesUppercase/lowercase distinction applies.
name_fromYesUTC date-time from which this name applies.
name_toNoUTC date-time until which this name applied; empty means current.
primary_trade_nameprimary_name_idPKYesPrimary trade name designation record.
ptn_subject_idFKYesRegistered subject.
ptn_name_idFKYesName designated as primary trade name.
primary_fromYesUTC date-time from which this name is primary.
primary_toNoUTC date-time until which this name was primary; empty means current.
subject_locationlocation_idPKYesSubject location record.
sl_subject_idFKYesRegistered subject.
sl_name_idFKNoTrade name associated with this location.
street_address1NoPrimary street address line.
street_address2NoAdditional street address line.
postal_codeNoPostal or ZIP code.
cityNoCity or locality.
state_regionNoState, province, or region.
country_codeNoISO 3166-1 alpha-2 country code.
location_fromYesUTC date-time from which this location applies.
location_toNoUTC date-time until which this location applied; empty means current.
optional_subject_attributeattribute_idPKYesOptional attribute record.
osa_subject_idFKYesRegistered subject.
attribute_nameYesiban, bic, account_holder_name, website_url, contact_email.
attribute_valueNoProvided value; empty means not provided.
consent_requiredYesExplicit consent required before disclosure.
attribute_fromYesUTC date-time from which this attribute applies.
attribute_toNoUTC date-time until which this attribute applied; empty means current.
subject_responsibleresponsible_idPKYesResponsible party record identifier.
sr_subject_idFKYesRegistered subject.
responsible_subject_codeIDXYesSubject code identifying the responsible natural person.
responsible_nameYesRecorded name of the responsible party.
responsible_roleYesRole of the responsible party.
authority_to_representNoIndicates authority to represent the subject.
responsible_fromYesUTC date-time from which this responsibility applies.
responsible_toNoUTC date-time until which this responsibility applied; empty means current.

Rules