Install / upgrade

A copy of the Exivity installer can be obtained on our website. Installing or upgrading to the latest release is a straightforward process, refer to the on-premises article for more information.

Migration to PostgreSQL within the Exivity architecture As of version 3.0.0 Exivity stores, all global configuration data and reports results in PostgreSQL as opposed to SQLite. This is a mandatory and breaking change. Please refer to the version 3 upgrade guide for more information.

As of version 3.2.1, quantity adjustments are applied first and before any charge related adjustments. This may potentially affect your billing records. If you were depending on mixing charge and quantity adjustments, please reach out to for guidance.

As of version 3.5.0, Exivity uses the RabbitMQ message broker software for inter-component communication. By default, RabbitMQ will be installed automatically on the Exivity host. Alternatively, you may leverage a remote/dedicated RabbitMQ instance. Make sure to verify the system requirements in the installation guide before upgrading.

Release feed

You may register with the following JSON feed to obtain information about new releases.



June 16, 2022

Bug fixes

  • Fixed an issue with 'option noquote' When importing a file containing a non-escaped quote in a data field, the import statement would fail with an error when option noquote was in effect. This has now been fixed.

  • Fixed an issue when creating a new report Resolved issue where creating a new report definition would generate an invalid error, stating it requires a dset while a dset had already been assigned.


June 10, 2022

New features

  • Added the ability to sort a DSET in a Transformer script There is now a sort statement in Transformer scripts that can be used to sort a DSET in either ascending or descending order by one or multiple columns.

  • Added 'dequote' statement to Transformers The new dequote statement can be used to remove quotes surrounding column names and values.

Bug fixes

  • Fixed an issue that could show an incorrect account during PDF export Resolved issue where account filter wasn't properly applied to the PDF export of the summary report.

  • Fixed an issue with missing labels in the summary report export Resolved styling issue that made labels invisible for the summary export.

  • LDAP users can be created without a password Local users require a password. The creation of new users required a password, that matched the configured password policy. LDAP users do not require a password stored in our database. This is because our system always verifies the password with the LDAP system, and never stores the LDAP password. If an admin user wanted to create and configure a new LDAP user before they logged into our system, this was not possible as the empty password would fail the password validation. This change now allows LDAP users to be created without a password, while still validating local users. If the user source changes to a local user, a password will be required.

  • Fixed an issue with RabbitMQ connection for backend components In certain cases, a connection issue could occur towards RabbitMQ from several of the backend components (chronos, griffon and merlin). This has now been resolved.


May 11, 2022

Bug fixes

  • Hidden navigation links Resolved an issue where navigation links were unintentionally hidden


May 9, 2022

Bug fixes

  • Fixed an issue when creating a new budget revision Not all budget items were copied over for new budget revision. This has been resolved now.

  • Fixed an issue when switching reports from the rates screen Switching reports while on the rates screen could cause an error. This has been resolved now.

  • Fixed an issue with Adjustment policies Previously the adjustment policies screen would become inaccessable.

  • SQL errors during report generation should now cause workflows to fail Previously, when running a report if a SQL error occurred while writing the report data to the database then the workflow would still complete with a success status. This has now been changed and the workflow will fail.


April 26, 2022

New features

  • Improved API functionality for PATCH requests Previously, PATCH requests would return an error if the 'name' attribute was supplied in a request. Now, as long as the value hasn't changed, it is possible to supply this field in a valid request.

  • Removed unused API routing There were some unused API routes that could lead to confusion for customers. We have removed these to simplify the API.

Bug fixes

  • Fixed an issue where multiple 'services' blocks are used in the same Transformer If a transformer script contained multiple 'services' statement blocks, and if any except for the last of them didn't see any new services to create then an internal error would be logged and the job would fail. This has now been fixed.

  • Fixed an issue with inherited rates for manual service subscriptions If an account was inheriting a custom rate set for a service at a parent (or higher) level of the account structure then subscriptions for that service would be charged at the global rate. This has now been fixed.

  • Fixed an informational message when creating an Adjustment for Service Categories Resolved an issue where the user wasn't shown a warning when selecting a category that included a service with a charge type that is not supported for adjustments.


April 1, 2022 🐸

Bug fixes

  • Fixed a time-out issue for long-running jobs with newer RabbitMQ releases When the system was using a RabbitMQ server version higher than 3.8.15, it was timing out for long-running processes before they were finished in the background. This is now fixed and all processes are ending without being timed out.

  • Fixed a rare issue with quantity adjustments With certain combinations of quantity and price adjustments, it could be that if the last quantity adjustment resulted in a negative quantity then no compensation to bring the final quantity up to zero would be applied. This has now been fixed.


March 17, 2022

Bug fixes

  • Solved an issue when creating global rate revisions through a Transformer Transcript was considering rate revisions to be the same when they were different by approximately 0.001 or more, therefore new revisions weren't being created. This comparison should now detect differences greater than 0.00000001 and will create new rate revisions accordingly.


March 9, 2022

