Case Study
8 minutes

Our client is a global leader in expense management and AP automation solutions based in the US. They are trusted by millions worldwide to make their users’ businesses better through their offerings of automating and streamlining accounts payable processes, increasing productivity by automating expense control, and enforcing compliance.

Our partnership began in 2011, and since then, we’ve worked together to upgrade the client’s existing iOS and Android apps, design and develop a white label mobile app, and have worked on various other projects with their internal teams. 

Today, a number of Softjourn’s teams work on continual functionality and UI improvements for the client so they can offer top-tier services to all of their users worldwide. 

The Need - Enabling International Payments

Currently, there are many expense and travel management applications and platforms competing on the market. All of them work to find the right approach to appeal to customers by developing features that will make them stand out from the crowd. 

However, attracting and retaining customers is not as simple as regularly creating trendy features. Only businesses that understand the value of user feedback, and apply the suggestions to their applications can stay afloat in this competitive environment. This is the main reason why our client is keen to hear from their users to better under their needs and pain points, which helps them to make smart improvements to their product. 

The client heard from many users that they would like to be able to do international business and be able to use multiple currencies that the client did not currently offer. Therefore, the client prioritized creating a Direct Pay functionality that would enable their users that do their business in multiple countries and currencies. 

Another sought-after request was a high level of field customization, as different companies wanted to have an option to select only the fields they needed instead of using the same template for different types of reports.

This would help the client with customer attrition, since users would be inclined to continue using their platform rather than defect to a different expense management company offering similar features. 

How User Feedback Helped this Platform Grow Enormously

The Solution 

Moving Tessera Features into Mercury

Previously, the client used a separate application called Tessera, that did not allow customers to change the UI from their side of the app and customize their reports. Softjourn’s team recommended that the client move features from Tessera into Mercury UI framework. Mercury’s framework would allow the client to adjust their UI interface according to their specific needs, thus improving the overall customer experience. 

With this framework, customers could now customize how the content looks in each of their reports. Now, they can create: 

  • New expense types according to their business
  • Adjust the set of visible fields in the report headers
  • Adjust the setting of visible fields in report line items
  • Create custom fields and remove unnecessary fields


  • Customers don’t have to wait for the support team to make custom expense types
  • Customizing UI is much faster and simpler, only taking a few minutes
  • The client also saves time and resources normally spent on customer support
  • Increased customer satisfaction potentially leads to higher customer retention rates

During this project, Softjourn’s team assisted the client using technologies such as Spring, Spring Boot, Java 8, Git, AWS, and MySQL. 

Enhancing Rules Builder Functionality

Once a user report is created, the client wanted to be able to make sure that users were filling the required report data in accordance to the company's policy. Additionally, they wanted the ability to ensure that the workers in charge of reviewing and approving the reports would see these customized reports and approve them for payment.

In order to make these tall orders come to fruition, the client needed to closely monitor and adjust rules representing company policies. For example, some types of these rules remind users to fill out certain fields to certify that users have added all necessary information to a document, while other rules adjust the report routing process, such as assigning a report to a specialized reviewer for approval.

Softjourn suggested that the client use Rules Builder which would allow users to create, update, or delete the rules with different attributes (conditions). For example, a report can have a rule requiring the user to input a date and will issue a warning each time the user doesn’t add a date to the report. 

Our client’s platform enabled their users to create different types of reports, such as: 

  • Pre Approvals
  • Expenses
  • Purchase orders
  • Invoices

Each of these types of reports has a unique set of rules. The Rules Builder team can also create different types of rules for a variety of use cases and scripts that make adding new complex attributes much more straightforward for both new and existing users of the platform. 

Compliance Level - Compliance Rules help users check if they have entered all of the information correctly and haven’t missed any fields on the level of line items data before submitting. 

Submit Compliance Level - These are the set of rules triggered once a user tries to submit a report, checking whether users entered all of the information correctly and haven't missed any fields on the report header level. It can also compare header data to the line items data submitted.

