This project implements a cloud-based Procure-to-Pay (P2P) lifecycle tracking application using the SAP Cloud Application Programming Model (CAP) with Node.js on SAP Business Technology Platform (BTP).
The application simulates an end-to-end procurement workflow including purchase request creation, vendor assignment, purchase order generation, and payment tracking using SAP HANA Cloud and SAP Fiori interface.
This project was developed as part of the SAP BTP Developer Capstone Project submission.
Procurement workflows in organizations often suffer from lack of centralized lifecycle tracking, delayed approvals, and limited visibility into vendor assignment and payment completion status.
This application solves these challenges by implementing a structured Procure-to-Pay lifecycle monitoring system that enables:
- Purchase Request Creation
- Vendor Assignment
- Purchase Order Tracking
- Payment Status Monitoring
- Workflow Lifecycle Management
The application follows a layered SAP CAP architecture:
Frontend: SAP Fiori Elements UI
Backend: SAP CAP (Node.js)
Database: SAP HANA Cloud
Security: SAP XSUAA Authentication
Service Layer: OData V4 Services
Deployment Support: Multi-Target Application (MTA)
p2p-capstone-project
├── app/ (SAP Fiori UI) ├── db/ │ ├── schema.cds (Data model definitions) │ └── data/ (Sample CSV data) ├── srv/ │ ├── service.cds (Service definitions) │ └── service.js (Business logic handlers) ├── mta.yaml (Deployment configuration) ├── xs-security.json (Authentication config) ├── package.json (Project dependencies) └── README.md
The application supports the following procurement lifecycle modules:
Employee Management
Vendor Management
Purchase Request Management
Purchase Order Management
Payment Tracking
CREATED → APPROVED → ORDERED → PAID → COMPLETED
SAP CAP (Node.js)
SAP HANA Cloud
SAP Fiori Elements
OData V4 Services
SAP XSUAA Authentication
SAP Business Application Studio
Multi-Target Application (MTA)
Install dependencies:
npm install
Start CAP server:
cds watch
Open browser:
Located inside:
db/data/
Automatically populates:
Employees
Vendors
Purchase Requests
Purchase Orders
Payments
Supports deployment to SAP BTP using:
SAP HANA Cloud
XSUAA Authentication
MTA Configuration
Deployment commands:
mbt build
cf deploy mta_archives/project-name.mtar
SAP S/4HANA Procurement API integration
Workflow automation using SAP Build Process Automation
Email notifications for approval lifecycle
Analytics dashboard for procurement monitoring
Role-based authorization controls
Mayank Agarwal
SAP BTP Developer Capstone Project
KIIT University