1.1 Executive Summary
EG Flow is a cloud-based multi-tenant system designed for Nordic utility companies to automate invoice processing, rendering, and multi-channel delivery. The system supports multiple vendor XML formats from existing billing systems and delivers invoices through various channels including postal mail, email, and future digital mailboxes.
Strategic Context - Nordic Utilities Market:
The Nordic electricity and district heating market is characterized by:
- High digitalization: 95%+ of Swedish households have internet access
- Regulatory complexity: GDPR, Swedish Data Protection Law, energy market regulations
- Seasonal peaks: Invoice volumes concentrate in heating season (Oct-Mar)
- Multi-vendor landscape: Utilities use diverse billing systems (Telinet, Karlskoga, Zynergy, etc.)
- Print partner ecosystem: Established relationships with 21G and other postal services
- Customer expectations: Fast delivery, digital options, environmental consciousness
Primary Business Goals:
- Reduce time-to-market for new utility company onboarding (weeks → days)
- Automate invoice processing from batch upload to delivery (days → hours)
- Support multi-vendor integration without custom development per client
- Enable flexible delivery channels with automatic fallback mechanisms
- Ensure regulatory compliance (GDPR, data residency, audit requirements)
- Provide operational visibility with real-time batch status and metrics
Target Users:
- Primary: Utility companies (electricity, water, district heating, gas)
- Secondary: End customers receiving invoices
- Tertiary: EG system administrators and support staff
- Tertiary: Print partners (21G) receiving bulk distribution files
1.2 Project Scope
In Scope for Phase 1
✅ Multi-tenant batch invoice processing with organization data isolation
✅ Multi-vendor XML support: GASEL (Telinet), XELLENT (Karlskoga), ZYNERGY (EG Software)
✅ Template-based rendering: Handlebars templates → HTML → PDF
✅ Email delivery: SendGrid integration with retry logic
✅ Postal delivery: 21G bulk integration with SFTP file drop
✅ RESTful API: Batch management, status tracking, template management
✅ Role-based access control: 6 distinct roles with organization boundaries
✅ Real-time status tracking: Batch and invoice-level progress monitoring
✅ Application monitoring: Application Insights with structured logging (Serilog)
✅ Multi-region deployment: West Europe (Sweden/Denmark), North Europe (Norway/Finland)
✅ GDPR compliance: Data subject rights, 7-year retention, audit logging
✅ Test data strategy: Synthetic data for staging, no production data copying
Out of Scope for Phase 1
❌ Kivra digital mailbox integration (Phase 2)
❌ e-Faktura/PEPPOL electronic invoicing (Phase 2)
❌ SMS distribution via Wiraya (Phase 2)
❌ Customer self-service portal (Phase 2)
❌ Payment processing
1.3 Success Metrics
| Category | Metric | Target | Measurement Method |
|---|---|---|---|
| Processing Efficiency | Batch processing time (100K invoices) | < 2 hours | Timestamp tracking in metadata |
| System Performance | API response time (p95) | < 500ms | Application Insights |
| Reliability | System uptime | 99.9% | Azure Monitor |
| Quality | Batch success rate | > 99.5% | (completed/total) × 100 |
| Delivery | Email delivery rate | > 95% | SendGrid analytics |
| Delivery | Postal delivery success | > 98% | 21G confirmation tracking |
| Scale | Monthly processing capacity | 10M+ invoices | System throughput monitoring |
| User Satisfaction | Customer satisfaction score | > 4.5/5 | Quarterly survey |
| Support | Support ticket volume | < 50/month | Jira ticket tracking |