TL;DR
Streamline billing process with bulk operations
Development of billing invoice process that bridging the gap between repair order data and users' clients. The design focused on creating a streamlined billing process with complex bulk operations while keeping the user experience smooth.
The launch and impact
50% Reduction Admin Time
Transformed Overall Process
Better Quality Data
Context
Background
This project is part of Block Aero's MRO Manager module where our users, as a third-party repair managers, use it to input repair data of assets within a repair order. That includes information like order details, vendor quotes, shipments, and claims.
The problem? There was no real connection between all that data and their actual clients. The gaps was causing extra work outside of the platform, so we set out to bridge it.
Goal
To streamline the process of generating and updating invoices and share it directly with related stakeholders in one unified place.
My role
I led the design process from conceptual explorations to final implementation, collaborating with the CPO, CTO, a business analyst, and engineers to align the design solutions with the project vision and technical requirements.
Pain points
Inefficient process
Users find their current invoicing process to be time-consuming and inefficient, especially when they're handling many orders.
Manual errors
Users struggle to collect all the related documents for a repair order, which leads to inaccuracies in invoicing.
Communication gaps
Relying heavily on email to notify customers about the status of their repair orders and invoices can cause delays.
Initial challenge
How might we help users simplify their invoicing process utilizing data they already provided in the platform to serve as reliable proof of transaction for related stakeholders?
Design process

It started out like most projects I've worked on:
Requirement review: I went through what was needed and made sure I understood the scope.
Research: I conducted competitive research on other billing tools on the market and interviewed with finance folks to understand how they actually use these systems and what they wish they had.
User flow: I mapped out how users currently do things and how that lines up with the flow in our platform.
Team sync: I kept stakeholders and engineers in the loop so everyone was on the same page as we moved forward.
Design potential solutions: I started shaping what the experience could look like, based on information I gathered.
User discussions: This is where things started to get interesting... and not everything went as expected.


Uncovered hidden challenges
While working through the design and chatting with users about potential solutions, I ran into a few unexpected issues:
Bulk operation
Users often handle multiple orders at once, creating one invoice at a time isn't ideal. But how do we keep the data accurate without slowing them down?
Different currencies
Some repair orders include vendor quotes from other countries, so we need to make sure prices are converted correctly for users’ local currencies while creating invoices in bulk.
Different line Items for different assets
Depending on the asset type, repair orders should be able to assign different line items, which means invoices need to be flexible enough to handle that, again, while creating in bulk.
The feedback and requests kept changing the requirements;
which made it challenging to finalize the design;
and that led to delays in production.
How I handled them
Prioritize the tasks
I focused on unblocking the biggest issues that impacted the creation process. Smaller features were put on hold until after this main launch.
Simplify Simplify Simplify
Instead of designing totally different layouts for every mode, I reused existing ones wherever possible. This way we cut down on the number of new screens we had to design and sped up the UI build for engineers.
In the end
We successfully launched the project and is now live on Block Aero platform 🎉
After went through several design iterations before we had the feasible solution. Thanks to the extra time we aligned with the stakeholders on, we were able to make it happen!
Because launching was only the beginning. Since then, we’ve been tweaking small details to keep improving the overall experience.

