FundsXML 4 to TPT
The converter turns a FundsXML 4 document into a TPT file — Excel (XLSX) or CSV, V7 or V8, with every TPT column or only the filled ones.
Where each value comes from
For every field the converter takes the first value it finds, in this order:
- Custom attributes named
TPT_<field>— the exact original value, as written by TPT to FundsXML or anyone following the same convention. - The Solvency II TPT block
TripartiteTemplateSolvencyII_V7. - The core structures — fund, share class, NAV, position and the referenced asset.
Older blocks (…_V5, …_V6) are not read; the report says so.
One TPT portfolio per share class
TPT is reported per share class: field 1 holds the share class ISIN, never the fund's. Without a TPT block:
- A share class with its own
Portfolios/Portfoliouses it. - Otherwise the fund portfolio from
FundDynamicDatais repeated for each share class, with the share class's ISIN, net assets and price. - The fund portfolio is never a TPT portfolio of its own; only a fund without share classes is reported on fund level.
- Share classes without net assets on the valuation date are skipped and listed in the report.
Derived fields
FundsXML does not carry some TPT fields as such but implies them. When the document leaves them empty, the converter fills them — never overriding a value that is there:
| Field | Derived as |
|---|---|
| 8b shares outstanding | net assets (5) / share price (8) |
| 9 cash ratio | sum of the weights (26) of cash positions (CIC xx7x) |
| 11 complete SCR delivery | N when no SCR contribution (97–105b) is given |
| 23 / 25 clean value | market value minus accrued interest; equal to it for instruments without interest |
| 27 / 28 / 30 market exposure | commitment value for derivatives, market value otherwise |
| 46 / 49 issuer and group name | instrument name (17), as a last resort |
| 48 / 51 / 116 / 120 code types | 9 (none) when no LEI is given |
| 117 / 122 fund issuer | investment company in FundStaticData, else the data supplier in ControlData |
| 131 underlying asset category | from the CIC code |
Market values in portfolio currency (24) that are missing are converted from the fund currency at the rate the share class NAV implies; the report says when that happened.
Output options
- XLSX with one sheet, or CSV separated by semicolon (default), comma, pipe or tab — UTF-8 with BOM.
- All columns (default) or only the columns that hold a value.
- V7 or V8. V8-only values kept as custom attributes are written to V8 and reported as lost for V7.
Questions
Does the FundsXML document need a TPT block?
No. Without a TPT block the converter builds the TPT from the fund, share class, position and asset structures and derives what FundsXML only implies.
Why does every share class get the same positions?
When the share classes have no portfolio of their own, the fund portfolio is the only one there is. TPT is reported per share class, so that portfolio is repeated for each of them with the share class's own ISIN, NAV and price.