How aliuly/xlpricer works
XLpricer generates T-Cloud pricing workbooks: users configure assumptions, components, and deal details, then fetch pricing data and download an XLSX/XLSM projection; the current SPA also inspects, converts, trims, and reprices uploaded workbooks. Its workbook-generation pipeline enriches pricing inputs and writes pricing, volume, ESA, BOM, overview, and related workbook content. The legacy Python application offers a separate build/reprice workflow. The graph emphasizes documented capabilities and sampled call ownership; some feature links are omitted where implementation wiring was not sampled.
Main entry points: App.tsx Mode and tabs · loadPricing.ts Load pricing · xlsxWorker.ts Generation worker · wiz.py Python wizard
Components 31
Current SPA
- App entry
v2/src/main.tsx - Mode and tabs
v2/src/mainApp/App.tsx - Basic view
v2/src/mainApp/BasicView.tsx - Pricing home
v2/src/homeTab/HomeTab.tsx - Assumption editor
v2/src/editorTab/AssumptionsTab.tsx - Component editor
v2/src/editorTab/ComponentsTab.tsx - Includes editor
v2/src/editorTab/IncludesTab.tsx - Deal details
v2/src/mainApp/useDealInfo.ts - Generation hook
v2/src/mainApp/useXlsxGenerator.ts - Include payload
v2/src/homeTab/xlsxWorkerProtocol.ts
Pricing Pipeline
- Load pricing
v2/src/homeTab/loadPricing.ts - Enrich pricing
v2/src/prices/enrich.ts - Normalize pricing
v2/src/prices/normalize.ts - Patch pricing
v2/src/prices/patching.ts
Workbook Operations
- Generation worker
v2/src/homeTab/xlsxWorker.ts - Workbook writer
v2/src/xlsx/writer.ts - Workbook features
v2/src/xlsx - Macro merge
v2/src/xlsx/vba.ts - Workbook operations
v2/src/workbookTab/useWorkbookOps.ts - Conversion interface
v2/src/workbookTab/WorkbookMode.tsx - Workbook worker
v2/src/workbookTab/workbookWorker.ts - Convert and trim
v2/src/xlsx/convert.ts - Refresh workbook
v2/src/xlsx/reprice.ts
Legacy Python
- Python wizard
v1/xlpricer/wiz.py - Price API
v1/xlpricer/price_api.py - Include prices
v1/xlpricer/includes.py - Pricing transforms
v1/xlpricer/normalize.py - Python workbook writer
v1/xlpricer/xlsw.py
Other components
- User
- Pricing sources
- Workbook download
Connections 35
- User → App entry: opens app
- App entry → Mode and tabs: renders
- Mode and tabs → Basic view: selects basic
- Mode and tabs → Pricing home: selects pricing
- Mode and tabs → Assumption editor: shows editor
- Mode and tabs → Component editor: shows editor
- Mode and tabs → Includes editor: shows editor
- Mode and tabs → Workbook operations: owns operations
- Pricing home → Generation hook: requests generation
- Basic view → Generation hook: requests generation
- Generation hook → Include payload: collects inputs
- Generation hook → Deal details: loads filename data
- Generation hook → Generation worker: dispatches request
- Generation worker → Load pricing: loads inputs
- Pricing sources → Load pricing: fetches data
- Include payload → Load pricing: supplies includes
- Load pricing → Enrich pricing: enriches records
- Load pricing → Normalize pricing: normalizes data
- Load pricing → Patch pricing: applies patches
- Generation worker → Workbook writer: builds workbook
- Workbook writer → Workbook features: writes sections
- Generation worker → Macro merge: merges macros
- Generation worker → Workbook download: returns workbook
- User → Conversion interface: uploads workbook
- Conversion interface → Workbook operations: selects operation
- Workbook operations → Workbook worker: dispatches request
- Workbook worker → Convert and trim: converts or trims
- Workbook worker → Load pricing: loads refresh data
- Workbook worker → Refresh workbook: refreshes workbook
- Workbook operations → Workbook download: downloads result
- User → Python wizard: runs legacy tool
- Python wizard → Price API: fetches prices
- Python wizard → Include prices: loads includes
- Python wizard → Pricing transforms: transforms prices
- Python wizard → Python workbook writer: writes workbook