FundReferenceDataReportV03

reda.004.001.03

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:

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
%% FundReferenceDataReportV03 recursion level 0 with max 0
class FundReferenceDataReportV03{
    FundReferenceDataReportIdentification IsoMax35Text
}
FundReferenceDataReportV03 *-- "1..1" MessageIdentification1 : MessageIdentification
FundReferenceDataReportV03 *-- "0..1" AdditionalReference10 : PreviousReference
FundReferenceDataReportV03 *-- "0..1" AdditionalReference10 : RelatedReference
FundReferenceDataReportV03 *-- "1..1" FundReferenceDataReport1 : 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
%% FundReferenceDataReport1 recursion level 0 with max 1
class FundReferenceDataReport1{
    Identification IsoMax35Text
    GeneralReferenceDate IsoISODate
}
FundReferenceDataReport1 *-- "0..1" MarketPracticeVersion1 : Version
FundReferenceDataReport1 *-- "1..1" SecurityIdentification36 : SecurityIdentification
FundReferenceDataReport1 *-- "0..1" FundParties1 : FundParties
FundReferenceDataReport1 *-- "0..1" OrderDesk1 : MainFundOrderDesk
FundReferenceDataReport1 *-- "0..1" ContactAttributes5 : FundManagementCompany
FundReferenceDataReport1 *-- "0..1" FinancialInstrument66 : FundDetails
FundReferenceDataReport1 *-- "0..1" ValuationDealingProcessingCharacteristics3 : ValuationDealingCharacteristics
FundReferenceDataReport1 *-- "0..1" InvestmentRestrictions3 : InvestmentRestrictions
FundReferenceDataReport1 *-- "0..1" ProcessingCharacteristics4 : SubscriptionProcessingCharacteristics
FundReferenceDataReport1 *-- "0..1" ProcessingCharacteristics5 : RedemptionProcessingCharacteristics
FundReferenceDataReport1 *-- "0..1" ProcessingCharacteristics6 : SwitchProcessingCharacteristics
FundReferenceDataReport1 *-- "0..0" InvestmentPlanCharacteristics1 : PlanCharacteristics
FundReferenceDataReport1 *-- "0..0" PaymentInstrument16 : PaymentInstrument
FundReferenceDataReport1 *-- "0..0" CashAccount202 : CashSettlementDetails
FundReferenceDataReport1 *-- "0..0" LocalMarketAnnex3 : LocalMarketAnnex
FundReferenceDataReport1 *-- "0..1" TargetMarket1 : TargetMarket
FundReferenceDataReport1 *-- "0..1" DistributionStrategy1 : DistributionStrategy
FundReferenceDataReport1 *-- "0..2" CostsAndCharges1 : CostsAndCharges
FundReferenceDataReport1 *-- "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
%% ProcessingCharacteristics5 recursion level 1 with max 1
class ProcessingCharacteristics5{
    DealingCurrencyAccepted ActiveCurrencyCode
    AmountIndicator IsoYesNoIndicator
    UnitsIndicator IsoYesNoIndicator
    Rounding RoundingDirection2Code
    PercentageIndicator IsoYesNoIndicator
    DealingFrequency EventFrequency5Code
    DealingFrequencyDescription IsoMax350Text
    DealingCutOffTime IsoISOTime
    DealConfirmationTime IsoISOTime
    LimitedPeriod IsoMax350Text
}
ProcessingCharacteristics5 *-- "0..1" Forms1 : RedemptionAuthorisation
ProcessingCharacteristics5 *-- "0..1" MainFundOrderDeskLocation1 : MainFundOrderDeskLocation
ProcessingCharacteristics5 *-- "0..1" TimeFrame4 : DealingCutOffTimeFrame
ProcessingCharacteristics5 *-- "0..1" TimeFrame5 : DealConfirmationTimeFrame
ProcessingCharacteristics5 *-- "0..1" ITimeFrame8Choice : SettlementCycle
ProcessingCharacteristics5 *-- "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
}
  

FundReferenceDataReport1 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 to the investment fund or alternative/hedge fund. ProcessingCharacteristics5 - 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 FundReferenceDataReportV03 implementation follows a specific implementaiton pattern. First of all, FundReferenceDataReportV03 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, FundReferenceDataReportV03Document implements IOuterDocument. Because FundReferenceDataReportV03 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type FundReferenceDataReportV03.

classDiagram
    class IOuterRecord
    FundReferenceDataReportV03 --|> IOuterRecord : Implements
    FundReferenceDataReportV03Document --|> IOuterDocument~FundReferenceDataReportV03~ : Implements
    class IOuterDocument~FundReferenceDataReportV03~ {
        FundReferenceDataReportV03 Message
     }
  

Document wrapper for serialization

The only real purpose FundReferenceDataReportV03Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:reda.004.001.03’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using FundReferenceDataReportV03.ToDocument() method. The returned FundReferenceDataReportV03Document value will serialize correctly according to ISO 20022 standards.

classDiagram
    FundReferenceDataReportV03Document *-- FundReferenceDataReportV03 : 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.03">
    <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="_A7DpwTQaEeifw8iDiyZLmQ"
  nextVersions="_16QE0ZDiEem7fvtoGpNpow"
  previousVersion="_ZsRA2NEvEd-BzquC8wXy7w_2012426718"
  name="FundReferenceDataReportV03"
  definition="Scope&#xD;&#xA;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.&#xD;&#xA;Usage&#xD;&#xA;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 &quot;home&quot; 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.&#xD;&#xA;The FundReferenceDataReport message may be used in various models or environments:&#xD;&#xA;-&#x9;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.&#xD;&#xA;-&#x9;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.&#xD;&#xA;-&#x9;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.&#xD;&#xA;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="_A7DpwzQaEeifw8iDiyZLmQ"
    nextVersions="_16QE05DiEem7fvtoGpNpow"
    previousVersion="_ZsRA2dEvEd-BzquC8wXy7w_1111943337"
    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="_iClSEl9NEeicg40_9gK9vQ"
    nextVersions="_16QE1ZDiEem7fvtoGpNpow"
    name="PreviousReference"
    definition="Reference to a linked message that was previously sent."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="PrvsRef"
    complexType="_ZBypsWpTEeipaMTLlhaKMQ" />
  <messageBuildingBlock
    xmi:id="_iClSE19NEeicg40_9gK9vQ"
    nextVersions="_16QE15DiEem7fvtoGpNpow"
    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="_pBDgEF9NEeicg40_9gK9vQ"
    nextVersions="_16QE2ZDiEem7fvtoGpNpow"
    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="_A7DpxTQaEeifw8iDiyZLmQ"
    nextVersions="_16QE25DiEem7fvtoGpNpow"
    previousVersion="_ZsRA2tEvEd-BzquC8wXy7w_-23910655"
    name="Report"
    definition="Fund reference data."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="Rpt"
    complexType="_bbb7sTQbEeifw8iDiyZLmQ" />
  <messageDefinitionIdentifier
    businessArea="reda"
    messageFunctionality="004"
    flavour="001"
    version="03" />
</messageDefinition>

ISO Building Blocks

The following items are used as building blocks to construct this message.