Skip to main content

FA Back 3.12 - Release notes

FA Back 3.12 [latest updated version FA Back 3.12.7] has been released.

FA Back 3.12

Contains: Improvements in existing features

Released: October 18th, 2021

Improvements - see attached FA Back 3.12 Release notes for more details.

FA Back 3.12 Release notes.pdf

  • New location for all FA Documentation through

  • Support for importing corporate actions

  • Dynamic date selections also for single dates in reporting

  • Support for linking multiple posting rules to a portfolio for accounting purposes

  • New features for portfolio management, including FIFO valuation on parent portfolio level and extended options for account sharing between sub-portfolios

  • Other improvements in existing features

In addition to the improvements highlighted in the release notes, F A Back 3.12.0 includes the following bug fixes and improvements:

Bug fixes:

  • Positions paid accrual and accrued interest is now correctly transferred with the position during an exchange, ensuring the position after the exchange includes previous position's accrual.

  • Analytics+ now shows correct values also for columns with time periods longer than the time period selected for analysis. For example, if you have selected "Previous month" as the time period for your analysis, the "12M" columns will still show data for 12 months. Before, data was only shown for the selected time period (e.g. "Previous month") regardless of the time periods associated with the selected columns.

  • Annualization of "TWR" figures in Analytics+ now uses 365 days if start and end date are from different years, and 366 days is only used if both start and end are on the same year and it is a leap year. This ensures annualized figures are more relevant over period of multiple years - before, annualization was done based on number of days in year of the end date, which exaggerated figure when analysis ended on a leap year.

  • "Include positions from linked portfolio" combined with "Drill down hierarchy" in Analytics+ now correctly show positions from underlying portfolio as many time as the position appears in the hierarchy.

  • "Exposure" figures in Analytics+ now longer exaggerate the exposure on the removed position after an exchange.

  • Security level and group level "TWR Contribution" in Analytics+ now correctly adds up to the total level "TWR Contribution".

  • Analyzing a portfolio with benchmarks coming from asset types in Analytics+ no longer causes differences in "TWR Bm" values on group and position level when position is closed out.

  • "Bm Max Drawdown / Drawup" is not correctly formatted as percentage in Analytics+.

  • Analytics+ no longer allows you to temporarily re-arrange columns through drag-and-drop, ensuring tools to reorder columns work consistently throughout all views.

  • Group tags restricted by other criteria than user roles are now correctly shown as "hidden tags" on data that has the tag but doesn't match the restrictions of the tag. This allows users to see all tags previously added to their data.

  • Overview no longer shows an error if the system has no tags defined in Tag Preferences.

  • When entering transactions or trade orders manually through the Transaction window, the "External ID" is no longer populated when the window is opened but generated on saving if transaction is saved with a blank ext ID. This ensures that External IDs are not unnecessarily reserved for transactions or trade orders that never get saved. In addition, External ID generation on trade orders now correctly considers contact's "Transaction no. level" setting.

  • Trade order execution no longer skips transaction External IDs when generating transactions to a portfolio but uses the next available External ID. In addition, Trade order execution now correctly considers contact's "Transaction no. level" setting.

  • Transaction importer now allows you to import transactions into sub-portfolio which are linked to parent portfolio's account. Parent portfolio's account is always shared to sub-portfolios, and transaction importer now also acknowledges this.

  • Scheduling a Capital call corporate action now correctly creates transactions when the corporate action is run on the scheduled time.

  • Launching a process, such as exporting postings, from the Bookkeeping view now correctly consider user's selection, applying the process only on the selected postings.

  • Saving a search on the Bookkeeping view based on Reference number as search criterion now works correctly.

  • You can now manually modify postings on a transaction regardless of the transaction's status. Before, you were only able to modify postings on "Accepted" transactions.

  • Report window's "Add schedule" popup can no longer remain open on the screen on its own - the window for defining a schedule needs to be closed first before closing the underlying Report window to avoid confusion.

  • User's name is now correctly shown in user listings, such as task owner and assignee, also when user's first name or last name contains Scandinavian letters. These characters are now correctly synchronized to FA Back from User Management. In addition, if you remove a linked contact from your user in User Management, the removal is now correctly synchronized to FA Back and taken into account for example for limited visibility.

  • You can no longer add tasks without a title into the system - a title is now a mandatory field in a task. In addition, a task description is now limited to be up to 4000 characters long - if you try to add a longer description on a task, you are notified with "Description is too long. The limit is 4000".

  • Changes in portfolio's Strategy, Benchmark or Investment plan in the Portfolio window are now correctly tracked as "modifications" - when you modify the data within these tabs, the window title is marked with [Modified], and you are prompted to confirm you don't want to save your changes if you try to close the window without saving.

  • Portfolio window's Accounts tab now shows the account preview consistently for both accounts and shared accounts, ensuring all information is visible the same way.

  • Title of the "Account tags" column on the Portfolios view has been renamed to "Default account's tags" to clearly indicate which account's tags the column shows.

  • Deleting an investment plan from a portfolio through the Portfolio window now correctly deletes all the corresponding data from the database, ensuring orphan investment plans won't remain in the database without a link to a portfolio.

  • Saving a portfolio without a primary contact no longer results in an error even if you have a dynamic group in the system based on primary contact's profile attributes.

  • Updating the address of a contact with no transactions no longer causes an unnecessary error trying to update the transaction listing.

  • Trying to open a contact with a sub-type that has been deleted from sub-type Preferences no longer results in an error.

  • Groups view now contains a scroll bar for dynamic group criteria, allowing you to scroll down to see all the criteria of a dynamic group also on a smaller screen or when you have a lot of criteria for a single group.

  • You can now access the Key figures tab in the Security window without an error also for new securities without first selecting the security type.

  • Rebalance view's "Cash choice" filter no longer produces an error, but allows you to correctly filter the rebalance history with this information.

  • You can no longer define an invalid format in Date and decimal format Preferences, ensuring all saved formats are valid. Before, saving invalid formats might have blocked you from accessing FA Back all together after saving.

  • Translation Preferences now longer result in and error when you first apply a filter and then try to save your translations.

  • Error from loading the default dashboard no longer prevents users from accessing other Dashboards.


  • For improved performance when a large number of transactions are saved and a large number of postings are generated at once, the system now saves postings in batches instead of saving them one-by-one.

  • Logging in/out from applications other than FA Back and FA Front now generates an audit user log with the correct "application_id". In addition, user audit now contains the full name of the application producing the log. Before, the application name was cut after 10 characters.

