reda.004.001.04
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) versions 1 and 2.
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 %% FundReferenceDataReportV04 recursion level 0 with max 0 class FundReferenceDataReportV04{ FundReferenceDataReportIdentification IsoMax35Text } FundReferenceDataReportV04 *-- "1..1" MessageIdentification1 : MessageIdentification FundReferenceDataReportV04 *-- "0..1" AdditionalReference10 : PreviousReference FundReferenceDataReportV04 *-- "0..1" AdditionalReference10 : RelatedReference FundReferenceDataReportV04 *-- "1..1" FundReferenceDataReport2 : 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 reporting party. 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 %% FundReferenceDataReport2 recursion level 0 with max 1 class FundReferenceDataReport2{ Identification IsoMax35Text GeneralReferenceDate IsoISODate } FundReferenceDataReport2 *-- "0..1" MarketPracticeVersion1 : Version FundReferenceDataReport2 *-- "1..1" SecurityIdentification36 : SecurityIdentification FundReferenceDataReport2 *-- "0..1" FundParties1 : FundParties FundReferenceDataReport2 *-- "0..1" OrderDesk1 : MainFundOrderDesk FundReferenceDataReport2 *-- "0..1" ContactAttributes5 : FundManagementCompany FundReferenceDataReport2 *-- "0..1" FinancialInstrument66 : FundDetails FundReferenceDataReport2 *-- "0..1" ValuationDealingProcessingCharacteristics3 : ValuationDealingCharacteristics FundReferenceDataReport2 *-- "0..1" InvestmentRestrictions3 : InvestmentRestrictions FundReferenceDataReport2 *-- "0..1" ProcessingCharacteristics4 : SubscriptionProcessingCharacteristics FundReferenceDataReport2 *-- "0..1" ProcessingCharacteristics7 : RedemptionProcessingCharacteristics FundReferenceDataReport2 *-- "0..1" ProcessingCharacteristics6 : SwitchProcessingCharacteristics FundReferenceDataReport2 *-- "0..0" InvestmentPlanCharacteristics1 : PlanCharacteristics FundReferenceDataReport2 *-- "0..0" PaymentInstrument16 : PaymentInstrument FundReferenceDataReport2 *-- "0..0" CashAccount202 : CashSettlementDetails FundReferenceDataReport2 *-- "0..0" LocalMarketAnnex3 : LocalMarketAnnex FundReferenceDataReport2 *-- "0..1" TargetMarket1 : TargetMarket FundReferenceDataReport2 *-- "0..1" DistributionStrategy1 : DistributionStrategy FundReferenceDataReport2 *-- "0..2" CostsAndCharges1 : CostsAndCharges FundReferenceDataReport2 *-- "0..0" Extension1 : Extension %% MarketPracticeVersion1 recursion level 1 with max 1 class MarketPracticeVersion1{ Name IsoMax35Text Date IsoISOYearMonth Number IsoMax35Text } %% SecurityIdentification36 recursion level 1 with max 1 class SecurityIdentification36{ Name IsoMax350Text ShortName IsoMax35Text ClassType IsoMax35Text UmbrellaName IsoMax35Text NewUmbrella IsoYesNoIndicator BaseCurrency ActiveCurrencyCode CountryOfDomicile CountryCode RegisteredDistributionCountry CountryCode ProductCategory IsoMax140Text LeveragedOrContigentLiability IsoYesNoIndicator } SecurityIdentification36 *-- "1..1" SecurityIdentification19 : Identification SecurityIdentification36 *-- "0..1" ISecurityClassificationType2Choice : ClassificationType SecurityIdentification36 *-- "0..1" ILegalStructure1Choice : LegalStructure SecurityIdentification36 *-- "0..1" ContactAttributes5 : Issuer SecurityIdentification36 *-- "0..1" IGovernanceProcess1Choice : IssuerProductGovernanceProcess SecurityIdentification36 *-- "0..1" IQuotationType1Choice : QuotationType SecurityIdentification36 *-- "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 %% FinancialInstrument66 recursion level 1 with max 1 class FinancialInstrument66{ 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 ClosedEndFund IsoYesNoIndicator Equalisation IsoYesNoIndicator TaxEfficientProductEligible IsoYesNoIndicator Authorised IsoYesNoIndicator RDRCompliant IsoYesNoIndicator ManagementFeeSource AnnualChargePaymentType1Code PerformanceFee IsoYesNoIndicator } FinancialInstrument66 *-- "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 %% ProcessingCharacteristics4 recursion level 1 with max 1 class ProcessingCharacteristics4{ DealingCurrencyAccepted ActiveCurrencyCode AmountIndicator IsoYesNoIndicator UnitsIndicator IsoYesNoIndicator Rounding RoundingDirection2Code DealingFrequency EventFrequency5Code DealingFrequencyDescription IsoMax350Text DealingCutOffTime IsoISOTime DealConfirmationTime IsoISOTime LimitedPeriod IsoMax350Text } ProcessingCharacteristics4 *-- "0..1" Forms1 : InitialInvestmentApplication ProcessingCharacteristics4 *-- "0..1" Forms1 : SubsequentInvestmentApplication ProcessingCharacteristics4 *-- "0..1" MainFundOrderDeskLocation1 : MainFundOrderDeskLocation ProcessingCharacteristics4 *-- "0..1" TimeFrame4 : DealingCutOffTimeFrame ProcessingCharacteristics4 *-- "0..1" TimeFrame5 : DealConfirmationTimeFrame ProcessingCharacteristics4 *-- "0..1" ITimeFrame7Choice : SettlementCycle ProcessingCharacteristics4 *-- "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 %% CashAccount202 recursion level 1 with max 1 class CashAccount202{ Currency ActiveCurrencyCode } CashAccount202 *-- "0..1" CashAccount203 : PrimaryAccount CashAccount202 *-- "0..1" CashAccount203 : SecondaryAccount %% LocalMarketAnnex3 recursion level 1 with max 1 class LocalMarketAnnex3{ Country CountryCode } LocalMarketAnnex3 *-- "1..1" OrderDesk1 : LocalOrderDesk LocalMarketAnnex3 *-- "0..1" ProcessingCharacteristics4 : SubscriptionProcessingCharacteristics LocalMarketAnnex3 *-- "0..1" ProcessingCharacteristics5 : RedemptionProcessingCharacteristics LocalMarketAnnex3 *-- "0..1" ProcessingCharacteristics6 : SwitchProcessingCharacteristics LocalMarketAnnex3 *-- "0..0" CashAccount202 : CashSettlementDetails LocalMarketAnnex3 *-- "0..0" AdditionalInformation15 : AdditionalInformation %% TargetMarket1 recursion level 1 with max 1 TargetMarket1 *-- "0..1" InvestorType1 : InvestorType TargetMarket1 *-- "0..1" InvestorKnowledge1 : KnowledgeAndOrExperience TargetMarket1 *-- "0..1" LossBearing1 : AbilityToBearLosses TargetMarket1 *-- "0..1" RiskTolerance1 : RiskTolerance TargetMarket1 *-- "0..1" InvestorRequirements1 : ClientObjectivesAndNeeds TargetMarket1 *-- "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 %% CostsAndCharges1 recursion level 1 with max 1 class CostsAndCharges1{ ExAnteReferenceDate IsoISODate ExPostReferenceDate IsoISODate } CostsAndCharges1 *-- "1..0" IndividualCostOrCharge1 : IndividualCostOrCharge CostsAndCharges1 *-- "0..1" AdditionalInformation15 : AdditionalInformation %% Extension1 recursion level 1 with max 1 class Extension1{ PlaceAndName IsoMax350Text Text IsoMax350Text }
FundReferenceDataReport2 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. In EMT v1, this element is not supported. | MarketPracticeVersion1 - 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. In EMT v1, this is known as the Reporting Date. | IsoISODate - Required 1..1 |
SecurityIdentification | Identification of the security. | SecurityIdentification36 - 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. | FinancialInstrument66 - 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. | ProcessingCharacteristics4 - 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. | CashAccount202 - Unknown 0..0 |
LocalMarketAnnex | Processing characteristics specific to a local fund order desk. | LocalMarketAnnex3 - Unknown 0..0 |
TargetMarket | Target market criteria. | TargetMarket1 - 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). | CostsAndCharges1 - Collection 0..2 |
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 FundReferenceDataReportV04 implementation follows a specific implementaiton pattern. First of all, FundReferenceDataReportV04 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, FundReferenceDataReportV04Document implements IOuterDocument. Because FundReferenceDataReportV04 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type FundReferenceDataReportV04.
classDiagram class IOuterRecord FundReferenceDataReportV04 --|> IOuterRecord : Implements FundReferenceDataReportV04Document --|> IOuterDocument~FundReferenceDataReportV04~ : Implements class IOuterDocument~FundReferenceDataReportV04~ { FundReferenceDataReportV04 Message }
Document wrapper for serialization
The only real purpose FundReferenceDataReportV04Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:reda.004.001.04’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using FundReferenceDataReportV04.ToDocument() method. The returned FundReferenceDataReportV04Document value will serialize correctly according to ISO 20022 standards.
classDiagram FundReferenceDataReportV04Document *-- FundReferenceDataReportV04 : 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.04">
<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="_16QE0ZDiEem7fvtoGpNpow"
nextVersions="_CwT80ZEyEeqpOcPiYTdepQ"
previousVersion="_A7DpwTQaEeifw8iDiyZLmQ"
name="FundReferenceDataReportV04"
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) versions 1 and 2."
registrationStatus="Registered"
messageSet="_urpIICeJEeOCeO5e7islRQ"
xmlTag="FndRefDataRpt"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<messageBuildingBlock
xmi:id="_16QE05DiEem7fvtoGpNpow"
nextVersions="_CwT815EyEeqpOcPiYTdepQ"
previousVersion="_A7DpwzQaEeifw8iDiyZLmQ"
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="_16QE1ZDiEem7fvtoGpNpow"
nextVersions="_CwT82ZEyEeqpOcPiYTdepQ"
previousVersion="_iClSEl9NEeicg40_9gK9vQ"
name="PreviousReference"
definition="Reference to a linked message that was previously sent."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="PrvsRef"
complexType="_ZBypsWpTEeipaMTLlhaKMQ" />
<messageBuildingBlock
xmi:id="_16QE15DiEem7fvtoGpNpow"
nextVersions="_CwT825EyEeqpOcPiYTdepQ"
previousVersion="_iClSE19NEeicg40_9gK9vQ"
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="_16QE2ZDiEem7fvtoGpNpow"
nextVersions="_CwT83ZEyEeqpOcPiYTdepQ"
previousVersion="_pBDgEF9NEeicg40_9gK9vQ"
name="FundReferenceDataReportIdentification"
definition="Unique and unambiguous identifier for the fund reference data report, as assigned by the reporting party."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="FndRefDataRptId"
simpleType="_YW1tKdp-Ed-ak6NoX_4Aeg_1913463446" />
<messageBuildingBlock
xmi:id="_16QE25DiEem7fvtoGpNpow"
nextVersions="_CwT835EyEeqpOcPiYTdepQ"
previousVersion="_A7DpxTQaEeifw8iDiyZLmQ"
name="Report"
definition="Fund reference data."
registrationStatus="Provisionally Registered"
minOccurs="1"
xmlTag="Rpt"
complexType="_i_UpoZjqEemFhLAiyl29Fw" />
<messageDefinitionIdentifier
businessArea="reda"
messageFunctionality="004"
flavour="001"
version="04" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.