Customizability
Overview
The FA Platform has an extensive and ever increasing set of built-in features. Nevertheless, it is fairly common for users of the FA Platform to have unique requirements that the built-in features do not cover. This often happens with reporting-related requirements, for example: perhaps you want your PDF reports to reflect your unique brand, and contain information in a way that doesn't quite match our standard set of reports.
To bridge the gap between our built-in features and unique customer-specific requirements, the FA Platform supports extensive customizability. That means it's possible to extend the functionality of your FA Platform instance in many ways with customized features. To meet unique reporting requirements, for example, we provide a fully integrated report builder/server called jsreport as part of the FA Platform.
This page lists and describes the various types of customized features that the FA Platform supports. If you are interested in how to build custom features for the platform, please refer to FA Developer.
Integrations
Integrate external applications against FA standard APIs
Overview: FA's standard REST/GraphQL APIs enable other systems to list, search, add, and modify data in FA. This allows other systems to integrate themselves with FA.
Limitations: FA is the passive party in these kinds of integrations: FA's standard APIs are not developed to match specific customized integration needs with external systems. Instead, if our standard APIs do not match the requirements of the external system, the options are to either develop that external system, or to opt for one of the other customized integration options.
Examples: FA's customers may build their own websites, services, or mobile apps which utilize data from FA. FA's customers may build continuous integrations between their existing systems (e.g. CRM system) and FA.
Simple custom integrations via camel routes
Overview: Apache Camel (https://camel.apache.org/) is an open-source integration engine that can be used to connect data from external sources to FA, and vice-versa, in various ways and formats, and with various intermediate processing.
Limitations: Complex data-processing that requires nonstandard logic or scripting are not included in this integration option. If such an integration is required, one of the other integration options is required instead.
Examples:
Read in various types of data from a nonstandard external source into FA
Based on SFTP or other data transfer mechanism for which Camel has built-in support
Perform intermediate data transformations based on data mappings or custom reader formats (see below)
Pass the data forward to features such as importing or reconciliation
Export data from FA to other systems
Custom reader formats / mappings
Overview: Custom reader formats and mappers control how data from external systems is transformed before being processed in FA. Users of FA may build customized readers and mappers to support importing data in nonstandard data formats.
Limitations: Custom reader formats and mappings are intended for relatively simple data mapping and transformations such as choosing, renaming and re-ordering columns. They are not suited to complex data transformation tasks, such as combining data from multiple sources. Custom reader formats only support transaction, trade order and market price data.
Examples: Custom reader to import a nonstandard custodian’s transaction listing into FA. Custom mapper to import chosen security information from Morningstar to FA.
Customized integrations based on custom queries and query API
Overview: FA’s standard query API is a REST API that returns data based on the results of a specified SQL query. The queries used with query API may be customized. Similarly to FA's standard APIs, the query API enables other systems to list or search for data in FA. Unlike the other standard APIs, the possibility of using customized queries via query API allows the responses/data to be modified to suit the needs of the specific integration case.
Even if FA’s other standard APIs are able to return the required data, the performance of a customized integration may in some cases be optimized through the use of custom queries and the query API.
Limitations:
Only suitable to data that is query-able.
Only able to return a flat data structure.
Only suitable for retrieving data; adding new data and modifying data through custom queries are not supported.
Examples: Performance-optimized custom integration to fetch specific information (e.g. customer / holdings information) for an online portal.
Customized integrations based on custom queries and query monitoring
Overview: Query monitoring allows building customized integrations where FA periodically (or on-request) sends CSV files, e-mails or performs API calls whose content is defined by a customized query.
Limitations:
Only suitable to data that is query-able.
Only able to return a flat data structure.
API calls only support GET and POST methods, with either basic authentication or header-based authentication.
Examples:
Simple automated data export routines
Simple trading integrations, where FA sends given trade information via file, e-mail or even API call to a broker or external nonstandard trading platform
Other customized integrations deployed via AppStore/Administration
Overview: Customized integrations that do not fall into any of the other above categories, Unlike the other categories mentioned above, these customized integrations may make use of scripting features.
Limitations:
These types of customized integrations have few limitations in terms of what they are able to do, but should only used if the other alternatives are not viable.
Customized integrations are relatively labor-intensive (expensive) compared to the other types of integrations, and are more challenging from a maintenance point of view.
Examples:
Customized APIs to provide data that cannot reasonably be produced through a query, or in a non-flat structure
Customized data imports that require advanced logic that mappers/readers are not able to handle
Customized data connectors in cases where Camel’s built-in components are insufficient
Customized integration to an otherwise unsupported (nonstandard) CRM system that cannot be achieved through the simpler customized integration options above.
Reports
Customized reports (JSReport)
Overview: Fully customized reports in a variety of formats (PDF, Excel, text-based formats), developed with jsreport (https://jsreport.net/). Content, layout, and visuals of customized jsreport-based reports are tailor made to meet specific customer requirements.
Limitations: Data of the report is fetched with one or more API calls.
Examples:
Tailor-made quarterly holdings and performance report
Tailor-made transaction/trade confirmation report
Customized authority/tax reports to fulfil nonstandard reporting requirements
Customized reports (query-based)
Overview: Simple tabular PDF reports with customized content. This is a fast and cost-efficient way to meet simple reporting requirements that require customized content.
Limitations:
Format of such reports is fixed: standard header, footer, and a table with the content itself
Translations for column names are not supported
Only query-able data may be included
Examples:
Simple positions/P&L/customers report with slightly different data than what FA’s standard reports provide
Rules
Rule configurations by filling in standard decision tables
Overview: Filling in standard decision tables. The decision tables are excel files, which can be used to control how the FA platform behaves in various circumstances. The standard decision tables are provided by FA.
Limitations: This customization option is limited to the configurability that is supported by FA’s standard decision tables. If the desired outcome is not supported by standard decision tables, then “Create new custom rules with decision tables” is needed instead.
Please note, that this customization category only allows for filling in the variables in decision tables, not modifying other parts of the decision tables. Modifications to other parts of the decision table falls under “Create new custom rules with decision tables”.
Examples:
Create new custom rules with decision tables
Overview: Building new decision tables, or modifying standard decision tables, allows for customized behavior that is not supported by standard decision tables.
Limitations: Although decision tables may technically contain lots of logic or very complex logic, decision tables should not be used in this way. Decision tables should not contain extensive scripting.
Examples:
Other
Additional customized views / dashboards
Overview: New dashboards, new saved search views. Saving views allows users to tailor FA to meet their requirements and workflows. Saved views are useful as-is, but may additionally be used in dashboards and as the basis for scheduled activities in FA.
Limitations:
Examples:
Customized FA Front views
Overview: Customized FA Front views allow tailoring FA Front content to meet various requirements in terms of functionality, content, and visuals. A customized view is made up of one or more of FA Front’s standard gadgets with customized configurations.
Limitations: Building entirely new gadgets to meet customization needs is not supported. This customization option is therefore limited to what is achievable by FA’s standard gadgets. In some cases, customized processes may be used to address specific customization needs in FA Front (please refer to “Other customized processes, rules, scripts etc. deployed via AppStore/Administration”).
Examples:
Investor portal which displays information about holdings, with layout and styles that match customized requirements
CRM/advisor portal which displays information about customers and supports selected actions, in accordance with customized requirements
Access to queries view & building your own queries
Overview: FA stores data in a relational database. The queries view allows you to write custom SQL queries to retrieve data from this database, to meet customized data retrieval requirements. These customized queries may be saved and shared between users, and used as a basis for customized integrations and reports (see above). Saved queries may also be used in customized dashboards.
Limitations:
Custom queries are only allowed to retrieve data; custom SQL commands to add, delete or modify data are prevented.
Examples:
Customized data exports for business intelligence or data mining requirements.
Custom profiles
Overview: Custom tabs for simple data collection in the security, contact, and portfolio windows. This data may be viewed across various parts of the FA platform. These include contact, security, and portfolio search views, and FA Front.
Limitations:
Custom profiles do not support internationalization (translations)
Custom profiles do not support validation (e.g. required fields)
Custom profiles do not support interdependencies between fields, or complex logic (e.g. show/hide fields based on values of other fields)
Custom profiles for other types of data are not supported
Examples:
Custom KYC profile to collect and store customized contact information for which FA doesn’t have a standard field
Creating own analytics columns
Overview: Users of FA are able to define customized columns for use in analytics+. This includes the analytics+ view, analytics+ API, and FA Front’s analytics-compatible gadgets. Customized columns may be used to adjust the precision or presentation of a standard analytics+ column or key figure. Customized columns may also be used to combine or otherwise adjust value of standard analytics+ columns.
Limitations: Although customized analytics+ columns may contain complex scripting, building customized columns with extensive logic is heavily discouraged.
Examples:
Creating a version of an existing analytics+ field with lower precision e.g. rounding to zero decimals, or another name
Combining existing columns together, e.g. column which sums up incidental charges and one-off costs (ex-post) into a single column
Customized fee formulas
Overview: Fee formulas are used to calculate fees and generate fee transactions for e.g. asset management fees, performance fees, and estimated rebates. FA provides a number of standard fee formulas which may be used without any customization. If none of the standard fee formulas match the requirements (fee structure/calculation formula), a customized fee formula may be used instead.
Limitations:
Examples:
Customized asset management fee formula
Customized performance fee formula
Customized workflows (flowable modeler)
Overview: Customized business processes may be modeled and handled with workflows that are defined via flowable modeler.
Limitations: Data collection with complex and interactive forms is not supported.
Examples: Simple customized onboarding process.
Other customized processes, widgets, or scripts deployed via AppStore/Administration
Overview: Some customized functionality or UIs cannot be achieved through the other types of customizations mentioned above. In these cases, we may be able to fulfil the requirements with custom processes/widgets/scripts. These types of customizations are used to customize data processing, automate nonstandard operations and workflows, and build complex, dynamic UIs for data collection.
Limitations:
These types of customizations have few limitations in terms of what they are able to do, but should only used if the other alternatives are not viable.
Customized processes/widgets/scripts are relatively labor-intensive (expensive) compared to the other types of customization, and are more challenging from a maintenance point of view.
Examples:
Customized complex workflows that include dynamic UIs for data collection, e.g. custom client onboarding workflow.