Routing Level - These rules define the order of reports, and also notify the reviewer, who must check a submitted report and approve it to be paid.

Introduce New Currencies for Customers’ Direct Pay Bank Accounts

Direct Pay was a feature the client wanted for their expense management platform to automate the payment of expense reporting reimbursements to company employees or corporate card providers. Additionally, Direct Pay would help the client introduce new currencies in their system which would support people located in different countries who use currencies not previously offered on their platform. 

In order to make Direct Pay fully functional, Softjourn’s team helped the client integrate with Wise Platform API. From the client side, it is possible to validate the bank account details a customer enters, and if the data is correct, it is transformed into a format suitable for Wise API during the payment process. 

This integration was done in the AWS Lambdas, which decreased the cost of production.

Since we’ve helped the client integrate with Wise, the client has added an additional 15 currencies into their system in response to the requests they received from users.

Expense Platform Customization is the Key to Improving Customer Satisfaction

The Benefit 

All three solutions we offered our client directly contributed to improving the UI of their expense management platform and boosted their overall client satisfaction. Specifically, the client saw the greatest benefits from: 

  • Moving from Tessera to Mercury to save valuable time for users since it allows them to remove all unnecessary fields from any report and customize it to their specific needs. 
  • Enhancing Rules Builder to make it possible for customers to create reports with a distinct set of rules to ensure the accuracy of each report.
  • Adding new currencies to Direct Pay bank accounts which automates payments in multiple currencies so international companies can use it in different countries without having to set up new accounts separately. 

The Need - Adding Improvements to the System

Over the past year, our client's number of users has increased by almost 100%. With more users, the client had to increase the number of maintenance teams to ensure their system could handle the added pressure. Our engineering team helped them make many improvements to their system, which included:

  • A major upgrade to their Elasticsearch from version 2.3 to 7.9
  • An increase in Apollo CPUs
  • Installing improved database monitoring
  • Updates to Aurora database engine

These improvements amplified the client’s capacity to take on more users, including some prominent and high-profile industry players. The technologies used in this project were: 

  • Spring, and its additional frameworks like Boot and Security
  • Java 8
  • Git
  • AWS
  • MySQL
  • Thymeleaf
  • Hystrix

The main tasks of our second team were addressing IDOR issues, developing the Expense Export application, working on the Expense routing application, enhancing Comparator work, and splitting Aurora Read Traffic. 

The Solution

Addressing High IDORs Issues

Improving security for current and future users of our client’s platform was one of the critical objectives for the Tiger team. Addressing Insecure Direct Object References (IDOR) vulnerabilities is important as they often arise when sensitive resources are located in static files on the server-side filesystem. 

For example, a website might save a document to disk using an incrementing filename and allow users to retrieve these by visiting a URL. In this situation, an attacker can simply modify the filename to retrieve a document created by another user and potentially obtain user credentials and other sensitive data.

With thousands of endpoints to address, the Tiger team works only with high-sensitivity domains. For example, if a user wants to add extra security to their account, the team would do a particular validation, check payloads for important requests, and introduce additional filters, before helping to analyze the request. 

The Solution - Expense Export and Expense Routing Apps

Expense Exporting and Expense Routing applications help reduce database load and enable faster customer transactions, leading to improved customer satisfaction. They also reduce the number of clusters needed for users, which reduces general business expenses.


Our client has already implemented several new features, added new currencies, and ensured that all sensitive data is safely stored. Their platform is continually developing to serve more users than ever before. By carefully listening to their users' requests and responding to their needs with real solutions, our client manages to keep growing their platform year after year. 

During these projects, teams from Softjourn proved themselves to be invaluable and irreplaceable due to their extensive domain experience, knowledge, and agile approach to software development.

If you are looking for a team of domain-dedicated experts to help you improve your expense management application or to help you build a custom application, please reach out and share your idea - we’re happy to help!