Bug fixes

  • Fixed an issue with non-escaped quotes when importing data into a Transformer When importing data into a Transformer, if option noquote is enabled then non-escaped quotes will no longer cause the import to fail.

  • Fixed a memory leak in the 'match' statement in Extractor scripts When using the 'match' statement many times in a loop, memory consumption would increase significantly. This issue has now been fixed.

  • Fixed an issue when displaying services in the rates screen When services from different datasets were linked to the same service category, all services in that category would show up in the rates screen, regardless of the dataset/report they belong to. This has now been resolved to honour the dataset a service belong to.


February 21, 2022

Bug fixes

  • Fixes issue with incorrect status for workflow runs When a workflow run was interrupted during execution, the status of the run could not be read by the API.


February 16, 2022

New features

  • Rate tiers The charge engine and reports now support tiered rates (beta feature)

  • Improved API documentation The API documentation has been overhaled, with more information and new examples added. Hopefully this will make using the API easier for users.

  • Signed backend components Backend executables are now code signed to avoid false-positive hits from A/V scanners.

  • SAML Token added to garbage collector For SAML users, a new SAML Token table has been added to the system. To make sure this doesn't grow to large over time, removing expired tokens has been added to the garbage collector.

  • Add key selector to resources at rate screen At the rate screen, added the possibility to select key as label and filter for services and accounts.

  • Added Extractor support for uppercase and lowercase of values Following is now possible in order to change casing of values in an Extractor: uppercase var_name | {buffer_name} lowercase var_name | {buffer_name}

  • Adding "last day" as possible charge model to services It is now possible to have a service charged on the last day of a month. The "last day" charge_model has been added to services to allow this. Please not that this applies to monthly services only.

  • Improve service validation on charge_model attribute The charge_model validation has been improved. Now the interval will be validated with the charge model.

Bug fixes

  • Fixed an issue which could cause workflows with a "Publish Report" or "Evaluate Budget" step to fail

  • Fixed incorrect payload sent to the IdP server when logging out using the SAML2 SLO endpoint The payload sent to the IdP server did not contain the correct NameID data needed to link the session to the user logging out. This was causing the logout process to fail in some situations.

  • Reset password redirect Resolved issue where a user could be redirected away from the reset password page.

  • Long JSON parslets are no longer truncated at a short length than they should be When expanding a JSON parslet, the maximum length of the resulting data is truncated at a shorter length the maximum allowable length of 8095 characters. This has now been fixed such that up to 8095 characters can be retrieved by a parslet.

  • Negative uplifts and adjustments for instances Fixed an issue where negative uplifts/adjustments were not visible under the instances report of summary.

  • Resolved an issue where an optional webhook notification input field was treated as required.

  • Recurring subscriptions end date bug When creating a recurring subscription, an error was shown if no end date was supplied. Recurring subscriptions should not require an end date. This has now been fixed.

  • Update resources relationship missing data exception When updating a resource's relationship with missing data attributes, an exception was thrown. This shouldn't be required. Now this will now only happen if the data is null.

  • Fixed an issue when using the word 'subroutine' in a 'print' statement Previously, a 'print' statement that had the word 'subroutine' as one of its arguments would cause the script to fail to execute. This has now been fixed.

  • Improve validation by enforcing maximum adjustment numbers For a given Account and given Service, no more than 16 Adjustments policies are allowed to be active at the same time. Validation has now been added for this.

  • Fixed an installer issue when using remote RabbitMQ server Previously the interactive installer would write an invalid/incomplete config.json when providing a remote RabbitMQ server. This has now been resolved.


December 01, 2021

Bug fixes

  • Fixed an issue when installing RabbitMQ locally When using the interactive installer and installing RabbitMQ locally, the installer would store invalid values for the RabbitMQ configuration. This has now been resolved.

  • Fixed an issue when system returns from hibernation If a Windows system that is running the "Exivity Backend Service" would return from hibernation mode, the service (merlin.exe) would not recover and remain in a broken state. This has been resolved.

  • Fixed an issue with the Transformer editor Resolved a corner case whereby the editor could break when using Transformer editor code snippets.


November 22, 2021

Bug fixes

  • Adjustment type Fixed an issue where the type of adjustment was always shown as premium.


November 19, 2021

New features

  • The name of the EXIVITY_AGGR_COUNT column created by the 'aggregate' statement is now configurable

    The 'aggregate' statement now supports an optional parameter (called 'counter_column') which allows you to specify the name of the column into which the aggregation counters will be written. Please refer to the 'aggregate' documentation for more details.

  • Transformer scripts will now log a warning if no RDF files were updated or created

    When running a Transformer script that does not create or update an RDF file using the 'finish' statement, a warning will be written to the log to that effect.

  • The 'terminate' statement in a Transformer will now accept 'with error' as optional parameters

    The statement 'terminate with error' is now supported by Transformer scripts and will cause the processing of the current day to abruptly end. A message will be written to the logfile to the effect that the error was explicitly requested and the task will terminate. If the 'continue' option is enabled, processing will resume on the next day in the range (if a range was specified) else the workflow will exit.

