reda.004.001.06
Scope The FundReferenceDataReport message is sent by a report provider, for example, a fund promoter, fund management company, transfer agent, or market data provider to the report recipient, for example, a professional investor, investment fund distributor, market data provider, regulator or other interested party, to provide the key reference data for financial instruments to facilitate trading. The message may also include reporting data concerning product governance, such as target market data, and a breakdown of the costs and fees. Usage A FundReferenceDataReport message should be prepared for each class of unit/share (for which an individual ISIN should have been allocated), in respect of its “home” market. Each time the fund data changes, the ‘product provider’ must provide the data to a product user, for example, the distributors, by sending a new funds reference data report. A single message may contain more than one report. When the FundReferenceDataReport message is sent to provide updated reference data, the message overwrites the previously sent data. The FundReferenceDataReport message may be used in various models or environments:
- in a standalone environment, for example, initiated by the Report Provider (fund promoter, fund manager and / or reference data vendors) sent on a regular frequency, or when changes are needed.
- in a request / response environment, with the InvestmentFundReportRequest, for example, initiated by report users (data vendors, professional investors, regulators or investment fund distributors) in enabling the user to control the flow and updates of information.
- in a reference data vendor environment, for example, market infrastructure and reference data providers may collate and store all fund reference data information centrally for access via database or regular distribution information. A reference data vendor may assume the role of both report provider and report user. The FundReferenceDataReport message may be used to provide data concerning product governance, such as target market data, and a breakdown of the costs and fees in the context of MiFID II, with respect to the European MiFID Template (EMT) version 3 and 3.1. Versions 3 and 3.1 will coexist until version 4 is available.
Message Construction
Every ISO20022 message has at the highest level what we call ‘building blocks’. Because the message is constructed as immutable records, the association is by composition. Below you can see the relationship between the message and its constituent building blocks: For comparison, see the ISO20022 official specification
classDiagram direction LR %% FundReferenceDataReportV06 recursion level 0 with max 0 class FundReferenceDataReportV06{ FundReferenceDataReportIdentification IsoMax35Text } FundReferenceDataReportV06 *-- "1..1" MessageIdentification1 : MessageIdentification FundReferenceDataReportV06 *-- "0..1" AdditionalReference10 : PreviousReference FundReferenceDataReportV06 *-- "0..1" AdditionalReference10 : RelatedReference FundReferenceDataReportV06 *-- "1..1" FundReferenceDataReport4 : Report
Now, we will zero-in one-by-one on each of these building blocks.
MessageIdentification building block
Reference that uniquely identifies the message from a business application standpoint. Identifies a message by a unique identifier and the date and time when the message was created by the sender. For comparison, see the ISO20022 official specification
classDiagram direction tb %% MessageIdentification1 recursion level 0 with max 1 class MessageIdentification1{ Identification IsoMax35Text CreationDateTime IsoISODateTime }
MessageIdentification1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Identification of the message. | IsoMax35Text - Required 1..1 |
CreationDateTime | Date of creation of the message. | IsoISODateTime - Required 1..1 |
PreviousReference building block
Reference to a linked message that was previously sent. Reference and reference issuer. For comparison, see the ISO20022 official specification
classDiagram direction tb %% AdditionalReference10 recursion level 0 with max 1 class AdditionalReference10{ Reference IsoMax35Text MessageName IsoMax35Text } AdditionalReference10 *-- "0..1" PartyIdentification139 : ReferenceIssuer %% PartyIdentification139 recursion level 1 with max 1 class PartyIdentification139{ LEI IsoLEIIdentifier } PartyIdentification139 *-- "1..1" IPartyIdentification125Choice : Party
AdditionalReference10 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Reference | Reference issued by a party to identify an instruction, transaction or a message. | IsoMax35Text - Required 1..1 |
ReferenceIssuer | Issuer of the reference. | PartyIdentification139 - Optional 0..1 |
MessageName | Name of the message. | IsoMax35Text - Optional 0..1 |
RelatedReference building block
Reference to a linked message that was previously received. Reference and reference issuer. For comparison, see the ISO20022 official specification
classDiagram direction tb %% AdditionalReference10 recursion level 0 with max 1 class AdditionalReference10{ Reference IsoMax35Text MessageName IsoMax35Text } AdditionalReference10 *-- "0..1" PartyIdentification139 : ReferenceIssuer %% PartyIdentification139 recursion level 1 with max 1 class PartyIdentification139{ LEI IsoLEIIdentifier } PartyIdentification139 *-- "1..1" IPartyIdentification125Choice : Party
AdditionalReference10 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Reference | Reference issued by a party to identify an instruction, transaction or a message. | IsoMax35Text - Required 1..1 |
ReferenceIssuer | Issuer of the reference. | PartyIdentification139 - Optional 0..1 |
MessageName | Name of the message. | IsoMax35Text - Optional 0..1 |
FundReferenceDataReportIdentification building block
Unique and unambiguous identifier for the fund reference data report, as assigned by the issuer of the report. Specifies a character string with a maximum length of 35 characters. For comparison, see the ISO20022 official specification This message is declared as Max35Text in the ISO specification. In our implementation, it is represented in source code as IsoMax35Text. Due to global using directives, it is treated as a System.String by the compiler and runtime.
Report building block
Fund reference data. Fund reference data. For comparison, see the ISO20022 official specification
classDiagram direction tb %% FundReferenceDataReport4 recursion level 0 with max 1 class FundReferenceDataReport4{ Identification IsoMax35Text GeneralReferenceDate IsoISODate TargetMarketIndicator IsoYesNoIndicator ExAnteIndicator IsoYesNoIndicator ExPostIndicator IsoYesNoIndicator } FundReferenceDataReport4 *-- "0..1" MarketPracticeVersion1 : Version FundReferenceDataReport4 *-- "0..1" ContactAttributes6 : AuthorisedProxy FundReferenceDataReport4 *-- "1..1" SecurityIdentification41 : SecurityIdentification FundReferenceDataReport4 *-- "0..1" FundParties1 : FundParties FundReferenceDataReport4 *-- "0..1" OrderDesk1 : MainFundOrderDesk FundReferenceDataReport4 *-- "0..1" ContactAttributes5 : FundManagementCompany FundReferenceDataReport4 *-- "0..1" FinancialInstrument96 : FundDetails FundReferenceDataReport4 *-- "0..1" ValuationDealingProcessingCharacteristics3 : ValuationDealingCharacteristics FundReferenceDataReport4 *-- "0..1" InvestmentRestrictions3 : InvestmentRestrictions FundReferenceDataReport4 *-- "0..1" ProcessingCharacteristics8 : SubscriptionProcessingCharacteristics FundReferenceDataReport4 *-- "0..1" ProcessingCharacteristics7 : RedemptionProcessingCharacteristics FundReferenceDataReport4 *-- "0..1" ProcessingCharacteristics6 : SwitchProcessingCharacteristics FundReferenceDataReport4 *-- "0..0" InvestmentPlanCharacteristics1 : PlanCharacteristics FundReferenceDataReport4 *-- "0..0" PaymentInstrument16 : PaymentInstrument FundReferenceDataReport4 *-- "0..0" CashAccount205 : CashSettlementDetails FundReferenceDataReport4 *-- "0..0" LocalMarketAnnex5 : LocalMarketAnnex FundReferenceDataReport4 *-- "0..1" TargetMarket3 : TargetMarket FundReferenceDataReport4 *-- "0..1" DistributionStrategy1 : DistributionStrategy FundReferenceDataReport4 *-- "0..2" CostsAndCharges2 : CostsAndCharges FundReferenceDataReport4 *-- "0..1" AdditionalProductInformation1 : AdditionalProductInformationGermanMarket FundReferenceDataReport4 *-- "0..1" AdditionalProductInformation2 : AdditionalProductInformationFrenchMarket FundReferenceDataReport4 *-- "0..0" Extension1 : Extension %% MarketPracticeVersion1 recursion level 1 with max 1 class MarketPracticeVersion1{ Name IsoMax35Text Date IsoISOYearMonth Number IsoMax35Text } %% ContactAttributes6 recursion level 1 with max 1 class ContactAttributes6{ Name IsoMax350Text PhoneNumber IsoPhoneNumber FaxNumber IsoPhoneNumber EmailAddress IsoMax256Text URLAddress IsoMax2048Text AnyBIC IsoAnyBICDec2014Identifier LEI IsoLEIIdentifier } ContactAttributes6 *-- "0..1" PostalAddress1 : PostalAddress %% SecurityIdentification41 recursion level 1 with max 1 class SecurityIdentification41{ Name IsoMax350Text ShortName IsoMax35Text ClassType IsoMax35Text UmbrellaName IsoMax35Text NewUmbrella IsoYesNoIndicator BaseCurrency ActiveCurrencyCode CountryOfDomicile CountryCode RegisteredDistributionCountry CountryCode ProductCategory IsoMax140Text ProductCategoryGermany IsoMax140Text LeveragedOrContigentLiability IsoYesNoIndicator NoRetrocessionIndicator IsoYesNoIndicator } SecurityIdentification41 *-- "1..1" SecurityIdentification40 : Identification SecurityIdentification41 *-- "0..1" ISecurityClassificationType2Choice : ClassificationType SecurityIdentification41 *-- "0..1" IProductStructure1Choice : ProductType SecurityIdentification41 *-- "0..1" ContactAttributes5 : Issuer SecurityIdentification41 *-- "0..1" IGovernanceProcess1Choice : IssuerProductGovernanceProcess SecurityIdentification41 *-- "0..1" INotionalOrUnitBased1Choice : NotionalOrUnitBased SecurityIdentification41 *-- "0..1" IQuotationType1Choice : QuotationType SecurityIdentification41 *-- "0..1" IExPostCostCalculationBasis1Choice : ExPostCostCalculationBasis SecurityIdentification41 *-- "0..0" AdditionalInformation15 : AdditionalInformation %% FundParties1 recursion level 1 with max 1 FundParties1 *-- "0..1" ContactAttributes5 : Guarantor FundParties1 *-- "0..1" ContactAttributes5 : Auditor FundParties1 *-- "0..1" ContactAttributes5 : Trustee FundParties1 *-- "0..0" ExtendedParty13 : OtherParty %% OrderDesk1 recursion level 1 with max 1 class OrderDesk1{ ClosureDates IsoISODate } OrderDesk1 *-- "0..1" ContactAttributes5 : OrderDesk OrderDesk1 *-- "0..0" AdditionalInformation15 : AdditionalInformation %% ContactAttributes5 recursion level 1 with max 1 class ContactAttributes5{ Name IsoMax350Text PhoneNumber IsoPhoneNumber FaxNumber IsoPhoneNumber EmailAddress IsoMax256Text URLAddress IsoMax2048Text AnyBIC IsoAnyBICDec2014Identifier LEI IsoLEIIdentifier } ContactAttributes5 *-- "0..1" PostalAddress1 : PostalAddress %% FinancialInstrument96 recursion level 1 with max 1 class FinancialInstrument96{ PhysicalBearerSecurities IsoYesNoIndicator DematerialisedBearerSecurities IsoYesNoIndicator PhysicalRegisteredSecurities IsoYesNoIndicator DematerialisedRegisteredSecurities IsoYesNoIndicator DistributionPolicy DistributionPolicy1Code DividendPolicy DividendPolicy1Code DividendFrequency EventFrequency5Code ReinvestmentFrequency EventFrequency5Code FrontEndLoad IsoYesNoIndicator BackEndLoad IsoYesNoIndicator SwitchFee IsoYesNoIndicator EUSavingsDirective EUSavingsDirective1Code LaunchDate IsoISODate FundEndDate IsoISODate TerminationDate IsoISODate InitialOfferEndDate IsoISODate SuspensionStartDate IsoISODate SuspensionEndDate IsoISODate MaturityDate IsoISODate MayBeTerminatedEarly TargetMarket1Code ClosedEndFund IsoYesNoIndicator Equalisation IsoYesNoIndicator TaxEfficientProductEligible IsoYesNoIndicator Authorised IsoYesNoIndicator RDRCompliant IsoYesNoIndicator ManagementFeeSource AnnualChargePaymentType1Code PerformanceFee IsoYesNoIndicator } FinancialInstrument96 *-- "0..0" AdditionalInformation15 : AdditionalInformation %% ValuationDealingProcessingCharacteristics3 recursion level 1 with max 1 class ValuationDealingProcessingCharacteristics3{ ValuationFrequency EventFrequency5Code ValuationFrequencyDescription IsoMax350Text ValuationTime IsoISOTime DecimalisationUnits IsoNumber DecimalisationPrice IsoNumber DualFundIndicator IsoYesNoIndicator PriceMethod PriceMethod1Code PriceCurrency ActiveCurrencyCode } ValuationDealingProcessingCharacteristics3 *-- "0..0" AdditionalInformation15 : AdditionalInformation %% InvestmentRestrictions3 recursion level 1 with max 1 class InvestmentRestrictions3{ MinimumInitialSubscriptionAmount IsoActiveCurrencyAndAmount MinimumInitialSubscriptionUnits IsoNumber MinimumSubsequentSubscriptionAmount IsoActiveCurrencyAndAmount MinimumSubsequentSubscriptionUnits IsoNumber MaximumRedemptionAmount IsoActiveCurrencyAndAmount MaximumRedemptionUnits IsoDecimalNumber MinimumRedemptionPercentage IsoDecimalNumber OtherRedemptionRestrictions IsoMax350Text MinimumSwitchSubscriptionAmount IsoActiveCurrencyAndAmount MinimumSwitchSubscriptionUnits IsoDecimalNumber MaximumSwitchRedemptionAmount IsoActiveCurrencyAndAmount MaximumSwitchRedemptionUnits IsoDecimalNumber OtherSwitchRestrictions IsoMax350Text MinimumHoldingAmount IsoActiveCurrencyAndAmount MinimumHoldingUnits IsoDecimalNumber MinimumHoldingPeriod IsoMax70Text HoldingTransferable HoldingTransferable1Code } InvestmentRestrictions3 *-- "0..0" AdditionalInformation15 : AdditionalInformation %% ProcessingCharacteristics8 recursion level 1 with max 1 class ProcessingCharacteristics8{ DealingCurrencyAccepted ActiveCurrencyCode AmountIndicator IsoYesNoIndicator UnitsIndicator IsoYesNoIndicator Rounding RoundingDirection2Code DealingFrequency EventFrequency5Code DealingFrequencyDescription IsoMax350Text DealingCutOffTime IsoISOTime DealConfirmationTime IsoISOTime LimitedPeriod IsoMax350Text } ProcessingCharacteristics8 *-- "0..1" Forms1 : InitialInvestmentApplication ProcessingCharacteristics8 *-- "0..1" Forms1 : SubsequentInvestmentApplication ProcessingCharacteristics8 *-- "0..1" MainFundOrderDeskLocation1 : MainFundOrderDeskLocation ProcessingCharacteristics8 *-- "0..1" TimeFrame4 : DealingCutOffTimeFrame ProcessingCharacteristics8 *-- "0..1" TimeFrame7 : DealConfirmationTimeFrame ProcessingCharacteristics8 *-- "0..1" ITimeFrame7Choice : SettlementCycle ProcessingCharacteristics8 *-- "0..0" AdditionalInformation15 : AdditionalInformation %% ProcessingCharacteristics7 recursion level 1 with max 1 class ProcessingCharacteristics7{ DealingCurrencyAccepted ActiveCurrencyCode AmountIndicator IsoYesNoIndicator UnitsIndicator IsoYesNoIndicator Rounding RoundingDirection2Code PercentageIndicator IsoYesNoIndicator DealingFrequency EventFrequency5Code DealingFrequencyDescription IsoMax350Text DealingCutOffTime IsoISOTime DealConfirmationTime IsoISOTime LimitedPeriod IsoMax350Text } ProcessingCharacteristics7 *-- "0..1" Forms1 : RedemptionAuthorisation ProcessingCharacteristics7 *-- "0..1" MainFundOrderDeskLocation1 : MainFundOrderDeskLocation ProcessingCharacteristics7 *-- "0..1" TimeFrame4 : DealingCutOffTimeFrame ProcessingCharacteristics7 *-- "0..1" TimeFrame6 : DealConfirmationTimeFrame ProcessingCharacteristics7 *-- "0..1" ITimeFrame8Choice : SettlementCycle ProcessingCharacteristics7 *-- "0..0" AdditionalInformation15 : AdditionalInformation %% ProcessingCharacteristics6 recursion level 1 with max 1 class ProcessingCharacteristics6{ DealingCurrencyAccepted ActiveCurrencyCode AmountIndicator IsoYesNoIndicator UnitsIndicator IsoYesNoIndicator Rounding RoundingDirection2Code DealingFrequency EventFrequency5Code DealingFrequencyDescription IsoMax350Text DealingCutOffTime IsoISOTime DealConfirmationTime IsoISOTime LimitedPeriod IsoMax350Text } ProcessingCharacteristics6 *-- "0..1" Forms1 : SwitchAuthorisation ProcessingCharacteristics6 *-- "0..1" MainFundOrderDeskLocation1 : MainFundOrderDeskLocation ProcessingCharacteristics6 *-- "0..1" TimeFrame4 : DealingCutOffTimeFrame ProcessingCharacteristics6 *-- "0..1" TimeFrame5 : DealConfirmationTimeFrame ProcessingCharacteristics6 *-- "0..1" ITimeFrame8Choice : SettlementCycle ProcessingCharacteristics6 *-- "0..0" AdditionalInformation15 : AdditionalInformation %% InvestmentPlanCharacteristics1 recursion level 1 with max 1 class InvestmentPlanCharacteristics1{ TotalNumberOfInstalments IsoNumber PlanContinuation IsoYesNoIndicator AdditionalSubscription IsoYesNoIndicator AdditionalSubscriptionFunction IsoYesNoIndicator } InvestmentPlanCharacteristics1 *-- "1..1" IInvestmentFundPlanType1Choice : PlanType InvestmentPlanCharacteristics1 *-- "0..1" IFrequency20Choice : Frequency InvestmentPlanCharacteristics1 *-- "0..1" IUnitsOrAmount1Choice : Quantity InvestmentPlanCharacteristics1 *-- "0..0" AdditionalInformation15 : AdditionalInformation %% PaymentInstrument16 recursion level 1 with max 1 PaymentInstrument16 *-- "1..1" IFundOrderType5Choice : OrderType PaymentInstrument16 *-- "1..1" IFundPaymentType1Choice : InstrumentType PaymentInstrument16 *-- "0..0" AdditionalInformation15 : AdditionalInformation %% CashAccount205 recursion level 1 with max 1 class CashAccount205{ Currency ActiveCurrencyCode } CashAccount205 *-- "0..1" CashAccount206 : PrimaryAccount CashAccount205 *-- "0..1" CashAccount206 : SecondaryAccount %% LocalMarketAnnex5 recursion level 1 with max 1 class LocalMarketAnnex5{ Country CountryCode } LocalMarketAnnex5 *-- "1..1" OrderDesk1 : LocalOrderDesk LocalMarketAnnex5 *-- "0..1" ProcessingCharacteristics8 : SubscriptionProcessingCharacteristics LocalMarketAnnex5 *-- "0..1" ProcessingCharacteristics5 : RedemptionProcessingCharacteristics LocalMarketAnnex5 *-- "0..1" ProcessingCharacteristics6 : SwitchProcessingCharacteristics LocalMarketAnnex5 *-- "0..0" CashAccount205 : CashSettlementDetails LocalMarketAnnex5 *-- "0..0" AdditionalInformation15 : AdditionalInformation %% TargetMarket3 recursion level 1 with max 1 class TargetMarket3{ ReferenceDate IsoISODate } TargetMarket3 *-- "0..1" InvestorType2 : InvestorType TargetMarket3 *-- "0..1" InvestorKnowledge1 : KnowledgeAndOrExperience TargetMarket3 *-- "0..1" LossBearing2 : AbilityToBearLosses TargetMarket3 *-- "0..1" RiskTolerance1 : RiskTolerance TargetMarket3 *-- "0..1" InvestorRequirements3 : ClientObjectivesAndNeeds TargetMarket3 *-- "0..0" OtherTargetMarket1 : Other %% DistributionStrategy1 recursion level 1 with max 1 DistributionStrategy1 *-- "0..1" IDistributionStrategy1Choice : ExecutionOnly DistributionStrategy1 *-- "0..1" IDistributionStrategy1Choice : ExecutionWithAppropriatenessTestOrNonAdvisedServices DistributionStrategy1 *-- "0..1" IDistributionStrategy1Choice : InvestmentAdvice DistributionStrategy1 *-- "0..1" IDistributionStrategy1Choice : PortfolioManagement DistributionStrategy1 *-- "0..1" OtherDistributionStrategy1 : Other %% CostsAndCharges2 recursion level 1 with max 1 class CostsAndCharges2{ ExAnteReferenceDate IsoISODate } CostsAndCharges2 *-- "1..0" IndividualCostOrCharge2 : IndividualCostOrCharge CostsAndCharges2 *-- "0..1" AdditionalInformation15 : AdditionalInformation %% AdditionalProductInformation1 recursion level 1 with max 1 class AdditionalProductInformation1{ ESGCategoryGermanFundMarket ESGCategoryGermanFundMarket1Code ESGCategoryGermanStructuredSecuritiesMarket ESGCategoryGermanStructuredSecuritiesMarket1Code ESGFocus ESGFocus1Code ESGLabelOrStandard ESGLabelOrStandard1Code } %% AdditionalProductInformation2 recursion level 1 with max 1 class AdditionalProductInformation2{ AMFDoctrine AMFDoctrine1Code } %% Extension1 recursion level 1 with max 1 class Extension1{ PlaceAndName IsoMax350Text Text IsoMax350Text }
FundReferenceDataReport4 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Unique technical identifier for an instance of a report within a fund reference data report, as assigned by the issuer of the report. | IsoMax35Text - Optional 0..1 |
Version | Version Number. When used in reference to MiFID, this is in the scope of the European MiFID Template (EMT) reference 00001 and is the version of the template for which the EMT data is provided. | MarketPracticeVersion1 - Optional 0..1 |
AuthorisedProxy | Party that reports the data on behalf of the issuer and the entry point e-mail address for contact. When used in reference to MiFID, this is in the scope of the European MiFID Template (EMT) references 00002, 00003 and 00004. | ContactAttributes6 - Optional 0..1 |
GeneralReferenceDate | Date to which the data refers. When used in reference to MiFID, this is in the scope of the European MiFID Template (EMT) reference 00050. | IsoISODate - Required 1..1 |
TargetMarketIndicator | Indicates whether target market data is included in the report. When used in reference to MiFID, this is in the scope of the European MiFID Template (EMT) reference 00006. | IsoYesNoIndicator - Optional 0..1 |
ExAnteIndicator | Indicates whether ex ante costs and charges are included in the report. When used in reference to MiFID, this is in the scope of the European MiFID Template (EMT) reference 00007. | IsoYesNoIndicator - Optional 0..1 |
ExPostIndicator | Indicates whether ex post costs and charges are included in the report. When used in reference to MiFID, this is in the scope of the European MiFID Template (EMT) reference 00008. | IsoYesNoIndicator - Optional 0..1 |
SecurityIdentification | Identification of the security. | SecurityIdentification41 - Required 1..1 |
FundParties | Parties related to the investment fund. | FundParties1 - Optional 0..1 |
MainFundOrderDesk | Principal entity appointed by the fund, to which orders should be submitted. Usually located in the country of domicile. | OrderDesk1 - Optional 0..1 |
FundManagementCompany | Company that is responsible for the management and operation of the fund, for example, determines the investment strategy, appoints the service providers, and makes major decisions for the fund. It is usually responsible for the distribution and marketing of the fund. For self-managed funds, this will often be a separate promoter or sponsor of the fund. | ContactAttributes5 - Optional 0..1 |
FundDetails | Security that is a sub-set of an investment fund, and is governed by the same investment fund policy, for example, dividend option or valuation currency. | FinancialInstrument96 - Optional 0..1 |
ValuationDealingCharacteristics | Processing characteristics linked to the instrument, that is, not to the market. | ValuationDealingProcessingCharacteristics3 - Optional 0..1 |
InvestmentRestrictions | Investment restrictions linked to the trading of the investment fund or an alternative/hedge fund. | InvestmentRestrictions3 - Optional 0..1 |
SubscriptionProcessingCharacteristics | Processing characteristics linked to a subscription to the investment fund or alternative/hedge fund. | ProcessingCharacteristics8 - Optional 0..1 |
RedemptionProcessingCharacteristics | Processing characteristics linked to a redemption from the investment fund or alternative/hedge fund. | ProcessingCharacteristics7 - Optional 0..1 |
SwitchProcessingCharacteristics | Processing characteristics linked to a switch of the investment fund or alternative/hedge fund. | ProcessingCharacteristics6 - Optional 0..1 |
PlanCharacteristics | Characteristics of the investment plan. | InvestmentPlanCharacteristics1 - Unknown 0..0 |
PaymentInstrument | Specifies, for a specific type of transaction, how amounts are to be paid in or paid out. | PaymentInstrument16 - Unknown 0..0 |
CashSettlementDetails | Account to be used for cash settlement. | CashAccount205 - Unknown 0..0 |
LocalMarketAnnex | Processing characteristics specific to a local fund order desk. | LocalMarketAnnex5 - Unknown 0..0 |
TargetMarket | Target market criteria. | TargetMarket3 - Optional 0..1 |
DistributionStrategy | Distribution strategy criteria. | DistributionStrategy1 - Optional 0..1 |
CostsAndCharges | Costs and charges associated with the distribution of selling of the financial instrument. These may be one-off or recurring. These may be ex ante (intended) or post ante (actual). | CostsAndCharges2 - Collection 0..2 |
AdditionalProductInformationGermanMarket | Additional information required for distribution in the German market. | AdditionalProductInformation1 - Optional 0..1 |
AdditionalProductInformationFrenchMarket | Additional information required for distribution in the French market. | AdditionalProductInformation2 - Optional 0..1 |
Extension | Additional information that cannot be captured in the structured elements and/or any other specific block. | Extension1 - Unknown 0..0 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the FundReferenceDataReportV06 implementation follows a specific implementaiton pattern. First of all, FundReferenceDataReportV06 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, FundReferenceDataReportV06Document implements IOuterDocument. Because FundReferenceDataReportV06 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type FundReferenceDataReportV06.
classDiagram class IOuterRecord FundReferenceDataReportV06 --|> IOuterRecord : Implements FundReferenceDataReportV06Document --|> IOuterDocument~FundReferenceDataReportV06~ : Implements class IOuterDocument~FundReferenceDataReportV06~ { FundReferenceDataReportV06 Message }
Document wrapper for serialization
The only real purpose FundReferenceDataReportV06Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:reda.004.001.06’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using FundReferenceDataReportV06.ToDocument() method. The returned FundReferenceDataReportV06Document value will serialize correctly according to ISO 20022 standards.
classDiagram FundReferenceDataReportV06Document *-- FundReferenceDataReportV06 : Document
Sample of message format
This is an abbreviated version of what the message should look like.
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:reda.004.001.06">
<FndRefDataRpt>
<MsgId>
<!-- MessageIdentification inner content -->
</MsgId>
<PrvsRef>
<!-- PreviousReference inner content -->
</PrvsRef>
<RltdRef>
<!-- RelatedReference inner content -->
</RltdRef>
<FndRefDataRptId>
<!-- FundReferenceDataReportIdentification inner content -->
</FndRefDataRptId>
<Rpt>
<!-- Report inner content -->
</Rpt>
</FndRefDataRpt>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_m-g3sc0QEeuAE-cYsQdwHQ"
previousVersion="_CwT80ZEyEeqpOcPiYTdepQ"
name="FundReferenceDataReportV06"
definition="Scope
The FundReferenceDataReport message is sent by a report provider, for example, a fund promoter, fund management company, transfer agent, or market data provider to the report recipient, for example, a professional investor, investment fund distributor, market data provider, regulator or other interested party, to provide the key reference data for financial instruments to facilitate trading. The message may also include reporting data concerning product governance, such as target market data, and a breakdown of the costs and fees.
Usage
A FundReferenceDataReport message should be prepared for each class of unit/share (for which an individual ISIN should have been allocated), in respect of its "home" market. Each time the fund data changes, the ‘product provider’ must provide the data to a product user, for example, the distributors, by sending a new funds reference data report. A single message may contain more than one report. When the FundReferenceDataReport message is sent to provide updated reference data, the message overwrites the previously sent data.
The FundReferenceDataReport message may be used in various models or environments:
-	in a standalone environment, for example, initiated by the Report Provider (fund promoter, fund manager and / or reference data vendors) sent on a regular frequency, or when changes are needed.
-	in a request / response environment, with the InvestmentFundReportRequest, for example, initiated by report users (data vendors, professional investors, regulators or investment fund distributors) in enabling the user to control the flow and updates of information.
-	in a reference data vendor environment, for example, market infrastructure and reference data providers may collate and store all fund reference data information centrally for access via database or regular distribution information. A reference data vendor may assume the role of both report provider and report user.
The FundReferenceDataReport message may be used to provide data concerning product governance, such as target market data, and a breakdown of the costs and fees in the context of MiFID II, with respect to the European MiFID Template (EMT) version 3 and 3.1. Versions 3 and 3.1 will coexist until version 4 is available."
registrationStatus="Registered"
messageSet="_hijK0WiLEeOuqdLlpUIWBw"
xmlTag="FndRefDataRpt"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<messageBuildingBlock
xmi:id="_m-hexc0QEeuAE-cYsQdwHQ"
previousVersion="_CwT815EyEeqpOcPiYTdepQ"
name="MessageIdentification"
definition="Reference that uniquely identifies the message from a business application standpoint."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="MsgId"
complexType="_Q7pG5Np-Ed-ak6NoX_4Aeg_-967008570" />
<messageBuildingBlock
xmi:id="_m-hex80QEeuAE-cYsQdwHQ"
previousVersion="_CwT82ZEyEeqpOcPiYTdepQ"
name="PreviousReference"
definition="Reference to a linked message that was previously sent."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="PrvsRef"
complexType="_ZBypsWpTEeipaMTLlhaKMQ" />
<messageBuildingBlock
xmi:id="_m-heyc0QEeuAE-cYsQdwHQ"
previousVersion="_CwT825EyEeqpOcPiYTdepQ"
name="RelatedReference"
definition="Reference to a linked message that was previously received."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="RltdRef"
complexType="_ZBypsWpTEeipaMTLlhaKMQ" />
<messageBuildingBlock
xmi:id="_m-hey80QEeuAE-cYsQdwHQ"
previousVersion="_CwT83ZEyEeqpOcPiYTdepQ"
name="FundReferenceDataReportIdentification"
definition="Unique and unambiguous identifier for the fund reference data report, as assigned by the issuer of the report."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="FndRefDataRptId"
simpleType="_YW1tKdp-Ed-ak6NoX_4Aeg_1913463446" />
<messageBuildingBlock
xmi:id="_m-hezc0QEeuAE-cYsQdwHQ"
previousVersion="_CwT835EyEeqpOcPiYTdepQ"
name="Report"
definition="Fund reference data."
registrationStatus="Provisionally Registered"
minOccurs="1"
xmlTag="Rpt"
complexType="_XBCccc0SEeuAE-cYsQdwHQ" />
<messageDefinitionIdentifier
businessArea="reda"
messageFunctionality="004"
flavour="001"
version="06" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.