ores.refdata.counterparty_identifier

Table of Contents

External identifiers for counterparties, such as LEI codes, BIC/SWIFT codes, national registration numbers, and tax identifiers. Each counterparty can have multiple identifiers across different schemes.

Flags

Columns

id

UUID uniquely identifying this counterparty identifier.

Surrogate key for the counterparty identifier record.

counterparty_id

The counterparty this identifier belongs to.

References the parent counterparty record.

uuid_gen()

id_scheme

The identification scheme for this identifier.

References the party_id_scheme lookup table (e.g. LEI, BIC).

// no_generator_suffix: validated enum, a "-<idx>" suffix would be invalid.
// Rotate so a batch of several identifiers for one counterparty gets
// distinct schemes (max one identifier per scheme per counterparty).
[idx]{
    static constexpr const char* schemes[] = {
        "LEI", "BIC", "MIC", "NATIONAL_ID", "CEDB",
        "NATURAL_PERSON", "ACER", "DTCC_PARTICIPANT_ID", "MPID", "INTERNAL"};
    return std::string(schemes[idx % 10]);
}()

id_value

The identifier value.

The actual identifier string within the scheme. Part of the natural key alongside counterparty_id and id_scheme — a counterparty can hold more than one identifier under the same scheme as long as the value differs.

std::string(faker::string::alphanumeric(20))

description

Optional description of this identifier.

Free text description providing additional context.

std::string("Test identifier")

SQL

Flags

Foreign keys

counterparty_id

Insert trigger

Validations

column validation_function cardinality_limit_table cardinality_limit_column cardinality_scope_column cardinality_noun
id_scheme ores_refdata_validate_party_id_scheme_fn ores_refdata_party_id_schemes_tbl max_cardinality counterparty_id identifier

C++

Flags

Repository

Domain includes

#include <chrono>
#include <string>
#include <boost/uuid/uuid.hpp>

Entity includes

#include <string>
#include "sqlgen/Timestamp.hpp"
#include "sqlgen/PrimaryKey.hpp"

Conventions

Table display

column header
counterparty_id Counterparty
id_scheme Scheme
id_value Value
description Description
modified_by Modified By
version Version

Custom repository methods

Qt

Note: counterparty_id is deliberately not exposed as a Detail field – like Book's parent_portfolio_id, it's always known from the owning context (the counterparty's own Identifiers tab) and set programmatically before the dialog is shown, never user-chosen.

Detail fields

field label widget type is_key is_required placeholder combo_domain_type combo_fetch_include combo_fetch_fn combo_watcher_name combo_code_field combo_tooltip_field combo_sort_field combo_label combo_setter_pascal badge_key
id Id idEdit line_edit true true Counterparty identifier id                    
id_scheme Scheme idSchemeCombo dynamic_combo false true   refdata::domain::party_id_scheme ores.qt/LookupFetcher.hpp fetch_party_id_schemes idSchemeWatcher code description display_order id schemes IdSchemeCombo  
id_value Value idValueEdit line_edit false true Enter identifier value                    
description Description descriptionEdit line_edit false false Enter description                    

Columns (Qt model)

enum_name field header type width
IdScheme id_scheme Scheme string 100
IdValue id_value Value string 180
Description description Description string 200
Version version Version int 80
ModifiedBy modified_by Modified By string 120
RecordedAt recorded_at Recorded At timestamp 150

See also

Emacs 29.3 (Org mode 9.6.15)