Bug fixes

  • Fixed an issue when executing quoted scripts from a workflow

    When a script (i.e. Powershell) was quoted in a workflow step, the workflow would not execute the script. This has now been resolved.

  • Fixed an installer issue

    When installing RabbitMQ into a program path that contains spaces, RabbitMQ could fail to install the service. This has now been resolved.

  • Increased the number of API handlers

    This release now runs 18 concurrent API processes running on a node with the API service installed to allow a higher number of parallel requests to the REST API.

  • Fixed an issue with report level labels

    Fixed an issue where report labels weren't updated.

  • Fixed an issue with the Adjustments

    Resolved an issue where details in some cases weren't reflected in the form of the Adjustments screen.

  • Fixed issue with archiving old log files

    In some cases, collecting old log files resulted in archiving some files that were already archived before.

  • Fixed issue with updating an extractor

    When an extractor was updated with NULL arguments, the request was incorrectly considered invalid.

  • Fixed an issue when creating budgets

    Resolved an issue where there was unexpected behavior when creating a multi-level budget in the GUI

  • DEBUG level logs no longer contain the value of parameters provided to subroutines

    The values of parameters passed to subroutines are no longer included in DEBUG level logfiles as such values could potentially contain sensitive data

  • Fixed an issue when viewing proximity log

    Solved an issue where certain log types caused the log screen to fail.

  • Fixes issue with some users not being able to change password

    Some users with view_report permissions only were not able to change their password. This issue has now been fixed.

  • Log message could contain metadata

    Logs entries can contain 'context' to help debugging. This is usually one JSON string. Some log entries could contain multiple contents, which was unexpected. Now if this occurs, these contexts are merged into one JSON string.

  • Fixed an issue when clicking arrow list

    Solved issue where a list could disappear when clicking the arrow in a dropdown list in the GUI

  • Fixed an issue with the report level filter

    Resolved an issue where a default report level wasn't selected when selecting a new report in the GUI

  • Clarified the log entry written if an extractor script has an unmatched double quote on the last line

    In cases where the last line of an extractor script has an unmatched double-quote, and that last line is also not terminated with a carriage return, then an internal error would be generated. The result is correct (the script will not execute) but the error has now been changed to clearly indicate the exact nature of the problem.

  • Fixed an issue related to sorting of datasets

    Resolved an issue with the date sort of datasets in the GUI


September 15, 2021

Release Candidate - available to selected users only

New features

  • Added more information to audit logs when deleting services The audit log now contains the service key when a service is deleted. Previously it recorded the event,\ but did not include specific information about the service itself.

  • Added Filtering on workflow-step type The feature allows users to filter workflow steps by type.

  • The installer has now valid code signing applied

    As of this version, the Exivity installer will be signed using the Exivity code signing certificate in order to increase the security of the distributed installer package.

Bug fixes

  • Increased the number of API handlers This release now runs 18 concurrent API processes running on a node with the API service installed to allow a higher number of parallel requests to the REST API.

  • Fixed an issue with overwriting a Lookup table Solved an issue where saving a lookup could lead to unexpected behavior

  • Fixed an issue with user notification subscriptions Solved an issue where it was not possible to save a notification as a user

  • Fixed an issue when exporting the Consolidated Summary report Solved an issue where the consolidated export was only exporting the first account

  • Fixed a security issue related to User Access Control Solved an issue where the cache was not properly cleared and as such, the user could view invalidated data.

  • Fixed an issue with sorting service names in the summary report Services in the summary were sorted on ServiceName instead of Service Description. This has now been resolved.

  • Fixed an issue where a certain type of invalid XML parslet would cause an extractor crash In rare cases, using an XML parslet to extract an attribute value could cause a crash. This has now been fixed.

  • Fixed missing budget filter "service" bug When a user selected the "service" filter in a budget, this data was not stored correctly. This fixes this issue.

  • Fixed an issue with auto-completion There was an issue where auto-completion of example blocks in the Extractor/Transformer editor would not support "tabbing-through" function parameters. This has now been resolved. Additionally, an issue was fixed where the "rename" function would autocomplete wrongly to "convert".

  • Fixes issue with links generated from singular form of the resource type Links for relationships inside responses were generated using the singular form of the resource.

  • Fixes issue with incorrect links generated inside responses When a response contained a "link" attribute, it was incorrectly generated.

  • Better handling of hash and whitespace characters in quoted strings within extractor scripts Previously, a hash symbol at the start of a word in a quoted string literal would be treated as the start of a comment, causing the string to be truncated and an "Unmatched quote" error generated. Additionally, quoted strings containing multiple consecutive whitespace characters would be modified during execution such that they were replaced with a single space. These issues have both been fixed.


August 27, 2021

Release Candidate - available to selected users only

