Skip to main content

FA Back 3.5 - Release notes

FA Back 3.5 [latest updated version FA Back 3.5.3] has been released.

FA Back 3.5

Contains: Improved authentication, custom columns in Analytics+ and various other improvements

Released: March 3rd, 2020

Improvements - see attached FA Back 3.5 Release notes for more details:

FA Back 3.5 Release notes.pdf

  • Custom columns in Analytics+ based on security key figures or simple formulas utilizing existing analytics+ columns

  • Analytics+ maintenance and new columns in Analytics+ including market date and different profit columns with and without accrued interest

  • Contact, portfolio and security key figures as selectable columns on search views

  • Various other improvements in existing features, including for example fee calculation to consider shared accounts and roll convention as a new parameter for bond calculation

  • Additional security improvements, including support for example for virus-scanning documents, defining maximum document size, and restricting document upload frequency

  • Improved and more secure authentication into the system including the possibility to switch between applications with single sign-on


All users are required to reset their password when logging in to FA 3.5 for the first time due to security reasons. For more information, see Log in to FA for the first time.

Along with the version upgrade from FA 3.4 to FA 3.5 or newer, all SaaS environments are transferred to be hosted in Microsoft Azure. See attached SaaS Environment Transfer to Microsoft Azure.pdf for answers to the most common questions related to the transfer:

SaaS Environment Transfer to Microsoft Azure.pdf

In addition to the improvements highlighted in the release notes, FA Back 3.5.0 includes the following improvements and bug fixes:

  • Paid in Capital and Paid in Capital Change calculation logic in Analytics+ is no longer based on purchase trade amount, and is no longer affected for example by bookkeeping transactions. Paid in Capital is now calculated based on Total Commitment and Remaining Commitment with the formula "Paid in Capital = Total commitment - Remaining commitment". Now the Paid in Capital in Analytics+ shows the accrued paid in capital on the end date and the Paid in Capital Change shows the sum of changes during the period. Before, both of them showed the change.

  • Distribution calculation logic in Analytics+ now longer takes into account the effect of "PE - Return of capital, recallable", ensuring that the recallable return of capital is not taken into account both in Paid in Capital and Distributions. Distributions is now calculated as "Profit - (Purchase trade amount - Paid in Capital)" and Distributions change as "Profit change - (Purchase trade amount change - Paid in Capital change)". With normal capital return, the profit is zero, purchase trade amount change is negative and paid in capital change is zero => distributions change equals minus purchase trade amount. With recallable capital return, profit is zero, purchase trade amount change is negative and also the paid in capital change is negative (equal to purchase trade amount change) => distributions change equals 0.

  • Bond-related figures YTM, Duration, Modified duration and Convexity in Analytics+ are now aggregated up to the group level also when some positions have negative values on these figures. Group-level values are now calculated if all lower levels have a non-zero value, either positive or negative.

  • Analytics+ now returns the "FX rate" and "Purchase FX rate" correctly also for currency positions and accounts.

  • You can now use the XLS export also when the file name would contain special characters, regardless of where your environment is hosted. For example, you can export a group (indicated with a > before the group name) on the Overview, or export the contents of a saved search containing characters of [ ] | < or >.

  • You can now also download documents from document bank that have a space in the file name, regardless of where your environment is hosted.

  • Creating a new contact, portfolio or security in the corresponding window no longer allows you to upload documents before the contact, portfolio or security is saved. This ensures that the documents are properly attached to the contact, portfolio or security you saved, and not left unnecessarily in the background if you decide not to save.

  • When creating a new transaction through "Save & new" or "Save & new (copy)" buttons in the Transaction window, the documents tab is disabled for the new transaction, ensuring the documents attached to the copied transaction are not unnecessarily shown on the new transaction, which might confuse the user. Copying a transaction only copies the transaction information, not the documents attached to it.

  • Copy as new button is now longer available for Contract securities - these securities are automatically created through saving a contract, and don't need to be manually copied.

  • Importing transactions or trade orders with a custom import format now again allows you to properly import Scandinavian letters.

  • Transaction and trade order import now provide the external ID of the trade as an import feedback when importing transactions or trade orders programmatically, such as through the Import API.

  • Rebalancing no longer produces an unnecessary error when the rebalanced portfolios contains transactions that are not linked to positions or accounts.

  • User audit for tracking what customer information has been viewed or exported now correctly stores the user's current IP address within the audit message, instead of incorrectly storing the IP address the user logged in the previous time.

  • User and system audit logs are no longer created to fa.log nor audit-user.log / audit-system.log, but these log entires are now only recorded as standard output. This ensures these audits don't clutter the log files they are not supposed to, but only end up in the proper place.

  • Widget and Cost formula Preferences now longer allow you to "Run" the formulas, ensuring these preferences are not vulnerable for Stored Cross-Site Scripting (XSS).

  • In addition, Delete data under Administration view now works correctly for data migration purposes: "Delete all transactions" now clears the transaction listings, "Delete all contacts" now clears the customer portfolio search, "Delete all portfolios" works also when portfolios have limits, and "Delete all securities" works also when there are yield curves in the system. In addition, deleting all contacts, portfolios or securities no longer fail to delete revision data.

