Why do we deal with accounting softwares?
Abacus does more than just reimbursing employees. As a full-fledged expense management solution, we also help companies reconcile their monthly spending into their accounting platforms. From their accounting platform, accountants can handle payroll, reporting, billing, auditing, etc.
There are 4 major accounting softwares: QB, Xero, Intacct, Netsuite. Abacus has direct integration with all 4 of these. However, companies actually use a much wider range of accounting softwares than that depending on the size and type of their business. In our customers’ case, there is hardly any industry standard.
For a long time, we instructed our customers to export their expense data as CSV’s and import them to their accounting software. This sounds simple, but in reality it’s not:
This process has become one of the most time-consuming, manual, and error-prone process our admins have to go through. In addition to accounting import, accountants just love having full control of their data. They’d also much rather view and manipulate their data in a dedicated software like Excel. The fact that we didn’t support a very advanced export workflow was a huge disadvantage for our product.
By building a custom CSV export workflow that allows admins to select and format exactly what data to export, we will be able to not only support integration with any accounting softwares but also empower admins to mobilize Abacus data for tracking, reporting, and analysis.
We have an idea of the general export workflow, but now we’re faced with a more taxing question: How custom is this custom export flow going to be?
To answer existing questions and validate some assumptions we made, we sent out a survey to our admins.
What we found
After we have a substantial understanding of admins' needs through the survey, we started scope out the functionality requirements of this feature. As an admin, I should be able to:
The biggest UX challenge here was to figure out where the create template flow lived. Setting up a template is something that admins are going to do only once. Once the template is ready to go, chances are they’ll keep using the same template for every export, with relatively little post-setup alterations.
My initial thought was to place this creation flow in the same spot where you would do your export. However, after first round of review with my PM, I realize that it’s more ideal to keep this in the setting. I then continued to spec out the feature's flow and drew wireframes to illustrate the UX for each part of the flow.
Once we got a good grasp of the feature architecture, I moved on to design in high-fidelity. Users can either start with some of our suggested pre-canned templates or from scratch.
For me, the most interesting part of this project is designing the interactions around string formatting. Admins need to be able to concatenate two columns together and also edit date format. We happened to already be using React Select in our webapp, which works perfectly for both cases. Check out how we handle these interactions below.
Below is a compilation of every mockup I did to spec out the many micro-interactions that happen within this feature, ranging from date/name format to column concatenation and reordering.
Once admins finish setting up their template, they can use it to export needed data from their inbox every time after.
I also explored the export auto-schedule flow. However, with our resource constraints, we decided to push this back to v2 of this project.
The feature was launched on March 12, 2019. It has since become a core selling points to our sales team as no other solution in the market was as adaptive as Abacus's Export Builder. You can read more on our blog posts Remix Your Expense Data With Export Builder and 6 Cool Things You Can Do With Custom CSV Exports.