Bug fixes

  • Fixed an issue with the ordering of headings in the Transformer Preview There was an issue where the Transformer Preview would sort the headings in reversed order. This has now been resolved.

  • Fixed an issue when creating a Transformer from a template When creating a transformer from a template, after creation the GUI would show a "leave the page" popup. This has been resolved.

  • Fixed an issue when creating an Extractor from a template When creating an Extractor from a template, after creation the screen would not switch to the Variables tab. This has now been resolved.

  • Resolved issue where the user couldn't set alt_interval The user couldn't save a subscription that used alternative intervals because of invalid values. This is now solved.


August 18, 2021

Release Candidate - available to selected users only

Bug fixes

  • Fixed an installer error for the workflow migration script PHP environment errors could show up in the installer log during the execution of the workflow migration script. This has been resolved

  • Added cleanup steps to uninstaller to remove PSQL and RabbitMQ traces

  • Hidden scrollbar preview Resolved issue where the scrollbar wasn't visible in a Transcript Preview.

  • Fixed an issue with environments and global variables in Transformer scripts Attempting to use different environments, and the global variables within them, in a transformer script may have caused an error and the script to fail. This has now been fixed.

  • Workflow status Resolved an issue where the GUI could crash because of an invalid status state


July 26, 2021

Release Candidate - available to selected users only

New features

  • Implemented account lockout strategy User accounts will now get locked out for 15 minutes after 5 consecutive failed login attempts.

  • Account names are now set by the latest date seen Previously, when preparing reports account names were set based on the last data to be processed, even if that data was older than that used to originally set the account name. Now, when accounts are being synchronised during the report preparation process, names will only be updated if the data being processed is newer than that which was used to last set or update the name.

  • Increased calculation precision in Transformer scripts The precision of calculations in Transformer scripts has been increased to 14 decimal places.

  • Added new log files to the log rotation policy Log files generated by the Notification component and by the new Scheduler component are included in the log rotation policy.

  • Added the option to run a workflow for a date range When running a workflow manually, you can now choose to run it for a date range, not only for a single date. When running against a date range the steps are executed individually for each day in that range.

  • Redesign of the Data Pipelines > Workflows screen Complete overhaul of the Workflows page, improving the configuration user experience for individual steps and making it easier to review associated step logs.

  • Added a cascading DELETE parameter to the API API now supports a new cascade: boolean query parameter. This parameter, if true, will allow the severing of non-nullable relationships and will remove the related record afterwards. This new parameter specifically applies to the workflowstep and workflowschedule endpoints.

  • Data aware report filters Report filters only show entities available in the selected reporting date range

  • Highly available scheduler The scheduler has been rewritten to support the new message bus architecture and has the ability to run on multiple nodes at the same time.

  • Creating a new report now requires the "all accounts" permission Only users that have access to all accounts will be able to create new reports. This avoids situations where a user could previously create a new report that was not visible after creation.

  • API support for changing user login method It is now possible to change an existing users authentication method to local, LDAP or SAML2. Currently this is only supported by invoking the the REST API.

  • Changed behaviour of logout when Single Sign-On is configured Exivity now allows the logout endpoint (SLO endpoint) to remain unconfigured, in which case the user will be logged out only from the application, not from the entire Single Sign-On environment.

  • Budget notification

  • Summary report notification Users can now choose to receive a pre-defined report in either CSV or PDF format through a notification

  • File available notification

  • Admin managed notifications Admin users and users with the manage_users permissions now have the ability to add notification channels and subscriptions to other users. This allows admin users to grant users subscriptions to notification types they would otherwise not have.

  • Minimum commitment and Adjustments included in cost summary subtotals Details of minimum commitments and adjustments are now included in the cost summary subtotals for service categories.

  • Webhook notification channel Allow webhooks as notification channel, forwarding the original event as JSON payload to a custom webhook URL

  • Implement internal communications between components using RabbitMQ message broker This allows for improved multi-node setups

