Architecting Client Portfolios at Scale with Data-Driven Guardrails 

Sapphire Business Tech designed an end-to-end portfolio planning platform where advisors can define multi-layer investment profiles, simulate “New Money” allocations, compare suggested vs. current positions (by custodian/bank), and share a Power BI client report — all orchestrated by a secure Power Apps application backed by Dataverse and automated with Power Automate

Project Highlights 

  • Industry: Financial Advisory & Wealth Management 
     
  • Departments Impacted: Advisory, Compliance, Back Office, Sales 
     
  • Estimated Time Saved: 25–35 hours per week (setup + ongoing operations) 
     
  • Tools Used: Power Apps (Model-Driven + Canvas), Dataverse, Power Automate, Power BI, Excel (import), OneDrive/SharePoint 
     
  • Project Duration: 6 business days (MVP) 

Development Story 

Advisors struggled to scale portfolio construction using spreadsheets. Our team reimagined the experience in Power Platform: a Power Apps app to register profiles and rules (3-tier taxonomy), a New Money simulator that proposes an allocation split automatically, and a Portfolio Comparison workspace that contrasts the suggested mix with current holdings by custodian and overall consolidated position. 
Data flows to Power BI for client-facing analytics, enabling branded PDF exports. The platform brings security roles, audit trails, and a modular data model to evolve into a full CRM-grade wealth solution. 

Dashboards & Features 

Profile Designer (3 tiers): 

  • Level 1: Fixed Income / Equities 
     
  • Level 2: Yield Type (e.g., Pre, Post, Inflation) tied to Level 1 
     
  • Level 3: Subcategory (e.g., Government, Private) — add unlimited sub-types 
     
  • Client Profiles: Multi-profile support with risk tolerance, horizons, liquidity flags

New Money Engine: Enter investable cash → instant suggested portfolio split per profile rules

Position Onboarding: Capture current holdings by bank/custodian; attach statements

Portfolio Comparison: vs. each bank and vs. consolidated client position

Compliance Guardrails: Drift thresholds, concentration checks, suitability alerts

Document Kit: One-click Power BI client report (PDF) + Terms/Disclaimers

Workflow Automation: Notifications, approval routing, and change log via Power Automate 

Key Results 

  • 1-click client portfolio proposal with configurable guardrails 
     
  • Standardized taxonomy across advisors; reduced manual consolidation 
     
  • Clear comparison between suggested and as-is holdings (per bank & consolidated) 
     
  • Executive analytics with branded Power BI dashboards and PDF exports 

Technical Deep Dive 

Architecture Overview 
Data Layer (Dataverse): 
– InvestorProfile (Name, Risk, Horizon, Liquidity, Owner) 
– ProfileRule (L1 Class, L2 YieldType, L3 SubCategory, Min/Target/Max %) 
– Client (KYC fields, suitability checklist) 
– ClientPosition (Client, Custodian, Asset, Class L1/L2/L3, Qty, UnitPrice, MarketValue, AsOfDate) 
– NewMoneyScenario (Client, Amount, Date, ProfileRef, Status) 
– AllocationItem (ScenarioRef, RuleRef, TargetPct, TargetValue) 
– BankAccount / Custodian master tables 
– AuditLog (Entity, Field, Old/New, User, Timestamp) 

Power Apps (Model-driven + Canvas hybrid) 
Model-driven areas: Master data, Client profiles, Positions, Audit logs 
Canvas pages: 
Profile Designer: cascading dropdowns (L1→L2→L3) with dynamic validation of min/target/max (sum=100%) 
New Money Simulator: inputs InvestableAmount, selects profile → creates NewMoneyScenario and AllocationItems (TargetValue = Amount * TargetPct) 
Portfolio Comparison: gallery by Custodian and a consolidated tab; Donut/Bar visuals; drift and concentration alerts 

Business Rules & Validation 
Suitability checks: If client age <X and L1=Equities Target%>Threshold → warning 
Drift: Abs(CurrentPct – TargetPct) > DriftTolerance → flag 
Concentration: L3 bucket > Max% → block approval 
Sum rule: Σ Target% must equal 100% (real-time indicator) 

Power Automate Flows 
– On new NewMoneyScenario: notify advisor + create approval task 
– On approval: writeback final AllocationItems and trigger Power BI dataset refresh 
– On profile change: log in AuditLog and email compliance 
– Scheduled: nightly import of statement files from SharePoint library (CSV/XLSX) to ClientPosition 

Data Ingestion 
SharePoint/OneDrive drop for bank statements → Parse with Power Automate to Dataverse 
Excel Import for legacy sheets (mapping: columns → Dataverse schema) 
– Optional: Custom Connector for custodians’ APIs (OAuth2) 

Power BI Semantic Model 
Tables: Client, Custodian, Positions (fact), ProfileRule (dim), AllocationItem (fact), Calendar 
Core Measures (DAX): 
– Total MV := SUM(Positions[MarketValue]) 
– Target MV := SUM(AllocationItem[TargetValue]) 
– % Drift := DIVIDE([Total MV] – [Target MV], [Target MV]) 
– % Allocation by L1 := DIVIDE(SUM(Positions[MarketValue]), CALCULATE([Total MV], ALL(Positions[L1]))) 
– Gap by Custodian := [Total MV] – CALCULATE([Target MV], TREATAS(VALUES(Custodian[Name]), AllocationItem[Custodian])) (if custodian mapping is used) 

Power BI Report Pages 
1) Overview: Client summary, Total MV, Suggested vs. Current (L1/L2/L3) 
2) By Custodian: Each bank’s gap vs. target; top assets 
3) Risk & Suitability: Age, horizon, liquidity, concentration breaches 
4) What-if: Slider for InvestableAmount to stress-test allocation 
5) Appendix: Glossary + methodology; Export to PDF with branding 

Security & Governance 
Azure AD roles: Advisor, Manager, Compliance, Back Office 
Row-Level Security: Dataverse security roles; Power BI RLS by Client.Owner 
PII controls: Field-level security for KYC; masked on non-privileged roles 
ALM: Solutions in Dev/Test/Prod; environment variables; connection references 
Telemetry: Dataverse analytics + Power BI Usage Metrics 

Scalability & Roadmap (Already Accounted in MVP) 
Mobile-first Canvas screens; offline cache with SaveData/LoadData (where feasible) 
Rebalancing Wizard: Auto-generate trades list per drift threshold 
Fee Simulation: Advisory fee tiers; client net performance 
ESG Tags: Additional profile dimensions for ESG constraints 
Client Portal (Power Pages): Read-only reports + document vault 

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top