Structured entry
Fuel and vendor fields are organized around the business workflow instead of free-form capture.
Case study / SAP BTP
Built SAPUI5 applications to support structured fuel data entry and earlier validation in vendor invoice processing.
StackSAPUI5 · OData · Fiori
Recruiter snapshot
Focus
SAP BTP · UI/UX
Challenge
Fuel data for vendor payments was manually entered across disconnected processes, leading to data inconsistencies, validation issues, and delays in invoice processing.
My contribution
Developed four SAPUI5 form applications integrated with OData services to standardize fuel-data capture and surface validation earlier in vendor-invoice workflows.
Outcome
Structured Invoice Workflows
Business Challenge
Fuel-data entry feeding vendor invoice processing was spread across spreadsheets and disconnected manual workflows. Data inconsistencies surfaced downstream as invoicing discrepancies, contract violations, and reconciliation overhead for finance teams.
Operations staff entering daily fuel data, vendor management, finance/AP teams, and business owners accountable for invoice accuracy.
Technical Approach
Mapped fuel-entry and vendor-payment workflows with business users, then built SAPUI5 form applications with client-side validation enforcing vendor-contract rules. Integrated to OData services so validated data reached backend systems cleanly the first time.
Workflow mapping sessions with business users to define real entry paths
Four form-based SAPUI5 applications covering distinct vendor scenarios
Client-side validation enforcing contract limits and required fields
OData integration for backend submission with audit trail
Rollout support during early production adoption
The Process
Collaborated with business users to map fuel entry and vendor payment workflows.
Developed SAPUI5 applications with a focus on usability, validation, and efficient data entry.
Supported rollout and adoption for daily invoice processing by business users.
Annotated interface proof
Generalized reconstruction based on the documented project workflow. It illustrates the interaction model without presenting client UI or confidential implementation details.
Fuel invoice workflow / generalized
Vendor fuel entry
Validation
Quantity must satisfy the applicable business rule before submission.
Structured, validated data continues into backend invoice-processing workflows.
Fuel and vendor fields are organized around the business workflow instead of free-form capture.
Client-side rules surface invalid values before the record reaches backend processing.
Validated form state is submitted through an OData service for downstream processing.
The interface supports more consistent invoice data before vendor-payment processing continues.
Execution Approach
The applications focused on structured data capture and validation, ensuring that fuel entries aligned with vendor contracts and reducing errors before submission to backend systems.
Representative implementation pattern
// Advanced Validation for Fuel Invoice Entry
onFuelEntryChange: function(oEvent) {
const sValue = oEvent.getParameter("value");
if (!this._validateFuelQuantity(sValue)) {
oEvent.getSource().setValueState("Error");
oEvent.getSource().setValueStateText("Quantity exceeds vendor contract limits");
}
}Architectural Decisions
Decision
Structured forms with field-level validation per workflow.
Rationale
Operational users benefit from guided entry. Freeform invites errors and shifts validation burden onto downstream systems.
Decision
Enforce vendor-contract rules in the UI before submission.
Rationale
Immediate user feedback reduces backend rejection cycles and AP rework. The error is cheapest to fix at the keystroke.
Decision
Four distinct applications rather than one generic form.
Rationale
Vendor contracts differ in rules and fields. A single configurable form drifts toward complexity and confuses users.
Decision
Submit through OData service contracts rather than ad hoc API calls.
Rationale
Versionable, traceable, aligned with broader SAP integration patterns, and recoverable when contracts change.
Key Tradeoffs
Chose
Four focused applications
Instead of
One configurable workflow
Reasoning
Configurable forms drift toward complexity. Four focused apps stay maintainable and align to actual user roles.
Chose
Client-side primary, backend secondary
Instead of
Backend-only validation
Reasoning
Both UX and backend correctness matter. Client catches the majority before submission; backend remains the source of truth.
Chose
SAPUI5
Instead of
Generic web framework (React/Angular)
Reasoning
Native integration to SAP landscape, Fiori-consistent UX, and transport-friendly delivery. Generic frameworks add integration cost without UX upside.
Outcomes
Key outcome
Structured Invoice Workflows
4
Apps
4
Flows
Production
Delivery
Qualitative Outcomes
Lessons Learned
Validation belongs as close to the user as practical so issues can be addressed before downstream processing.
Operational users adopt UIs that respect their workflow rhythm, not just visually polished ones.
Vendor contracts change. Validation rules should be data-driven where possible rather than hard-coded.
Four focused apps outperform one configurable monster for distinct workflows.
Adoption coaching during the first two weeks of rollout determines long-term success more than any technical decision.
When This Approach Makes Sense
Continue evaluating Bryan
Review my experience, compare selected work, or start a conversation about a senior engineering or SAP BTP technical lead opportunity.
Looking for selective enterprise project support instead? Enterprise consulting stays available as a secondary path.