Bug fixes

  • Fixed an issue with manually created accounts When creating accounts manually in the GUI, on occasion an account could be created which did not fit correctly into the account hierarchy. This has now been fixed.

  • Fixed and issue with updating account names When preparing a report, it could be that some account names were not updated when they should have been. This has now been fixed.

  • Fixed saving service resources including 'budgetitems' relationship When saving a service resource including the budgetitems relationship, an error was returned. This has been fixed and the relationship between service and budgetitems works both ways.

  • Fixed an issue with some combinations of HTTP methods in extractors In extractor scripts, making an HTTP DELETE request could cause subsequent HTTP calls to continue to use the DELETE method even if another method was specified. This has now been fixed.

  • Added the 'notificationsubscription' relationship for a user entity When requesting a user entity, the notificationsubscription relationship can now be included in the response.

  • Audit screen freeze Fixed an issue where the audit screen could become unresponsive

  • Fix Publish Report notification The clear option for the account field now works.

  • Fix state update adjustments Fixed an issue where a field wouldn't be updated when commuting to the next resource.

  • Subscription inherited rates Fixed some incorrect behavior with rate inheritance on the subscription management screen

  • Removed the limit of CSV files that could be open at once in extractor scripts Previously, a maximum of 16 CSV files could be open for writing in extractor scripts. This limit has now been removed and any number of CSV files can be open simultaneously

  • Fix decimal inputs Fixed an issue where an input would not accept a decimal value with leading zero.

  • Lookup file Fixed an issue where switching between lookup files wouldnt cause the screen to be updated

  • Show manually created service Solved an issue where manually created services where not visible before a browser refresh

  • Disclaimer modal Fixed an issue where the disclaimer had to be dismissed twice

  • Fixed an issue with compound MSSQL statements in extractors where the first statement is not a SELECT Usually, SQL statements executed in an extractor script are based around some form of SELECT. However in some cases more complex compound statements are required. Previously, a statement using a temporary table in MS SQL server, such as ... CREATE TABLE #jos(Name char(20)) INSERT INTO #jos (teller) VALUES ('2') SELECT * FROM #jos; ... would not return any results, as the INSERT statement returns an empty result set. Extractors now ignore empty result sets in such statements and return the first result set that is not empty (assuming there is any data returned by the query at all).

  • Fixed an issue with transformer scripts when importing data with non-escaped quotes Importing data with non-escaped quotes could sometimes cause Transformer scripts to fail. This has now been fixed.

  • Fixed types for returned attributes When accessing various endpoints, id attributes were returned as integers instead of strings. This was fixed to comply with JSON:API specifications.

  • Fixed incorrect display of date fields in slack notifications When a slack notification was sent, the date of the notification was wrongly set to sometime in the future

  • Fixed incorrect display of extra HTML tags in emails When emails are sent, some HTML tags were shown as text in the email body

  • Fixed an issue with encoding of double quotes when exporting account data as CSV

  • Fixed long delay when displaying a large number of budgets when including reports

  • Fixed an issue with displaying workflow start date in dashboard Previously the start date of a workflow was displayed incorrectly in the Workflow dashboard widget

  • Fixed an issue with creating adjustments There was a problem where the GUI did not allow the creating of adjustments that had a non-integar amount. This has now been fixed.

  • Fixed a divide-by-zero error on reports In corner cases where the final chargeable quantity for all line-items on a report is 0, a divide-by-zero error would occur. This has now been fixed.

  • Fixed the description of the 'Budget' permission This permission only provides access to the Budget report. In the previous version, the description of this group permission contained false information.

  • Fixed an issue when configuring a Budget for a leaf node If a leaf node in the budget structure has the distribution set to even or account, the Budget engine generated a false warning that an amount for the node is left undistributed. This has now been resolved.


March 22, 2021

New features

  • Usage data generation based on consumption start/stop events Added functionality to produce usage data from consumption start/stop/update events, including the consumption which spans several days. See event_to_usage statement description in Transform documentation for details.


February 24, 2021

Bug fixes

  • Fixed an issue with SAML user account access provisioning Previously, user account access provisioning would grant access to a matching account, including all its child accounts. With this release, the SAML user account access provisioning only grants a user access to the first matching account (i.e. with the lowest depth) in the account hierarchy.

  • Fixed an issue where reports could become invalid for certain user account permission configurations

  • Revolved a race condition related to preparing a report On rare occasions the actions of multiple users administering accounts and reports simultaneously could result in duplicate charges in reports. This has now been fixed.

  • Fixed a rare cosmetic issue when updating rates in ETL When executing a 'services' statement in a Transformer, if there was an existing service rate revision with a different rate for the same effective date as a new revision then an error containing the text "incorrect binary data format" would be logged. This issue was cosmetic, but has now been fixed.

  • Fixed a very rare issue with minimum commit Resolved an issue whereby it was possible on extremely rare occasions for the minimum commit calculations applied to one service to be incorrectly applied also to other services in a report.


December 08, 2020

Bug fixes

  • Fixed an issue with PDF export of the summary report In certain environments, the PDF export feature was broken. This issue has now been resolved.

  • Default SAML user group re-applied when a user logs in An issue has been resolved which caused the default user group to be re-applied when existing users were logging in through a SAML Identity Provider.


November 17, 2020

New features

  • Executing a Reports now requires a valid license

Bug fixes

  • Fixed a minor issue with the calendar widget

  • Fixed a minor issue with the SAML SLS endpoint

  • Fixed an issue with custom rates and subscriptions

    Sometimes a subscription would not reflect changes in custom rates for a service. This has now been fixed.


November 02, 2020

Due to security considerations, starting with this release, each user is bound to the logon provider set in the source attribute. E.g. if a user has their source set to 'local', they can't log in with the SAML2 or LDAP SSO provider.

New features

  • Improved user provisioning (beta) Added options to provision user attributes from a SAML Identity Provider/AD response. It's possible to provision the users display name, username and email address.

  • Added claims based account access provisioning (beta) Added options to provision users permission levels using attributes from a SAML Identity Provider/AD. It's possible to provision both the usergroup and user account access (by matching either the account key or metadata value to a SAML/AD response attribute).

