Case study · 2 May 2023
From start-up to scale-up: How Aardling helped Billie evolve their software architecture
How Aardling facilitated Billie’s strategic pivot using Domain-Driven Design

Summary
-
Aardling came in during Billie's pivot to Buy Now Pay Later (BNPL) to do strategic software mapping and detailed domain modelling.
-
Better, more refined models emerged; representing the business process more accurately.
-
Better communication between teams emerged and as a consequence of the improved separation of Bounded Contexts, a better team organisation was established too.
Challenge
Third party invoicing is traditionally a highly manual process, but Billie has managed to turn it completely digital. Now, they are expanding by offering a Buy Now Pay Later (BNPL) payment method for B2B e-commerce. With a $100 million Series C investment and a partnership with Klarna, they continue to succesfully simplify the business purchasing experience.
The process
Mathias Verraes and Stijn Vannieuwenhuyse, Aardling consultants, helped Billie look holistically across their whole business: the checkout journey, the domain models, the boundaries and their teams.
In a series of strategy sessions, they created various maps and big-picture models. This showed that the way the teams and the codebase were organised around features wasn’t cutting it. To support fast, sustainable growth, they needed to organise around domains instead.
This business model pivot from automated factoring to BNPL caused a lot of complexity in the Payments and Ledger systems. Aardling made sure to include financial experts from across Billie in the Domain Discovery sessions.
By bridging the gap between domain experts and engineering, we uncovered that some wrong assumptions were made about the journal, payments execution, and reconciliation processes.
After the initial strategy sessions, Stijn worked with teams in Billie’s core domain to refine the models of Financing Authorisation, Payments Execution, and Ledger.
The Solution
Stijn Vannieuwenhuyse started hammering down on the names in the model. Everything was modeled as Tickets in a Customer Support-style system. Stijn remodelled these as Factoring Cases, and broke these further down into separate processes for selling an invoice to an investor, reselling it, and buying it back.
This new model was much more representative of how the business operated. There was a Payments Ledger model, but that was exposing a broad set of data that needed to be re-interpreted by the downstream system.
By extracting a Financing History model from Ledger, focused on the specific needs of Factoring Cases, communication with downstream components became a lot easier. The teams were changed as well, separating the Case Management team from the Ledger team.