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:

  1. Reduce time-to-market for new utility company onboarding (weeks → days)
  2. Automate invoice processing from batch upload to delivery (days → hours)
  3. Support multi-vendor integration without custom development per client
  4. Enable flexible delivery channels with automatic fallback mechanisms
  5. Ensure regulatory compliance (GDPR, data residency, audit requirements)
  6. 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


CategoryMetricTargetMeasurement Method
Processing EfficiencyBatch processing time (100K invoices)< 2 hoursTimestamp tracking in metadata
System PerformanceAPI response time (p95)< 500msApplication Insights
ReliabilitySystem uptime99.9%Azure Monitor
QualityBatch success rate> 99.5%(completed/total) × 100
DeliveryEmail delivery rate> 95%SendGrid analytics
DeliveryPostal delivery success> 98%21G confirmation tracking
ScaleMonthly processing capacity10M+ invoicesSystem throughput monitoring
User SatisfactionCustomer satisfaction score> 4.5/5Quarterly survey
SupportSupport ticket volume< 50/monthJira ticket tracking


  • No labels