Bug fixes

  • Change to log filenames for extractors and transformers When scheduling extractors and transformers with workflows, the selected environment is now part of the log filename to distinguish their log files when they are running at the same time.

  • Fixed opening curly brace detection When opening curly brace wasn't preceded by space, sometimes it wasn't properly processed. It has been fixed

  • Improved error message on lookups screen Fixed an issue where a user might get a confusing error message when saving a lookup file.

  • Fixes initializing directories in home directory There was a bug when the home directories were initially created and two directories were wrongly created in the /home directory.

  • Improved support for UTF-8 in usernames


October 09, 2020

New features

  • Added support for the Safari web browser

    Exivity now supports the Safari web browser

  • Added ability to set custom escape character in Transformer Previewer Added a dropdown to the transformer previewer where the client can select which escape character to use during Transformer preview mode

Bug fixes

  • Fixed an issue with the Dataset Manager Resolved regression issues regarding the display of RDF dates

  • Fixed an issue with report filters There was a bug if a user accidentally submits a string instead of a number on filtering 'parent_account_id' with report. This is now being fixed

  • Fixed an issue with displaying workflow start times in the workflow list The time column of the workflow list omitted the hour at which the workflow would run for daily and monthly workflows

  • Resolve global variables in "uri" statement In some statements (i.e. uri) global variables weren't properly resolved. This has now been fixed

  • Fixed an issue with COGS charges for services with an average monthly charge model COGS charges for monthly services that used the average charge model could be slightly lower than they should be, as the COGS rate for the first day seen was not factored into the rate averaging. This has now been fixed

  • Fixed an issue when managing rates An aggregation_level error could occur when updating rates. This has now been resolved.


September 30, 2020

Bug fixes

  • Improved error message when creating invalid revision When creating a duplicate rate revision for the same effective date, an appropriate error message is now shown

  • Improved error message for LDAP Added a more meaningful message when unable to connect to an LDAP server

  • Service Category names must be unique It was possible to have duplicate service category names. This could lead to confusion and has now been resolved. The Service Category name must now be unique

  • Resolved a timezone offset issue for Workflows Resolved an issue where timezones were incorrectly applied when creating workflows

  • Resolved an issue with the Reports menu Fixed an issue where the report screen would crash after selecting multiple reports


September 9, 2020

Bug fixes

  • Increased the boundaries of some USE arithmetical operations

    The operators +=, -=, *= and /= were limited to a 32-bit range and this could cause an overflow in certain real-world applications. The range has now been increased to match that of the other arithmentical operations which is based on the range of a 64-bit floating point value: 1.7E +/- 308 (up to 15 digits).

  • Fixed an issue where the CSV export of the instance report could fail The CSV export of the instance report did not work when the usage column was included and some of the instances did not have any usage data

  • One-off subscriptions should ignore the charge_day field Only recurring subscriptions require the "charge day" field, but it was required for all subscriptions. This has now been fixed

  • Fixed a decimal precision issue with the timeline graph The Y-axis of the timeline sometimes displayed long floats. To resolve this the precision has been fixed to two decimals

  • Fix for "space" as thousand separator It is possible to select different symbols as a thousand separator for large numbers shown to users. One of the options, space (" "), was not saving correctly. This has now been resolved

  • Fix error handling transformer Fixed an issue where it was possible that a failed transformer error was not processed properly which prevented the transformer from giving the user feedback

  • Added index to speed-up report preparation During report preparation, Edify executes several queries to the adj_lookup table. An index has been adding to this table to improve performance


September 1, 2020

  • Quantity and Charge Adjustment are now handled in strict order As of this release, quantity adjustments are applied first and before any charge related adjustments. This in turn enables the ordering of individual adjustment policies.

  • Implemented translations settings (Beta) Implemented an automatic translation feature for Dutch, German, and French. This can be configured on a system or user level. Currently, this is released as a beta feature.

  • Delete old Nginx log files Old Nginx log files will now be deleted by the garbage collector. This will help reduce disk space.

  • Improve user error page Updated the error page to improve user experience. Customer logo will now be shown here, if it has been set.

  • Adjustment API endpoint will now accept order In the past, there was no way to reorder adjustments. Users had to delete and recreate them to do this. This has now been solved. The order field now takes in an order number. If this is not used, the current functionality will still work, using the creating date instead.

  • Reports can now include adjustment name The adjustment name can now be added to a report. This is useful for report users that do not have access to view the whole adjustment.

  • Support in UI for changing the order in which Adjustments are applied Since it is possible to create multiple Adjustments for a single account, they may affect each other. It is therefore desirable to have the ability to control the order in which they are applied. As of this version, it is possible to change the order in which Adjustments are applied.