Developer tools:

  • AnalyticsAPI now provides you with fund analysis, allowing you to extract TWR (and other analysis) for mutual fund portfolios based on NAV price through a new parameter fundPortfolio.

  • Populatable components available for your custom profiles now allow you also to populate a list of portfolios into the available components.

  • Error in a rule no longer prevents saving the object, but instead, the error is properly logged into audit_system.

  • API section within Administration view no longer persists the temporary API tokens generated when generating reports in the system, ensuring the list of tokens isn't unnecessarily extended with a lot of temporary tokens.

  • Logging REST API calls now correctly print also the request body.

  • FA Back's API metrics no longer consider http code 404 and 403 responses as errors.

  • JSON values stored as string into a profile are now recognized as JSON with GraphQL queries.

  • Filtering transactions with typeCode in GraphQL now works correctly also when you provide a single transaction type.

  • AnalyticsAPI now correctly returns portfolio's tags.

  • General importer for security close prices now works consistently with other importers in the "test mode", provide feedback indicating whether the import was valid or not instead of always producing an error. General importer has import "modes" where 0 = insert/update, 1 = insert only, 2 = update only. Any other modes are treated as a "test" import; nothing gets saved to the database. This is sometimes used to confirm that an import is valid before executing it. This works just like a normal import, and provides the same feedback that other import modes would. I.e. importStatus OK or ERROR, depending on whether or not the import is valid.

Updates to FA Back 3.12

FA 3.12.1 Release notes

FA 3.12.1 is an update to FA 3.12. This update includes the following bug fixes:

  • Rebalancing now works correctly without errors also when your model portfolio or investment plan includes securities with base type BOND that don't have bond information defined in security's Extra info.

  • Analytics+ now calculates realized profits correctly for positions included from linked portfolios (drilldown) also when position is partially sold.

  • Realized and unrealized profits in Analytics+ are now shown based on "original values" that are used to calculate TWR if configured so for the environment. TWR is always calculated based on "original values", but different users have a different perspective whether they want to view realized and unrealized profits based on booked values instead. The environment-level configuration under the hood now controls whether realized and unrealized profits are shown on the user interface based on original values (used in TWR) or booked values.

FA 3.12.2 Release notes

