1. Verify the compatible source package
This optional 0.1.0 add-on requires your PT Supply Analytics 1.1.1 base source license. It combines the compatible base with the named newer factory-source supplement recorded in the package. Supplier imports, explicit activation, analytics, supplier workspaces, scorecards, KPI Studio and workbook exports remain available.
Download your signed source and release metadata from the library. Confirm the Store public-key fingerprint through a separately trusted ProgreTech channel, then verify the signature, SKU, parent version and archive hash before extraction. Read the supplied CodeSeal manifest and dependency notices with the release record.
2. Prepare your BTP services and database
Provide a Cloud Foundry org and space with quota for a 1 GiB backend and 256 MiB router, Python 3.13 and Node 22 buildpacks, and dedicated-tenant xsuaa/application. Your administrator configures identity-provider trust and role collections. Confirm regional plans, quota and costs in your own subaccount.
The profile consumes existing user-provided services buyer-supply-config and buyer-supply-database. Your PostgreSQL account needs appropriate schema privileges and verified TLS using postgresql+psycopg with sslmode=verify-full. The package supplies binding adapters, not database provisioning. Keep SQLite for the independent base installation; CF instance disk is disposable.
3. Install tools and open your cookbook
Open btp/docs/en.md in the downloaded source. Spanish and Japanese procedures are btp/docs/es.md and btp/docs/ja.md. They cover Windows, Ubuntu and macOS setup for CF CLI v8, btp CLI, the MultiApps plugin, Python 3.13, Node 22, GNU Make and MBT 1.2.51. The runtime dependency lock targets Linux CPython 3.13; Windows and macOS prepare the source stage.
cf version
btp --version
cf plugins
node --version4. Protect configuration and build the stage
Copy btp/config.example.json, btp/database.example.json and btp/buyer.mtaext to protected paths outside source. Replace every placeholder. Use distinct session_secret and gateway_token values of at least 48 random characters, an exact HTTPS public_origin, a private database_url and your owned router route. Never put credentials or business rows in prompts, browser storage, screenshots or CLI arguments.
Create the two user-provided services from protected files as described in your cookbook. Stage into a new directory, then build the MTAR with the specified MBT. The supplied archive mta_archives/pt-supply-btp_0.1.0.mtar contains 135 core source files and 4 router files. Buildpacks install the locked dependencies during staging; the archive contains no installed node_modules or SAP binaries.
python btp/build.py --output ../supply-cf-build5. Deploy and assign access deliberately
Deploy the archive with your private buyer extension. Keep the backend on its apps.internal route and allow only router-to-core TCP 8080 traffic. Follow the alternative manifest.yml procedure only if you choose direct push. Keep one CF instance until shared storage, load and recovery are qualified for your environment.
Assign SupplyUser for User access and SupplyAdmin for User plus Admin through your role collections. Sign in through the approuter. Verify imports, activation, analytics and exports with synthetic data; check Admin settings succeed only for Admin. Check token, CSRF and Origin denials, private response caching and stable ownership after restart.
6. Use AI-assisted implementation and choose extensions
Use the cookbook’s implementation prompt with your approved AI CLI, synthetic fixtures and secret references. Ask for a reviewable diff that preserves the base workflows, XSUAA validation, role boundaries, exact origins, CSRF and PostgreSQL TLS. Your technical team can follow the same manual implementation guidance. Optional model consultation requires administrator configuration and explicit user consent; you supply the model and provider access.
Destination/Connectivity, Cloud Connector, live ERP reads, HANA, AI Core, scheduling, audit sinks and Cloud Transport Management are separate extension projects. They need their own adapters, service plans, permissions and checks. Existing SAP/OData mapping guidance remains available; uploaded exports use the included preview and activation workflow.
7. Keep a recovery path and try the hosted workbench
Before updating, stop writes and take a native PostgreSQL backup with protected configuration and key references. Keep the prior compatible MTAR, extension, identity mapping and locks. Drill a fresh-target restore, then check roles and core workflows. Reconcile later writes separately during rollback. The base manage.py backup/restore commands support SQLite only.
The ProgreTech-hosted workbench lets you try uploads and analysis in a temporary private guest workspace. It is a separate hosted profile from your buyer-owned BTP deployment. The guest session lasts up to one hour and has capacity limits; use End session and delete my work when finished. Keep your original files and exports.