Bug fixes

  • Fixed an issue when partial preparing manual services When partial prepare kicks in, it previously skipped manual services. This has now been resolve.

  • Fixed SAML ACS invalid schema error Some users were experiencing an Invalid Schema bug when accessing the /v1/auth/saml/acs endpoint. This has now been fixed.

  • Fixes "Nginx Log File" not found error The location of some log files could not be found. This has been resolved.

  • Improved invalid token handling Changed how this error is logged. It will now be treated as a notice instead of a warning.

  • Fixed an issue with running transformers

    In release 3.2.0 there was a problem running transformers from the GUI. This has now been fixed.


July 21, 2020

Bug fixes

  • Premature validation warning

    Resolved an issue where a user could get a premature validation error for certain input fields.

  • Fixed an issue with the budget report

    With certain budget configurations, the budget report would display a message instead of the report even if the budget configuration was valid. This has now been resolved.

  • Improved user message when execution time is exceeded

    Improved the message when the execution time of an Extractor, Transformer or Report is being exceeded

  • Fixed an issue with budget leaf account distribution When configuring a budget for a budget leaf, the distribution setting will be forced to be of the type "shared"

  • Fixed an issue when deleting services Previously it wasn't possible to delete a service if it still had any associated rates. This behavior has now been corrected so that services including its relationships will be deleted

  • Fixed an issue with the Garbage collector exits code The Garbage collector would previously always return an exit code of 259 when invoked manually. This has been resolved

  • Fixed an issue where subscriptions could show up on more than one report In some cases, a subscription (created for an account associated with a specific report) could be shown when a different report was run. This has now been fixed

  • Fixed graph image export When exporting a graph chart (i.e. Pie, Bar, Line) in any of the reports (Accounts, Services Instances) the file download would not start. This has now been resolved

  • Restored indicators for account access list Pencil-like indicators will inform the user where nested accounts have been selected. This functionality was unintentionally removed from the user management screen but has been placed back

  • Horizon performance improvements Implemented two seperate changes to improve Horizon budget execution performance. (1) budget gets validated only once after a budget configuration change and (2) added a new database index to improve database query execution

  • Always show decimal values Resolved an issue where some values would be displayed using their scientific notation

  • Resolved issue when deleting services Fixed an issue where the user would get an error when making multiple delete requests for services


July 3, 2020

New features

  • Ability to skip database backup when updating When updating the software, the user can now skip the PostgreSQL database backup to improve update speed

Bug fixes

  • Fixed an issue with the webproxy.conf proxy_pass URL

    When updating the software, the proxy_pass URL for the webproxy.conf NGINX configuration was always reverted back to This has now been resolved


June 28, 2020

Fixed charges no longer available As of version 3.1.0, we're removing fixed charges (or: interval-based charges) because of the limited amount of use cases and low customer adoption with this feature. In case you are an Exivity customer and are still using this service parameter, please reach out to so we can provide you with alternative solutions.

New features

  • Improved auditing when managing accounts manually Added a number of new audit points when performing manual account management

  • Auditing token creation correctly logs client IP address when API is behind a proxy server

  • Updating user profile information now requires providing the current password

  • Implemented current password validation A user is now required to enter his/her current password before any changes to its profile are applied

  • Added logging audit entries for metadata, service subscriptions, and budgets

Bug fixes

  • Fixed an issue where some users could select budgets even if it would not contain any details

  • Fixed an issue which sometimes caused the workflows screen to load for a long time A resource-intensive operation that ran whenever the workflow page is visited got removed

  • getCUPRs function ported to PSQL getCUPRs function was changed from using SQLite global DB to PSQL global DB

  • Mitigated a potential security issue (internal reference EXVT-3773)

  • Fixed an issue were sometimes log files would appear malformed in the Transformer run tab

  • Reverted the way a user deletes an RDF

  • Fixed form behavior in rates screen

  • Fixed "other" option behavior at services

  • Fix report filter When switching reports, some of the filters were not reset and appeared unused while they actually held a value not related to the currently selected report. This made the reports appear empty. This has been resolved.

  • When the API runs out of memory (possible for very large reports) it will respond with a descriptive message

  • Incorrect display of minimum_commit_delta_charge and minimum_commit_delta_quantity When a minimum commit quantity was set for a service rate revision, the resulting charges could show up incorrectly by having the quantity and minimum commit delta swapped on the reports


May 26, 2020

Bug fixes

  • Fixed issue at /lookups where in specific cases an error was undefined

  • Fixed issue where user was shown an incorrect validation warning When providing a number with more then one decimal, the user interface would show an error message. This has been resolved.

  • Added cache check in partial preparation There was an issue that partial preparation code didn't check for cache table presence before analysis, which caused execution errors, and it has been fixed.

  • Fixed escape option behaviour in 'import' There was an error that '\"' sequence was always treated as escaped quoted even when 'escape' option switched off (default), it has been fixed.

  • Rate revision date never changes Transcript was trying to change rate revision date when it detects an attempt to create new revision with the same attributes but earlier date, which conflicted with database constraint, so it was removed in order to avoid execution errors.

  • Fixed issue where line breaks were not shown When providing an address for the summary report with multiple new lines, only the first would be shown. This has been resolved.

  • Fixed undefined tool tip at workflows The was a column which showed a tool tip with undefined as value. This has been resolved.

  • Select a single date for transformer run After introduction of a new calendar, the single date selection was missing. This has now been resolved.

  • Services and categories at subscriptions are now alphabetically sorted

  • Fixed an issue where dataset columns were missing After repreparing a report, the columns associated with a dataset were not visible. This has been resolved.

  • Fixed visibility newly created dataset When running a transcript, newly created datasets were only visible after refresh. This has been resolved.

  • Show red underline when incorrect value for textarea input

  • Show correct validation values when saving environment

    When saving an environment, we will now show the correct error messages for missing values.