FA 3.12.2 is an update to FA 3.12. This update includes the following bug fixes:

  • Trade order execution now executes the trade order correctly also when the trade order didn't have an account and the execution was done with "Use the currency account (or default account) to transactions". The created transaction now correctly gets the intended account, and the trade order is correctly marked as "Executed". This issue was induced by changes in version FA 3.12.

  • Fixed an issues in Analytics+ related to the calculation logic not being able to calculate IRR for long time periods with certain kinds of Private Equity transactions. The method to calculate IRR is now optimized through lowering the upper bound, and adding new trials in the calculation method with lower accuracy in case a solution for IRR cannot be found with the high accuracy.

  • Automatically linking users created through an external identity provider to a contact in FA Back based on contact's "External ID" now works correctly also in a situation when user information was not properly syncronized to FA Back.

  • Collecting monitoring metrics from REST API calls in FA Back has been optimized, ensuring the "API performance" dashboard in FA Monitoring is able to show the desired data.

  • FA Back now correctly closes connections to Keycloak, FA’s user management and authentication mechanism, whenever connecting to it.

FA 3.12.3 Release notes

FA 3.12.3 is an update to FA 3.12. This update includes the following bug fixes:

  • You can now generate reports that rely on the new dynamic single date component also in the background (with other output types than "One report" in the Report window) - the single-date reports are now properly generated as the selected single date is now correctly passed to the report. This issue was induced by changes in version FA 3.12.

FA 3.12.4 Release notes

FA 3.12.4 is an update to FA 3.12. This update includes the following fixes:

  • Logic to determine which portfolios' report data needs to be updated after entering new market prices into the system has been optimized. This for example makes the nightly report data update procedure go through faster if prices are fetched through a market data connector during the nightly update and the system has a lot of portfolios' report data to recalculate - the logic to determine which portfolios need to be updated from what date forward based on the received prices has been optimized to perform better than before.

  • Costs are now distributed correctly to new positions after one to many exchanges, when the exchange transaction type has a cost effect defined and acquisition costs are recorded into the exchange transactions as costs. When exchange transaction type has cost effects defined, corporate action that creates exchange transactions allocates costs to the exchange transactions based on the percentage defined in the corporate action and original purchase/sold costs. Now in this case, the logic creating new purchase lots based on exchanges directly uses the costs from the exchange transaction (instead of moving forward costs from the original purchase lots).

  • "Check pre-trade limits" now produces correct results when pre-trade limit check is done on a trade order in a main portfolio that has sub-portfolios. If the checked order is in a portfolio that has sub-portfolios, the sub-portfolios are now correctly included in the position data generated for the main portfolio. In addition, "Check pre trade limits" on an order that uses another portfolio's shared account no longer results in an error.

  • Automatically assigning roles to a user based on linked contact's characteristics now works reliably - the logic now find the correct user based on user's linked contact even when the environment has more than 100 users.

  • Programmatically saving market prices to a security now works correctly also when trying to update prices for securities that do not get any new prices. This helps to ensure for example that continuous price updates through an extension don't trigger unnecessary recalculations.

  • Logs no longer get an unnecessary continuous error message about "Can't find bundle for base name messages".

FA 3.12.5 Release notes

FA 3.12.5 is an update to FA 3.12. This update includes the following fixes:

  • Fixed an issue in scheduling report generation that occasionally resulted in wrong data appearing in a report that was generated based on a schedule. Report data is now handled correctly and mapped to the correct contact or portfolio also in cases when not all the reports included in the schedule are generated (e.g. due to one of the portfolios not having transactions for the selected date range). Also, scheduling a report generating no longer unnecessarily creates empty files when a report could not be generated.

FA 3.12.6 Release notes

FA 3.12.6 is an update to FA 3.12. This update includes the following fixes:

  • Fixed issues in calculating TWR % after an exchange transaction when report calculation is triggered in specific ways in specific scenarios. TWR no longer shows an unnecessary spike when report calculation is triggered on a transaction in the portfolio after the exchange, and the result of the TWR calculation is the same regardless of whether the transactions are created through a corporate action or through importing.

  • Fixed additional issues in generating reports that rely on the new dynamic single date component - the single-date reports are now properly generated as the selected single date is now correctly passed to the report. In addition, you can now open reports that rely on a single as a tab on the Overview.

  • The data in the transactionDate field in GraphQL transactions and tradeOrders elements is now consistent.

FA 3.12.7 Release notes

FA 3.12.7 is an update to FA 3.12. This update includes the following fixes:

  • Fixed yet another issue in generating reports that rely on a single date. When you generate multiple reports in one go, either through multi-selecting reports or generating a report package, and your reports include a combination of reports that rely on a date range and a single date, all included reports are now generated for a correct date. That is, also the single date reports are now correctly generated for the end date of the selected date range, not current date. This issue was induced by changes in version FA 3.12.6.