Updates to FA Back 3.5:

FA 3.5.1 Release notes

FA 3.5.1 is an update to FA 3.5. This update includes the following bug fixes:

  • Fixed a problem related FA Back failing to start up due to conflicting dependencies in FA 3.5.

FA 3.5.2 Release notes

FA 3.5.2 is an update to FA 3.5. This update includes the following bug fixes:

  • Search views saved by fa-admin users before an upgrade to FA 3.5 are now appropriately available to fa-admin users. In addition, fa-admin users can see all views saved in the system, and share views with other fa-admin users.

In addition, this version contains all fixes from versions FA 3.4.11, FA 3.4.12 and FA 3.4.13:

  • Start date and end date parameters in queries ($P(startDate) and $P(endDate)) now produce a correct result also with daylight saving time, and queries without start date and end date parameters ($P(startDate) and $P(endDate)) still work correctly.

  • Finnish tax reporting no longer incorrectly picks up costs defined on a transaction when the transaction type doesn't have a cost effect (i.e. cost is recorded on the transaction but not taken into account in the trade amount). In addition, negative cost effects are considered correctly.

  • Fixed two issues related to position valuation and report recalculation when market prices or FX rates are updated. These issues occasionally resulted in errors in certain environments blocking the report update in certain scenarios.

  • Update menu now has new options for you to control more thoroughly how and in which order full report recalculation is done. These improvements aim at shortening the downtime of the system in case there is a need to run a full recalculation, for example due to incorrect report data. New options Recalculate purchase lot data (sub items) for all portfolios and Recalculate report data (report items) for all portfolios allow you to do the necessary recalculations in two steps: recalculating sub items first ensures the critical functionality of FA Back is available faster, and recalculating report items afterwards ensures also reports, queries and analytics shows up-to-date data. In addition, logic to Recalculate all report data of all portfolios has been optimized: this option now first drops the report tables to not spend time on deleting individual entries from the tables, and prioritizes all sub item updates before report item updates to ensure the critical functionality of FA Back is available first.

  • Performance of saving a large number of suggested trade orders after rebalancing a large number of portfolios at once has been optimized. Rebalancing now saves the suggested trade orders in batches, and updates transaction listings with the new trade orders only when necessary and in the background. This allows the user to continue with other tasks without having to wait for all the update to finish.

  • Analytics+ view no longer performs calculations twice when changing the analysis criteria and clicking "Analyze" - reloading the data in this scenario is now done only once.

  • Purchase value and purchase unit price of a non-portfolio currency account is now calculated correctly also in a specific scenario when the account balance changes from negative to positive with a currency trade. For example, if you had a negative USD account balance of -100 in a EUR portfolio, buying 200 USD with a "Buy" transaction to increase the account balance to +100 now shows the account purchase value correctly after the currency trade.

  • When importing FX rates, report data is now correctly recalculated also for non-portfolio currency accounts when the portfolio doesn't have positions in that currency. For example, if you have an EUR portfolio with an USD account but without any positions in USD, importing an FX rate for EUR/USD now correctly re-valuates the USD account.

  • When importing FX rates, report data is now correctly recalculated also for positions in system's base currency in non-base currency portfolios. For example, if your system's base currency is EUR, and you have an EUR position in a SEK portfolio, importing an FX rate for SEK/EUR now correctly re-valuates the EUR position in the SEK portfolio.

  • Saving a transaction or a trade order programmatically, for example through an extensions or an API, now correctly recalculates report data of all affected portfolios also when the transaction or trade order is linked to a shared account in another portfolio. In such a scenario, the other portfolio's report data is now correctly recalculated to correctly show the shared account's balance.

  • Calculating a specific account's balance on a specific date is now faster than before due to appropriate indices added to the account sub items table in the database. Such calculations are done in some extensions and custom queries, which now do the calculation more efficiently than before.

  • Searching for entries for a specific date or time from revision info, user audit or system audit through queries is now faster due to appropriate indices added to these tables in the database.

  • Speed of recalculating purchase lots of a portfolio has been optimized through removing an unnecessary report item update from the purchase lot update. This is affects for example modifying a transaction, and ensures that report items are not unnecessarily calculated twice.

  • Fixed an issue related to report data in the database potentially getting negative database IDs in their sequence, preventing potential errors in report recalculation.

  • In addition, fixed an occasional issue in report recalculation related to previous report data not being available in L2 cache - in such a scenario, the system now handles the error and fetches the data that was not available from the database instead.

  • Kickbacks or rebates entered in client portfolios to distribute back some of the fees the client has paid now result in correct ex-post cost values and Gross TWR in Analytics+ and in Ex-post costs report. Such transactions now correctly reduce costs, and don't affect the Gross TWR.

FA 3.5.3 Release notes

FA 3.5.3 is an update to FA 3.5. This update includes the following bug fixes:

This version contains all fixes from version FA 3.4.14:

  • Fixed an issue related to full report recalculation resulting in incorrect values for positions with transactions with "second security", such as an exchange or subscription rights issue. This issue was introduced in version 3.5.2 when optimizing the speed of recalculating purchase lots of a portfolio through removing an unnecessary report item update from the purchase lot update - the report item update was after all necessary in this scenario, and has now been added back.