Standalone ARM — Gap Analysis
1. Executive Summary
This document analyzes the gaps between the current ARM implementations (three divergent NetSuite customizations) and the target standalone ARM platform. It identifies what exists, what's missing, and the effort required to close each gap.
Gap Severity Levels
| Level |
Definition |
| 🟢 Exists |
Feature is fully implemented in at least one client |
| 🟡 Partial |
Feature exists but is incomplete, inconsistent, or requires manual workarounds |
| 🔴 Missing |
Feature does not exist in any current implementation |
| ⚪ New |
Feature is new for the standalone ARM (not attempted before) |
2. Feature Gap Analysis — By Functional Area
2.1 Entity Management
| Feature |
Saint Edwards |
Al Faisal |
Pymble |
Standalone Target |
Gap |
| Debtor creation |
🟢 |
🟢 |
🟢 |
🟢 Unified |
🟢 |
| Student creation |
🟢 |
🟢 |
🟢 |
🟢 Unified |
🟢 |
| Student-debtor linking |
🟢 |
🟢 |
🟢 |
🟢 Unified |
🟢 |
| Item master (fees) |
🟢 |
🟢 |
🟢 |
🟢 Unified |
🟢 |
| Item master (discounts) |
🟡 Manual |
🟡 Manual |
🟢 |
🟢 Automated |
🟡 |
| Student types/categories |
— |
— |
🟢 |
🟢 Configurable |
🟡 |
| Multi-campus support |
— |
— |
— |
🟢 |
🔴 |
| SIS integration (API) |
— |
— |
— |
🟢 |
🔴 |
| SIS integration (file) |
— |
🟢 CSV |
🟡 Excel |
🟢 Both |
🟡 |
| Automated wizard import |
🟢 |
— |
— |
🟢 Template |
🟡 |
2.2 Billing Configurator
| Feature |
Saint Edwards |
Al Faisal |
Pymble |
Standalone Target |
Gap |
| Billing cycle creation |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| Item segmentation |
🟡 |
🟡 |
🟡 |
🟢 |
🟡 |
| Item selection |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| Family selection |
🟡 |
🟡 |
🟡 |
🟢 |
🟡 |
| Items-to-years mapping |
🟡 |
🟡 |
🟡 |
🟢 Matrix UI |
🟡 |
| Exception handling |
🔴 |
🔴 |
🔴 |
🟢 Full |
🔴 |
| Payment configuration |
🟡 |
🟡 |
🟡 |
🟢 Point-and-click |
🟡 |
| Review & approval workflow |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Template system |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Wizard mode |
🟢 (only client) |
🔴 |
🔴 |
🟢 |
🟡 |
| Version history |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Audit trail |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Mid-year enrollment |
🟡 Manual |
🟡 Manual |
🟡 Manual |
🟢 Automated |
🟡 |
| Mid-year withdrawal |
🟡 Manual |
🟡 Manual |
🟡 Manual |
🟢 Automated |
🟡 |
| Clone from prior cycle |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Separation of duties |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
Overall Configurator: ~10% functional (Jerry's assessment confirmed by this analysis)
2.3 Transaction Generation
| Feature |
Saint Edwards |
Al Faisal |
Pymble |
Standalone Target |
Gap |
| Invoice generation |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| Billing order generation |
— |
— |
🟢 |
🟢 |
🟡 |
| PDF generation |
🟡 |
🟡 |
🟡 |
🟢 Branded |
🟡 |
| Email distribution |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| Payment link generation |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| Batch generation |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| Dry run / preview |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Selective regeneration |
🔴 |
🔴 |
🟡 Manual |
🟢 |
🔴 |
| Credit note generation |
🟡 Manual |
🟡 Manual |
🟡 Manual |
🟢 Automated |
🟡 |
| ERP sync on generation |
🟢 (in NS) |
🟢 (in NS) |
🟢 (in NS) |
🟢 Via adapter |
🟢 |
2.4 Payment Processing
| Feature |
Saint Edwards |
Al Faisal |
Pymble |
Standalone Target |
Gap |
| Credit card (eway) |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| Direct debit (ABA) |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| B Pay |
— |
— |
🟢 |
🟢 |
🟡 |
| Edstart |
— |
— |
🟢 |
🟢 |
🟡 |
| Annual payment (upfront) |
— |
— |
🟢 |
🟢 |
🟡 |
| Annual discount |
— |
— |
🟢 2.5% |
🟢 Configurable |
🟡 |
| RPS record creation |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| Automated eway processing |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| ABA file generation |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| Failed payment retry |
🟡 Manual |
🟡 Manual |
🟡 Manual |
🟢 Automated |
🟡 |
| Payment method change |
🟡 Manual |
🟡 Manual |
🟡 Manual (3 records) |
🟢 Automated |
🟡 |
| Duplicate prevention ("Paid from Portal") |
— |
— |
🟡 |
🟢 |
🟡 |
| Refund processing |
🔴 |
🔴 |
🟡 Manual |
🟢 |
🔴 |
| Payment reconciliation |
🟡 Manual |
🟡 Manual |
🟡 Manual |
🟢 Automated |
🟡 |
| Multi-gateway support |
— |
— |
— |
🟢 |
⚪ |
2.5 Parent Payment Portal
| Feature |
Saint Edwards |
Al Faisal |
Pymble |
Standalone Target |
Gap |
| Portal exists |
🟢 |
🟢 |
🟢 (My Pymble) |
🟢 Unified |
🟢 |
| OTP authentication |
🟢 |
🟢 |
— |
🟢 |
🟢 |
| SSO/JWT authentication |
— |
— |
🟢 |
🟢 |
🟡 |
| View outstanding balance |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| View line items |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| Select payment method |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| Select payment frequency |
🟢 |
🟢 |
🟢 |
🟢 |
🟢 |
| Flexible date selection |
🟢 |
— (fixed) |
🟢 |
🟢 Both modes |
🟢 |
| Optional item opt-in |
— |
— |
🟢 (levy) |
🟢 Configurable |
🟡 |
| Payment history |
🟡 |
🟡 |
🟡 |
🟢 Full |
🟡 |
| PDF download |
🔴 |
🔴 |
🟡 |
🟢 |
🔴 |
| Mobile responsive |
🟡 |
🟡 |
🟡 |
🟢 Mobile-first |
🟡 |
| Multi-language |
— |
— |
— |
🟢 |
⚪ |
| Accessibility (WCAG) |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
2.6 Reporting & Monitoring
| Feature |
Saint Edwards |
Al Faisal |
Pymble |
Standalone Target |
Gap |
| Outstanding payments report |
🟡 NS reports |
🟡 NS reports |
🟡 NS reports |
🟢 Built-in |
🟡 |
| Collection rates |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| RPS processing report |
🟡 |
🟡 |
🟡 |
🟢 Automated |
🟡 |
| Payment method breakdown |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Revenue by segment |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Debtor aging |
🟡 NS Aging |
🟡 NS Aging |
🟡 NS Aging |
🟢 Built-in |
🟡 |
| Email delivery tracking |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Real-time dashboard |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Export to Excel/CSV |
🟡 |
🟡 |
🟡 |
🟢 |
🟡 |
| Scheduled report delivery |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
2.7 Integration & Architecture
| Feature |
Saint Edwards |
Al Faisal |
Pymble |
Standalone Target |
Gap |
| ERP-agnostic design |
🔴 NS only |
🔴 NS only |
🔴 NS only |
🟢 |
🔴 |
| NetSuite adapter |
🟢 (native) |
🟢 (native) |
🟢 (native) |
🟢 API adapter |
🟢 |
| Microsoft Dynamics adapter |
— |
— |
— |
🟢 |
⚪ |
| REST API |
🟡 RESTlets |
🟡 RESTlets |
🟡 RESTlets |
🟢 Full API |
🟡 |
| Webhook support |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Multi-tenant architecture |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| CI/CD pipeline |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Automated testing |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Version-controlled config |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
2.8 Security & Compliance
| Feature |
Saint Edwards |
Al Faisal |
Pymble |
Standalone Target |
Gap |
| Role-based access |
🟡 NS roles |
🟡 NS roles |
🟡 NS roles |
🟢 Granular RBAC |
🟡 |
| Audit trail |
🟡 NS system |
🟡 NS system |
🟡 NS system |
🟢 Comprehensive |
🟡 |
| Payment data encryption |
🟢 eway tokens |
🟢 eway tokens |
🟢 eway tokens |
🟢 + at-rest |
🟢 |
| PCI compliance |
🟢 via eway |
🟢 via eway |
🟢 via eway |
🟢 SAQ-A |
🟢 |
| Data retention policies |
🔴 |
🔴 |
🔴 |
🟢 Configurable |
🔴 |
| PII handling / GDPR |
🔴 |
🔴 |
🔴 |
🟢 |
🔴 |
| Penetration testing |
🔴 |
🔴 |
🔴 |
🟢 Annual |
🔴 |
3. Gap Summary Statistics
By Severity
| Severity |
Count |
% |
| 🟢 Exists (ready or low effort) |
28 |
26% |
| 🟡 Partial (moderate effort) |
38 |
35% |
| 🔴 Missing (high effort) |
38 |
35% |
| ⚪ New (new capability) |
4 |
4% |
| Total features assessed |
108 |
100% |
By Functional Area
| Area |
Total |
🟢 |
🟡 |
🔴 |
⚪ |
Effort |
| Entity Management |
10 |
4 |
4 |
2 |
0 |
Medium |
| Billing Configurator |
16 |
2 |
6 |
8 |
0 |
Very High |
| Transaction Generation |
10 |
5 |
3 |
2 |
0 |
Medium |
| Payment Processing |
14 |
6 |
6 |
1 |
1 |
High |
| Parent Portal |
13 |
6 |
4 |
2 |
1 |
High |
| Reporting |
10 |
0 |
5 |
5 |
0 |
High |
| Integration & Architecture |
9 |
2 |
2 |
4 |
1 |
Very High |
| Security & Compliance |
7 |
3 |
2 |
2 |
0 |
High |
4. Client Feature Parity Analysis
Features that exist in one client but NOT in others — all must be unified in standalone ARM:
| Feature |
Only in |
Impact if missing |
| Automated wizard import |
Saint Edwards |
Admins lose guided setup experience |
| CSV bulk import |
Al Faisal |
Cannot onboard via spreadsheet |
| Billing orders (vs invoices) |
Pymble |
Cannot separate billing intent from accounting |
| B Pay support |
Pymble |
Australian parents lose preferred payment method |
| Edstart support |
Pymble |
Parents lose third-party financing option |
| Annual payment discount |
Pymble |
No incentive for upfront payment |
| Building levy (opt-in) |
Pymble |
Cannot offer optional charges via portal |
| SSO/JWT authentication |
Pymble |
Cannot integrate with existing parent portals |
| "Paid from Portal" flag |
Pymble |
Risk of duplicate billing |
| Opening balance inclusion |
Pymble |
Prior balance not in payment plan |
| Fixed payment dates |
Al Faisal |
Cannot enforce institution-set dates |
| Flexible payment dates |
Saint Edwards, Pymble |
Parents cannot choose their own dates |
| AED currency |
Al Faisal |
Cannot serve UAE clients |
All 13 features must be present in the standalone ARM and configurable per tenant.
5. Technical Debt Carried from Current Implementations
| Debt |
Description |
Resolution in Standalone |
| Divergent codebases |
3-4 versions of configurator |
Single unified codebase |
| No version control |
SuiteScript edited live in NetSuite |
Git-based version control |
| Hardcoded values |
Client-specific values baked into scripts |
Configuration-driven |
| No automated tests |
Manual testing only |
Automated test suite |
| No CI/CD |
Deploy via NetSuite script editor |
CI/CD pipeline |
| Manual workarounds |
Many operations require admin database edits |
Self-service UI |
| No monitoring |
Issues found by users |
Proactive monitoring + alerts |
| Inconsistent naming |
Different field names across implementations |
Canonical data model |
| Payment method change = 3 manual updates |
Must update recurrence + RPS + transaction |
Single automated action |
| No rollback |
Cannot undo incorrect billing run |
Snapshot-based rollback |
6. Priority Recommendations
Phase 1 (MVP — Must Have for First Client Migration)
| Priority |
Feature Area |
Items |
| P0 |
Data Model |
All core entities (debtor, student, item, transaction, payment, RPS) |
| P0 |
NetSuite Adapter |
Full bi-directional sync |
| P0 |
Configurator |
Tabs 1-5, 7-9 (minimum viable configurator) |
| P0 |
Transaction Generation |
Invoice generation, PDF, email distribution |
| P0 |
Payment - eway |
Credit card processing via eway |
| P0 |
Payment - ABA |
Direct debit file generation |
| P0 |
Portal |
OTP auth, balance view, payment setup |
| P0 |
RPS Scheduling |
Daily automated credit card processing |
Phase 2 (Feature Parity)
| Priority |
Feature Area |
Items |
| P1 |
Configurator |
Exception handling (Tab 6), template system, wizard mode |
| P1 |
Billing Orders |
Full billing order workflow (Pymble pattern) |
| P1 |
Portal |
SSO/JWT, optional items, PDF download |
| P1 |
Payment |
B Pay, Edstart, annual discount |
| P1 |
Portal |
"Paid from Portal" logic |
| P1 |
Mid-year |
Automated enrollment/withdrawal handling |
Phase 3 (Enhanced Capabilities)
| Priority |
Feature Area |
Items |
| P2 |
Reporting |
Real-time dashboard, scheduled reports |
| P2 |
Configurator |
Version history, cycle snapshots, clone |
| P2 |
Security |
Granular RBAC, data retention, PII handling |
| P2 |
Architecture |
Webhook support, multi-gateway |
| P2 |
Portal |
Mobile-first redesign, accessibility (WCAG) |
Phase 4 (New Capabilities)
| Priority |
Feature Area |
Items |
| P3 |
Microsoft Dynamics adapter |
Full integration |
| P3 |
SIS integration (API) |
Real-time student sync |
| P3 |
Multi-language |
i18n support |
| P3 |
Multi-campus |
Campus-level segmentation |
| P3 |
Collection automation |
Automated reminder workflows |
7. Effort Estimates (High-Level)
| Work Package |
Estimated Effort |
Dependencies |
| Core platform (DB, API, auth) |
[PLACEHOLDER: X weeks] |
None |
| Data model implementation |
[PLACEHOLDER: X weeks] |
Core platform |
| NetSuite adapter |
[PLACEHOLDER: X weeks] |
Core platform |
| Billing configurator MVP |
[PLACEHOLDER: X weeks] |
Data model |
| Transaction generation |
[PLACEHOLDER: X weeks] |
Data model, configurator |
| eway integration |
[PLACEHOLDER: X weeks] |
Core platform |
| ABA file generation |
[PLACEHOLDER: X weeks] |
Core platform |
| Parent portal MVP |
[PLACEHOLDER: X weeks] |
Core platform, eway |
| RPS scheduler |
[PLACEHOLDER: X weeks] |
eway, ABA |
| Reporting MVP |
[PLACEHOLDER: X weeks] |
Data model |
| Microsoft Dynamics adapter |
[PLACEHOLDER: X weeks] |
Core platform (adapter interface) |
| Total MVP (Phase 1) |
[PLACEHOLDER] |
|
| Total with Phase 2 |
[PLACEHOLDER] |
|
⚠️ Effort estimates to be refined during sprint planning based on team capacity, technology stack decisions, and detailed technical design.
8. Open Questions
| # |
Question |
Impact |
Status |
| 1 |
What technology stack for the standalone ARM? (Node.js? Python? .NET?) |
Architecture, hiring, timeline |
[PLACEHOLDER] |
| 2 |
Cloud provider choice? (AWS, Azure, GCP) |
Deployment, cost, integrations |
[PLACEHOLDER] |
| 3 |
Database choice? (PostgreSQL, SQL Server, other) |
Data model implementation |
[PLACEHOLDER] |
| 4 |
Frontend framework? (React, Angular, Vue) |
Portal and admin UI |
[PLACEHOLDER] |
| 5 |
Hosting model? (SaaS multi-tenant, dedicated per client) |
Architecture, cost, security |
[PLACEHOLDER] |
| 6 |
Who handles ABA bank submission? (admin manual or API integration) |
ABA process automation level |
[PLACEHOLDER] |
| 7 |
Edstart API availability? (real-time or file-based) |
Edstart integration design |
[PLACEHOLDER] |
| 8 |
Additional payment gateways beyond eway? (Stripe, etc.) |
Payment gateway abstraction |
[PLACEHOLDER] |
| 9 |
SIS vendors to support? (specific products) |
SIS adapter scope |
[PLACEHOLDER] |
| 10 |
Existing code reusable? (any SuiteScript logic worth porting) |
Migration effort |
[PLACEHOLDER] |