Telecom and IT service providers manage some of the most complex billing scenarios in software: usage-based billing, multi-service bundling, regulatory taxes, partner settlements, and real-time spend alerts for enterprise customers. When combined with high customer service volumes, the business case for self-service portals and billing automation is enormous. Zyllo Tech has delivered BSS modernisation projects for telecom operators, ISPs, and managed service providers. Here's the implementation approach.
How does a customer portal integrate with BSS and OSS?
Customer portals and billing systems don't exist in isolation — they integrate with the operator's BSS (Business Support Systems) and OSS (Operations Support Systems) stack:
- CRM integration (Salesforce, Oracle Siebel, or custom) for customer account management.
- Mediation system: raw network usage data (CDRs for voice, data volume records) processed and rated.
- Billing engine integration: rated records converted to charges, discounts applied, invoices generated.
- Service provisioning: when a customer activates or changes a plan via portal, orchestrate the OSS provisioning workflow.
- Number portability and SIM management systems for mobile operators.
- Mediation collects raw records from network elements and normalises the formats. Records arrive late and out of order — hours late is routine, days late happens.
- Deduplicate on each record's own unique id before anything else touches it. Network elements retransmit, and a duplicate that reaches rating is a customer billed twice for one session. This is the most expensive class of billing bug there is.
- Rating applies the tariff that was in force when the event happened, not the one in force now. A customer who upgraded yesterday still has last week's usage rated at last week's plan.
- Aggregation rolls rated events into buckets — included allowance first, then overage. The same aggregates feed real-time spend alerts and prepaid balance depletion, so this cannot be a batch-only path.
- Invoicing closes the cycle. Records arriving after close belong to the next invoice with their original event date preserved; quietly folding them in at today's rate is how disputes begin.
Self-Service Customer Portal
- Usage dashboard: real-time (or near-real-time) data, voice, and SMS consumption with plan limit indicators.
- Bill management: current bill, payment history, invoice download — PDF and structured data formats.
- Plan management: upgrade, downgrade, add-ons — with immediate provisioning confirmation.
- Spend alerts: configurable thresholds with SMS/email/push notification when usage approaches plan limits.
- Trouble ticket management: submit, track, and close support tickets with SLA visibility.
- Multi-account management: enterprise customers manage multiple lines and sites from a single portal.
How does telecom billing automation work?
- Usage-based billing: real-time rating of CDRs as they arrive — enables real-time balance depletion for prepaid customers.
- Recurring billing: automated charge generation on billing cycle date with configurable proration for mid-cycle plan changes.
- Tax calculation: integration with Avalara or Vertex for automated telecom-specific tax computation (varies significantly by jurisdiction).
- Invoice generation: PDF rendering with itemised charges, previous balance, payment applied, and due amount.
- Auto-pay and dunning: automatic charge attempt on stored payment method, with retry logic and escalating dunning communications for failed payments.
- Revenue recognition: ASC 606-compliant revenue recognition for multi-element arrangements (bundled service + hardware).
def proration_adjustment(old_monthly, new_monthly,
cycle_start, cycle_end, change_date):
"""Plan billed in advance: the customer already paid old_monthly for the
whole cycle. Returns the net adjustment, in integer minor units."""
days_in_cycle = (cycle_end - cycle_start).days # cycle_end exclusive
days_remaining = (cycle_end - change_date).days # days served by the new plan
credit_unused = old_monthly * days_remaining // days_in_cycle
charge_new = new_monthly * days_remaining // days_in_cycle
return charge_new - credit_unused
# Three details behind most proration complaints:
# - Integer arithmetic throughout. Floats here produce invoices whose
# line items do not sum to the invoice total.
# - days_in_cycle is the ACTUAL length of that cycle (28-31), never a
# flat 30. February is where a hardcoded 30 becomes visible.
# - Decide once whether the change day belongs to the old plan or the
# new one, then apply that everywhere. Splitting a single day across
# both is the most common off-by-one in billing.How much support volume can automation deflect?
- AI-powered chatbot handling tier-1 queries (usage enquiries, bill explanations, common troubleshooting) — deflects 55–70% of contact centre volume.
- Intelligent routing: classify inbound contacts by intent and route to appropriate agent queue with full customer context pre-loaded.
- Network outage detection integration: proactively notify affected customers via push/SMS before they call in.
- Knowledge base search: semantic search (not keyword) for support agents and self-service — using embedding-based retrieval.
- Case deflection: serve relevant KB articles at point of ticket creation to resolve before submission.
Enterprise B2B Portal Features
- Cost centre allocation: enterprises allocate usage and costs across departments and cost centres.
- Custom reporting: schedulable reports in Excel/CSV format for finance teams.
- Approval workflows: changes above a spend threshold require manager approval before provisioning.
- API access: enterprises with technical teams can consume usage and billing data via REST API for internal dashboards.
- Contact Centre Call Deflection: −55%
- Bill Dispute Resolution Time: −65%
- Self-Service Adoption: 78%
- Days Sales Outstanding (DSO): −8 days
