Merchants and Merchant Details
Merchants are the central entity of the XRM module. A merchant represents a marketplace participant or external business that offers goods or services through the platform. Every merchant is linked to a party profile, inheriting foundational identity data while adding merchant-specific attributes.
Why merchants extend parties
The platform uses a party model (PRM module) as the universal representation of any person or organisation. A merchant is a specialisation of a party — it has all the attributes of a party (name, contacts, addresses via party sites) plus merchant-specific concerns like logo images, type codes, and approval workflows.
This separation means:
- Contact details, addresses, and relationships are managed at the party level
- Merchant-specific attributes include branding, classification, and approval details
- A single party can potentially have multiple merchant records across tenants
Merchant profile attributes
| Field | Purpose |
|---|---|
party_id | Link to the underlying party record |
merchant_name | Formal business name |
merchant_name_i18n | Internationalised name translations |
merchant_common_name | Trading or display name |
merchant_common_name_i18n | Internationalised common name translations |
merchant_description | Free-text description of the merchant |
merchant_description_i18n | Internationalised description translations |
merchant_image_url_logo | URL to the merchant's logo image |
merchant_image_url_thumbnail | URL to a smaller thumbnail image |
Internationalisation
The internationalisation fields store translated versions of merchant names and descriptions. The base field holds the default value, while the internationalised field holds locale-keyed translations, enabling multi-language merchant profiles.
Status and classification codes
| Field | Purpose |
|---|---|
merchant_type_code | High-level merchant type (lookup value) |
merchant_class_code | Business class within the type (lookup value) |
merchant_status_code | Operational status (e.g. active, suspended) |
merchant_approval_status_code | Onboarding approval workflow status |
These code columns reference lookup values and enable filtering merchants by type, class, and lifecycle state. The merchant_approval_status_code tracks where a merchant is in the onboarding or re-approval process, separate from the operational merchant_status_code.
External references
| Field | Purpose |
|---|---|
merchant_external_source | Name of the external system the merchant was imported from |
merchant_external_reference | Identifier in the external system |
These columns support data migration and integration scenarios where merchants originate from external platforms.
Authorisation model
Merchant access is tenant-scoped and permission-controlled. Merchant owners can access their own merchant records, and other users can view or modify merchant records only when they have the appropriate permissions.