April 30, 2020

New features

  • New feature: Subscriptions When Beta features are enabled, users can now create one-off and recurring daily, monthly or yearly subscriptions for services for which a metered data source is not available.

  • New feature: Workflows widget When Beta features are enabled, a new Workflow traffic-light widget will be shown on the main Dashboard page.

  • New feature: Global Variables When Beta features are enabled, users can now manage Global Variables under System Administration. This enables users to decouple Extractor and Transformer variable values from scripts thus supporting different values on a per Exivity instance basis without changing underlying scripts.

  • New feature: Metadata for Services Metadata can now be added to all services just like with accounts. Define a metadata definition first, then attach the definition to a dataset in Data pipelines > Datasets. All services in this dataset will now use this set of metadata fields. Metadata information itself can be added and modified in Services > Overview and is available in the services reports.

  • Increased rounding of set to match calculate statement The Transformer set and calculate statemets now have had their rounding precision increased to 12 decimal places.

  • Added more information to the summary report The summary report now contains the following additional columns: service_key, account keys (between 1 and 5 inclusive depending on the report), start_date, end_date. These columns are also included in CSV exports.

  • Improved quoting in exported CSVs To avoid potential complications with Excel, any cell values in CSVs exported from Exivity that are not numbers and begin with any of the characters =,+,- or @ are now preceded with a single quote.

  • A new setting has been added to allow users to stay logged in. If disabled (default), users need to log in each time they open Exivity in their browser.

  • Administrators can now set the token lifetime. When the token lifetime expires, users need to log in again.

  • Added ability for users to log out of all devices.

  • Mitigated a potential security issue (internal reference EXVT-3457)

  • Mitigated a potential security issue (internal reference: EXVT-3455)

  • Mitigated a potential security issue (internal reference EXVT-3270)

  • Implemented a new charge model for monthly services The charge for a monthly services may now be based on the usage of a specific day in the month.

  • Improvements in report performance Reports are now pre-loaded in the database which speeds up report loading times in the GUI.

  • Added support for LDAP authentication LDAP authentication was available as beta feature already, and is now generally available. A guide will be added to our documentation soon. Configuration options are available in the Settings screen (Single sign-on tab).

Bug fixes

  • Fixed an issue with manage_metadata_definitions Granting the "Manage Metadata" permission is now possible when creating a security group

  • Fixed an edge case for incorrect net value on accounts table Whenever cogs or charge had 0 as value the net value wouldn't be displayed correctly on the details table of the accounts report.

  • Fixed an issue when creating a manual service Manual per unit cogs type services will not require cogs column

  • Fixed invalid format issue metadata lists Previously empty lines we're persisted as list option. Options are now trimmed and validated before persisting.

  • The API now requires additional attributes for certain service types

  • Fixed a small issue with the metadata selector in the report management screen

  • Removed toolbar from PDF export The Summary report PDF export included the toolbar on the top of every page of the PDF document. This has now been removed.

  • Fixed an Extractor XML parsing issue USE could previously fail when iterating over an empty XML node inside a foreach loop. This has now been resolved.

  • Fixed modified display issue in Accounts Overview When switching from Account Name to Account Key in the Accounts Overview screen, the modified state / pencil icon disappeared previously. This has now been resolved.

  • Fixed an issue when scrolling in the Accounts Overview When having a large amount of Accounts in a report definition, the Accounts Overview screen could generate cosmetic glitches when scrolling

  • Fixed a Transformer issue with skip_corrupted_records When import option skip_corrupted_records was set, import could fail if last column in the record is missing closing quote. This has been resolved.

  • Fixed a Transformer issue with aggregate When using the aggregate max function, Transcript could pick the wrong value.

  • Fixed a false warning about invalid COGS type in the logfile When preparing reports, in some cases a lot of warnings would appear in the logfile that state: Invalid cogs_type (0) in database for service ID nnn where "nnn" is a service ID. This was a false warning and could be ignored but looked concerning and could lead to larger logfiles. This issue has now been fixed.

  • Removed "remainder" option from lowest level accounts when setting budgets When a budget is set for an account at the deepest report level, the "remainder" option is no longer shown, as there are no sibling accounts to share the budget with.

  • Fixed an issue where (harmless) SQL errors could be logged when deleting services When deleting services, SQL errors could be present in the logfile for days where reports that reference those services had not been prepared. This has now been fixed.

Older release notes can be found here.

Last updated