Case Study — Enterprise Fleet Management · EU Payments & Compliance
OneFleet
Leading UX for bp’s pan-European fleet management platform — designing a coherent interaction model across fuel card management, invoicing, payments, and compliance for 500,000+ commercial customers operating across six EU markets.
Role
Design Lead · UX Strategy & Platform
Domain
Enterprise Fleet · EU Payments
Period
2022–Present
Scope
End-to-end design leadership across 4 verticals — embedded cross-functional (PM · Engineering · Compliance)
01 — Industry Context
The operational complexity behind every fleet transaction
Enterprise fleet management is not a single workflow — it is the continuous coordination of fuel spend, card controls, driver compliance, and financial reconciliation across organisations that may operate hundreds of vehicles, dozens of cost centres, and multiple delegated account hierarchies simultaneously. A fleet administrator at a logistics company is not managing one account. They are managing a live operational system: enforcing spend limits in near-real-time, resolving card disputes before drivers are stranded mid-route, and maintaining account structures that reflect a workforce that changes weekly. The consequence of a delayed or failed transaction is not inconvenience — it is operational disruption at scale.
At the volume OneFleet operates — approximately 12 million transactions per month across 500,000+ customers — small interface failures compound into significant operational overhead. A workflow that requires three screens to resolve a card dispute adds support burden across thousands of accounts. An invoicing module that cannot surface cost allocation by driver group forces manual export and reconciliation. The platform does not just support operations; it is a direct input to how fleet operators make decisions, control costs, and report to their finance teams.
Cross-border fleet operations in the EU carry a layer of regulatory complexity that most enterprise software does not have to accommodate. VAT reclaim rules differ by market — the mechanisms for fuel tax recovery vary between the UK, Germany, France, and the Netherlands. Card acceptance networks vary by country. Compliance reporting obligations are market-specific. A platform serving customers across six EU markets must present a coherent operational interface while silently carrying the weight of market-level regulatory variance underneath it. Exposing that complexity to the fleet administrator would make the product unusable. Hiding it incorrectly creates compliance risk.
The UX challenge is not simply to make individual screens easier to use. It is to design an interaction model that remains legible under operational pressure — for a fleet administrator managing 300 vehicles, a finance controller reconciling cross-market invoices, and a driver expecting a card to work at a fuel station 400 kilometres from their base. Each of these users operates on a different timescale and with a different tolerance for failure.
Fleet Platform — User Roles & Primary Operational Needs
User Role
Engagement
Primary Operational Need
Fleet Administrator
Daily — card management, spend controls
Real-time transaction visibility, limit enforcement, dispute resolution
Finance Controller
Weekly — invoice reconciliation
VAT-compliant cost allocation, ERP export, cross-market spend aggregation
Account Hierarchy Manager
Ongoing — sub-account governance
Driver group management, policy inheritance, delegated access
Driver / Vehicle Operator
Per-journey — fuel authorisation
Card acceptance, transaction confirmation, mileage reporting
IT / Compliance
Periodic — access and audit
Role governance, audit trail completeness, data sovereignty per market
02 — Problem Definition
A platform with operational scale but no shared design layer
OneFleet had expanded through independent squad delivery — payments, cards, invoicing, and account management each shipped by autonomous teams with no shared design language. The operational cost accumulated gradually, then became visible through support volume, onboarding friction, and low task completion rates on cross-module workflows.
01
Cross-Module Workflow Fragmentation
Core fleet tasks — card dispute resolution, invoice reconciliation, account restructuring — required navigating 3–5 disconnected modules. No persistent context carried between screens. Operators rebuilt their working state at every transition.
02
Inconsistent Interaction Patterns
The same actions — filtering transactions, selecting multiple cards, exporting data — behaved differently across modules. Users developed module-specific habits rather than platform fluency, which compounded onboarding overhead and error rates.
03
Account Hierarchy Complexity
Enterprise fleet clients managed accounts spanning hundreds of sub-accounts, driver groups, and cost centres with delegated permissions. The account model had no coherent navigation metaphor — hierarchy depth was not surfaced, and policy inheritance was invisible.
04
Invoice Reconciliation Failures
Finance controllers reconciling VAT-compliant invoices across multiple EU markets could not access line-item tax breakdowns within the platform. Routine monthly tasks required data export into external spreadsheets to complete, creating data integrity risk.
05
No Shared Design Foundation
Each product squad was building components independently — duplicate form patterns, inconsistent status models, non-transferable component logic. Design debt was compounding faster than any individual squad could address it within their own roadmap.
06
Onboarding Friction at Scale
Extended ramp time for new fleet administrators was not a function of genuine workflow complexity — it was a function of interface unpredictability. Operators needed to learn each module as a separate product, rather than building skill against a coherent mental model.
03 — Discovery & Research
Mapping actual task flows across six EU markets
Research began with contextual inquiry sessions with fleet administrators and finance controllers across six European markets — observing operators in their actual working environments, not reconstructed lab scenarios. The goal was to map task flows as they were actually executed, including the workarounds operators had developed to compensate for platform gaps that no support ticket had formally captured.
The most significant findings did not come from interview questions. They came from observation: operators using browser history as a navigation tool between modules, maintaining private spreadsheets to track account structure changes the platform could not represent, and escalating card disputes to support not because they lacked authorisation but because the self-service path was not trusted to work.
Stakeholder interviews with IT administrators, account managers, and bp commercial team members surfaced a second layer of complexity: the operational cost of supporting clients through tasks the platform made unnecessarily difficult, and the downstream effect on renewal conversations when fleet administrators reported low confidence in the tool.
A critical finding from cross-market sessions: task flows were not uniform across markets. The same workflow — invoice reconciliation, for instance — required meaningfully different steps and data access patterns in Germany versus France versus the UK, driven by local VAT and reporting structures. The interaction model had to accommodate this variance without producing market-specific product forks.
Contextual Inquiry — Market & Task Coverage · Key Findings
Market
Role
Task Focus
Primary Finding
UK
Fleet Administrator
Bulk card management & block resolution
Account hierarchy depth was the primary driver of task complexity — not feature availability
Germany
Finance Controller
Invoice reconciliation & VAT reporting
Line-item VAT visibility was a blocking step; controllers were exporting to spreadsheets to complete routine reconciliation
France
Fleet Administrator
Driver group management & policy inheritance
Policy inheritance rules were not legible in the UI — operators were applying policies manually rather than trusting the system
Netherlands
Finance Controller + IT
ERP export workflow & data mapping
Column ordering and field naming in exports did not match the conventions of the ERP systems in use — every export required manual column remapping
Belgium
Account Manager
Sub-account delegation & permission model
The permission model did not reflect the actual organisational structure of the clients — delegation paths required workarounds to match business hierarchy
Poland
Fleet Administrator
Card block resolution & support escalation
Routine card disputes were being escalated to support because the self-service resolution path was not discoverable — operators had no confidence the action would succeed
Finding 01
Workarounds were structural, not incidental
Operators had built stable, repeatable workarounds for platform gaps — spreadsheets, browser bookmarks, support escalation for self-service tasks. These were not occasional shortcuts; they were the actual workflow.
Finding 02
Market complexity was invisible in the UI
The platform presented a single interaction model regardless of market, but the underlying data and compliance rules varied significantly. Operators in markets with complex VAT structures were managing the gap manually.
Finding 03
Account hierarchy was the core navigation problem
Fleet operators navigated by account, not by module. The platform was organised by feature area. Every cross-account task required the operator to re-orient across a navigation model that did not reflect how they thought about their work.
Finding 04
Confidence in self-service was low
Operators chose support escalation over self-service not because they lacked authorisation but because the platform gave no clear feedback on whether a submitted action had succeeded. Low system trust was a measurable productivity cost.
04 — Systems Thinking
One interaction model across four product verticals
The most significant design leverage in a platform of this complexity is not at the screen level — it is at the system level. Addressing individual screens without a shared interaction model produces local improvements that compound global inconsistency. The approach was to define the interaction grammar first, then build the governance conditions that would allow it to hold: a cross-squad review process requiring new patterns to be validated against the shared model before module-level implementation. Consistency was a process output, not a design artifact.
Design Principle
Operational Rationale
Layer
Account-Oriented IA
Restructured navigation around the account hierarchy — the primary organising concept for fleet operators — rather than around product modules. Every IA decision was tested against: what account context does the operator need at this step?
Navigation
Shared Interaction Grammar
Defined a canonical set of patterns — search, filter, select, bulk-action, confirm — applied consistently across all four verticals. An operator who learned filtering in card management could filter in invoicing without re-learning.
Foundation
Market Abstraction Layer
Market-specific complexity — VAT treatment, card network variance, compliance reporting structure — was handled at the data layer, not the interaction layer. The UI presented a single coherent model regardless of the operator's market context.
Architecture
Composable Components via bpCore
Built a token-based design system before touching product screens — the decision that made cross-squad consistency achievable. Components could be assembled differently per context without breaking the underlying interaction model or visual language.
System
Ambient Account Visibility
Account state — card status, spend position, pending transactions — treated as persistent context rather than on-demand lookup. Operators managing large fleets needed ambient awareness of account health, not a drill-down per account.
Perception
Explicit Action Feedback
Every submitted action — card block, limit change, dispute submission — returned an explicit, timestamped confirmation visible in context. Designed specifically to rebuild operator confidence in self-service resolution flows.
Resilience
Shared Interaction Pattern Coverage — Unified Across Verticals
Shared Pattern
Applied Across Verticals
Status
Search + Filter
Unified
Account Hierarchy Nav
Unified
Bulk Selection + Action
Unified
Status Indicators
Unified
Inline Edit + Confirm
Unified
Export & Reporting
Unified
05 — Design Approach
System-first, then surfaces — in that order
The first three months produced no visible product screens. They produced bpCore — the design system that made the rest of the work viable. Building the shared token architecture and component library before any squad touched their product surfaces was a contested decision under delivery pressure. It was the right one: without a common foundation, every screen-level improvement would have compounded the inconsistency we were trying to resolve.
Navigation was restructured around the account hierarchy rather than the feature taxonomy. Any primary workflow reachable within three interactions from a given account context. The account record became the persistent anchor — card management, transaction history, invoices, and driver groups all accessible from within the account view rather than requiring module navigation.
Form architecture across all verticals was restructured to follow task sequence rather than data model. Fields grouped by what an operator needs to know at each decision point, not by how the underlying data is stored. Progressive disclosure applied to reduce cognitive load on complex multi-step workflows — compliance fields surfaced at the step where they became decision-relevant.
Cross-squad governance was established alongside the design system. A pattern review process required any new interaction pattern proposed by a squad to be validated against the shared grammar before implementation. This was not a bureaucratic gate — it was the mechanism by which consistency remained a live property of the platform rather than something that decayed between release cycles.
Design was moved upstream into the planning process. That meant arriving at roadmap sessions with a defined problem framing and measurable success criteria — not a solution. Scope decisions were shaped at the point where they were cheapest to make, not after engineering estimates had already been committed. This changed the nature of design’s relationship to the product organisation from delivery executor to planning co-author.
Usability testing ran throughout — not as a sign-off gate but as a continuous input. Every significant interaction change was validated with fleet operators before shipping. The test population included experienced administrators and new operators, because the metric we were optimising for was time-to-proficiency on complex tasks, not just completion rate at steady state.
Workflow Redesign — Card Dispute Resolution
Before — Fragmented Resolution Flow
- 1
Open Cards module — search for blocked card
- 2
Switch to Transaction History module — locate failed transaction
- 3
Open Driver Management module — verify driver identity and eligibility
- 4
Return to Cards module — fill dispute reason form
- 5
Submit — manually log outcome in Transaction Ledger
4 module switches · 5 steps · avg ~4 min per dispute
After — Unified Card Management
- 1
Search surfaces card + driver context + transaction history in one view
- 2
Dispute reason and resolution options inline — no module navigation required
- 3
Submit — auto-logged to transaction record and driver account
0 module switches · 3 steps · context preserved throughout
06 — Enterprise Constraints
Constraints that shaped every decision at the system level
Enterprise fleet software operates under a constraint set that consumer products do not face. Solutions must be governable across market-specific regulatory environments, configurable to the organisational structures of enterprise clients, and defensible at the compliance level — not just usable at the individual interaction level.
Multi-Market VAT & Regulatory Compliance
Each EU market carries distinct fuel tax recovery mechanisms, compliance reporting obligations, and invoice formatting requirements. Design decisions had to accommodate this variance without fragmenting the interaction model into market-specific forks. The solution was market abstraction at the data layer — operators experienced a single coherent interface regardless of their regulatory context.
Card Network Interoperability
Fuel card acceptance varies by country and network. Transaction states, decline reasons, and dispute resolution paths differ across card schemes. The UI had to handle network-specific transaction states without surfacing network complexity to the fleet administrator — a user who should not need to know which card scheme is involved to resolve a blocked card.
Account Hierarchy Depth
Enterprise fleet clients managed accounts spanning hundreds of sub-accounts, multiple cost centres, delegated permissions, and complex driver group structures. The navigation and permission model had to represent genuine organisational hierarchy — not a flat account list — while remaining navigable under operational time pressure.
Accessibility — WCAG 2.1 AA
Non-negotiable for enterprise procurement in regulated industries. Colour contrast, keyboard navigation, screen reader compatibility, and focus management were requirements from the outset. Accessibility was validated as part of the component review process in bpCore, not retrofitted at the product level.
Legacy Integration & Engineering Constraints
Multiple underlying payment processors and card management APIs per market, with varying data schemas and response latency characteristics. Design decisions were made with explicit awareness of integration constraints per release window. Trade-offs were documented and communicated to PMs before scope was committed.
Cross-Squad Governance at Scale
Five independent product squads operating on separate roadmaps with different release cadences. The design system governance model had to support consistent output without creating a centralised bottleneck. Contribution workflows were designed so squads could propose, review, and ship pattern extensions without waiting on a single system owner.
07 — Outcomes
Commercial and operational outcomes across platform and organisation
Outcomes were tracked across usability benchmarking, product analytics, and structured retrospectives with commercial, engineering, and support leads. Work shipped incrementally across multiple release cycles — measured against baselines established during the discovery phase. Revenue attribution methodology was aligned with the product and commercial teams before metrics were reported.
Area
Signal
Outcome
Task Completion
20% improvement on core fleet workflows
Measured across card management, invoice reconciliation, and account hierarchy tasks against pre-redesign baseline. Largest gains on multi-step workflows that previously required cross-module navigation — where the reduction in context switches had the most direct impact on completion rates.
Revenue Attribution
$7M+ attributed revenue impact
Improvement in self-service completion rates reduced support dependency and contributed to upsell conversion on fuel card expansion. The $7M+ figure reflects the combined effect of reduced support cost and increased product-led conversion — aligned with commercial team methodology before reporting.
Support Volume
Measurable reduction in contact rate on key workflows
Card dispute resolution and invoice query workflows — previously high-volume support categories — saw a reduction in inbound contact rate following the redesign of the self-service resolution flows. Explicit action feedback was the primary driver: operators who could see that an action had succeeded stopped escalating to confirm it.
Decision Velocity
35% faster internal decision cycles
Design embedded in planning rather than reactive to it. PM and engineering teams reporting scope and feature trade-off decisions resolved earlier in the planning cycle — at the point where changes were least expensive to accommodate. Attribution reflects the change in design's relationship to roadmap authorship, not just delivery.
Platform Consistency
bpCore adopted across all five product squads
Shared design system eliminated component rebuilds across web and mobile product surfaces. Token propagation reduced design-to-dev specification friction significantly. New designers reach production-ready output against a documented baseline on their first week — rather than spending months reverse-engineering implicit squad conventions.
Operator Onboarding
Reduced time-to-proficiency for new fleet administrators
Interface consistency across modules removed the requirement for module-specific training paths. Operators who learned the interaction model in one vertical could transfer that fluency across the platform — reducing the ramp time that had previously reflected interface unpredictability rather than genuine workflow complexity.
08 — Reflection
What this work taught me about designing at organisational scale
The most significant design problem in OneFleet was not a UX problem — it was an organisational one. The inconsistency in the product was a direct reflection of how it was built: five squads operating on independent roadmaps, with no cross-squad design review, no shared component language, and no mechanism for decisions made in one vertical to inform decisions being made simultaneously in another. Fixing screens without fixing the conditions that produced them would have been expensive and temporary.
Building bpCore before touching product surfaces was the right call, but the sequencing created real stakeholder pressure. Three months without visible product output in an environment focused on delivery velocity required a sustained management argument — not a one-time explanation. Making the architectural investment legible as a delivery accelerator, not an overhead, was as much a leadership challenge as a design one. I learned to make progress visible in system terms: tokens adopted, components reviewed, squads onboarded — not just screens shipped.
The $7M+ revenue attribution was not a figure that emerged from analytics passively. Establishing the causal chain — linking specific interaction changes to measurable commercial outcomes — required proactive collaboration with the product analytics and commercial teams from the beginning of the work, not at the end. That investment in measurement methodology was as important as the design work itself; it created the evidence that justified continued design investment in the platform.
I prioritised operational research over attitudinal research throughout this engagement, and the return on that investment was consistent. What fleet administrators said they needed in interviews and what they actually did under the operational pressure of managing a live fleet were reliably different. The real design problems lived in the workarounds — the spreadsheets, the browser bookmarks, the support escalations for tasks the platform theoretically supported. Observation was the method that surfaced them.
If I were approaching this work again, I would invest more heavily in cross-market journey mapping in the first six weeks. We built our understanding of market-specific VAT and compliance complexity incrementally through research — which worked, but meant some interaction model decisions were made before we had full visibility into the regulatory variance we later had to accommodate. A more systematic upfront mapping exercise would have sharpened the market abstraction layer decisions at a cheaper point in the process.
What this work reinforced above all: the interface is not the hard part. The hard part is building the organisational conditions — the governance model, the shared language, the upstream presence — that allow a coherent interface to be produced and maintained by teams that will never all be in the same room. Design leadership at this scale is as much process architecture as it is product design.