Professional Documents
Culture Documents
Splynx
Splynx
4
1.1 Getting Started With SPLYNX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 Splynx license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.2 Hardware requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.3 Install Splynx ISP Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.4 Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.5 Create swap file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Configuring Tariff Plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 Internet plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2 Burst speed concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.3 Fair User Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.4 Voice plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.2.5 Custom plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.2.6 Capped plans and Top-Ups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.3 Customer Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.3.1 Adding new customer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.3.2 Custom additional fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.3.3 Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
1.3.4 Configuration of the Table, List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
1.3.5 Customer information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
1.3.6 Customer services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
1.3.7 Customer billing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
1.3.8 Customer statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
1.3.9 Customer documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
1.3.10 CPE management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
1.3.11 Prepaid vouchers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
1.4 Customer Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
1.5 Finance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
1.5.1 Billing engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
1.5.2 Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
1.5.3 Invoices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
1.5.4 Proforma invoices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
1.5.5 Payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
1.5.6 History & Preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
1.5.7 Bank statement processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
1.5.8 Refill cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
1.6 Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
1.6.1 Blocking customers in Splynx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
1.6.2 Authentication of admins, Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
1.6.2.1 Admin login to Mikrotik routers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
1.6.2.2 Admin login to Cisco devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
1.6.2.3 Admin login to Junipers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
1.6.3 Authentication of users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
1.6.3.1 Mikrotik: DHCP with Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
1.6.3.2 Mikrotik: Hotstpot, Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
1.6.3.3 Mikrotik: PPPoE, Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
1.6.3.4 Mikrotik: Static IPs with API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
1.6.3.5 Mikrotik: Local auth, API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
1.6.3.6 Ubiquiti: Wireless auth, Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
1.6.3.7 Ubiquiti: PPPoE on Edge Routers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
1.6.3.8 Cisco IOS: PPPoE with Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
1.6.3.9 Cisco IOS XE : PPPoE Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
1.6.3.10 Juniper: PPPoE with Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
1.6.3.11 Mikrotik: OpenVPN, Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
1.6.4 Bandwidth management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
1.6.4.1 Capped plans and top up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
1.6.4.2 Contentions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
1.6.4.3 Fair user policy - FUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
1.6.4.4 Mikrotik queue speed limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
1.6.4.5 Radius based speed limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
1.6.5 Routers settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
1.6.5.1 Cisco routers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
1.6.5.2 Juniper routers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
1.6.5.3 Mikrotik routers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
1.6.5.4 Ubiquiti Edge routers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
1.6.5.5 Other routers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
1.6.6 IP address management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
1.6.7 Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
1.6.8 Weathermaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
1.6.9 Troubleshooting Radius server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
1.6.10 Radius server customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
1.6.11 PPTP Connection between Splynx and Mikrotik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
1.7 Support, Tickets and Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
1.7.1 Email messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
1.7.2 SMS messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
1.7.3 Tickets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
1.7.4 News . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
1.8 Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
1.8.1 Main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
1.8.1.1 Admins and permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
1.8.1.2 Partners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
1.8.1.3 Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
1.8.2 Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
1.8.2.1 Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
1.8.2.2 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
1.8.2.3 Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
1.8.2.4 SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
1.8.2.5 Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
1.8.2.6 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
1.8.2.7 Changes of statuses/plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
1.8.2.8 Pending statuses/plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
1.9 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
1.9.1 System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
1.9.1.1 Additional fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
1.9.1.2 Custom translations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
1.9.1.3 File manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
1.9.1.4 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
1.9.1.5 Variables for templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
1.9.2 Main configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
1.9.2.1 Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
1.9.2.2 Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
1.9.2.3 Customers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
1.9.2.4 Email config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.9.2.5 SMS config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
1.9.2.6 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
1.9.2.7 Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
1.9.2.8 Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
1.9.2.9 Logrotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
1.9.3 Finance configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
1.9.3.1 Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
1.9.3.2 Finance settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
1.9.3.3 Pairing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
1.9.3.4 Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
1.9.3.5 Payment methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
1.9.3.6 Transaction categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
1.9.3.7 Reminders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
1.9.3.8 Template values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
1.9.4 Network configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
1.9.4.1 Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
1.9.4.2 MikroTik API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
1.9.4.3 IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
1.9.4.4 CPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
1.9.4.5 FUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
1.9.4.6 NAS types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
1.9.4.7 IP Network categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
1.9.4.8 IP Host categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
1.9.4.9 Monitoring config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
1.9.4.10 Network Weathermap Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
1.9.5 Voice processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
1.9.5.1 CDR Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
1.9.5.2 CDR History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
1.9.5.3 Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
1.9.6 Integrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
1.9.6.1 Main modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
1.9.6.2 Install module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
1.9.6.3 Modules list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
1.9.6.4 Hooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
1.9.7 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
1.9.7.1 Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
1.9.7.2 Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
1.9.7.3 Activate services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
1.9.7.4 Invoices cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
1.9.7.5 Adminer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
1.10 Add-ons, Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
1.10.1 Cashdesk module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
1.10.2 Google maps add-on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
1.10.3 Quickbooks accounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
1.10.4 Xero accounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
1.10.5 Ofipro contabilidad (Spanish) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
1.10.6 FCC 477 export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
1.10.7 Baicells LTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
1.10.8 Signaturit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
1.10.9 Social and Self Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
1.11 Payment systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
1.11.1 Authorize.net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
1.11.2 Braintree payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
1.11.3 Gocardless.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
1.11.4 Paypal payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
1.11.5 Paypal RB (Recurring Billing) payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
1.11.6 Payfast.co.za payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
1.11.7 SEPA debit orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
1.11.8 SEPA debit orders in Spanish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
1.11.9 Bitpay bitcoin payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
1.11.10 Stripe online payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
1.11.11 IPpay by Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
1.11.12 Pesapal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
1.11.13 Paystack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
1.11.14 Wepay (recurring billing) payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
1.11.15 SagePay Pay now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
1.11.16 SagePay Direct Debit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Splynx
Welcome!
Welcome to Splynx ISP Framework documentation website. Here you can find useful information to each part of Splynx - billing
system for Internet providers.
Please follow these links to get license, install the software and make first steps with it:
Splynx license
Hardware requirements
Dashboard
Splynx license
In order to start using Splynx, it is mandatory to get the license, here.
Hardware requirements
Hardware:
OS Linux: Debian 7, or 8 or Ubuntu (14.04, 14.10 or 15.04) , PHP 5.4, 5.5, 5.6, MySQL server
SSL Certificate
GlobeSSL
Log in as root:
Ubuntu:
sudo su
Debian:
su
dpkg-reconfigure tzdata
Install Splynx:
or update it:
apt-get update
apt-get install splynx
If you make a mistake when you enter the license code, or the mysql root password you can use:
dpkg-reconfigure splynx
Debian 7, 8
Ubuntu 14.04, 15.04, 15.10, 16.04, 16.10
Dashboard
Dashboard is the main control panel in Splynx which will help you to check financial and customer statistics on a daily basis. With dashboard you
can also monitor system performance and immediately get information about your network health.
At the top of the live dashboard will be displayed the number of customers online, number of new customers, new and open tickets and number of
devices down. It is possible to view them in details in a list.
Live dashboard is divided into 4. main parts:
System status - with the information free memory, last DB backup, last remote backup, etc.
Customers - with the latest statistics about new, active, blocked customers, etc.
Networking - with the information about number of routers, IPv4 networks, Monitoring, etc.
Finance - with the statistics of unpaid/ paid, debit transactions and payments for the current and last months.
There is a Side Menu at the left side of the page with following modules:
# Mount on reboot
if [[ -z "$(cat /etc/fstab | grep swapfile)" ]]; then
echo "/swapfile none swap sw 0 0" | tee -a /etc/fstab > /dev/null
2>&1
fi
fi
This commands create file with size 2 GB, if you need more or less change bs=64M count=32 – 32 to 16 for 1 GB, 64 for 4 GB.
Internet plans are also limiting the speed accordingly to plan settings. Voice Plans are used to create fees for voice services and for CDR
processing. With Custom plans you are able to charge customers for IPTV services, public IP addresses and other similar services.
Internet plans
Burst configuration
Voice plans
Custom plans
Internet plans
To configure the Internet plan, click on the Tariffs plans Internet and click on Add plan.
A Create plan window will pop up and it will be possible to create a plan.
Title - the name that describe the plan in the Internet plans table
Service name - the service name will be used for description
Price - the monthly price for the service
Partners - the partner 's name
VAT - the percentage of the VAT
VAT Included - select if Price in plan is VAT included or excluded
Download speed (Kbps) - the download speed for the internet plan
Upload speed (Kbps) - the upload speed for the internet plan
Values of Download and Upload speed are MIR (Maximum Information Rate) – best case scenario, maximum available data rate for flow,
if there is free any part of bandwidth.
Guaranteed speed limit at - the percentage shows what speed we guarantee for the end user. It's CIR (Committed Information Rate)
– worst case scenario, flow will get this amount of traffic rate regardless of other traffic flows. At any given time, the bandwidth should not
fall below this committed rate.
Priority - the options are: Low, Normal, High. IP packets of customers with High priority will be forwarded as first in case of congestion.
Values are 1 (high), 4(normal) and 8(low).
Aggregation - how many users will share the speed in plan
Burst limit - the percentage of maximum allowed burst speed
Burst threshold - the percentage that setups a value of burst on/off switch
Burst Time - the period of time for calculation of Burst values
or
is used to copy, print the table and to export it in different formats: Excel, CSV, PDF. The second one
After the creation of Internet plan, it is possible to associate service to the customer. Click on Customer List, select the customer, click on the tab
Services and on the +.
Burst concept is about to allow customer transfer data with higher speed that is in his tariff plan but for some period of time.Burst will work in case
ehn average-rate of the queue for the last burst-time seconds is smaller that burst-threshold value. Burst stops when average-rate of the
queue for the last burst-time seconds is higher or equal to burst-threshold value.
When burst is applied burst-limit value replaces the max-limit value inside the queue.
burst-limit (set in %) : it is a maximal upload/download speed which client can get when the burst is allowed. We set it up in % of the speed of the
plan. If customer has a plan of 2 Mbps with burst-limit 100%, he will get bust speed of 4 Mbps. If we setup burst-limit in Splynx to 50%, then
customer will get under burst 3 Mbps instead of original 2 Mbps of the plan.
burst-time (seconds) : period of time when average data rate is calculated. It's not the time when burst is active.
burst-threshold (set in %) : Bust technology always compares average speed with threshold. When average reaches threshold, burst is disabled.
We also define it in % in Splynx. For example if we set up 80% of threshold of 2 Mbps plan, the threshold value will be set to 1.6 Mbps and bust
will be deactivated when average speed during burst-time will reach 1.6 Mbps.
average-rate (not setup in Splynx, default value) : Every 1/16 part of the burst-time, Mikrotik router calculates the average data rate over the last
burst-time seconds
actual-rate (read-only value) : actual traffic transfer rate of the queue, it's used in the picture below for better understanding of concept. On
picture is an example of plan with bust-time 16 seconds, tariff speed of 2 Mbps and burst-rate of 4 Mbps, threshold is set to 1.6 Mbps.
To setup the burst which will provide service as on the picture we have to configure Splynx tarrif plan this way :
We recommend to use burst time of 30 or 60 seconds, and value of threshold around 70-80% of the plan.
There is an arrow icon in Splynx Internet plan settings which is used to define Fair user policies -
Each internet plan has its own independent fair user policy settings. Examples of different FUP settings and usage are shown below.
The first part you see are settings of when to count customers traffic. By default Splynx counts all customer's traffic and then applies FUP
settings. But It's possible to not count customer's traffic in some period of time. In example below traffic is not counted on Sundays and in night
hours:
If online time of the customer is used in FUP settings, an option of counting of online time is also available.
For example, there is a plan of 2 Mbps download/1 Mbps upload and we want to limit the speed of people who will download or upload over 5 GB
per day. Every day when customer downloads 5 GB, his speed will be decreased to 50% of original speed. Next day he will get back to original
speed. Below is example of FUP rule which will do the job:
We can check what will happen when customer downloads 2 GB per day in the Preview window of FUP settings:
Nothing happens because customer hasn't reached 5 GB daily limit. We can see that no FUP rule was applied. In case if customer transfers over
5 GB limit, his speed will be decreased from 2/1 Mbps to 1/0,5 Mbps:
We can quickly get an overview of customers with active FUP rules in services or online list of clients.
3. Block customer if he reached allowed amount of data per day, week or month
The same logic is used for blocked customer, we just need to change the action. Let's apply FUP to block customer who will reach 10GB per
month.
As it's obvious from a picture, Splynx can combine several FUP rules under one plan. Here we combine the speed limitation based on daily usage
and blocking on monthly usage.
This is a different type of blocking. FUP is used to optimise the customers' network usage when permanent blocking is used to provide capped
services.
5. Change the speed of customer based on day of the week and time of the day
We can allow customers to get higher speed in night hours. Below is an example of configuration, again it's just a new rule in the same plan, so all
our settings for daily and monthly limitations remain, and one new rule is added to speed up internet from 2 Mbps to 4 Mbps in night hours:
6. Override Accounting
In Override Accounting we can define if we want to override default accounting of traffic or online time rules.
Below are examples of default accounting of tariff & online time rules:
Override accounting:
Accounting of traffic:
Here we can set to account the traffic when this rule is active (in case of Override accounting is enabled)
Here we can set to account online time when this rule is active (in case of Override accounting is enabled)
Examples of accounting of traffic & online time rules are shown below:
Rule #1: Override accounting is enabled, accounting of traffic is enabled, accounting of online time is enabled
Rule #2: Override accounting is disabled
Rule #3: Override accounting is enabled, accounting of traffic is enabled, accounting of online time is enabled:
Voice plans
Why use Voice plans in Splynx?
1. Charging clients monthly fee for voice services such as VOIP, Toll number, Number rental or Mobile plan.
2. Processing of VOIP CDR. Splynx is able to process the CDR from Voice platforms, attach calls from CDRs to proper customer, create
transaction for voice usage and make one common invoice for Voice services and Internet.
To configure the Voice plan, click on Tariff plans Voice and click on Add plan.
A Create plan window will pop up and it will be possible to create a plan.
Title - the name that describe the tariff in the Voice Tariffs table
Service name - the service used
Price - the price for the service
Type - the options are: VOIP, Fix or Mobile
Partners - the partner 's name
VAT Included - select it on or off
VAT - you can decide the percentage of the VAT
It is possible to edit or to delete the tariff with the icons
or
on the bottom left of the table. The first one on the left
is use to copy, print the table and to export it in different formats: Excel, CSV, PDF. The second
After the creation of Voice plan, it is possible to associate the service to a customer. Click on Customer List, select the customer, click on the tab
Services and on the +.
A window will pop up to create the service.
It is possible to see the new service in the Services table.
To get more information about Voice CDR processing, please, follow dedicated tutorial page.
Custom plans
When use custom plans?
For example, ISP provides public IP service to users; Rental of equipment; Hosting or IPTV services.
To configure the Custom plan, click on the Tariffs plans Custom and click on Add plan.
A Create plan window will pop up and it will be possible to create a plan.
Title - the name that describe the tariff in the Custom Tariffs table
Service name - the service used
Price - the price for the service
Partners - select the partner 's name
VAT Included - select it on or off
VAT - the percentage of the VAT
is use to copy, print the table and to export it in different formats: Excel, CSV, PDF. The second one icon
After the creation of Custom plan, it is possible to associate the service to a customer. Click on Customer List, select the customer, click on the
tab Services and on the +.
The advantage is that customer can pay more to extend his CAP using the tool Top Up. Administrator designs Top Up plans that are avaliable for
customers in addition to their regular Internet plans.
First of all, you should enable the CAP module in Config Integrations Main Modules.
1. CAP configuration
To configure CAP policies go to Tariffs Internet, and then choose selected plan and click on FUP button. A new window will appear there called
CAP.
There are 3 configuration boxes in CAP: Monthly limits (CAP), Top Up Plans and Notifications.
In first box (Monthly limits (CAP)) we can set how much data (in KB, MB, GB or TB) customer is able to consume in Internet plan. It can be
dowload, upload or bidirectional usage. When the CAP monthly data are used, Splynx automatically blocks user or reduce his speed according to
the configured percentage level.
Also, you can disable daily or weekly limits set on FUP or enable the Rollover mode. Rollover means that unused monthly data of the CAP will be
moved to the next month.
In the second box you can find the Top Up Plans configuration. These plans are for the usage when monthly data of CAP is fully used. Customer
pays for a Top Up and then he received more data to use.
You can set validity of Top Up data. It can be unlimited or set to several months. Also, there is an option A dd Top Up to the customer invoice.
Very useful option is to Load plans from other tariffs, means you can configure Top Up plans once and then just copy the settings to all your
tariffs.
The third is the Notification box, which inform customer by email or SMS about monthly usage, Top Up data usage or Top Up actions.
Source means the counter or action that we want to notify our customer about.
Monthly limit - the data included in CAP,
Top Up usage - notify customer when certain % of his the top-up is spent
Top Up action - notify when top-up was added to customer's account
Auto Top Up - send a notification when customer's account data were automatically added by Splynx.
You have to write a subject and customize the message clicking on Edit message. There you can also load a template you have created in
section Splynx Config Tempates.
To check, if the email or notification is working correctly, you can view the email log clicking on Administration Logs Email.
The same verification is available for SMS messages in Splynx Administration Logs SMS.
2. Top-Up
A. Administrative top-up
C. Auto top-up
A. Administrative Top-up
In first case, go to Customers List and choose the customer you want to add the Top Up. There is a CAP Top-Up section at the bottom right
corner of the Information window. By clicking on Top-Up button below the section a new window "Add CAP to Customer" will be open that is
asking for a service and Top up plan. Administrators can have rights to add custom top-up, it means they can define the Data to top up and the
price of singe top-up.
When we create a Top-Up for 1 GB we can see that 1GB of data were added to customer's account. The transaction is on the list and we can
proceed charging for generating the invoice.
As we have enabled the option "To invoice" in the Top Up transaction, the Top-up appears on invoice PDF:
B. Customer portal Top-up
In second case customer can order a top-up on a portal. The administrator configure in Splynx the permissions and options customers will have.
This configuration is on Config Main Portal. There are two boxes with some options for customer's Top Up:
1. You can enable Top-Up and edit Auto Top-Up settings. Auto top-up permissions shows if client can enable/disable auto top-up and if he
can choose from top-up plans. Also there is an option to allow the customer to change the maximum amount of auto top-ups per month.
2. To enable Manual Top-up from portal, select which type of document will be created when customer tops up from the portal. Pay before me
ans that customer will not get the top-up data until he pays the invoice.
When customer enters Portal, he clicks on Services Top Up where will be top-up options for automatic and/or manuall top up.
In Manual Top-up customer should choose the plan and add a top-up.
Then in Statistics customer can see the amount of traffic in the bar. Also his actual top-up data is displayed.
In case if administrator sets the option Pay Before Top-Up, the data will be available after customer pays for it.
So, the invoice is paid and additional 1GB data is added now.
C. Auto Top-up
Inside the CAP window in customer information we can enable auto top-up.
Then we define the auto top-up plan and number of top-ups per month.
Transfer usage to new service means that Splynx will transfer unused data between plans in case when customer changes his plan.
Customer Management
Splynx has an advanced User Management. Each customer can have his own billing settings, where administrator is able to define when charge
the customer or disconnect him, what is his payment method and other individual parameters.
Customers have three types of services - Internet, Voice and Custom. The access information like PPP username/password, IP addresses,
Router information, MAC address is also defined in Services section of customer. You can generate document PDF such as agreement,
installation document etc.
Please, follow the sections below to find tutorial page about every single part of Customer Management:
Additional fields
Search
Customer information
Customer services
Customer billing
Customer statistics
Customer documents
Prepaid vouchers
Login and Password - it is possibile generate a new login and password or add it manually. The button
Login and password are created based on pattern. To define the pattern, click on Config Main Customers. This is a way to define symbols for
generation of login and password.
It is possible to personalise customer's parameters with the function Additional field in Config System Additional fields. When you create the
additional field for a customer, select Add to get the parameter in the customer's profile by default.
Custom additional fields
To add additional field, click on the Config menu, scroll down to the end of the page and click on
Additional field. Select the module where you'd like to add an additional field and click on
.
A window will pop up and it will be possible to create an additional field. In this example, it shows a "Service Location" additional field for the
Customers module and "Serial Number" additional field for the Networking module.
When the new field is created, it is possible to see the new field in the Additional Field table and in the Customer Information view:
A window will pop up and it will be possible to create an additional field. In this example, it shows a Contract ID additional field for the Customers
module.
Required - impossible to save without filling in this field.
Unique - unique value for this field.
Show in the list - shows in the list of the selected module as a column.
Add - add to the entry of every module.
Searchable - searchable.
Set default value for - set as a default value for every field.
When the new field is created, it is possible to see it in the Additional Field table and in the Customer Information view:
Search
The Search engine in SPLYNX is divided in:
Customer search
To search a customer, click on Customers Menu Search. In the poped-up window will be possible to make a search in the customers database.
Here you will be able to use different parameters for the search, such as:
ID - ID of the customer
Login - the login of the customer
Status - the options are: New (not yet connected), Active, Inactive (doesn't use services), Blocked, Select all (to select all options).
Type of billing - it can be Recurring Payments, Prepaid, Select all (to select all options).
Email - email of the customer.
Phone Number - phone number of the customer.
Date add - the date when the customer has been added into database.
Category - the options are: Private person, Company, Select all (to select all options).
Partner - one of the partners created or all of them.
Location - location of the customer.
Tariff - the tariff created
Service - the options are: Internet, Voice, Custom.
To get a more customizable search, you can click on My Profile Menu Customer search fields and select different fields.
To search a card click on the Customers Menu Cards Search. It is possible to do a search in the Prepaid cards database with that option.
ID - ID of the customer
Serie - the card's serie
Prefix - the card's prefix
Status - the options are: New, Active, Expired, Used, Disabled, Online, Select all
Full name - name of the owner
Phone - phone number of the owner
Email - email of the owner
Seller name - name of the seller
Partner - name of the partner
Location - location where the customer's card is based
It is possible to search a particular data inside any table in Splynx. Use the search tab of every table and get the complete view as a result.
It is possible to do a full text search in the system. Use the main search tab as it is shown in the screenshot.
Configuration of the Table, List
It is possible to customize every table and change the columns' order. Click on
below the table and drag and drop fields in order preferable for you or turn the field on\ off.
In addition, it is possible to print, copy or export a table in Excel, CSV or PDF formats. Click on
Customer information
Customer information is divided into Main information and Additional information, both of them are shown in a view.
ID - ID of the customer. It has given by the system in a sequential order
Login - user login
Password - user password. The password is masquerade by default, but it is possible to see the password in plain text, if you just click on
the password field
Status - the options are: New, Active, Inactive, Blocked. It is not possible to operate with some functions on the customer if the status is
not Active. In order to delete the customer the status has to be Inactive
Type of billing - the options are Recurring payments or Prepaid
Full name - full name of the customer
Email - email of the customer
Phone Number - phone number of the customer
Partner - partner of the customer
Location - location of the customer
Street - Street of the customer
ZIP code - ZIP code of the customer
City - city of the customer
Date Add - when the customer has been added
Customer services
It is possible to associate different services for every customer: Internet services, Voice services and Custom services. In order to add a new
service for the customer, select the Customer view and click on + sign next to the service (make sure customer is in Active status).
Tariffs options
Router - we can select the router
Login - the login
Password - the password
Tacking IPv4 - the options are None, Permanent IP, Dynamic IP
Mac(s) - Mac address
Port ID - the port ID
You can edit tariff/service, check its statistic, see the graf of services or delete them by these actions
Customer billing
The Customer Billing is divided into:
Billing Overview
Transactions
Invoices
Payments
Proforma Invoices
Billing Overview
Billing Settings
Actions
Proforma Invoice settings
Reminders settings
It is possible to see the Billing settings for the selected customer (The global settings for all customers are in Config Finance Settings).
Billing Settings:
In Actions section you can see the type of customer's payment account with his billing address set by default taken from the Main information of
the customer.
It is possible to charge the customer manually with the action To charge. Select date and period of charging, click on Preview to see services
description and click on To charge. The system will automatically charge the customer, and it will be shown as a new transaction in the
transaction's table.
Please note, that if you are charging customer manually, the new invoice will be created only if Invoicing option is enabled in Customer's Billing
Billing OverviewBilling settings.
It is possible to set a discount for the customer before you charge him. You can choose that option in Customer's services: select the service
where you'd like to make a discount, and click on Edit icon
. The window will appear where it will be possible to enable Discount and set up Discount percent, Discount start and end date, and Discount
message. After discount is set up it will appear in
In Reminders settings you can enable sending automatic reminders to the customer to avoid him to get blocked or inactive. It is also possible to
enable payment option for the last reminder and set an amount of reminder payment with comment on it.
Transactions
In the Transaction's table all shown transactions related to the customer. They are divided into Debit transactions, when we make an invoice to
be paid by a customer, and Credit transactions, when payment from customer has been received.
There is an option to print out, copy or save customer's transactions in CSV or PDF files.
There is also an option to choose columns, which will be displayed in the transaction's table by sorting show/hide columns.
To know more about transactions, please, visit transactions manual page - Transactions.
Invoices
Every customer's invoice is shown in this table. It contains invoice number, date of issuing the invoice, payment date and status of payment. The
same as with transactions there is an option to print out, copy or save customer's invoices in CSV or PDF files and sort columns by drag&drop
fields.
Detailed explanation of Invoicing you can find here - Invoices
Payments
Payment table contains all payments, related to the customer with the date of payment, payment type, amount, invoice number and comment on
the payment. The same as with transactions and invoices there is an option to print out, copy or save customer's payments in CSV or PDF files
and sort columns by drag&droping fields.
Proforma Invoices
All Proforma invoices related to the customer will be shown in this table containing invoice number, date of invoice, total amount, payment date
and status (if it's paid, unpaid or overdue). There is the same option to print out, copy or save customer's pro forma invoices in CSV or PDF files
and sort columns by drag&drop fields.
Detailed information about Proforma invoices and its creation you can find here - Proforma invoices
Customer statistics
Customer statistics displays his Internet usage for a certain period of time.
Total for period where will be shown number of sessions, errors, time in total, downloaded and uploaded amount of data.
Graph which will show statistics for a certain period of time. You can set up an hourly, daily, weekly, monthly and yearly graph to be
displayed, where you will see maximum, minimum and average data transfer speed.
Sessions, where in form of table will be shown all sessions for a certain period of time with connected\ disconnected time, number of
errors, amount of downloaded and uploaded MB etc.
If customer uses few services it is possible to choose preferable one or All Internet option, where all services will be shown. It is also possible to
set a filter for particular period of time or services to be displayed.
Customer documents
The purpose of Documents section in Customer profile is to store all important documents for every customer (agreements, additional
agreements, certificates or manually made invoices etc). This documents will be available for customers use in Customer portal.
Documents can be uploaded in any format you will choose or generated with the help of templates.
on the top right corner and window "Upload file" will appear. Here you can write the Title of the document, its Description (optionally) and choose
if you'd like this document to be visible to a customer by turning this option on\off. Then click on File
In Operations column of the table will be additional options of using this file, such as Edit
, View
, Download
, Send to a customer
and Delete
.
Once file had been uploaded it will also appear in Customer portal if option Visible by customer was turned on. Customer will find it in Documents
section.
Customer can download and view the file from here by clicking on Download icon
Another way to have files in Documents section is by generating them. To generate a document in Splynx click on
on the top right corner and the window "Generate document" will appear. Here you will write a Title of document, its description (optionally) and
choose if you'd like the document to be visible to a customer.
There are to options to generate the body of the document:
1) It is possible to simply type it in the text area window and then click on Generate or Save as a new template (option above the text area).
There are here text formatting and editing tools, where you can not only choose a size of the letters, font or colour of the text but also insert the
image or URL link, or print the document. You can also see the Preview of the document before generating by clicking on a Preview option on the
left side of the text area.
As soon as document will be generated it will appear in the list of documents in a table.
2) It is possible to use a Template to create a document by clicking on a Template window, choosing a Template and then clicking on
option. Write a Title of the document, make it visible to a customer (optional) and then click on Generate.
It will appear in the list of documents in a table and in a Customer portal as well, where customer will be able to download it and read. Below is an
example of the documents list on a Customer portal for a particular customer.
Before using Templates it is necessary to configure them first in Config System Templates:
By clicking on a "Type" option on the top right corner and you can check all templates you've already have in each category such as Cust
omer portal, Invoice PDF, Mail, SMS, Documents, cards, Payment calendars.
To create a new template choose a type of template first (Document) and then click on
option. A window "Create template" will appear where you will write the Title, Description (optionally) and a code for the template.
You can also edit existing template or delete it by clicking on options
and
To add CPE choose the Customer who owns this equipment and set IP and Login/Password of API. Select service customer is using with that
CPE and enable QoS if you'd like to set some rules.
.
It's posible to see information about rates, data trasmited/recieved, erros and status.
Finally, you can enable DHCP server from CPE and set interface, network, pool and other features.
Prepaid vouchers
In Splynx core we have a powerful Radius server which provides different types of services to end users. One of our popular services is hotspot
access for hotels, conference halls etc. Soon we will create a module for Splynx that can add PayPal, Cards and Online Registration features. At
the moment, you can use Splynx for providing hotspot access to regular customers or generating prepaid vouchers for one time access. Pictures
with examples of how to generate customized prepaid vouchers are shown below.
Here you can define voucher prices, download and upload speed, and max. traffic. Once vouchers are generated you can edit and customize
each one, and set up the contact details of customers using the cards.
Each voucher has its own statistics, charge of usage and detailed information :
Configuration of Hotspot for prepaid cards you can find in Radius hotspot configuration page
Customer Portal
Customer portal provides each customer a private access to his Account containing information on his services and its statistic, financial
aspects of provided services. Customer can also check here his profile, latest news and updates, important documents including financial
documents, all messages received or tickets submitted for support.
Dashboard - can display general information about customer current balance, unpaid invoices or proforma invoices, new messages,
new tickets and latest news.
Statistics - shows statistic of the services customer is using. In the top-right corner of the screen customer can choose type of the
service to be displayed in statistics and period of time.
Services - show all customer's services such as Internet, Voice or Custom services.
Finance - displays financial information such as Transactions, Proforma Invoices, Invoices and Payments. Here customer can view or
download them by clicking on View icon
or Download icon
in Operations column.
Messages - shows all messages has been sent to a customer to Customer portal. By clicking on View icon
Here customer can also create and submit a new ticket by clicking on Create ticket icon in the top-right corner of the screen. The window "Create
ticket" will appear where customer will write Subject of the ticket, choose Priority, write a message and upload any files if needed.
Documents - contains any documents which can be important for a customer, such as Agreements, Additional Agreements, manually
made Invoices, Certificates etc. Customer can view and download them from here by clicking on Download icon
Profile - shows customer's main contact and access information. If fields are marked in white customer can change information in them,
if they are dimmed customer can only view that information.
Customer portal can be configured according your and your company needs. To configure Customer portal click on Config Main Portal.
The main sections to configure here will be:
1. Main
2. Menu
3. Dashboard
4. Profile
5. Statistics
6. Services
7. Finance
8. Additional attributes in profile.
Detailed information about configuring Customer Portal can be found here - Portal.
Finance
Finance module is one of the important parts of Splynx billing system.
Splynx has Prepaid and Recurring billing engines. It's possible to define which billing engine is used by customer in his settings in Customer
Billing Billing overview.
Please, follow the links below to find tutorial page about each feature of Finance module:
Billing engine
Transactions
Invoices
Proforma invoices
Payments
Refill cards
Billing engine
In Billing engine section we describe the difference between Recurring and Prepaid billing of the customer. Let's start with financial dashboard
that shows us information about Splynx financial status:
Debit transactions
Payments
Paid Invoices
Unpaid invoices
Recurring billing is the best solution for ISP charging customer a fixed price on a recurring basis typically at the beginning of the billing cycle.
Recurring type of billing is set by default in Splynx global configuration.
You can set up recurring type of the payment for a customer in Customer Information section (Customers View) by clicking on Type of billing o
ption and choosing Recurring payments as a type of billing.
Recurring Invoices can be issued every month in advance (Prepay) or in Postpay Mode. One month in advance means, for example, that
1st of May Splynx will generate invoices for 1-31 of May. Postpay means that Splynx generates invoices on 1st of May for the period of
1-30 of April. You can set up Prepay or Postpay mode of recurring payments in Customers ViewBillingBilling overview. In Billing settings
click on Period and choose Postpay or Prepay mode with options to pay up to 5 months in advance.
Choose a Payment Method for recurring payment, such as Cash, Bank Transfer, Credit Card, PayPal, Refill Card, BrainTree and others.
The next step of setting up Recurring payments will be to choose the Billing day and Billing due day. Billing day is a day of Invoice
generating. Billing due day is the last day when customer have to make a payment before get blocked. In our example we choose 1st day
of the month as a billing day and 15th day of the month as Billing due day, which means that Invoice will be generated on 1st day of the
month and if customer don't make a payment until 15th day of the month, the next day he will be in blocked status. Even though customer
will have blocked status, his services will be still accounted.
You can choose a Grace period - time when customer will have inactive status. In our example it will be 10 days, which means after 10th
day customer's status will be automatically changed for inactive and his services won't be accounting.
Minimal balance defines the customer balance in Recurring payment and is set by default to "0" in Global configuration, but it it possible
to set it up here individually for a customer.
2. Prepaid billing engine
Prepaid billing is used when ISP charges customer in advance and provide him access for certain period of time. When balance of the customer
reaches set limit, he is disconnected.
To set up Prepaid type of billing we need to change the billing type of customer to Prepaid.
The next step is to choose Payment method, such as Cash, Bank Transfer, Credit Card, PayPal, Refill Card, BrainTree and others.
Then we define what is the value of customer’s balance when Splynx will block his access to internet. By default it is set to “0”, but it can
be changed in configuration of each customer inside of the field “Minimal balance”.
After setting up type “Prepaid”, we need to add a payment to customer’s account by clicking on Add payment button in Customer Billing
Payment. For example, 20 USD has been added.
In this particular situation, when customer has 20$ on a deposit, he will get access for 15 days. Then he will reach “0” on his balance and Splynx
will block him.
If we will check the deposit of the customer the next day, it will be reduced based on the daily fee:
Also one transaction has been added, which shows how much we charged. This transaction is updated every day and it shows the total amount of
money that has been taken from customer’s deposit.
If option Make invoices (after to charge) is enabled, Splynx will generate an invoice for consumed services on a first day of the next
month.
Transactions
The whole billing process inside Splynx is based on transactions. Transactions are the key point in billing, and they are always added when there
is a change in the customer’s flow or balance:
a. Each invoice period Splynx charges customers automatically. The admininstrator can set up the invoice date as the 1st day of the month, and
then customer will be charged for the calendar month.
Splynx has the ability to charge each customer on a different date. For example, one customer is charged on the 15th day of the month, and
another customer is charged on the 20th. This action creates an “+ Debit” transaction.
b. When a customer pays for services, a transaction is created. He can pay via bank transfer, cash or online payment gateway. Splynx will always
pair the payment with the customer’s account and create one payment transaction. A “- Credit” transaction is then created.
Thanks to the transaction system, there is always a clear history as well as a way to track changes in the customer’s profile.
Transactions table in Finance Module displays all type of transactions related to the customer and contain Customer name, ID, date of
transaction, type of transaction (debit or credit), its description, price etc.
There is a table called "Totals" below which shows type of transaction (Debit / Credit), number of transactions in each type and total
amount of money.
In fact you can set a filter to view particular transactions, for example, by partner, by transaction's category or its type or period.
There is an option to print out, copy or save in CSV or PDF files transactions, chosen by you.
You can also choose columns which will be displayed in the transactions table by sorting show/hide columns.
To correct customer's balance is possible to create a new transaction and add invoice from transaction. You can find that option in Cus
tomer View Customer Billing Transactions.
When you click on Add transaction a pop-up window will appear with different options of new transaction you can choose: Type (Debit/ Credit), De
scription, Quantity, Unit, Price, VAT, Total amount, Category (service, discount, payment, correction for customer's balance, Braintree fee etc.), D
ate, Comment on the transaction and Period.
After the new transaction's created it is also possible to generate an invoice manually by clicking on Add Invoice from transaction in the
Transactions tab. The window will pop-up where you can fill in following fields: Description, Price, Period, Note for the customer or Memo
for you (if necessary).
. Please note, if you've added an Invoice from transaction there is no longer a possibility to edit that transaction, but invoice only.
Invoices
An invoice is a commercial document that specify a transaction between a buyer and a seller. If goods or services were purchased on credit, the
invoice usually specifies the terms of the deal, and provide information on the available methods of payment. An invoice is also known as a bill or
sales invoice.
Splynx provides the ability to work with or without invoices. Without issuing invoices, Splynx just receives payments and charges customers each
invoice period without creating an official document. When invoicing is required, Splynx is able to generate invoices automatically, or the
administrator can issue invoices manually. Invoices can be created conjointly or separately. Invoices in PDF format are fully customizable. All
documents generated by Splynx can be exported to different formats to the end users for printing or sending.
All issued Invoices can be found in Finance Invoices. It is possible to range them by Period of time, Partner or Status (Any, Paid,
Unpaid, Deleted). Under the list of Invoices will be a Table called "Total", which displays all Invoices for a particular period of time by their
status, number of Invoices in each status and amount of money paid and unpaid in each status of Invoice.
To print or to export the list of invoices for accounting purposes, click on Finance Invoices and click on Export.
In export you can choose the period of time and the export type (PDF, CSV, external handler etc.).
, it is necessary to configure an invoice template first in Config SystemTemplates and define an invoice template in Config Finance
Template Values.
In the page Template values, it is possible to define the partner and the PDF template (Invoice PDF example by default). Once the PDF template
is defined, the invoice will be visible.
The invoice is customizable. Click on Config Main Localization, where it is possible to define the currency and other finance settings
.
There are global billing settings for all customers in Config Finance Settings.
Billing Settings:
More information about Invoices global configuration can be found here - Finance configuration.
In Invoices Settings is also possible to set an invoice issuing automatically and to define the invoice number pattern.
When option "Make Invoices (after To charge)" is not selected in Billing Overview Billing Settings, it is possible to generate an invoice manually b
y clicking on "Add Invoice from transaction" in the Transactions tab.
800p
x
Another way to create Invoice is by clicking on Add Invoice in Billing Invoices, where you can enable Use transaction option, write a
description and period of service, note for customer or memo for yourself.
icon (if the email server is configured) in Billing Invoices. You can write a message body or choose it from templates and load it.
You can also write here a message body and save it as a new template.
Proforma invoices
Pro-forma Invoice is an abridged or estimated invoice sent by a seller to a buyer in advance of delivery of servives\ goods. It notes the kind and
quantity of services\goods, their value, and other important information. Proforma invoices are commonly used as preliminary invoices with a
quotation, or for customs purposes in importation. They differ from a normal invoice in not being a demand or request for payment.
In our billing system Proforma Invoice can be used as a request of payment in advance. For example, it can be created 1 month before the
occuring payment, so you will see if customer is able to pay the Proforma Invoice. When proforma invoice is created, the customer’s
balance hasn't changed. The main reason for this billing approach is to prevent the payment of VAT tax for non-paying customers. If the customer
pays the amount specified in the Proforma Invoice PDF, the company can issue a tax Invoice.
An example of this document is shown in the picture below:
All issued Proforma invoices can be found in Finance Proforma Invoices. It is possible to range them by particular period of time or
partner.
By clicking on a period you can set it up manually, so you can select the option to show all proforma invoices for today, yesterday, last or 30 days,
this or last month or just choose a custom range and click on Apply.
, it is necessary to configure an invoice template first in Config SystemTemplates and define template values in Config Finance
Template Values. More information about Invoice's template configuration you can find here - Templates, Invoices.
You can also set up proforma invoices global settings for all customers in Config Finance Settings.
More information about Proforma Invoice global configuration is here - Finance configuration.
(if the email server is configured). You can write a message body or choose it from templates and load it.
You can also write here a message body and save it as a template.
To print or export the list of proforma invoices for accounting purposes, click on Finance Invoices and click on Export. You can select
here Period of time, Partner, Location, Customer payment type (cash, bank transfer, PayPal, Credit card, refill card etc.), Status (paid\
unpaid), Export type (CSV, PDF file inactive, one PDF file etc.). You can also check an export history here.
It is possible to enable auto making of proforma invoices in Customer's Billing Billing overview with choosing particular day, month
and type.
There is a possibility to create Proforma Invoice manually by clicking on Add Proforma Invoice in Customer's Billing Proforma
Invoices.
Payments
Splynx processes payments. When customer pays cash at your company office, the cash desk module can be used to enter payments into the
system. The cash desk operator’s access is limited: he can only accept, enter payments and view customers’ details. The administrator can add
cash payments into the system as well.
ISPs usually have different payment methods; Splynx supports bank transactions or generation of SEPA payment orders and also wide range of
payment gateways.
Payments' table in Finance module displays all different types of payments for a particular period of time according your choice. You can
also range them by Partner. Under the list of Payments will be a table called "Totals", which will display all types of payments for a
particular period of time with number of payments in each type and amount of money in each type.
To export payments selected by you into one PDF or CSV file click on tab Export and window with exporting options will pop-up, where
you can create an export based on partner, location, customer payment type etc. Here you can also select an export type of the file.
It is possible to add the payment manually (without making an invoice). You will find that option in Billing Payments. Click on Add
Payment button and window will pop-up, where you can select a Payment type (Cash, Bank transfer, PayPal, Credit card, Braintree etc.),
add a Date of payment, Amount, Receipt number, Note for customer and Memo for you etc. You can also enable Send receipt option h
ere, so customer will receive a receipt after payment will be made. After payment will be created a credit transaction will appear in
Transactions table (Customer's BillingTransactions).
It is possible to operate with every payment using icons
in Operations column a window will appear with all transactions, invoices and proforma invoices issued for that period. You can download the list
of transactions and invoices in HTML format.
History Preview could be a useful feature for the mass billing, when you need to double-check customer's services and prices for a group of
customers before issuing invoices for them. It is possible to do by creating proforma invoices for customers, who is due to pay, and checking them
in a history preview.
How to create Proforma invoices (automatic and manual creation) were mentioned in Proforma invoices. After proforma invoices (for a particular
day) will be created you can check the full list of them in Finance Proforma Invoices.
Then click on icon
in Operations column in Finance History Preview and download file with all proforma invoices for the period that need to be checked. The rest of
invoices and transactions for that date will also be there.
2. When the file's been downloaded next step is to set up matching criteria for bank statement processing and click on Preview.
3. The table with paired data will appear where we can check all matches with payments and invoices. To finish process multiple payments
click on Process button below the table.
4. The message will appear that payments paired successfully. Then, in Bank Statements History (Bank Statements History) you will be
able to check downloaded file with information in the table about status of bank statement importing, records, processed payments and errors.
It is possible to see processed payments from particular bank statement more detailed. If you click on View option
in Actions or on a title of each file in Title column, the window will pop-up with description of every status of processed payment.
Payments with Error or Ignored status can be checked and paired manually by clicking on
icon in Actions. Payments will be in Ignored status when they've been already paid, but you can always double check them and manually pair.
When you click on Manual pair icon
, a new window will pop-up, where you can search for a customer by entering his ID, Login, Contact details, Partner, Status, etc. in Customer
section of the table.
You can also search by entering Invoice number or Proforma Invoice number in Invoice section or Proforma Invoice section of the table or check
all invoices \proforma invoices for a particular period.
When you find a customer who's payment needs to be paired, click on Manual pair icon
in Pair column of the table. The window will pop-up where you will confirm the paring.
After manual paring is done the status of the payment in a Bank statements history view (Finance Bank Statements View History) will be marked
as Manually paired.
Refill cards
Very easy and convenient way for your customers to pay for their services or make a prepaid deposit is to use refill cards. You can generate Refill
cards in Splynx with further exporting them in PDF and CSV format, printing out and delivering them to customers. Your customers, in turn, will be
able to redeem refill card via customers' portal.
In Finance Refill cards Generate set up parameters for Refill cards generating: Quantity, Prefix, Price, choose the partner and valid
date, and click on Generate.
As soon as cards will be generated a window will pop up with a table of refill cards series.
In Actions column will be options
for editing, viewing the list of Refill cards' series, exporting them and deleting. To edit refill cards serie click on
By clicking on icon
or on card serie in the Serie Column a table of all cards created under this serie will appear with their full codes.
Here you can redeem customers' card to top up their balance by clicking on
In Customers View Billing Payments will be possible to see activated card and amount of deposit made on the customer's account.
By clicking on icon
you can export cards in two available formats: SCV and PDF for further printing out and sale to customers.
2. How customer can redeem purchased refill card.
In Customer's portal customer will go to Finance Payments Refill card and enter the card's code into Code window.
Customers will be able to check their balance in Finance Payments List, where date of the payment, payment type, amount and possible
comment on the payment will be shown.
Networking
Important part of Splynx software is Network management. We use the following technologies for Network Management:
Radius protocol – central customer authentication, locking non-payers, getting statistics of Internet usage, support of different vendors.
Mikrotik API – advanced bandwidth management on RouterOS. CPE configuration and provisioning.
SNMP - monitoring and building weathermaps directly in Splynx.
Authentication of users
Bandwidth management
Routers settings
IP address management
Monitoring
Weathermaps
Splynx has 4 default blocking pages which are located at : http://yoursplynxurl:8101, http://yoursplynxurl:8102, http://yoursplynxurl:8103 and http://
yoursplynxurl:8104
It’s a simple HTML file, which you can change via command line inside your Splynx installation (SSH) at /var/www/splynx/web/errors/ and folders
1,2,3,4 correspond to ports 8101, 8102, 8103 and 8104
When customer is moved to status “Blocked”, his IP address is put to address list “SpLBL_blocked”. With setting up the rules for redirection you
can manage that customer will see special webpage with information, why his access to the Internet was blocked.
The setting of blocking the user is defined in Config -> Networking -> Radius “Customer Block” and “FUP Block”:
There is another approach where to redirect customer, the Proxy server in Mikrotik RouterOS is using it :
IP 10.0.1.16 is the router's WAN IP address.
/ip proxy
set enabled=yes
All four methods of Splynx user blocking you can find on our video tutorials:
With Splynx you can setup that when administrator accesses equipment, his credentials will be checked over Radius server database. If his
Username/Password is correct, he will be able to login to equipment. If not, he will not get access. This is a very convenient approach compare to
local login. Imagine if you hire a new administrator and you need to update hundreds of routers, APs and switches to create him local login
everywhere or you can give him one common Login/Password. But when person leaves the company, you should change these credentials
everywhere. Better is to connect all networking devices to Radius server and verify administrator login using Radius protocol.
Below are tutorials of how to configure admin Login using Radius Splynx server on different platforms:
To configure the Radius Server, click on Config Networking Radius and click on load at the bottom of the page.
Turn the mode Use admin login on:
Select the router you want to configure with Radius. Click on Networking List, select the router and write down the Radius secret password that is
going to be used in the router Radius configuration.
Open Winbox, click on System User and the User List window will pop up. Click on AAA (Authentication and Accounting), flag Use Radius.
Click on System User, the User List window will pop up. Select the tab Active Users, click on Radius, click on the default service and flag the
Radius service you want to use: ppp, hotspot, dhcp, login. Insert the Radius Server, the Radius secret password, the source address of the
interface connected to the Radius server.
In Splynx, click on Administration Administrators, click on Add and fill up the administrator's fields.
It is possible to chose the role of the administrator: Administrator, Customer Creator, Financial Manager, Manager, Super Administrator. In
Router access (radius) the default permission are: read, write, full.
Now, if you try to connect the new Administrator to the winbox-router, you will see the new user created with the Radius server in User list.
It is possible to see all operations of each Administrator. Click on Administration Logs Operation.
If you click on
If you need a short log of the Radius login, click on Administration Logs Operation and click on the icon
Admin login to Cisco devices
First of all, we need to grant permissions to access routers to Admin in Splynx. We have created a test admin who will login to devices:
Splynx has 3 permission levels - Full, Write and Read. These levels can be mapped to Cisco privilege levels:
I'm creating admin with Full rights and then in Config Radius Cisco will choose that attribute used for Full access has privilege level 15:
Cisco-AVPair = shel:priv-lvl=15 says that Splynx will grant privilege level 15 to test admin when he connects to Cisco router/switch:
Also we need to add router to Splynx and choose NAS type = Cisco and setup the same Radius secret as we will setup on Cisco router:
Now we need to configure Cisco device to accept radius authentication and privilege levels:
aaa new-model
aaa authentication login SPLYNX group radius local
aaa authorization exec SPLYNX group radius local
line vty 0 4
authorization exec SPLYNX
login authentication SPLYNX
transport input ssh
When commands entered to Cisco and Splynx are configured, admin is able to login to the Cisco router via SSH:
Admin login to Junipers
Authentication of users
Splynx supports different ways of customers' central authentication in the network of Internet provider. It always depends on topology of ISP and
technology that ISP decides to use. Access technologies are widely used and their advantages and disadvantages are described below:
PPPoE - easy to maintain and implement. Customer on CPE device setups username and password and all networking settings CPE receives
from PPPoE NAS (Network Access Server). Also provides encryption if needed and accounting for getting statistics of usage. Had issues with
MTU in past, but in last years these issues were fixed by main vendors.
IPoE (or DHCP) - DHCP is based on MAC address of client. Also can be linked to port of switch were customer is connected (DHCP option 82).
In several vendors don't provide accounting capability (Mikrotik routers)
Wireless Authentication - when ISP has a wireless network, he needs to maintain access of CPE devices to his Access Points. For this purpose
several wireless authentication methods are used, such as a password inside TDMA protocols or wireless access-lists
Hotspot - customer has to enter his username and password on the webpage before using the Internet. Many hotspot networks allow free limited
access and then charge customers for addtional usage or advanced plans.
Static IP addressing - some ISPs don't have central management of authentication and setup static IP addresses to CPE devices. With Mikrotik
RouterOS platform Splynx can manage even customers who's got static IPs in Vlan per customer scenario or plain IPv4 connection. Also Splynx
can grab statistics from Mikrotik routers for such customers.
Below are manuals for different types of user authentication in Splynx ISP Framework:
To configurate the Splynx Radius Server with the DHCP service you should have a DHCP server configured on the interface of your router. Select
your DHCP server and make sure you have the option "Use RADIUS" flagged. Also, make sure you have selected in Address pool "static only" (th
e DHCP is going to get the IP from the Splynx RADIUS server).
To configure the Splynx Radius Server, click on Networking Routers List, select the router where you have configured your dhcp service, click on
the "Authorization/Accounting" window and select DHCP (Radius)/ API accounting).
Click on IPv4 Networks + Add and create the network you want to use with the dhcp service. Don't forget to select Static in Type of usage.
Click on Customers List, select a customer and click on the tab Services. Now you can add a new service, just click on the +.
When you add the service, you should pay attention to three fields:
Router - select the router that is used with the dhcp service
Tacking IPv4 - select Permanent IP ( from static IPs)
Mikrotik even with AAA enable, doesn't send DHCP statistic. In order to get statistic, you should enable an API on Splynx Radius server.
Click on Networking List, and select the router where you have configured your dhcp service. Click on the tab Mikrotik, put Enable Api on and
insert a login and password of an administrator (be sure that the administrator is created in the router also).
Associate more than one MAC Address to a client
To associate more than one MAC address to a client you should create a new service with a new MAC address, and set the price to 0 to not
charge the client twice.
As you can see from the screenshot, the DHCP service is going to release a second IP associated to a different MAC address.
It is possible to block a permanent IP address assigned from the DHCP service through an API. Click on Networking Routers List, select the
router where you configured your dhcp service, click on the tab Mikrotik and set the mode "Disabled customer to Address-List" on. Go to the Cust
omer's Status and select Blocked.
The user will be blocked and his internet traffic will be redirect to a Reject IP for blocked users defined in Config Networking Radius.
Associate a dynamic IP to a client
To configurate the Splynx Radius Server with the DHCP service, you should have DHCP server configured on the interface of your router. Select
your dhcp server and make sure you have the option "Use RADIUS" flagged. In Address pool you have to select "Static only" (DHCP is going to
get IP from the Splynx RADIUS server).
To configurate the Splynx Radius Server, click on Networking Routers List, select the router where you have configured your dhcp service, click
on the Authorization/Accounting window and select DHCP (Radius)/ API accounting.
Click on IPv4 Networks + Add and create the network you want to use with the dhcp service. Don't forget to select Pool in Type of usage.
Click on Customers List, select a customer and click on the tab Services. Now you can add a new service, just click on +.
When you add the service, you should pay attention on three fields:
Router - select the router that is used with the dhcp service
Tacking IPv4 - select Dynamic IP ( from IP Pools)
IPv4 pool - the IP pool you want to be associate with the customer
Edit radius.php and set add_to_online value equal to true. Restart the Radius Daemon with service splynx_radd restart.
When customer has a dynamic IP, the API blocking will not work and you need to use a hack. Just go to the DCHP server parameters in your
Mikrotik router and set Lease Time 1 day.
In Splynx, click on Config Networking Radius and click on Load. In Rate-Limit attributes, add the string "Session-Timeout = 86400" (seconds in
24 hr).
Mikrotik: Hotstpot, Radius
Hostpot configuration on Mikrotik router
First configuration steps for Hotspot Radius authentication are the same as for other types of Radius authentication.
Router should be added to Splynx and Radius Hotspot authentication enabled. Even, if other Radius authentication method will be chosen in
Splynx router settings, it will still allow Radius hotspot authentication.
Radius secret - the password for communication between Radius server and router.
IP/HOST - this is the physical IP address from where packets are sent to Radius server. In case when router is behind NAT, this is the
public IP address. Can be set as a domain name or dynamic DNS entry.
NAS IP - the real IP source address for radius packets. It's recommended than in Radius settings in Mikrotik router Src. address = NAS
IP in Splynx.
In configuration of Hotspot we have added IP local pool 10.200.255.0/24, this pool will be used to provide IP to the client connected for the first
time. As soon as he will become authenticated, he will get IP address from the IP range defined in Splynx - 192.168.102.0/24
The last step is to enable hotspot Radius authentication in HS Profile, arrow shows type of connection, in case of Wireless choose 19/wireless in
case of ethernet please select ethernet:
Hotspot authentication login and password
Now when customer connects to the router, he receives the login screen where he should enter the username and password specified in Splynx
internet service.
In this case it's alex-pppoe name and 12345 password, client will get permanent IP address after successful authentication:
Authentication Mikrotik screen:
After setting the right password and username, customer get access and his DHCP address 10.200.255.x is mapped to the real routable IP
address 192.168.102.x in Hosts list:
Also we can see that client is active, and "R" means that he was authenticated via Radius server:
And client is online in Splynx, where we can see his session and current usage:
If we would like to close the session of the customer, there is an option in Splynx how to close the session and enforce customer to reconnect.
It's available through "X" button in service of the client or in Online view if the "X" option is added to the list of table.
When client is already authenticated, Mikrotik can store in cache his information for certain period of time and don't ask him to enter username
and password again. Authenticated customer is put to cookies with lifetime specified in settings.
For example, we don't want to ask customer for a password for 24 hours. So, if he will reconnect his PC several times during a day to Wifi or
router, the login and password page will not appear. On example below is shown how to enable the cookies and set the lifetime to 24 hour or 1
day.
Splynx can recognise the MAC address of customer if it is set to his internet service. If MAC authentication is enabled in Hotspot server profile
and MAC is set in customer's service, then the login page will not appear for such customer and he will get internet access immediately.
If client has a static/permanent IP address assigned to the service, than blocking is made via putting IP address to the address list and further
redirect. In case of dynamic IP address, the hotspot IP of client is mapped to one of IPs from the blocking range of Splynx. To get more
information about blocking customers, please, read our tutorial page - blocking customers in Splynx
Setting different values to Radius attributes
To understand the usage of Radius attributes customization, please, follow the guide - Radius server customization
As the first step, it's needed to add a router to Splynx under menu Networking Routers:
Radius secret - the password for communication between Radius server and router.
IP/HOST - this is the physical IP address from where packets are sent to Radius server. In case when router is behind NAT, this is the public IP
address. Can be set as a domain name or dynamic DNS entry.
NAS IP - the real IP source address for radius packets. It's recommended than in Radius settings in Mikrotik router Src. address = NAS IP in
Splynx.
And enable Radius authentication for PPPoE server (and other ppp services) in the Secrets tab of router settings:
Very important thing is to define the Local IP address in Profile. It's used as a local IP of PPPoE server for establishing PPPoE tunnel. Tunnel will
not be established without specifying the Local IP and you will get Local IP error in logs. Remote IP will be assigned by Splynx Radius server.
When router is connected to Splynx Radius server we can add a new customer and create internet service for him in Splynx software:
IP address can be assigned on permanent basis by Splynx Radius or dynamically (every time when customer connects he will get different IP
from pool). PPP login and password are taken by default from the main Splynx customer login/password credentials. This can be changed in
service and ppp and Splynx portal login and password will be different in this case:
Now we can connect CPE or PC of customer with username alex-pppoe and password 12345. All communication between Splynx Radius server
and Mikrotik router is available in logs under Splynx Administration Files Radius short (radius/short):
For further troubleshooting please visit the topic Troubleshooting Radius server.
When customer changes the status from Active to Blocked, Splynx Radius server pushes the Change of authorization (COA) message to Mikrotik
Router. The COA message contains the name of address list where customer's IP should be put. It doesn't matter if customer has permanent or
dynamic IP - his current IP address will be put to the address list Reject_1. When we change back the status to Active, the address list Reject_1 is
rewritten via COA message to "Active". Other option to block the customer's session is to use disconnection of the session. Session is
disconnected and when client reconnects it he is put to address-list (in case of permanent IP assignment) or he receives IP from special blocked
IP pool (dynamic IP assignment). For both types of blocking sessions it's needed to enable Incoming communication on Mikrotik Router side:
Please, find more information about blocking customers on the tutorial page - blocking users in Splynx.
By default Splynx don't close the sessions of customers if it's not requested by administrator. It means that in Statistics of customers a session
can remain active for a long time. This can cause the misleading with communication with customers. To close the session automatically every 24
hours it's possible to configure the session timeout in Mikrotik router settings:
Or add a attribute to rate-limit field inside Splynx Config Networking Radius
Also, there is a way in Splynx how to close the session and enforce customer to reconnect. It's available through "X" button in service of the client
or in Online view if the "X" option is added to the list of table.
To understand the usage of Radius attributes customization, please, follow the guide - Radius server customization
In Splynx you can setup authentication for statically configured IP addresses. Also it's possible to match IP address of CPE with MAC address
and achieve static IP + MAC authentication.
This setup works only for Mikrotik RouterOS devices, because authentication rules are pushed to router via API.
First step is to add to internet service of the customer Router, IP address and MAC (if needed):
In settings of router NAS-SPLYNX we should enable proper authentication type, it's Firewall IP/MAC filter. Accounting will be grabbed by Splynx
every 5 minutes via API:
The API should be enabled on Mikrotik router and in Splynx settings for router as well:
Splynx connects to the router and create in IP Firewall Filter entries allowing access for the IP/MAC combination for the user.
If MAC is added to customer's service, then the Firewall rule also contains the MAC address:
As you can see, Splynx doesn't create any DENY rule. If you have other rules in Firewall, Splynx don't touch or change them as well. System just
adds allow rules to the beginning of Filter chain "Forward". To prevent all non authenticated customers access the network you can create a
manual DENY rule on Forward chain:
Blocking of customers with static IP address authentication
If router doesn't have option of putting disabled customers to Address list, then Splynx will remove the authentication entry from firewall:
2. Customer's IP is put to Blocking address list.
Router should have Disabled to address list = Yes. In this case blocked customer in Splynx is not removed from IP firewall, but IP address is put
to Address-list.
PPP Secrets
DHCP Leases
Hotspot users
In all types of API authentication is important to have Mikrotik API enabled on router and also in Splynx router settings.
When both things are enabled, it's useful to create a special admin account for Splynx, which will be used for API login to routers and making
changes there. You can create an admin API or with other name and assign him to special access group for API login:
Below are described all types of API authentication and how Splynx covers it with Mikrotik RouterOS:
First of all, select PPP secrets as type of authentication in Spynx router settings:
Then in internet service of customer should be selected a router where Splynx will push authentication rules and also grab statistics from. Login
and password should be specified there and also Permanent IP address. API authentication works well only with permanent IP assignments. In
case of dynamic IP assignment, Splynx will not know which IP is used by customer and will not be able to gather statistics from IP accounting of
Mikrotik router.
After saving, Splynx will connect to router and create entries in PPP Secrets:
When we save the service information, Splynx connects to the router and setup static DHCP Leases on IP DHCP Server Leases
In settings of DHCP server you can set an option, that all non authenticated customers will get IPs from fake pool and all authenticated users will
get IPs which are set in Leases by Splynx
In internet service of customer should be selected a router where Splynx will push authentication rules and also grab statistics from. Login and
password are values for hotpost entry. In case of MAC authentication you can specify a MAC address of end user:
When it saved, Splynx creates IP hostpot entries in Mikrotik router under IP Hotspot Users:
When authentication type is configured and Splynx pushed the rules to Mikrotik router, we can see clients coming online in 5 minute interval.
Splynx grabs statistics from Mikrotik routers via API every 5 minutes. The log of accounting you should be able to find in Splynx Networking
Routers under Mikrotik API log tab:
Ubiquiti: Wireless auth, Radius
Ubiquiti access points have the ability to authenticate radius via Radius server. This means the admin doesn’t have to maintain local passwords
for wireless authentication, each CPE/radio can have its own account in the Splynx ISP Framework and our Radius server will authenticate UBNT
CPEs.
Usually ISP already has a PPPoE or similar authentication mechanism which is why wireless Radius authentication is added in Splynx to existing
customers as one new (empty) service.
As a first step, we define a Plan in Splynx with 0 price and 0 in all other fields.
Then, we should add a wireless service to the customer and enter his login and password.
In the last step we should enable Wireless Radius authentication EAP on the UBNT router and setup a Radius server IP address and secret.
Now we can connect a UBNT radio CPE to a UBNT Access Point:
UBNT EdgeRouters can act as a PPPoE server with authentication of CPEs, providing statistics, blocking end users, and setting up speed limits
and FUP rules.
The first step is to upgrade the system to at least 1.5 version and higher, because support of Radius attributes was added to EdgeOS in this
version. The version we describe here is EdgeOS v1.8.5.
Upgrade can be achieved in CLI with commands:
add system image http://dl.ubnt.com/...
add system image new-version-1085.tar
As a second step we need to define the IP address for communication between Radius and EdgeRouter.
In my case it’s 10.0.1.166, set it up as the main IP of EdgeRouter with a command (in configure mode):
sudo su -
vi /opt/vyatta/share/perl5/Vyatta/PPPoEServerConfig.pm
This is an important part because we need to change plans, disconnect customers or apply FUP rules. In all these cases Splynx Radius sends
packets to Edge Router.
Default port is of UBNT is 3779. To enable incoming packet processing run these command on EdgeOS:
tail /var/log/pppoe-radius-disconnect.log
Just add a router to Splynx in Networking -> Routers and choose the NAS Type Ubiquiti:
You can add additional attributes to the configuration of NAS Type under Config -> Networking -> Radius.
By default we support radius-rate-limit attributes to setup speeds of PPPoE tunnels.
4. Connect PPPoE customer and check that everything is working fine
Now we can connect the PPPoE user to EdgeRouter and check that everything works fine.
With the „show pppoe-server“ command we can see how many users are connected to the PPPoE server:
PPPoE client tunnels are dynamically created and are not shown in the web dashboard. We need to get statistics of customer throughput, and a
simple way to do it is to install the software bwm-ng. It’s located in the Debian repository, which means we need to add new repositories first and
then install bwm-ng.
Add new repositories:
configure
set system package repository wheezy components 'main contrib non-free'
set system package repository wheezy distribution wheezy
set system package repository wheezy url http://http.us.debian.org/debian
set system package repository wheezy-security components main
set system package repository wheezy-security distribution wheezy/updates
set system package repository wheezy-security url http://security.debian.org
commit
save
exit
Then you can run bwm-ng -u bits to get the actual Kbps throughput of pppoe clients.
Example of output of bwm-ng is in picture below:
Now you can configure Splynx Radius server with UBNT EdgeRouter and benefit from a fast router that delivers 1 million packets per second
routing performance in a compact and affordable unit!
If you face any difficulties, please, use our forum – https://forum.splynx.com/ or submit us a ticket – https://splynx.com/my-tickets/
Cisco IOS: PPPoE with Radius
Cisco IOS and Cisco IOS XE have a bit different commands, but the main difference is that Cisco IOS allows pushing the rate-limit attributes and
using of rate-limit on Virtual interface, while Cisco IOS XE doesn't have option to use rate-limiting. That's why in Cisco IOS XE we should use the
policing for speed limitations. This tutorial shows Cisco IOS Radius configuration :
First of all we need to have configured a NAS type in Splynx correctly with all attributes.
Radius Incoming port is the port that Splynx will use to send Change of Authorization (COA) or Packet of Disconnect (POD) messages to the
router.
The most important are the rate-limit attributes. Rate limit attributes are used in these cases:
1. When PPPoE session is created on Cisco router and we need to setup to customer his speed from the tariff plan
2. If customer reaches the FUP limit, then Splynx changes the speed using COA packet. Packet is sent to Cisco router incoming port from
Radius server
3. You can also limit the customer's speed when he is blocked, for example to 56 kbps
The syntax of attribute in Splynx Radius server is :
rx_rate_limit - is the Download speed of the plan, it's applied on Output direction of PPPoE tunnel in Cisco router.
tx_rate_limit - is the Upload speed of the plan, it's applied on Input direction of PPPoE tunnel in Cisco router.
80000 are the burst values, that you can change. We prefer to have static burst value, for example of 100 kbps.
rate-limit {input | output} [dscp dscp-value] [access-group [rate-limit] acl-index] bps burst-normal burst-max conform-action conform-action e
xceed-action
exceed-action
The burst can be taken from Splynx as well this way, but then Bursts must be always configure in Splynx, if you left it 0, PPPoE session will not be
established :
The configuration of Cisco routers for the IOS version 15 and above :
First part is related to aaa, we are saying that we want to Authenticate, Authorize and Account our PPPoE sessions using Radius server:
aaa new-model
interface Virtual-Template1
mtu 1492
ip unnumbered Loopback0
no peer default ip address
ppp authentication pap chap ms-chap ms-chap-v2
interface Ethernet0/0
no ip address
pppoe enable group SPEED
And finally the Radius server connection details :
When the PPPoE session is established, we can display the rate limiting on PPPoE interface on Cisco using command
Virtual-Access3
Input
matches: all traffic
params: 512000 bps, 80000 limit, 80000 extended limit
conformed 23 packets, 2829 bytes; action: transmit
exceeded 0 packets, 0 bytes; action: drop
last packet: 19387ms ago, current burst: 0 bytes
last cleared 00:21:25 ago, conformed 17 bps, exceeded 0 bps
Output
matches: all traffic
params: 1024000 bps, 80000 limit, 80000 extended limit
conformed 0 packets, 0 bytes; action: transmit
exceeded 0 packets, 0 bytes; action: drop
last packet: 1947334ms ago, current burst: 0 bytes
last cleared 00:21:25 ago, conformed 0 bps, exceeded 0 bps
The customer is online in Splynx, and we can try to kill his session to verify that Radius Incoming port on Cisco router is working:
aaa new-model
interface Virtual-Template1
mtu 1492
ip unnumbered Loopback0
no peer default ip address
ppp authentication pap chap ms-chap ms-chap-v2
interface Ethernet0/0
no ip address
pppoe enable group SPEED
Cisco-AVPair = ip:sub-qos-policy-out=PLAN-DOWNLOAD
Cisco-AVPair += ip:sub-qos-policy-in=PLAN-UPLOAD
Let's go though the whole config, starting with configuring Plans and Attributes for speed limitation in Splynx Radius server.
Step 1.
Define the naming of our policy/plan attributes. The names are taken from Splynx Internet tariff Titles. We will setup the internet plan "Wifi_1_Mb".
Then the policy name in cisco will be Wifi_1_Mb-down, Wifi_1_Mb-up. Now we are going to add additional field "Policy" to tarrif plans in
Splynx :
Step 2.
Ok, we got the field policy name for each tariff plan. Check the settings of attribute in Splynx :
Step 3.
If we will use Fair User Policy, we must configure also the FUP plan names. It must be without spaces, for example Wifi_1_slow, will slowdown
user if he transfers over 100 MB per day :
Step 4.
policy-map Wifi_1_Mb-down
class class-default
police cir 1024000 bc 6000 be 6000 conform-action transmit exceed-action drop
policy-map Wifi_1_Mb-up
class class-default
police cir 512000 bc 6000 be 6000 conform-action transmit exceed-action drop
policy-map Wifi_1_slow-down
class class-default
police cir 512000 bc 6000 be 6000 conform-action transmit exceed-action drop
policy-map Wifi_1_slow-up
class class-default
police cir 256000 bc 6000 be 6000 conform-action transmit exceed-action drop
Step 5.
Connect the customer and verify that the policy was applied to his virtual interface :
1 session total
5001.0003.0001 UP
Virtual-Access1.1
with the details of traffic that was forwarded or limited by the policy
The full configuration of Cisco IOS XE router that was used in the LAB configuration :
service password-encryption
aaa new-model
action-type start-stop
group radius
!
!
server-key 7 014254570F5E50
port 3799
auth-type any
ignore session-key
ignore server-key
policy-map Wifi_1_Mb-down
class class-default
police cir 1024000 bc 6000 be 6000 conform-action transmit exceed-action drop
policy-map Wifi_1_Mb-up
class class-default
police cir 512000 bc 6000 be 6000 conform-action transmit exceed-action drop
policy-map Wifi_1_slow-down
class class-default
police cir 512000 bc 6000 be 6000 conform-action transmit exceed-action drop
policy-map Wifi_1_slow-up
class class-default
police cir 256000 bc 6000 be 6000 conform-action transmit exceed-action drop
virtual-template 1
interface Loopback0
interface GigabitEthernet1
ip address dhcp
negotiation auto
!
interface GigabitEthernet2
no ip address
negotiation auto
interface Virtual-Template1
mtu 1492
ip unnumbered Loopback0
no ip redirects
non-standard
key 7 101F5B4A514244
If incoming port is correctly configure, we can try to kill the active session from Splynx and see that it reconnects on Cisco IOS XE router.
*Aug 30 16:39:58.286: POD: 10.0.1.16 user testcap 192.168.103.10i sessid 0x0 key 0x0
Cisco_IOS_XE#sion Id Key
The advantage is that customer can pay more to extend his CAP using the tool Top Up. Administrator designs Top Up plans, that are avaliable for
customers in addition to their regular Internet plans.
1. CAP configuration
To configure CAP policies go to Tariffs Internet, and then choos selected plan and click on FUP button, there will appear a new window called
CAP.
In CAP there are 3 configuration boxes, Monthly limits(CAP), Top Up Plans and Notifications.
In the first, we can set how many data(in KB, MB, GB or TB) customer in Internet plan is able to consume. It can be dowload, upload or
bidirectional usage. When the CAPed monthly data are used, Splynx automatically blocks user or reduce his speed according to the
configured percentage level.
Also, you can disable daily or weekly limits set on FUP or enable the Rollover mode. Rollover means that the unused monthly data of the CAP will
be moved to the next month.
In the second box you can find the Top Up Plans configuration. This plans are for use when monthly data of CAP is fully used. Customer pays for
a Top Up, and then he received more data to use.
You can set the validity of Top Up data. It can be unlimited or set to several months. Also there is an option add Top Up to the customer invoice.
Very useful option is to Load plans from other tariffs. So, you can configure Top Up plans once and then just copy the settings to all your tariffs.
The third is the Notification box, which informa by email or SMS about monthly usage, Top Up data usage or Top Up actions.
Source means the counter or action that we want to notify our customer about.
Top Up usage - notify customer when certain % of his the top up is spent
Auto Top Up - send a notification when customer's account data were automatically added by Splynx.
You have to write a subject and customize the message clicking on Edit message. There you can also load a template you have created in
section Splynx Config Tempates.
To check if the email or notification are working correctly, you can view the email log clicking on Administration Logs Email.
The same verification is available for SMS messages in Splynx Administration Logs SMS
2. Top Up
A. Administrative top up
C. Auto top up
A. Administrative Top up
In first case, go to Customers List and choose the customer you want add the Top Up, then in the window information at down side on right, there
is the CAP Top Up options, click on the Top UP button. It will open a new window that is asking for a service and Top up plan. Administrators can
have rights to add custom top up - it means they can define the Data to top up and the price of singe top up.
When we create a Top UP for 1 GB we can see that 1GB of data were added to customer's account. The transaction is on the list and we can
proceed to charge for generating the invoice.
As we have enabled the option "To invoice" in the Top UP transaction, the Top up appears on invoice PDF :
In second case, customer can order a top up in the portal. The administrator configure in Splynx the permissions and options that the customers
have. This configuration is on Config Main Portal. There are two boxes with some options for customer's Top Up:
1. Yo can enable Top Up and edit auto top up settings. Auto top up permissions shows if client can enable/disable auto top up and if he can
choose from top up plans. Also there is an option to allow to customer to change the maximum amount of auto top ups per month
2. To enable manual top up from portal, select which type of document will be created when customer top's up from the portal. Pay before
means that customer will not get the top up data until he pays the invoice.
When customer enters on Portal, he clicks on Services Top Up were there are the top up options - for automatic and/or manuall top up.
In the manual top up customer should choose the plan and add a top up.
Then in Statistics customer can see the amount of traffic in the bar. Also there are displayed his actual top up data.
In case when administrator sets the option Pay Before Top Up, the data will be abaliable after customer pays for it.
So, the invoice is paid andother 1GB data is added now.
C. Auto Top up
Inside the CAP window in customer information we can enable auto top up.
Then we define the auto top up plan and maximum of top up per month.
Transfer usage to new service means that Splynx will transfer unused data between plans in case when customer changes his plan.
Contentions
Splynx provides the feature of contention or aggregation. This feature is used when ISP sells to end users services with contention rate for
example 1:5, 1:10 etc. Contention means that end user will share the bandwidth with other end users in his group.
Splynx operates with two types of contention: Per Plan based and Per Router contention.
In that case all 5 users will simultaneously download with 1 Mbps speed. It’s shown on second screenshot.
What will happen in situation when we will put 7 users on 1:5 contention plan? Splynx will change the parent speed to 7 Mbps in this particular
case, but will leave maximum speeds of each user on 5 Mbps.
If you are planning to deploy Plan-based contentions, use it on central routers to achieve high amounts of users in one tree. Compare two
situations – 1:5 contention tree with 5 users and two of them are hard downloaders, it means that 3 other users will never get 5 Mbps speed,
because they are all under one common parent of 5 Mbps.
If we place 100 users on this contention 1:5, then parent maximum speed will be set to 20 Mbps and then two or more high downloaders will not
use the whole bandwidth.
2. Router based contention.
Imagine that we have a wireless AP which is connected to backbone network with 30 Mbps speed. But we connected to that AP users with total
possible bandwidth of 60 Mbps. What can happen in peak time is that users will consume more traffic than can be sent through uplink. It means
that wireless link can become overutilized and unstable. It’s shown in the picture below.
To prevent this situation, router based contention can be used. In Splynx each router has field “Sector/Speed limits”, where can be defined groups
and administrator can put users under these groups. As a result we will achieve contention per router:
You can find on a short video tutorial how to configure Splynx and Plan based contention:
In the Splynx ISP Framework we have smart bandwidth management. You can define customer speed based on the amount of traffic consumed
per month, per week, or even per day. You can also set up maximum online time in hours per customer.
Do you want to give your users double speed at night, dounlimited traffic on the weekends, or set up a speed limit for downloaders who exceed
the daily download limit ? Do it with Splynx right now!
Let’s create an example. We have a 5 Mbps download and upload plan. I decided that there will be unlimited traffic for customers on weekends
and they will get 7 Mbps on Saturdays and Sundays. The first rule have been created below. The first rule is “Unlimited traffic on weekends”:
I’ll set up a total Monthly usage limit of 100 GB; after this limit is reached, we will give the user 1 Mbps. When the user reaches 110 GB, we will
block him and charge additional data.
As you can see in the last picture, we have created a full comprehensive policy for bandwidth management for a 5 Mbps plan. You can use our
FUP builder and create your own rules! Speed limitation is done via Radius using CoA attributes on any supporting equipment or via Mikrotik API
on RouterOS.
To set it up, Mikrotik API should be enabled on router and in Splynx router settings. To create a Simple queue rule we have to enable Shaping on
the router in settings and setup Shaping type to "Simple queue".
After saving the settings a simple queue for customer will be added to router:
If FUP rule is applied, the queue speeds will be updated via API automatically.
The Simple queue type of shaping doesn't provide the way how to put customers under one shared plan or make contention per router.
For achieving contention setup we need to change the Shaping type to Simple Queue Tree.
Then Splynx creates a tree design of queues, where tariff plan queue is always a Parent for client's queues:
If we apply per router contention, then as a first step it's needed to define the router max. speed for upload and download:
PCQ shaping
In versions of RouterOS before 6 simple queue were not optimized and that's why one of popular solutions for shaping was PCQ shaping using
address-list. To enable this type of shaping in Splynx, change the shaping type in Splynx router settings:
Please note: in PCQ shaping contentions and FUP policies don't work.
Double queues issue
If you have Radius and API queueu enabled, Splynx will create two queues - one via API and another one is created by Radius server via
attribute. This is not correct and one queue should be removed.
You can disable the API queue and leave automatic Radius queue.
Or if you want to use API queues, then under Config Networking Radius settings it's possible to remove rate-limit attributes and Radius server
will not create automatic queues when customer connects his device. Just delete the lines Mikrotik-Rate-Limit = {{ }} in Rate-limit attributes, COA
attributes and FUP attributes:
To get more information about bandwidth management options please read the tutorials - FUP bandwidth management and contentions in Splynx
.
1. Customer is connecting his device to the ISP network via PPPoE or DHCP or Hotspot
2. Router sends Access-request to Splynx Radius server
3. Splynx Radius server sends back to router Access-accept message if customer is in DB and get internet service. In that response Radius
adds attributes called "rate-limit". The rate-limit attribute sets the download and upload speed for customer.
Each vendor has own rate limit attribute format.For example, Mikrotik-Rate-Limit for Mikrotik routers, WISPr-Bandwidth-Max-Down for setting
download speed on Ubiquiti routers, Cisco-Avpair rate-limit for Cisco routers etc.
Rate limit attributes are preconfigured in Splynx. You can find them in Config Networking Radius section. Please choose the vendor from the list
and load Radius attributes settings:
The list of attributes is available in text boxes. Attributes can be changed or new attributes can be added.
When customer is connected to router, the speed limitation is created. It depends on vendor, how to limit the speed. For example, in Mikrotik
router one dynamic queue with customer's interface or IP address is added:
To find out how to customise Radius for advanced configuration, please follow to documentation page - Radus server customisation
If you have Radius and API queueu enabled, Splynx will create two queues - one via API and second is created by Radius server via attribute.
This is not correct and one queue should be removed.
You can disable the API queue and leave automatic Radius queue.
Or if you want to use API queues, then under Config Networking Radius settings it's possible to remove rate-limit attributes and Radius server
will not create automatic queues when customer connects his device. Just delete the lines Mikrotik-Rate-Limit = {{ }} in Rate-limit attributes, COA
attributes and FUP attributes:
To get more information about bandwidth management options please read the tutorials - FUP bandwidth management and contentions in Splynx
Routers settings
Splynx supports different router models from different producers. Below are configuration tutorials for vendors that are used most often:
Cisco routers
Juniper routers
Mikrotik routers
Other
Cisco routers
Splynx can manage administrative login to Cisco router and customer's PPPoE access, please find the tutorials for these topics below :
Juniper routers
Mikrotik routers
Mikrotik routers are default router type that is set up in Splynx when you create a new router.
Splynx supports communication with routers using Mikrotik API or Radius protocol.
[1]
Rules:
dhcp_leases['address'] = '{ip}';
dhcp_leases['mac-address'] = '{mac}';
dhcp_leases['comment'] = 'SpLUser_{customer_id}-{service_id}';
dhcp_leases['server'] = '{customer_additional_route}';
[1]
dhcp_leases['address'] = '{ip}';
dhcp_leases['mac-address'] = '{mac}';
dhcp_leases['comment'] = 'SpLUser_{customer_id}-{service_id}';
dhcp_leases['server'] = '{customer_additional_route}';
Standart rules
dhcp_leases
dhcp_leases['address'] = '{ip}';
dhcp_leases['mac-address'] = '{mac}';
dhcp_leases['comment'] = 'SpLUser_{customer_id}-{service_id}';
filter_rule_1
filter_rule_1["chain"] = "forward"
filter_rule_1["action"] = "accept"
filter_rule_1["src-address"] = "{ip}"
filter_rule_1["src-mac-address"] = "{mac}"
filter_rule_1["comment"] = "SpLUser_{customer_id}-{service_id}-1"
filter_rule_2
filter_rule_2["chain"] = "forward"
filter_rule_2["action"] = "accept"
filter_rule_2["dst-address"] = "{ip}"
filter_rule_2["comment"] = "SpLUser_{customer_id}-{service_id}-2"
hs_users
hs_users["name"] = "{login}"
hs_users["password"] = "{password}"
hs_users["profile"] = "default"
hs_users["address"] = "{ip}"
hs_users["mac-address"] = "{mac}"
hs_users["comment"] = "SpLUser_{customer_id}-{service_id}"
ppp_secrets
ppp_secrets["name"] = "{login}"
ppp_secrets["password"] = "{password}"
ppp_secrets["profile"] = "default"
ppp_secrets["service"] = "any"
ppp_secrets["remote-address"] = "{ip}"
ppp_secrets["routes"] = "{routes}"
ppp_secrets["comment"] = "SpLUser_{customer_id}-{service_id}"
simple_user
simple_user["name"] = "SpLSQ_{customer_id}-{service_id}"
simple_user["max-limit"] = "{out}/{in}"
simple_user["limit-at"] = "{out_at}/{in_at}"
simple_user["priority"] = "{priority}/{priority}"
simple_user["target-addresses"] = "{ip}"
simple_user["burst-limit"] = "{b_out}/{b_in}"
simple_user["burst-threshold"] = "{bt_out}/{bt_in}"
simple_user["burst-time"] = "{b_time}/{b_time}"
simple_user["queue"] = "{qs}"
simple_user["comment"] = "{login}"
simple_tree_user
simple_tree_user["name"] = "SpLSTQ_{customer_id}-{service_id}"
simple_tree_user["max-limit"] = "{out}/{in}"
simple_tree_user["limit-at"] = "{out_at}/{in_at}"
simple_tree_user["priority"] = "{priority}/{priority}"
simple_tree_user["target-addresses"] = "{ip}"
simple_tree_user["burst-limit"] = "{b_out}/{b_in}"
simple_tree_user["burst-threshold"] = "{bt_out}/{bt_in}"
simple_tree_user["burst-time"] = "{b_time}/{b_time}"
simple_tree_user["queue"] = "{qs}"
simple_tree_user["comment"] = "{login}"
The first step is to upgrade the system to at least the 1.5 version and higher because support of Radius attributes was added in this version of
EdgeOS. The version we describe here is EdgeOS v1.8.5
Upgrade can be achieved in CLI with commands:
add system image http://dl.ubnt.com/...
add system image new-version-1085.tar
As the second step, we need to define the IP address for communication between Radius and EdgeRouter.
In my case it’s 10.0.1.166, set it up as the main IP of EdgeRouter with a command (in configure mode):
Encryption on tunnels on Edge Routers is disabled by default. To enable it please login via SSH to EdgeRouter and type:
sudo su -
vi /opt/vyatta/share/perl5/Vyatta/PPPoEServerConfig.pm
This is an important part because we need to change plans, disconnect customers or apply FUP rules. In all these cases Splynx Radius sends
packets to Edge Router.
Default port is of UBNT is 3779. To enable incoming packet processing run these command on EdgeOS:
tail /var/log/pppoe-radius-disconnect.log
Just add a router to Splynx in Networking -> Routers and choose the NAS Type Ubiquiti.
You can add additional attributes to the configuration of NAS Type in Config -> Networking -> Radius.
By default we support radius-rate-limit attributes to setup speeds of PPPoE tunnels.
4. Connect PPPoE customer and check that everything is working fine
Now we can connect the PPPoE user to EdgeRouter and check that everything works fine.
With the „show pppoe-server“ command we can see how many users are connected to the pppoe server:
In Splynx we can see whether customer is online and get his stats.
When we click on disconnect button the customer should dissapear from the online list and reconnect with a new session, which means that
EdgeRouter accepted the incoming packet from Splynx Radius server.
PPPoE client tunnels are dynamically created and are not shown in the web dashboard. We need to get statistics of customer throughput and a
simple way to do it is to install the software bwm-ng. It’s located in the Debian repository which means we need to add new repositories first, and
then install bwm-ng.
Add new repositories:
configure
set system package repository wheezy components 'main contrib non-free'
set system package repository wheezy distribution wheezy
set system package repository wheezy url http://http.us.debian.org/debian
set system package repository wheezy-security components main
set system package repository wheezy-security distribution wheezy/updates
set system package repository wheezy-security url http://security.debian.org
commit
save
exit
Now you can run bwm-ng -u bits to get the actual Kbps throughput of pppoe clients.
Example of output of bwm-ng is in the picture below:
Now you can configure Splynx Radius server with UBNT EdgeRouter and benefit from a fast router that delivers 1 million packets per second
routing performance in a compact and affordable unit!
Other routers
IP address management
IP addresses are used in every corporate or ISP network. They‘re an essential component of the whole networking. There are several ways to
manage IP address assignments. Many administrators even in large companies are still using Excel sheets due to a lack of smart IP address
management tools. We recommend our engine for IP address management . This module is connected to the customer database in Splynx.
When an IP address or subnet is assigned to a customer for his access, the IPs will be assigned in the IP address management tab as well. The
main advantage of this is avoiding IP conflicts when several customers get the same IP or an IP with the wrong range. Also, you always have an
overview of the current situation with subnets.
2. We can statically define what a certain IP address is used for. When you assign an IP address to customer, it’s locked in the IP address
management tool, and if you try to assign an IP that has been already used, the system will prevent it
3. As an extra feature you can send a Mass ping to devices in the selected network, split the network into smaller subnets or merge the network
into one large one. You can switch to a graphical map view with icons to get quick information. All red icons mean that the IP address is not
responding on Mass ping.
There is also a way how to customize colors and types of devices, as well as add new types of equipment.
Screenshot shows an example of how to visualize small networks /29,/28 etc. in one common /24 network
Monitoring
Splynx monitoring is based on SNMP and Ping tools.
The following pictures show SNMP logs and RRD charts. We are using RRD as a technology for data logging and generating charts.
How to add a device to monitoring:
Open the monitoring Tab and Add a new device. Please enter the IP address and SNMP community. You can also define if you want to receive
notifications if device is down.
When device is up and running we should see the message like on picture below:
That was the simple configuration to get status of the device. We can use SNMP OIDs to get the values and measure such thing as CPU
performance, Memory usage, Voltage or speed on interfaces. Please, open the SNMP OID tab and use SNMP watch to get the interface list and
all available OIDs.
SNMP Walk is a linux tool that Splynx uses to get available SNMP OID values for configuration. Clicking the + button you will add the value for
measurement:
Now using these values, we can add the charts to Splynx. Follow to Graph tab and click the button Add graph:
For measuring of speed on interfaces is important to set values bps and set Factor to 8. This will create charts and use Bits per second. Also is
availabe to choose what type of chart will be drawn. Line, Bold line (LINE2) or Area.
To configure notification for monitoring, please open Config Networking Monitoring section:
Please follow the video tutorials to get deeper understanding of Splynx monitoring:
Ping tools :
CPU usage :
Memory usage :
Weathermaps
To install network weathermaps run commands:
apt update
apt install splynx-network-weathermap
After successful installation in Splynx Networking, Network Weathermap menu will appear.
We integrated awesome open source tool https://network-weathermap.com to Splynx, it's installed as a module and connected via API to our
platform.
To create a new map open editor tool in Splynx Config Networking Network Weathermap.
Choose the name for new MAP and create it. First map LAB was created and it's empty now.
Let's add a device. Weathermaps work with equipment which is added to Networking Monitoring. So, to get some visualisation of the network we
need to add devices to Monitoring and configure their SNMP OIDs for interface traffic, CPU and similar.
Device is added to Monitoring, now let's add SNMP OID values and configure charting in Splynx:
When all devices are properly configured in Monitoring, we can add them to Weathermap. All configuration in editor is very simple and
straightforward: use drag and drop and place the routers ona map, connect the links.
You can choose there device from Splynx monitoring list, define what will be shown as a main chart for device and assign a picture for element on
the map
When the router is added, we can add second device and configure link between our two devices. I've added a device "Internet" and will configure
the link WAN, OIDs of this link I have on my LAB_AP router.
We don't have to look for OID. Just choose the OID from link, and setup the chart you want to display as hover chart of the link and the main chart
which will show the complete usage of the link on a separate page.
It's ready, let's go back from configuration mode to the view mode and check if the new picture was generated (please note that the topology map
is generated every 5 minutes).
The legend shows that traffic loads, and here on example we can see that Download in LAB router is using almost all of 10 Mbps available.
Charts are available in hover mode, topology can also be open in a new window (shows the last hour usage on link):
If we click on the link, new window will open with historical charts, showing usage per week, month and year:
Troubleshooting Radius server
This is a post showing how to troubleshoot communication between router (Mikrotik example) and Radius.
If all these steps were made and Mikrotik router still shows Radius timeout in log, we need to do a quick troubleshooting.
Troubleshooting
First of all, check the file in Splynx logs called radius/short. It can be found in section Splynx -> Administration -> Logs -> Files. If this file is empty,
Radius server should be set to debug mode.
Splynx Radius server consist of 2 daemons – splynx_radd and freeradius. Both of them have different debugging and show different information.
Let’s start with splynx_radd debugging:
To enable debug mode of Splynx, connect via SSH to Splynx server and change the configuration file : /var/www/splynx/config/radius.p
hp
[debug] section enable should be changed to – “true”
Now we can check the debug file, again it’s accessible from CLI of Linux Splynx server:
/var/www/splynx/logs/radius/debug.log
The best way to check the file is command tail -f /var/www/splynx/logs/radius/debug.log
If splynx_radd debug doesn’t show us anything, we can try to run freeradius daemon in debug mode and see if any packets are received by
Radius server.
If you don’t see any debug messages when customer tries to connect to Mikrotik Router, it means that your router cannot send packets and
connect to Radius server at all. It means that you have to verify networking, routing and NAT settings of the network.
On Mikrotik Router there is also availability to run extended debug to see what exactly router is sending to Radius server:
Some attributes are configured by default, such as Framed-IP or Framed-Route, below is an example what happens if we define the router in
additional networks in Splynx service:
Splynx Radius server sends Framed-route attribute to the router and router creates IP route 192.168.102.16/30 with nex-hop ppp interface
We can assign the same way, for example, IPv6 prefix to PPP client using additional attribute Framed-IPv6-Prefix:
And the route is created for the IPv6 prefix to CPE of client:
Of course, this example is very simple and useless, because then Splynx will setup the same IPv6 prefix to all clients. We can tune it a bit and put
to the attribute the additional field that we have added to Splynx Internet services, called IPv6 prefix:
Then, define the IPv6 prefix in customer's services:
Then, we are adding the value of variable to attribute, variable for additional field IPv6 prefix is called service_attributes.ipv6_prefix:
It's possible even to check if the parameter exists - send it in Radius reply. If field in Splynx is empty, don't send it in Radius reply:
On Splinx:
nano /etc/ppp/pptpd-options
change
#ms-dns 10.0.0.1
#ms-dns 10.0.0.2
by
ms-dns 8.8.8.8
ms-dns 8.8.4.4
After that you have to add pptp secrets. Set the command.
nano /etc/ppp/chap-secrets
user1 * user1-password *
user2 * user2-password *
nano /etc/pptpd.conf
Add / Edit.
localip X.X.X.X
remoteip X.X.X.X-X
nano /etc/sysctl.conf
net.ipv4.ip_forward = 1
Charge changes:
sudo sysctl -p
On Mikrotik:
/interface pptp-client
Email messages
SMS messages
Tickets
News
Email messages
Messages' option in Support Messages allows you to send an email to the customer directly from Splynx using different templates and attaching
financial or other documents.
It is necessary to configure email first in Config Main Configuration Mail before sending email to the customer. More information about email
configuration is here - Email config.
To create an email click on Create in Support Messages. The window will pop-up with the following fields:
It is not necessary to fill in all fields to send an email to the customer. The easiest way is to enter customer's ID, choose option Send to, Subject a
nd write a message. You can choose a body message from templates or write a particular text. You can also write your own message and save it
as a new template by clicking on Save as new. You can attach financial documents of the customer (invoices, proforma invoices and payments
receipts).
You can check your message before sending by clicking on Preview option at the bottom of the page.
When you click on Send icon the window will appear with the confirmation details of the recipient.
If you click on Send as test the window will pop-up, where customer's ID have to be entered.
There is an option of mass sending, for example, you can choose particular recipients by Partner or Location.
If you choose the sending option as Sent to Customer portal or Customer Portal & email, customer will be able to read an email in his portal in Me
ssages section, where all incoming emails will be shown.
By clicking on View
the email will show up with attachment enclosed.
All emails have been sent will be possible to check in Support Messages History. You can sort them by their status (Any, New, Processing, Sent,
Cancelled, Removed, Sent with error) or period of time (Today, Yesterday, Last 7 days, This month, Last month, Custom Range).
By clicking on actions
you'll be able to see customers' list (in case of mass sending it will be a full list with customers' names), view email and delete it.
It is also possible to check all recipients list by their IDs and Email addresses in Administration Logs Email, where you can set a particular period,
type of email message or status.
SMS messages
To send messages via BulkSMS service (bulksms.com, bulksms.co.za), configure values:
URL:
https://bulksms.2way.co.za/eapi/submission/send_sms/2/2.0
POST:
username=&password=&message=%MESSAGE%&msisdn=%TO%&concat_text_sms_max_parts=4
It is necessary to configure SMS first in Config Main Configuration SMS before sending SMS to the customer. More information about SMS
configuration you can find on our tutorial page - SMS config.
To create an SMS click on Create in Support Messages. The window will pop-up with the following fields:
It is not necessary to fill in all fields to send SMS to the customer. The easiest way is to enter customer's ID, choose option Send to, Subject and
write a SMS message. You can choose a body message from templates or write a particular text. You can also write your own message and save
it as a new template by clicking on Save as new.
You can check your SMS message before sending by clicking on Preview option at the bottom of the page.
When you click on Send tab, the window will appear with the confirmation details of the recipient.
If you click on Send as test the window will pop-up, where customer's Phone number have to be entered.
There is an option of SMS mass sending, for example, you can choose particular recipients by Partner or Location.
All SMS and emails have been sent will be possible to check in Support Messages History. You can sort them by their status (Any, New,
Processing, Sent, Cancelled, Removed, Sent with error) or period of time (Today, yesterday, Last 7 days, This month, Last month, Custom Range
).
By clicking on actions
you'll be able to see customers' list (in case of SMS mass sending it will be a full list with customers' names), view SMS message and delete it.
It is also possible to check recipients list by their IDs and Phone numbers in Administration Logs SMS, where you can set a particular period, type
of SMS or status (New, Sending, Sent, Error, Expired).
Tickets
In Splynx billing system both administrators and customers can submit tickets.
Administrators
Option Hidden
It is possible to create a new field in the ticket. Information about adding custom fields is available here - Additional fields. Remember,
that in order to see the new field in the main table, you should enable it by clicking on icon
You can also add a message and change the status on "in process".
Once the ticket has been resolved, you can change the status on "closed" and close the ticket. Every closed ticket is shown in Support
Tickets List of closed.
Customers
In the tickets' table every ticket associated to the customer is shown. To create a ticket click on Support Tickets and click on Create
ticket.
A window will pop up and it will be possible to create a ticket by filling in following fields:
After the ticket is created, it is possible to view the ticket or close it with the actions
News
News feature will help you to provide your customer an updated information on services or some business aspects of your company.
To create News go to Support News and click on Add News on the top right of the table.
"Create news" window will show up, where you will be able to fill in Title and Description field, choose the correct date, select Partners and
location if necessary, and write a text of the news.
The editing option of the text allows you to edit or format the text, insert URL links and images.
For example, you can insert URL link to redirect customers to your company's website to get more information about particular topic. To do so you
simply need to highlight the word or phrase, which will be linked to a webpage, click on
icon in the edition field under the text and enter URL. Then submit and save it.
After news are created it will be possible to edit or delete them with
at the bottom left of the table you can print or copy the list of the news or save it in PDF or SCV format. By clicking on icon
you will choose columns to be displayed in the news table by drag &dropping them.
Customers will be able to see the news on Customers Portal on their Dashboard. By clicking on the Title of the news they will read them and by
clicking on interactive link they will be transferred to a webpage if needed.
It is important to enable option Show portal news in Config Portal Dashboard in Splynx, so customers will be able to see the news.
Administration
Administration settings are divided into 3 main sections with its subcategories: Splynx, Logs and Information. Please, follow the links below to find
tutorial page about first two parts of Administration:
1. SPLYNX
Administrators
Partners
Locations
2. LOGS
Operations
Files
Email
SMS
Sessions
API
Change statuses & plans
Pending statuses & services
Main
There are 4 subcategories in Main section (Splynx) in Administration settings.
Please, follow the links below to find tutorial page about three parts of Main configuration, such as:
Administrators
Partners
Locations
icon below the table. It is also possible to select columns to be displayed in the table by clicking on
in Actions section of the table. The edit window will pop up, where you can make changes if needed.
3. To change permissions for the new administrator, click on
icon in Actions column. The window will show up, where you will be able to check and change all administrator's permissions.
Dashboard
Tariff plans
Customers
Finance
Networking
Support
Administration
Config
By clicking on each field you will be able to change particular permissions for different subcategories of that field.
It is possible to see all operations of each Administrator by clicking on Administration Logs Operations. If you click on
icon in Details column you will be able to see details of each operation:
There is a way to limit the access to information for admins in Splynx by selecting only one partner, so administrator will be able to operate with all
information associated with one particular partner. Click on Edit icon
in Action column and window will pop-up, where it will be possible to choose one partner or option Any.
You can also change permissions for adding, editing or deleting partner (s) for the particular administrator by clicking on icon
in Actions column. In a window poped-up click on Administration section, enable or disable Partner and choose additional permissions of the
Partner you'd like to assign to the administrator.
Partners
A partner in Splynx is basically a service provider or any subprovider of the service. Partners logs' table shows a list of all Partners with number of
customers assigned to them and number of online customers. If you click on each number in the Customers' column, the full list of customers
associated with the Partner will show up.
If it is a long list of customers and you have to check them by particular status you can use a filter in the top right corner of the window.
Another way to filter or search customers who belong to the same Partner is by clicking on Partner tab in Customers Search.
When you choose preferred partner, the list of customers associated with him, will appear. The table will contain information about name of the
customer, his phone number, Internet, Voice and Custom plans, etc. The columns to display in the table can be selected and customized with the
button
in Actions column.
There are some other aspects of Partners' configuration that have to be mentioned here:
1. Not only Customers can be assigned to the particular Partner, but also Routers and Tariff plans.
In Networking Routers List you can check the full list of Routers and filter their view by a Partner. If you'd like to change or add a partner to the
particular router you have to click on it in Title column or click on Edit
in Actions column.
The window will appear, where you can make changes:
The same procedure is with Tariff Plans. When you click on Tariff plans Internet a full list of Internet Tariff Plans will appear, where you can filter
their view by a Partner. If you'd like to change or add a partner to the particular Tariff Plan you have to click on it in Title column or click on icon Ed
it
in Actions column.
The window will appear, where you can make changes:
2. There is a way to limit the access to information for admins in Splynx by selecting only one partner, so administrator will be able to operate with
all information associated with one particular partner. You can find this option in Administration Administrators. Click on icon
in Action column and window will pop-up, where it will be possible to select one partner or option Any.
You can also change permissions for adding, editing or deleting partner (s) for the particular administrator by clicking on icon
in Actions column. In a window poped-up click on Administration section enable Partner and select permissions to add, edit or edit Partner.
3. It is possible to set up a commission for the partner from each payment made by customers for their services. You can set it up in Config
Finance Template Values. In Templates Values in the top right corner choose an appropriate Partner and in Partner percent field fill in
percentage of Partner's commission.
After commission has set up, you will be able to check the amount of it paid to the partner in Finance Invoices. At the top side of the window choo
se an appropriate Partner (with Period of time and Payment Status, if necessary) and below the list of Invoices you will see the "Totals" table,
showing total amount paid and amount of commission for the partner.
Locations
Locations logs' table shows a list of all Locations with a number of customers attached to them and number of online customers. If you click on
each number in the Customers' column, the full list of customers associated with that location will show up.
If it is a long list of customers and you have to check customers by particular status you can use filter by clicking on a status below the table.
It is possible to add a new location here by clicking on Add on the top right of the table.
You can also edit Location by clicking on Edit icon
in Actions column.
Logs
There are 8 type of logs in Administration section:
Operations
Files
Email
SMS
Sessions
API
Change statuses & plans
Pending statuses & services
Operations
Operations logs' table contains detailed information about all operations were running in a Splynx for a particular period of time by all
administrators. The table displays date and time of the operation, admin's name, description of the operation, its results and details.
By clicking on
icon in Details column it will be possible to check operations details such as: Date, Time, Name of the Administrator, IP, Operation's description,
Result and Attributes.
At the top-right corner of the screen there are options of filtering operations by Period of time, Administrator or Type of the operation.
you will choose columns to be displayed in the table by drag &dropping them.
Files
The table in Administration Logs Files contains a list of log files with their possible description and size.
To view particular log file click on View icon
Email
Email logs' table show a list of emails has been sent for a some period of time. It contains information about customer's ID, email of the recipient,
type of the message and its status (new, sending, sent, error, expired), added time and sent time and details.
At the top-right corner there is a filter can be set to choose particular emails. You can select viewing emails by specific Period of time, Type of
message (for example, Message, Test mail, Ticket notification, Monitoring notification etc.) and Status (New, Sending, Sent, Error, Expired).
in Details column.
SMS
SMS logs' table shows a list of SMS messages has been sent for a some period of time. It contains information about customer's ID, phone
number of the recipient, type of the message, its status (new, sending, sent, error, expired), added time and sent time, and details.
There is a filter at the top-right corner of the screen can be set to choose particular emails. You can choose to display SMS messages by specific
Period of time, Type of message (for example, Message, Test, Add-on, Monitoring etc.) and Status (New, Sending, Sent, Error, Expired).
You can also view the SMS message details by clicking on icon
in Details column.
Sessions
Here you can find all sessions of subscribers. PPPoE, DHCP or static sessions are stored there
API
Changes of statuses/plans
Changes of statuses\plans logs table displays information about all changes of statuses (for example, from new to active, from blocked to active,
from active to blocked status etc.) for a particular period of time. Here you can also check administrator's name who changed the status or plan.
It is possible to choose to display changes of statuses&plans by particular period of time or by administrator.
You can also check the Customer's Information by clicking on his ID in Customer's column and view the Tariff plan information by clicking on it in
Plan's Column.
With the help of the icon
at the bottom left of the table you can print or copy the list of the news or save it in PDF or SCV format. By clicking on icon
you will choose columns to be displayed in the table by drag &dropping them.
Pending statuses/plans
Pending statuses\plans logs tables shows the list of statuses or plans with forthcoming changes. It could be, for example, when customer's status
is set to be changed on a particular day or new service will be activated on a specific day.
Pending statuses section displays date of change, customer's ID and status (new, activate, blocked, inactive). To view Customer's information
you can click on customer's ID.
Pending services section displays date of change, description of the service, its price, type and plan. To view Service plan information you can
click on a name of the plan in a Plan's column of the table.
To set up a pending change of status for a customer click on Calendar icon next to the Status
in Customer's Information window. Then set the date when status will be changed and choose the appropriate status and save changes.
After changes will be saved the Calendar icon next to the Status will change its colour
. And you will be able to check the pending status in Administration Logs Pending statuses\plans.
To set up a pending change of service go to Customers View Services, select a service you'd like to add, and click on icon
.
Then, choose the plan and fill up the rest of fields in open window if needed: Quantity, Unit, Price, Dates, Status, Voice device, Phone. You can
also turn on a Discount option here, so customer will be charged discounted price for the service. Set up the start date for the service. If it is any
further date you can choose a pending status for the service until that date. On a planned start date of the service it status will be automatically
changed on active.
you will see current and pending status of the service, which can be changed if needed.
After service has been added it will be possible to check it in in Administration Logs Pending statuses\plans (if starts date differs from today's
date and it has pending status).
Configuration
Global configuration settings are divided into 7 main sections with its subcategories, such as: System and Main configuration, Finance and
Network configuration, Voice processing, Integrations and Tools.
Please, follow the links below to find tutorial page about each part of Configuration:
System
Main configuration
Finance configuration
Network configuration
Voice processing
Integrations
Tools
System
In System configuration of Splynx you can add and set Additional Fields parameters, manage Custom Translations, use File manager to upload
an image file ( for e.g., for invoices template or logo) and also add Templates you'll need to work with.
Please, follow the links below to find tutorial page about each part of System Configuration:
Additional fields
Custom translations
File manager
Templates
. Select the module where you'd like to add an additional field and click on
Administrators
Partners
Location
Customers
API keys
Internet plans
Voice plans
Custom plans
Routers
Voice devices
Monitoring
IPv4 and IPv6 Networks
Services (Internet, Voice, Custom)
Invoices
Tickets
Messages
News
Customer documents etc.
First of all, you should select the Module where you will add the field (at the top-right corner of the screen) and then click on
A window will pop up and it will be possible to create an additional field. In this example a Contract ID is shown - an additional field for the
Customers module.
Required - impossible to save without filling in this field.
Unique - unique value for this field.
Show in the list - shows in the list of the selected module as a column.
Add - add to the entry of every module.
Searchable - searchable.
Set default value for - set as a default value for every field.
The new created field will be possible to see it in the Additional Field table and in Customer Information view:
You can edit or delete a new additional field by clicking on Edit icon
or Delete icon
Custom translations enable you to make your own translation of Splynx system available for you and your customers in Customer Portal. Custom
translation can be done in any language. To start translation click on Config SystemCustom translations.
Choose a language for translation.
To start a translation choose a language first and click on Add icon at the top-right corner of the screen. The window will pop up where
you will type a key word for searching in the "Message" field. This word will appear in all categories it's been used.
Choose a word from particular category to translate, write its new meaning in the "Translation" field and save it.
After saving the new translated word will appear in the "Custom translations" table.
2. Translation by categories.
To start a translation choose a language first and a category you'd like to change word in and then click on "Load messages" option at
the top-right corner of the screen.
The window will appear with warning that all existing translates in that category will be overwritten.
in Actions section of the table and write correct meaning into Translation field.
Here you can also use a Search option to find a particular word in that category. For example, if we will look for a word "Invoice" in
Administration category, the system will give us a following result:
File manager
File manager in Config System can be used mainly for adding an image file in templates and also for adding\changing a logo in Admin page or
Customer portal in Splynx.
1. How to create/ change logo in your Splynx installation.
First of all upload your Logo (image file) in Splynx admin panel in section: Config System File Manager.
Uploaded file will appear in the list of files in File manager table.
You can edit a file or delete it by clicking on icons
and
.
Then go to Config Main Preferences and insert a link to the Administration portal logo field or Customers portal logo field.
Save changes, refresh the page and new logo will appear.
2. How to add an image file to templates.
Please note, that for adding image file to internal templates you will have to copy a Link for templates and for external templates (e.g. Customer
portal template) the public link will be copied.
First of all upload your Logo (image file) in Splynx admin panel in section: Config System File Manager.
Copy a Public link by clicking on Info icon
Then, go to Config System Templates and select the template you'd like to add an image.
Click on Edit icon
Click on Support Messages to send message to the customer: choose the customer and option Sent to Customer portal or Email, load
"Customer portal example" from templates and send it.
In Customer portal customer will see the following message:
Templates
Splynx has set of templates that are used in different parts of the system. Email messages, Invoice PDFs, SMS messages, Document templates
etc.
Categories of templates
Delete
You can always delete the template:
We recommend to create one test template in customer documents and enter the following values to get list of variables for section of Splynx that
you need to use.
For example, let's create a test template and dump all variables of customer:
And then we can get the list of variables:
["id"]=> string(2) "50"
["billing_type"]=> string(7) "prepaid"
["partner_id"]=> string(1) "4"
["location_id"]=> string(1) "1"
["added_by"]=> string(5) "admin"
["added_by_id"]=> string(1) "1"
["login"]=> string(6) "000050"
["category"]=> string(6) "person"
For example, If we need to use the value login of customer inside invoice PDF, just type:
Please find the list of most used variables here - Variables for templates.
{{ dump(loader.values) }}
Customer's information:
{{ dump(loader.customer) }}
General information:
{{ dump(loader.info) }}
Customer's services:
{{ dump(loader.services) }}
{{ dump(loader.getServicesByTypeAndStatus('internet', 'active')) }}
Billing information:
{{ dump(loader.billing) }}
Partner:
{{ dump(loader.partner) }}
Transactions:
{{ dump(loader.transactions) }}
Invoices variables:
{{ dump(loader.invoices) }}
Invoice items:
Pro-formas:
{{ dump(loader.requests) }}
Payments:
{{ dump(loader.payments) }}
Attached documents:
Invoices:
{{ dump(loader.getAttachedInvoices) }}
Pro-formas:
{{ dump(loader.getAttachedRequests) }}
Payment receipts:
{{ dump(loader.getAttachedReceipts) }}
Example of usage:
Twig (engine)
In all templates we use twig engine, please find the documentation.
Variables for templates
There is list of all variables which used in templates. So you can use them in your custom templates.
{{ dump(loader.values) }}
result will be array of company fields:
object(models\common\finance\TemplateValues)#226 (30) {
["id"]=> string(2) "13"
["invoice_template_id"]=> string(1) "5"
["request_template_id"]=> string(2) "14"
["receipt_template_id"]=> string(2) "34"
["reminder_mail_template_id"]=> string(2) "15"
["reminder_sms_template_id"]=> string(2) "16"
["company_name"]=> string(33) "Private Company Internet Ltd."
["street_1"]=> string(47) "56, Adamause str."
["street_2"]=> string(0) ""
["zip"]=> string(6) "568749"
["city"]=> string(8) "Yamayka"
["country"]=> string(5) "Gonduras"
["email"]=> string(20) "office@privatecompany.com"
["phone"]=> string(14) "8 500 600 8526"
["company_id"]=> string(21) "K683621TP2398723321"
["company_vat"]=> string(0) ""
["vat_percent"]=> string(7) "20.0000"
["bank_account"]=> string(0) ""
["bank_name"]=> string(0) ""
["bank_id"]=> string(0) ""
["bank_address"]=> string(0) ""
["splynx_url"]=> string(44) "https://privatecompany/admin/login"
["partner_percent"]=> string(4) "0.00"
["deleted"]=> NULL
["_relations":"db\Record":private]=> array(0) { }
["connected_models":"db\Record":private]=> NULL
["_oldAttributes":protected]=> array(23) {
some old attributes ...
}
["_errors":"base\Model":private]=> NULL
["_additionalAttributes":protected]=> array(0) { }
["_isAdditionalAttributesLoaded":protected]=> bool(false)
}
Customer's information:
{{ dump(customer) }}
result will be array of customer fields:
array(38) {
["id"]=> string(1) "4"
["billing_type"]=> string(7) "prepaid"
["partner_id"]=> string(2) "13"
["location_id"]=> string(1) "3"
["added_by"]=> string(5) "admin"
["added_by_id"]=> string(1) "1"
["login"]=> string(11) "qwerty"
["category"]=> string(6) "person"
["password"]=> string(11) "ZaXsCdVfBg"
["name"]=> string(12) "Qwert Ytrewq"
["email"]=> string(19) "qwerty@gmail.com"
["phone"]=> string(10) "132456789"
["street_1"]=> string(57) "Long Island str., 526/4"
["zip_code"]=> string(0) "48567"
["city"]=> string(0) "Malibu"
["status"]=> string(6) "active"
["date_add"]=> string(10) "2016-05-21"
["last_online"]=> string(19) "2017-06-01 11:41:01"
["last_update"]=> string(19) "2017-05-01 14:10:50"
["internet_tariffs"]=> NULL
["voice_tariffs"]=> NULL
["custom_tariffs"]=> NULL
["services_internet_router_id"]=> NULL
["services_internet_sector_id"]=> NULL
["services_internet_login"]=> NULL
["services_internet_ipv4"]=> NULL
["services_internet_ipv4_route"]=> NULL
["services_internet_mac"]=> NULL
["services_voice_phone"]=> NULL
["services_voice_voice_device_id"]=> NULL
["services_internet_start_date"]=> NULL
["services_internet_end_date"]=> NULL
["services_voice_start_date"]=> NULL
["services_voice_end_date"]=> NULL
["services_custom_start_date"]=> NULL
["services_custom_end_date"]=> NULL
["deleted"]=> string(1) "0"
["additional_attributes"]=> array(10) {
["some_additional_field"]=> string(0) "some additional field"
}
}
General information:
{{ dump(loader.info) }}
result will be array of customer's information fields:
object(models\common\customers\CustomerInfo)#226 (12) {
["customer_id"]=> string(1) "4"
["birthday"]=> string(0) ""
["passport"]=> string(0) ""
["company_id"]=> string(0) ""
["vat_id"]=> string(0) ""
["deleted"]=> NULL
["_relations":"db\Record":private]=> array(0) { }
["connected_models":"db\Record":private]=> NULL
["_oldAttributes":protected]=> array(5) {
some old attributes ...
}
["_errors":"base\Model":private]=> NULL
["_additionalAttributes":protected]=> array(0) { }
["_isAdditionalAttributesLoaded":protected]=> bool(false)
}
{{ dump(loader.getServicesByTypeAndStatus('internet', 'active')) }}
result will be array of service fields:
array(1) {
[0]=> object(models\common\customers\ServicesInternet)#235 (47) {
["type"]=> string(8) "internet"
["router_id"]=> string(1) "0"
["login"]=> string(11) "qwerty_login"
["password"]=> string(11) "qwert_pass"
["sector_id"]=> string(1) "0"
["taking_ipv4"]=> string(1) "0"
["ipv4"]=> string(0) ""
["ipv4_pool_id"]=> string(1) "0"
["taking_ipv6"]=> string(1) "0"
["ipv6"]=> string(0) ""
["ipv6_pool_id"]=> string(1) "0"
["mac"]=> string(0) ""
["port_id"]=> string(1) "0"
["ipv4_route"]=> string(0) ""
["ipv6_route"]=> string(0) ""
["update_online_tariff":"models\common\customers\ServicesInternet":private
]=> bool(false)
["_is_password_changed":"models\common\customers\ServicesInternet":private
]=> bool(false)
["parent_id"]=> string(1) "0"
["customer_id"]=> string(1) "4"
["tariff_id"]=> string(3) "206"
["description"]=> string(9) "Internet tariff - 30Mb"
["quantity"]=> string(1) "1"
["unit"]=> string(0) ""
["unit_price"]=> string(9) "100"
["start_date"]=> string(10) "2017-01-16"
["end_date"]=> string(10) "0000-00-00"
["discount"]=> string(1) "0"
["discount_percent"]=> string(4) "0.00"
["discount_start_date"]=> string(10) "0000-00-00"
["discount_end_date"]=> string(10) "0000-00-00"
["discount_text"]=> string(0) ""
["status"]=> string(6) "active"
["status_new"]=> string(0) ""
["old_tariff_id"]=> NULL
["planned_date"]=> NULL
["validate_login"]=> bool(true)
["skip_some_validations"]=> bool(false)
["id"]=> string(4) "83"
["ips_to_remove":"db\ActiveTable":private]=> array(0) { }
["relatedItems":protected]=> array(0) { }
["deleted"]=> string(1) "0"
["_relations":"db\Record":private]=> array(0) { }
["connected_models":"db\Record":private]=> NULL
["_oldAttributes":protected]=> array(32) {
some old attributes ...
}
}
Billing information:
{{ dump(loader.billing) }}
result will be array of billing fields:
object(models\common\customers\CustomerBilling)#226 (36) {
["customer_id"]=> string(1) "4"
["enabled"]=> string(1) "1"
["type"]=> string(1) "1"
["deposit"]=> string(8) "758.0000"
["billing_date"]=> string(1) "1"
["billing_due"]=> string(2) "15"
["grace_period"]=> string(2) "10"
["make_invoices"]=> string(1) "1"
["auto_pay_invoices_from_deposit"]=> string(0) ""
["payment_method"]=> string(1) "1"
["min_balance"]=> string(6) "0.0000"
["request_auto_enable"]=> string(0) ""
["request_auto_day"]=> string(1) "1"
["request_auto_period"]=> string(1) "0"
["reminder_enable"]=> string(1) "1"
["reminder_day_1"]=> string(1) "2"
["reminder_day_2"]=> string(1) "8"
["reminder_day_3"]=> string(2) "20"
["reminder_payment"]=> string(0) ""
["reminder_payment_value"]=> string(6) "0.0000"
["reminder_payment_comment"]=> string(0) ""
["reminder_type"]=> string(1) "0"
["billing_person"]=> string(0) ""
["billing_street_1"]=> string(0) ""
["billing_zip_code"]=> string(0) ""
["billing_city"]=> string(0) ""
["request_auto_type"]=> string(1) "1"
["request_auto_next"]=> string(10) "0000-00-00"
["partner_id"]=> NULL ["deleted"]=> string(1) "0"
["_relations":"db\Record":private]=> array(0) { }
["connected_models":"db\Record":private]=> NULL
["_oldAttributes":protected]=> array(29) {
some old attributes ...
}
["_errors":"base\Model":private]=> NULL
["_additionalAttributes":protected]=> array(0) { }
["_isAdditionalAttributesLoaded":protected]=> bool(false)
}
Partner:
{{ dump(loader.partner) }}
result will be array of partner fields:
object(models\admin\administration\Partners)#226 (11) {
["id"]=> string(2) "13"
["name"]=> string(14) "Partner West"
["ips_to_remove":"db\ActiveTable":private]=> array(0) { }
["relatedItems":protected]=> array(0) { }
["deleted"]=> string(1) "0"
["_relations":"db\Record":private]=> array(0) { }
["connected_models":"db\Record":private]=> NULL
["_oldAttributes":protected]=> array(3) {
["id"]=> string(2) "13"
["name"]=> string(14) "Partner West"
["deleted"]=> string(1) "0"
}
["_errors":"base\Model":private]=> NULL
["_additionalAttributes":protected]=> array(1) {
["code"]=> string(4) "EUR"
}
["_isAdditionalAttributesLoaded":protected]=> bool(true) }
Transactions:
{{ dump(loader.transactions) }}
result will be array of transactions fields:
array(3) {
[158]=> object(models\common\finance\Transactions)#226 (32) {
["id"]=> string(4) "158"
["customer_id"]=> string(1) "4"
["type"]=> string(6) "credit"
["quantity"]=> string(1) "1"
["unit"]=> string(0) ""
["price"]=> string(9) "1033.8500"
["tax_percent"]=> string(6) "0.0000"
["total"]=> string(9) "1033.8500"
["date"]=> string(10) "2017-05-11"
["category"]=> string(1) "3"
["description"]=> string(11) "Credit Card"
["period_from"]=> string(10) "0000-00-00"
["period_to"]=> string(10) "0000-00-00"
["service_id"]=> string(1) "0"
["payment_id"]=> string(3) "366"
["invoice_id"]=> string(1) "0"
["invoiced_by_id"]=> string(1) "0"
["comment"]=> string(15) "Pay by Credit Card"
["to_invoice"]=> string(1) "0"
["service_type"]=> string(8) "internet"
["source"]=> string(6) "manual"
["balance"]=> NULL
["total_with_tax"]=> NULL
["ips_to_remove":"db\ActiveTable":private]=> array(0) { }
["relatedItems":protected]=> array(0) { }
["deleted"]=> string(1) "0"
["_relations":"db\Record":private]=> array(0) { }
["connected_models":"db\Record":private]=> NULL
["_oldAttributes":protected]=> array(22) { [
some old attributes ...
}
["_errors":"base\Model":private]=> NULL
["_additionalAttributes":protected]=> array(0) { }
["_isAdditionalAttributesLoaded":protected]=> bool(false)
}
[681]=> object(models\common\finance\Transactions)#224 (32) {
The same attributes
}
[985]=> object(models\common\finance\Transactions)#223 (32) {
The same attributes
}
Invoices variables:
{{ dump(loader.invoices) }}
result will be array of invoices variables fields:
Invoice items:
Pro-formas:
{{ dump(loader.requests) }}
result will be array of pro-forma fields:
array(1) {
[2]=> object(models\common\finance\Requests)#226 (23) {
["id"]=> string(1) "2"
["customer_id"]=> string(1) "4"
["date_created"]=> string(10) "2017-06-07"
["real_create_datetime"]=> string(19) "2017-06-07 14:56:25"
["date_updated"]=> string(10) "2017-06-07"
["date_payment"]=> string(10) "0000-00-00"
["date_till"]=> string(10) "2017-06-22"
["number"]=> string(10) "2017000002"
["total"]=> string(8) "180.0000"
["payment_id"]=> string(1) "0"
["status"]=> string(8) "not_paid"
["is_sent"]=> string(1) "0"
["note"]=> string(4) "Note"
["memo"]=> string(4) "Memo"
["ips_to_remove":"db\ActiveTable":private]=> array(0) { }
["relatedItems":protected]=> array(0) { }
["deleted"]=> string(1) "0"
["_relations":"db\Record":private]=> array(0) { }
["connected_models":"db\Record":private]=> NULL
["_oldAttributes":protected]=> array(15) {
some old attributes ...
}
["_errors":"base\Model":private]=> NULL
["_additionalAttributes":protected]=> array(0) { }
["_isAdditionalAttributesLoaded":protected]=> bool(false)
}
}
Payments:
{{ dump(loader.payments) }}
result will be array of payment fields:
array(1) {
[366]=> object(models\common\finance\Payments)#226 (28) {
["id"]=> string(3) "366"
["customer_id"]=> string(1) "4"
["invoice_id"]=> string(1) "0"
["request_id"]=> string(1) "0"
["transaction_id"]=> string(4) "2400"
["payment_type"]=> string(2) "10"
["receipt_number"]=> string(13) "2017-10-00011"
["date"]=> string(10) "2017-05-13"
["real_create_datetime"]=> string(19) "2017-05-13 09:19:02"
["amount"]=> string(9) "1033.8500"
["comment"]=> string(15) "Pay by Bank Transfer"
["is_sent"]=> string(1) "1"
["field_1"]=> string(0) ""
["field_2"]=> string(10) "UNIC00032"
["field_3"]=> string(10) "UNIC00032"
["field_4"]=> string(13) "Payment: null"
["field_5"]=> string(19) "Bank Statement: 23"
["note"]=> string(0) ""
["memo"]=> string(0) ""
["ips_to_remove":"db\ActiveTable":private]=> array(0) { }
["relatedItems":protected]=> array(0) { }
["deleted"]=> string(1) "0"
["_relations":"db\Record":private]=> array(0) { }
["connected_models":"db\Record":private]=> NULL
["_oldAttributes":protected]=> array(20) {
some old attributes ...
}
["_errors":"base\Model":private]=> NULL
["_additionalAttributes":protected]=> array(0) { }
["_isAdditionalAttributesLoaded":protected]=> bool(false)
}
}
Attached documents:
Invoices: {{ dump(loader.getAttac ...
Invoices:
{{ dump(loader.getAttachedInvoices) }}
Pro-formas:
{{ dump(loader.getAttachedRequests) }}
Payment receipts:
{{ dump(loader.getAttachedReceipts) }}
array(1) {
And now, you can see examples how to use variables in templates:
Hello!
Hello {{ customer.name}},
your deposit is {{ billing_custom.deposit }} EUR,
we strongly recommended to refill it.
{{ App.t('common', 'Hello') }} {{ customer.name }},
We would like to welcome you as a Super ISP!
Your Billing date will be {{ loader.billing.billing_date }} of every month.
To download your invoices, view payments, create support tickets, see your
usage statistics, use our customer self service portal my.splynx.com using
username {{ loader.customer.login }} and {{ loader.customer.password }} as
your password.
Our phone numbers in case you have not saved them yet,
1234567890
1234567890
office@superisp.com
Main configuration
In main part of Splynx configuration is possible to select default site (Customer or Administrator portal), logo of Customer and Administration
portal, System Language. You can configure here Localization and Finance format settings, Login and Graph parameters for customers, Email
and SMS settings, Support Tickets and Customer Portal parameters. Cards parameters and Logrotate can also be configured here.
Please, follow the links below to find tutorial page about every single part of Main configuration:
Preferences
Localization
Customers
Email config
SMS config
Support
Portal
Cards
Logrotate
Preferences
Basic settings of Administration and Customer portal can be configured in Config Main Preferences.
Following parameters can be set here:
Site by default - select site where user will be redirected (Administration or Customer portal)
Administration portal - create or change a Logo in Administration portal
Customer portal - create or change a Logo in Customer portal
Information about creating and changing a logo of Admin or Customer portal you can find here - File manager.
Localization
It is possible to configure Localization and Finance format settings in ConfigMainLokalization.
The following parameters can be set here:
Language
System language - select system language, after save it and refresh a page.
Localization settings
Number format:
Customers
Customer settings such as login settings, customers limit in search, statistics graphs settings can be configured in Config Main Customers.
The following parameters can be configured here:
Login
Can change login - with enabled option will be possible to change login during adding a new customer. With option disabled login will
be automatically generated when you'll be adding a new customer.
Characters for generation - add characters which will be used for login and password generation (e.g. capital, small letters, numbers)
Show button "Generate" - Enabled option will show button
Others
Show customers limit - enter amount of customers which will be shown in search
Statistics graphs in - choose graphs in Bytes(Bps) or Bits(bps)
Email config
To configure email sending click on ConfigMainMail.
You should set the mail parameters:
Email address
Transport
SMTP config
Sendmail config
Test
Main
For example, we will use https://www.smsapi.com as a service to send SMS. So we should register there, after that we can access the
dashboard:
And now, we have to see API documentation:
As you can see in previous screenshot, in "params" it used "password" in MD5-format. To receive that password we have to go https://www.smsa
pi.com in dashbord and set API password:
Everything is ready to configure Splynx system. All data: Gateway URL, Params and Method we take from "API documentation".
Let's start:
Field Params should be:
Params
username=insert_smsapi.com_username&password=insert_password_in_MD5_format
&from=Info&to=%TO%&message=%MESSAGE%
Field Successful response should be "OK:", as you can see on next screenshot, when we received response from smsapi-system.
Test
Support
To configure your ticketing system click on Config Main Support.
The support is divided into four areas:
1 - Tickets
View ticket in modal window - It is possible to choose to see the ticket in modal window by enabling this option.
Send emails - It is possible to send an email notification every time when the ticket is updated by turning this option on
Copy email - you can use an additional email in Copy email if you want to add a Carbon Copy.
Send notifications to admin panel (if it's online) - if option is enabled, notifications will be send to admin panel.
2 - Ticket statuses
It is possible to create new statuses by clicking on the plus above the table.
A window will pop up where you will write a Title of the new status. For every status you can define a label with a different color: Default, Primary,
Success, Warning, Danger, Info.
and
When customer has created the ticket, it is possible to auto assign the ticket to a particular administrator on default.
4 - Ticket templates
1. Main - configuration of customer's authentication, password, ways of resetting password and languages in Customer Portal.
Languages - here you can select languages for your Customer Portal
Authentication field - here you can select a way of customer's authentication such as Email or Login
Reset password - here you can enable or disable option of resetting password for Customer Portal
Type of resetting password - select the method of resetting password via SMS or Email
Template for email message - you can choose a template of email for resetting password
Text for SMS message - here you can enter the text for SMS messages.
2. Menu - configuration of main modules to be displayed in Customer portal. You can choose from Statistics, Services, Finance, Messages,
Tickets, Documents, Profile, About, News.
3. Dashboard - configuration of items to be shown on a Customer Dashboard. Here you can enable option Show Portal News and the last
three portal news will be shown on a customer dashboard.
You can select following items to be displayed on Customer Dashboard: Balance, New Tickets, New Messages, Unpaid Invoices, Unpaid
Proforma Invoices.
Below is an example of Customer account in portal with all items selected to be displayed in Side menu and Balance, New Messages, Unpaid
Invoices selected to be displayed on a Dashboard.
4. Profile - configuration of customer profile which will give customer option to view his contact information or to edit it. To be able to edit and
save changes customer can be asked for his current password. You should enable an option "Ask Password" for that.
Profile information includes:
Login
Name
Email
Phone
Street
ZIP
City
Password
For each of these items you can choose an action customer can do with it: View or Edit.
Items you've selected as just to be viewed in Customer Account will have dimmed fields and items which customer can change will be with white
fields.
5. Statistics - configuration of statistic items to be shown in Customer portal.
Show graph - enabled option will show a Bandwidth usage graph in Customer portal
Show FUP statistics - enabled option will show details of FUP statistics
Show current limits - enabled option will show current speed limits information
Show hard limits - enabled option will show hard limits information
Show sessions statistics - enabled option will show details of session statistics
6. Services - configuration of services and service fields to be displayed in Customer portal. Here you can also enable an option showing
how many days left until the end of the service.
Internet Service - Customer ID, Price, Login, Radius IPv6, Change plan, Description, Start date, IPv4, Type of Connection, Password
changed, Plan, End date, Test, Stop/Active service, Status.
Voice Service - Customer ID, Price, Phone, Status, Description, Start date, Stop/Active service, Plan, End date, Change plan.
Custom Service - ID, Price, New, Stop/active service, Description, Start date, USD/year, Change plane, Plan, End date, TEST field,
Status.
Password changed - enabled option will let customer change password for his service. Customer will be able to change password by
clicking on icon
Change plan - enabled option will let customer to apply for a plan changing via Customer portal by sending a request to technical support
. When option is enabled customer will see an icon
in Actions in Services. By clicking on that icon a window "Change plan" will appear where customer will choose an option Manual change
request.
The window "Create ticket" will appear where customer will choose Priority of the ticket (Minor, Major, Critical) and write a short message.
Customer can also upload a file by clicking on icon Upload
7. Finance - configuration of financial items to be displayed in Customer portal such as: Invoices, Payments, Proforma Invoices and
Transactions, and Payment methods available for Customer, for example, Refill cards.
8. Additional attributes in profile - configuration of additional attributes to be seen in Customer portal, for example, GPS, Contract ID, Bank
Account etc. For each of these items you can choose an action customer can do with it: View or Edit. Items you've selected just to be viewed in
Customer Account will have dimmed fields and items customer can change will be with white fields.
For example, you'd like to add a Customer's bank account as additional attribute to the Customer portal and you'd also like to give customer the
right to edit his account number. In that case, as soon as you will select options View and Edit in Bank account field in Configuration, customer will
be able to see that attribute in his Profile in Customer portal and change it.
Information about configuring Additional fields in Splynx can be found here - Additional fields.
Cards
To configure cards in Spynx click on Config Main Cards.
The following parameters can be set here:
Length
Characters
Characters for generation - enter here characters which will be used for cards generation (numbers, small/capital letters etc.).
Logrotate
To configure Log rotation click on Config Main Logrotate.
Here you'll be able to select a period of time for storing the following logs in Splynx:
Logrotate
The period of time for logs storing can be 1 month, 6 months, 1 year, 2 years, 3 years. It is also possible to choose an option "Don't delete" here.
Finance configuration
Finance module and its correct configuration is important part of Splynx billing system. Finance global configuration enables you to set automation
of financial processes in Splynx, Paring, Notification and Reminders settings, configure Template values and Payment accounts with Payment
methods. In Finance settings you can configure billing settings and define parameters for Invoices, Proforma Invoices and Receipts.
Please, follow the links below to find tutorial page about every single part of Finance configuration:
Automation
Finance settings
Pairing
Notifications
Payment methods
Transaction categories
Reminders
Template values
Automation
To eliminate financial errors and delays from manual processes in Splynx you can configure a finance automation in Config Finance Automation.
Please note, these will be global settings.
Finance automation
Enable automatic issuing - option for automatic issuing Invoices, Transactions, Proforma Invoices.
Waiting for confirmation (days) - set the date for confirmation of automatic issuing invoices. If you don't confirm issuing during set number
of days, invoices will be auto generated the next day. The options for choosing confirmation days are: 0, 3, 5, 10, 15, 20, 25 days.
Set date to finance elements - here you can set the date of transactions and invoices issuing. It can be a billing day or the real date of
issuing. For example, the billing day is on 1st day of the month and you have set 3 days as a waiting for confirmation. In that case the
invoice can be dated on a billing day regardless confirmation days or the real date of issuing: maximum on 4th day of the month (if you
won't confirm issuing and invoices will be auto generated the next day).
Dashboard notification - with this option enabled you will be notified on Dashboard about confirmation on a billing day.
Allow saving preview in future - with this option enabled preview of invoices issued for upcoming month(s) will be saved (Finance History
).
Automatic blocking
Enable process Billing Due - enabling this process will lead to blocking non-paying customers on their billing due date and when their
deposit is less then minimum deposit allowed.
Enable process Grace Period - with this option customers will be in inactive status by the end of Grace period and when their deposit is
less then minimum deposit allowed.
Send reminders
Enable process Reminder #1 - with that option enabled Reminder #1 will be sent to customer on a day set in Reminder settings.
Enable process Reminder #2 - with that option enabled Reminder #2 will be sent to customer on a day set in Reminder settings.
Enable process Reminder #3 - with that option enabled Reminder #3 will be sent to customer on a day set in Reminder settings.
Finance settings
To set global financial settings for new customers or update existing customers go to Config Finance Settings.
It is possible to set here global parameters for the following important parts of financial module:
I. Billing settings - Recurring type of billing is set by default in Splynx global configuration.
Create Invoices (after To charge) - with this option enabled Invoices will be issued automatically after charging the customer.
Auto pay Invoices from deposit - you can enable this option if customers' payments are regularly made from their deposit.
Invoice number pattern - you can set up an Invoice number pattern here.
Invoice cache - with option enabled all changes made will be visible only in new invoices, old Invoices will remain without changes.
III. Proforma Invoice settings - settings for auto generating Proforma Invoices. In our billing system Proforma Invoice can be used as a request
of payment in advance. For example, it can be created 1 month before the occuring payment, so you will see if customer is able to pay the
Proforma Invoice. When proforma invoice is created, the customer’s balance hasn't changed. The main reason for this billing approach is to
prevent the payment of VAT tax for non-paying customers. If the customer pays the amount specified in the Proforma Invoice PDF, the company
can issue a tax Invoice.
Enable Auto Proforma Invoices - with this option enabled Proforma Invoices will be issued automatically
Day of generating Auto Proforma Invoices - choose the day for automatic issuing Proforma Invoices
Type - choose for how many months in advance Proforma Invoice will be generated.
Create Proforma Invoices for - there are 2 options here: create pro forma invoice for current month and for the next month.
Proforma Invoice number pattern - create a Proforma Invoice number pattern here.
Here you will define parameters to pair Bank statement with Invoice or Proforma Invoice: Global #1 or # 2 parameters with Invoice or Proforma
Invoice parameters.
As Global parameters # 1 and # 2 for paring you can choose:
None
Customer ID
Customer login
Customer Birthday\ Firm ID
Bank Account
Canfone Account
Connected by
None
Invoice number
Invoice ID
Bank Account
Canfone Account
Connected by
Contract ID
None
Proforma Invoice number
Proforma Invoice ID
Bank Account
Canfone Account
Connected by
Contract ID
In our example we define Proforma Invoice number as its parameter for paring:
Now, after defining Paring parameters you can process bank statements. Information about it you can find in our tutorial page - Bank statement
processing.
Notifications
To set up Notifications click on Config Finance Notifications.
There are two main types of Notifications which can be configured here: Notifications of created Invoice, Proforma Invoice or Payment and Prepai
d Notifications.
When Invoice, Profoma Invoice or Payment will be created customer will receive a notification by email with its attachment.
1. Invoices Notifications
Automatically send notification after creating - enable/ disable the option of sending notifications automatically after creating the Invoice.
Subject - write the subject of notification message.
Template - choose the template for notification message.
Delay in sending - choose in how many hours notification will be sent after Invoice creation. The options are: in 1, 3, 6, 12, 24, 48, 72
hours.
Working days - select days of week when Notification will be sent. It will be sent after selected delay in hours on the first working day and
hour.
Working time - select working hours for the notification sending. Notification will be sent after selected delay in hours on the first working
day.
Automatically send notification after creating - enable/ disable the option of sending notifications automatically after creating the Proforma
Invoice.
Subject - write the subject of notification message.
Template - choose the template for notification message.
Delay in sending - choose in how many hours notification will be sent after creation of Proforma Invoice. The options are: in 1, 3, 6, 12,
24, 48, 72 hours.
Working days - select days of week when Notification will be sent. It will be sent after selected delay in hours on the first working day and
hour.
Working time - select working hours for the notification sending. Notification will be sent after selected delay in hours on the first working
day.
3. Payments Notifications
Automatically send notification after creating - enable/ disable the option of sending notifications automatically after creating the
Payment.
Subject - write the subject of notification message.
Template - choose the template for notification message.
Delay in sending - choose in how many hours notification will be sent after the Payment creation. The options are: in 1, 3, 6, 12, 24, 48,
72 hours.
Working days - select days of week when Notification will be sent. It will be sent after selected delay in hours on the first working day and
hour.
Working time - select working hours for the notification sending. Notification will be sent after selected delay in hours on the first working
day.
Attach receipt - you can enable or disable option to attach receipt.
Prepaid Notifications
Prepaid Notifications are the same as Payment Reminders. The only difference is that Prepaid Notifications are used in Prepaid Billing and Pa
yment Reminders in Recurring billing. Prepaid Notification is an email, SMS or email+SMS prompt sent to customers to notify them about their
low balance and remind them to make a payment.
The following parameters of Prepaid Notifications #1, #2 and # 3 can be configured here:
Hour of sending - choose the hour when Prepaid notification will be sent.
Send notification - enable\ disable option of sending Prepaid notification
Days before blocking - choose and write how many days will be left until blocking the customer
Send to - select the sending option of prepaid notification: Mail, SMS or Mail+SMS. Information about configuring SMS can be found in
our tutorial page - SMS config.
Subject - write the subject of Notification message.
Mail Template - choose template for the mail notification.
SMS Template - choose template for the SMS notification.
If customer has Prepaid type of billing he will also be notified about his current balance in Customer Portal Services.
Below is an example of notification for the customer in blocked status with minus deposit on his account:
This is an example of active customer's notification in Customer portal after he made a payment by cash:
Customer portal: customer can check his current deposit and how many days he can pay for services:
Payment methods
To check your Payment Methods click on Config Finance Payment Methods.
Payment methods listed here are set by default. When you install a new Payment Modul it will automatically appear here.
You can add a new Payment method manually by clicking Add icon
at the top-right corner of the screen. The window will pop-up where you will write the name of the Payment Method and enable the option " Active"
.
After adding a new Payment method it will appear in each customer Billing settings in Customers View Billing Billing overview.
and
You can also correct the name of the Transaction category or delete it by clicking on
or
If you will create any new transaction manually for the customer you can also choose its category:
Reminders
Payment Reminders are the same as Prepaid Notifications. The only difference is that Payment Reminders are used in Recurring billing and P
repaid Notifications in Prepaid Billing. Payment reminder is an email, SMS or email+SMS prompt sent to customers to make them pay for their
due or overdue invoice.
You can choose Partner before setting Reminders at the top-right corner of the screen:
The following Reminders settings can be configured here:
Template values
You can set Template values for each Partner in Configuration Finance Template Values.
At the top-right corner of the "Template values" screen you will choose a Partner:
As a reminder, you can add or edit partner in Splynx in Administration Partners.
More information about creating or editing a new partner you can find on our tutorial page - Partners.
You can define the following Template values for each Partner:
Information about configuring Templates can be found in our tutorial page - Templates.
Network configuration
In network configuration tab you can find the following categories:
Radius
Mikrotik API
CPE
FUP
Monitoring config
Radius
Select the NAS type you are going to use and click on Load. You can use one by default or create a new NAS type. Information about NA
S type creation is available here.
MikroTik API
Check if the Debug is enable or disable for MikroTik API, set number of attempts and Timeout in seconds:
Write log file for accounting - Write log file for accounting (recommended only for debug purpose).
Min bytes for accounting - Gather stats if "in + out" traffic is larger than (bytes).
Max timeout - Set timeout.
Max session time - Divide big sessions to smallest one every (hours).
RRD enable - Enable write to RRD files (for graphs).
RRD cached enable - Enable rrdcached (speed up rrd writing).
Reverse In/Out - Enable if you want to change upload by download and vice versa.
Queue type for dowload - Set queue dowload type.
Queue type for upload - Set queue upload type.
IPv4
Performance - If you need to work with big networks, divide it for smaller (for list).
Assign static IP - Enable that option to allow assigning IP from pool as static.
CPE
FUP
FUP settings are configurable in Config Networking FUP:
Customer additional field -You can select customer additional field here. If additional field is set and is integer from 1 to 28 (or -1), it will
be used for resetting instead of other values. Use -1 value to disable reset limits.
Monthly reset prepaid limits - Set the day when prepaid limits will be reseted.
Monthly reset recurring limits - Set the day when recurring limits will be reseted.
Weekly limit reset - Choose Sunday or Monday to reset limits weekly.
NAS types
To configure NAS types click on Config Networking NAS types.
You can write the name of new NAS type and enable MikroTik API.
IP Network categories
You can edit or add new Network categories by clicking on Config Networking IP Network Categories.
Click on
The window will pop-up where you can write the name of category.
IP Host categories
To configure IP Host categories click on Config Networking IP Host categories:
You can see available icons and its names on this web.
Click on one:
Monitoring config
To configure Monitoring click on Config Networking Monitoring.
There you can:
and
:
2. Add new Device types:
and
.
Choose the name for new MAP and create it. New map "map1" was created and it's empty now:
You need to have a device added. Weathermaps work with equipment which is added to Networking Monitoring. So, to get some visualisation of
the network we need to add devices to Monitoring and configure their SNMP OIDs for interface traffic, CPU etc.. Once devices are added, we can
create a node clicking on Add Node, and then click somewhere on map.
To configure node settings click on the node. There you can set position, label, which device it is, graphs and the icon.
Then we can add a link between two nodes clicking on Add Link:
Click on the link to configure it:
It's posible to add graphs of link and view them hovering the mouse on the link. To add graphs go to Networking Monitoring List and select the
device you want to add graphs:
Then, write the label name, and select router and parameter you want to visualize:
Then you can see graphs going to Networking Network Weathermap and hovering on devices or links, as it's shown in the following screenshot:
To view the legend click on Position Lengend and then click somewhere on the map. The legend will appear.
Also it's posible to edit Map Properties and Map Style, where we can change some settings:
Voice processing
Voice processing allows administrator to upload different CDR files for Voip, Mobile or landline voice services. Splynx processes the CDR files
and send calls to customer's statistics. So transaction is created from the voice statistics and one common invoice can be created for Internet,
Voice and other services. Please note that for CDR processing CDR should include the final price of each single call or SMS or data unit. It
means that you should upload already rated CDR files.
CDR Import
CDR History
Categories
CDR Import
You can import CDR from your bank to create transactions on customers. You should make the import from administrator portal. At first, you must
have voice plans or create it, an then add them to customers. To import CDR click on Config and in the box Voice click on CDR import.
File - Select the CDR.csv
Delimiter - Select if you want to delimite the data with Tabulator, Comma, Semicolon or Auto detect
First row contains names - Enable if your CDR contains row names
Voice Type - Select Data, Message or Mixed
Handler - You can use the Base handler or an other personalized for your services.
Period for transactions
You can see the loaded data with calls and their information. Select fields to correct and make sure that they correspond with data below them.
After charging the invoice is available and you can download it as PDF.
In the window statistics you can see information about the service.
CDR History
In CDR history you can see different CDR processes.
There is a list of CDR processes here. By clicking on file you will dowload it. You can also get the information on transactions and imported calls
here or delete it.
Categories
It is possible to edit Splynx Categories making them customizable.
For that, go to menu Config and in the Voice box, click on Categories.
You will see there default categories which you can edit, delete or add a new category.
You can check new category in the transactions of customers.
Integrations
Main modules
To configure Main Modules you'd like to use in Splynx go to Configuration Integrations Main Modules.
These are Main Modules of Splynx which can be enabled or disabled according your needs of system usage:
Tariffs
Internet
Voice
Custom
FUP
Customers
Vouchers
Finance
Transactions
Invoices
Proforma Invoices
Payments
History & Preview
Bank Statements
Refill cards
Networking
CPE
IPv6 Networks
Support
Tickets
For example, you will not use Proforma Invoice Module and Bank statement Module in Finance section. Disable these modules here, refresh the
page and they will automatically disappear from the Splynx Side Menu:
Install module
Modules list
Hooks
Hook is a method of augmenting or altering the behavior of a page or application with custom callbacks. These callbacks may be maintained,
modified, and managed by third-party users and developers who may not necessarily be affiliated with the originating application (Splynx). For
example, we show how to use hook and send email.
To send notification on some action from Splynx you can use hooks (Config Integrations Hooks).
And now, simple script - how to send email notification. Of course, you can use your own script that do something else.
#!/usr/bin/php
<?php
// Decode JSON
$data = json_decode($data, true);
Starting version 2.0 you can use custom named queue. To do this select hook type "Queue" and enter your queue name.
Example PHP script (based on BunnyPHP) to work with messages from custom named queue:
<?php
use Bunny\Channel;
use Bunny\Async\Client;
use Bunny\Message;
use React\EventLoop\Factory;
require '../vendor/autoload.php';
$connectOptions = [
'host' => '127.0.0.1',
'port' => 5672,
'vhost' => '/',
'user' => 'guest',
'password' => 'guest',
];
$loop = Factory::create();
(new Client($loop))->connect()->then(function (Client $client) {
return $client->channel();
})->then(function (Channel $channel) {
return $channel->queueDeclare('hooks2', false, true, false, false)->then(function () use ($channel) {
return $channel;
});
})->then(function (Channel $channel) {
echo ' [*] Waiting for messages. To exit press CTRL+C', "\n";
$channel->consume(
function (Message $message, Channel $channel, Client $client) {
echo " [x] Received ", $message->content, "\n";
},
'hooks2'
);
});
$loop->run();
Attention: you must use same parameters when declaring queue as in example because this parameters use Splynx when adding message to
RabbitMQ!
Use function json_decode to decode it and use received data for your purposes.
Tools
Import
When you are migrating to Splynx, Import of customer database is probably needed. We provide the service of Import as a part of support for paid
licenses, but you can also check how the Import is implemented in our system. Upload a csv/excel file, define columns as fields in the system and
click upload, that’s all!
How to import Customer Database is also shown in our video tutorial - https://splynx.com/165/import-and-export-customers/.
For the mass activation of customer services after the Import, please follow the guide - https://www.youtube.com/watch?v=9bQL6EyV230.
Export
In case, if we need to export our customers, let’s use other feature, called “Export”. Choose your delimiter and click on Export button, it was never
such easy before.
How to export and update Customer Database is shown in our video tutorial - https://www.youtube.com/watch?v=LbDj8zmeF-Y.
Invoices cache
Adminer
Add-ons, Modules
Below you can find description and configuration guides for the following add-ons:
Cashdesk module
Quickbooks accounting
Xero accounting
Baicells LTE
Cashdesk module
Cashdesk is a Splynx module for processing payments. Administrator can create users of cashdesk and provide them access to the module. User
is not able to change and view any customer’s data, except his name/company name, invoice numbers and actual balance. The cashdesk can be
used by accountants, who doesn’t have to get access to Splynx, but only process the incoming payments. It can be also used by resellers.
Reseller will see only his customers and is able to enter payments to Splynx when he receives money from customer.
The first step for Cashdesk activation is installation. It’s performed by two following commands in Linux CLI where Splynx is installed:
apt-get update
apt-get install splynx-cashdesk
To create a cashdesk user it’s needed to create an administrator and define him permissions to Splynx access. He can have some permissions to
access Splynx or he can get 0 permission level and access Cashdesk only:
When the Cashdesk is installed, it’s available on “http://yoursplynxurl/cashdesk”.
The first screen is a login page:
Cashdesk user has logged, he can search customers based on customer’s name, login or number of invoice.
After entering the invoice number or customer name in search field, Cashdesk displays customer information about his balance and unpaid
invoices.
When we entering a payment we can choose the invoice which will be marked as paid.
When the payment has beed added, it appears in Splynx as a new transaction and also as a payment with comment, entered in Cashdesk.
All payments of the user “Casher” can be found in History section of Cashdesk.
Google maps add-on
To install google maps addon please enter the command:
apt-get update
After installation, the new GPS will appear in each client information tab:
If address in Street field of Splynx is correct, then by clicking the View/Street button open the Google Map add-on and place the pointer to the
right place.
Click Save button, and GPS coordinates will be saved in Splynx
When module is installed, in Customer menu appears sub-menu Maps, where we can find all our customers, their login, name and status.
It's possible to open a map in new window, display customers with partner or location filter:
Quickbooks accounting
The installation of Add-on is performed with two commands:
apt update
After installation, the QuickBooks addon appears on Splynx under Finance menu:
Now we need to setup few things in CLI of Linux server where Splynx is running.
Open file /var/www/splynx/addons/quickbooks/config/params.php and set the correct URL, Sandbox = false and your country code:
Now we can add Taxes in Quickbooks, set Payment Methods and sync it with Splynx server:
Splynx add-on displays the Tax codes that we need to put again to
/var/www/splynx/addons/quickbooks/config/params.php
The same thing is with Payment types:
When this is done, we can sync our customers from Splynx to Quickbooks or match existing clients in databases:
We can check if all clients were pushed to QuickBooks:
To sync Invoices and Payment on the fly we need to enable WebHooks inside Splynx settings, please open menu Config Hooks:
Now we are ready to issue Invoices in Splynx and process Payments. This information will be sent to QB online immediately. All changes are also
synced immediately between two systems.
We can open the Invoice in Splynx and see that it has a QB ID that identifies it in QuickBooks software:
After processing payment in Splynx, information is also moved to Quickbooks. Let's pay 2 invoices in Splynx:
Xero accounting
Splynx is able to sync Customers, Invoices and Payments with Xero accounting software - https://www.xero.com
apt-get update
apt-get install splynx-xero-addon
Then, first step is to create account in Xero (if you don't have one already):
When account is created, we need to activate Xero API, which is located at https://app.xero.com/Application/
Splynx is used as a Private application and we need to take a public key from Splynx and copy it to X509 Public key field to Xero Application
settings.
Xero creates Consumer Key and Consumer Secret, which we copy and paste into Splynx file path
/var/www/splynx/addons/splynx-xero-addon/config/params.php:
After these steps, Xero module should appear in Finance tab of Splynx and it should show us Xero module interface, where we can start syncing
plans, customers and taxes:
Synchronizing of Taxes and Tariff plans
Sales Tax or VAT depends on a country and it is different. In Splynx each plan has a tax field called VAT. Tax value in Splynx should correspond
with Sales Tax in Xero. For example, if we have a Sales Tax 0%, we can leave Xero default settings, in case when Tax is different, we should
change it or add more taxes in Xero. Taxes in Xero are located in Settings Tax rates:
When Tariff plans are defined in Splynx, it creates services in Xero accordingly. Important is to define correct Sales Account number in Splynx
plans. Xero has the list of all accounts according to the country where software is used. For example, Sales account for all sales in our example is
400, so it's needed to enter to Splynx plans value 400 in Sales Account field:
Let's match all plans (internet, voice and custom) to Sales account 400:
When taxes are ready, next step is to synchronize all Splynx plans with Xero services. Example of Internet plans sync is below:
Voice plans sync:
As soon as we synchronize all plans, Xero ID should appear in Tariff Plan settings in Splynx:
Pushing customers from Splynx to Xero and vice versa.
After clicking Sync button Splynx customer accounts will be created in Xero:
Xero view:
Also, there is a way how to push existing customers from Xero to Splynx, or match entries in Xero with existing accounts in Splynx:
Invoice and Payment synchronization with Xero
Splynx generates invoices for all customers with enabled billing engine accordingly to their Billing day. If billing day is set as 1, invoice to customer
will be created on 1st day of the month. If, for example, Billing day is 15, Splynx will generate invoice on 15th day of the month for the period:
15th - 14th of the next month. Splynx is able to charge customers in advance or charge for services already provided. All invoices are sent from
Splynx to Xero during 1 hour of creation. Here are invoices generated in Splynx:
When payment arrives to Splynx, we also send it to Xero and mark Xero invoices as paid:
Xero view of paid invoices:
To sync Invoices and Payment on the fly we need to enable WebHooks inside Splynx settings, please open menu Config Hooks:
Video:
Para poder trabajar con Ofipro deberemos añadir un nuevo campo "id_ofipro". Para ello, vamos a Configuración Campos adicionales y lo
añadimos. Dado que es un campo necesario para poder hacer las exportaciones, podemos establecerlo como requerido. También es necesario
que los clientes tengan un DNI real.
Una vez creado este campo, podemos pasar a las exportaciones. Vamos a Finanzas Facturas y seleccionamos el periodo de las facturas que
queremos exportar y tras esto pulsamos en exportar.
Seleccionamos tipo de exportación ID Externo y como ID externo splynx-ofipro y pulsamos en exportar.
Si todos los datos están correctos, se completará la exportación y nos dará en el historial el mensaje Listo.. entonces lo descargamos para pasar
a la importación en ofipro.
Una vez descargardo, extraemos los ficheros en una carpeta.
Y ahora pasamos a abrir Ofipro. En primer lugar deberemos añadir si no esta previamente añadida una serie que corresponda con la de las
facturas de splynx, en nuestro caso la seria I.
Tras esto pasamos a la importación pulsando en utilidades, importar datos en formato XML, seleccionamos la carpeta y pulsamos en importar.
Si todo se ha importado correctamente aparecerá una imagen como la siguiente. Si no saldrán los diferentes errores que deberemos corregir.
Una vez importado, no solo se importan las facturas sino que la primera vez también se importan los clientes y los artículos(tarifas).
FCC 477 export
"FCC 477 export" is a Splynx module which is used to generate reports for Federal Communications Commission (USA) - https://www.fcc.gov/.
apt-get update
If everything is correct, you will see the result and export buttons as on the screenshot below:
Baicells LTE
Baicells LTE is a Splynx add-on which is supporting Baicells equipments. Using this software you can:
add Baicells-system;
create and manage SIM-cards, which use Baicells-system;
assign SIM-cards via customer's internet services.
Attention! This add-on is prepaid, so if you haven't bought it and install, you will only see a message as on the screenshot:
To install "Baicells LTE" add-on please enter the command:
apt-get update
After installation in menu Networking you will see new icons: LTE systems and LTE Configs. First of all, you should create a new LTE system:
After you've created LTE system, you can create SIM-cards for that system. In order to do this you should go to Networking LTE Config and
create cards (manually or using import):
And now you can create Internet service for customers. Open Customer Services and create new Internet service:
When customer uses LTE IMSI, you can check IMSI list in special bookmark:
Troubleshooting! If something is wrong with add-on, please, check WebHooks inside Splynx settings menu: Config Hooks, it should be enabled:
Signaturit
Signaturit is a Splynx add-on which allows you to complete any signing processes in business with legally binding eSignature.
4. To be able to send document to the customer you should generate templates from SignaturIt (1) or Splynx (3) or upload them (2) from
computer:
4.1. To generate document from SignaturIt-template you have to prepare its template in SignaturIt-templates:
And add at least one field in Config SignaturIt Config Template:
Your signature:
4.3. To generate document from Splynx-template you should prepare its template in Splynx-> Config->Templates:
Example of the generated document from Splynx-template:
Then click on icon "Send to signature", write Subject, and click “Send”
Signature:
5. At the end you can download the signed document:
Social and Self Registration
“Social Registration” is a Splynx add-on which allows your customers to register and manage the account on the Splynx-portal.
1.1. Login to the Splynx-portal via social networks appears on the portal page:
1.2. To configure “Social Registration” you must enable or disable social-networks
in /var/www/splynx/addons/splynx-social-registration/config/params.php (enter “true” for enable, or “false” for disable):
and check button “Enable” entry-point in Splynx-admin — Config — Modules list — splynx_addon_social_registration (Edit):
Default, area button’s social-networks is enabled.
2.2. Before you can integrate Google Sign-In into your Splynx-site, you must have a Google API Console project. In the project, you create a
client ID, which you need to call the sign-in API.
To create a Google API Console project and client ID, follow these steps:
2.2.2. From the project drop-down, select an existing project, or create a new one by selecting Create a new project.
2.2.3. In the sidebar under "APIs & Services", select Credentials, then select the OAuth consent screen tab.
2.2.3.1. Choose an Email Address, specify a Product Name, and press Save.
2.2.4. In the Credentials tab, select the Create credentials drop-down list, and choose OAuth client ID.
2.2.5. Under Application type, select Web application.
Register the origins from which your app is allowed to access the Google APIs, as follows. An origin is a unique combination of protocol,
hostname, and port.
In the Authorized JavaScript origins field, enter the origin for your app. You can enter multiple origins to allow for your app to run on different
protocols, domains, or subdomains. You cannot use wildcards. In the example below, the second URL could be a production URL.
https://splynx.domainname.com
The Authorized redirect URI field does not require a value. Redirect URIs are not used with JavaScript APIs.
http://splynx.youdomain.com/register/site/auth?authclient=google
http://splynx.youdomain.com/register/login/auth?authclient=google
https://splynx.youdomain.com/register/site/auth?authclient=google
https://splynx.youdomain.com/register/login/auth?authclient=google
2.2.6. From the resulting OAuth client dialog box, copy the Client ID . The Client ID lets your app access enabled Google APIs.
2.3. For integrate Facebook Login into your Splynx-site, you must have a Facebook API
2.3.4. In section Facebook Login — Settings, must enter “Valid Oauth redirect URIs”:
http://splynx.youdomain.com/register/site/auth?authclient=facebook
http://splynx.youdomain.com/register/login/auth?authclient=facebook
https://splynx.youdomain.com/register/site/auth?authclient=facebook
https://splynx.youdomain.com/register/login/auth?authclient=facebook
2.3.5. And from App Settings — Basic copying “App ID” and “App Secret” for paste in params.php
(/var/www/splynx/addons/splynx-social-registration/config/params.php).
2.4.2. Enter application Name, Description, Website, Callback URL (http://splynx.youdomain.com/register/login/auth?authclient=twitter), and click
button “Create your Twitter application”:
2.4.3. From tab “Keys and Access Tokens” copying “Consumer Key (API Key)” and “Consumer Secret (API Secret)” to paste in config-file
/var/www/splynx/addons/splynx-social-registration/config/params.php:
3. Login customer to Splynx-portal
If people aren't logged into Facebook, they'll first be prompted to log in and then move on to logging in to Splynx-portal:
If people aren't logged into Twitter, they'll first be prompted to log in and then move on to logging in to Splynx-portal:
4. Information about social-network is stored in Customer / Information / Additional information in the field “Social ID”:
5. Additionally, we made it possible for our customers to self-register:
5.1. To enable “Registration” (self-registration customers) you must “enable” form
in /var/www/splynx/addons/splynx-social-registration/config/params.php (enter “true” for enable, or “false” for disable):
5.2. For visible button “Registration” you must enable entry-point in Splynx-admin — Config — Modules list — splynx_addon_social_registration
(Edit):
Default, button self-registration is disabled.
Payment systems
Splynx software can be connected to different Payment Gateways. Subscribers then are able to pay their invoices using Credit cards or their
Payment system accounts.
Below is a list of supported and integrated Payment Gateways. By clicking on Payment Gateway link, you will be redirected to documentation
page describing how to install and use Gateway with Splynx.
Authorize.net
Bitpay, bitcoin payments
Braintree payments
Gocardless.com
Paypal payments
Payfast.co.za payments
Stripe
IPpay
Pesapal
Paystack
Authorize.net
Authorize.net is a Splynx add-on. It uses to synchronize customers, invoices and payments with Authorize.net payment gateway - https://www.aut
horize.net.
apt-get update
apt-get install splynx-authorizenet
After installation you have to configure params.php in /var/www/splynx/addons/splynx-authorizenet/config - folder. Look at the
screenshot:
How to find "API Login ID" and "Transaction Key" is described on support page - https://support.authorize.net/authkb/index?page=content&id=A5
76&actp=search&viewlocale=en_US&searchid=1495101520432
After that, customers can pay their invoices and refill balances using Authorize.net system. They will see a new button To Pay as on the
screenshot:
To refill balance customers can use the link - “http://yoursplynxurl/authorizenet”, where they have to enter registration details for the first time:
On portal main page, customers can also see the list of non-paid invoices and "Pay" button near each invoice:
Braintree payments
Braintree is a Splynx add-on. It allows to charge customer's credit cards via Braintree payment gateway - https://www.braintreepayments.com.
Add-on can work with different credit cards, if cards are saved, then addon allows to charge all customers using Direct debit order.
apt-get update
apt-get install splynx-braintree-rb
After installation you have to configure params.php in /var/www/splynx/addons/splynx-braintree-rb/config - folder. Look at the
screenshot:
Where:
To refill balance customers can use the link - “http://yoursplynxurl/braintree-rb”, and also they can set to remember pay-card:
At last, you can charge all customers using one button! Go to Finance Invoices, set period and click "Charge" as on the screenshot:
Gocardless.com
Gocardless.com is a Splynx add-on. It uses to synchronize customers, invoices and payments with Gocardless.com payment software - https://go
cardless.com/. Customers using Gogardless.com can pay your invoices through banks or you can charge your customers bank accounts by debit
orders.
apt-get update
apt-get install splynx-gocardless-rb
We changed configuration method at this Add-on. Now it will be using GUI. After installation GoCardless add-on, you will see a message:
So, now, open a new tab in browser and paste URL - 'YourSplynxUrl/gocardless/welcome':
Please, check your Splynx URL and click button 'Link Splynx with GoCardless'. You will be redirect to registration page GoCardless:
And now, enter your registration data in registration form and click 'Connect' button. If everything is correct, you will be redirected to finish-page:
After that customers have to enter registration details in current fields in new Tab - "Gocardless" Main menu "Finance" as on the screenshot:
Besides, you can charge all customers, using one button! Go to Finance Invoices, set the period and click "Charge" as at screenshot:
Next one option, you can sync all customer, just follow steps below:
You will receive customers list in csv-file. After that you should open dashboard on https://gocardless.com/ and upload csv-file, as on next
screenshots:
Now, all customers from list receive mails and will have to authorise:
Paypal payments
You can receive payments via PayPal using Splynx. Splynx generates invoices for services that are sent to customer’s email and to Splynx portal.
From Splynx portal customer can pay the invoice using Paypal.
When customer clicks the PayPal button and applies to pay now, he is transferred to the PayPal page to make the payment.
Customers can also add a credit card on PayPal payment webpage, if they don’t have a PayPal account.
After payment has made, the invoice is marked as paid, transaction in Splynx is created and customer’s balance is changed.
apt-get update
ClientID and ClientSecret are the values Splynx needs. Click on Add new Rest API application, call it Splynx.
Then, you can find ClientID and Secret on the page of application. Important is to choose “Live” version, because it shows values for test Sandbox
account by default.
When you got the ClientID and Secret, you can put it to Splynx server and connect Splynx with PayPal.
apt update
After installation you have to configure params.php in /var/www/splynx/addons/splynt-paypal-rb/config - folder. Look at the
screenshot:
And now the customer can add his payment card to the portal page:
To do so he should login to his PayPal account and click on [ Agree & Confirm ].
That is all. Client's configuration is completed.
At last, you can charge all customers using one button! Go to Finance Invoices, set period and click "Charge" as on the screenshot:
Payfast.co.za payments
Payfast is a Splynx add-on. It uses to synchronize customers, invoices and payments with Payfast accounting software - https://www.payfast.co.z
a.
We developed two different add-ons for using this payment system: splynx-payfast and splynx-payfast-rb. First add-on - splynx-payfast
is using for payments which proceed only in PayFast system. Second add-on can work with different credit-cards using PayFast.
WARNING! PayFast makes use of ports 80, 8080, 8081 and 443 only. So Splynx_url have to be on the same ports!
splynx-payfast
apt-get update
apt-get install splynx-payfast
After installation you have to configure params.php in /var/www/splynx/addons/splynx-payfast/config - folder. Look at the
screenshot:
Merchant details
NAME DESCRIPTION
merchant_id The Merchant ID as given by the PayFast system. Used to uniquely identify the receiving account. This can be found on the
merchant’s settings page.
merchant_key The Merchant Key as given by the PayFast system. Used to uniquely identify the receiving account. This provides an extra
level of certainty concerning the correct account as both the ID and the Key must be correct in order for the transaction to
proceed. This can be found on the merchant’s settings page.
After that, customers can pay their invoices and refill balances using PayFast system. They will see a new button to pay as on the screenshot:
And they can also refill balance using link - “http://yoursplynxurl/payfast”.
splynx-payfast-rb
And now it is time of splynx-payfast-rb. To install splynx-payfast-rb add-on, use next commands:
apt-get update
apt-get install splynx-payfast-rb
1. SEPA Installation
apt-get update
<?php
return array(
'iban_field' => 'bank_account',
'id_prefix' => '',// bank contact ID prefix : ES12500 example (before company VAT ID)
'mandate_date' => '2009-10-31',
'customers_country' => 'ES',
'add_addresses' => false,
'description' => 'Invoice #',
'bic' => '' // please set your BIC
);
'iban_field' => 'bank_account'. This is the additional field in customer, that stores IBAN number.
In example below we create the field and add IBAN of the customer there, then we insert field's name in 'iban_field' configuration:
Also, we add the Swift code of our bank and Contract ID that is provided by our Bank to configuration:
2. SEPA - generate the XML for bank
When SEPA add-on is installed and configured and all customers have the IBAN numbers set, we can issue Invoices and send them to Sepa
export XML file.
Choose the Period of Invoices, Unpaid Invoices and you can also select Type of Payment (Bank transfer in this case).
By clicking on icon Download we can get an error description file and open it in Notepad:
In our example it says one of our customers has empty IBAN in his information tab. After fixing it and re-submitting the export we will find the
correct status in Export history:
SEPA XML file is ready for downloading and sending to Bank for further processing and charging subscribers:
The line <ReqdColltnDt>2017-06-01</ReqdColltnDt> says when Bank should charge the customer. By default we put there the date of XML
generation. It can be changed in XML file before sending.
When Bank confirms that file is correct and charges subscribers, we can import XML file back to Splynx in section Finance Bank Statements
Process.
It will mark all invoices as paid and will create payments and payment transactions.
Sometimes customer doesn't have funds on his bank account. In that case Bank sends you XML file back with returns. It will contain data about
customers Bank was not able to charge. You can import this file to Splynx as well, and then paid invoices of non-payers will become unpaid
again. So you can charge them next month and include the fee for failed charge.
.1 Instalación de SEPA
apt-get update
<?php
return array(
'iban_field' => 'bank_account',
'id_prefix' => '',// bank contact ID prefix : ES12500 example (before company VAT ID)
'mandate_date' => '2009-10-31',
'customers_country' => 'ES',
'add_addresses' => false,
'description' => 'Invoice #',
'bic' => '' // please set your BIC
);
'iban_field' => 'bank_account'. Este es el campo adicional en el cliente, que almacena el número IBAN.
En el ejemplo siguiente creamos el campo y agregamos el IBAN del cliente, luego ponemos el nombre del campo a la configuración 'iban_field':
Además, añadimos el código Swift de nuestro banco a la configuración y el ID de Contrato que nos proporciona nuestro Banco:
2. SEPA - Generar el XML para el banco
Cuando el complemento SEPA está instalado y configurado y todos los clientes tienen los números IBAN establecidos, podemos emitir las
facturas y enviarlas al archivo XML de exportación Sepa.
Elija el Periodo de Facturas, Facturas no pagadas y también puede seleccionar Tipo de Pago (Transferencia bancaria en este caso).
Al hacer clic en el icono Descargar, podemos obtener un archivo de descripción del error y abrirlo en el Bloc de notas:
En nuestro ejemplo, dice que uno de nuestros clientes tiene vacío el IBAN en su ficha de información. Después de completarlo y volver a enviar
la exportación, encontraremos el estado correcto en el historial de exportación:
El archivo SEPA XML está listo para ser descargado y enviado al Banco para el procesamiento y cobro de abonados:
La línea <ReqdColltnDt>2017-06-01</ReqdColltnDt> indica cuándo el Banco debe cobrar al cliente. Por defecto ponemos allí la fecha de
generación XML. Se puede cambiar dentro del archivo XML antes de enviarlo.
Cuando el banco confirme que el archivo es correcto y cobre a los abonados, podemos importar el archivo XML de nuevo a Splynx en la sección
Finanzas Declaraciones bancarias Proceso.
Marcará todas las facturas como pagadas y creará pagos y transacciones de pago.
A veces el cliente no tiene fondos en su cuenta bancaria. En este caso, el banco devuelve el archivo XML con devoluciones. Tendrá datos sobre
los clientes a los que el banco no pudo cobrar. Usted también puede importar este archivo a Splynx, y entonces las facturas pagadas de los
impagos serán pagadas otra vez, usted puede cargarlas el próximo mes e incluir la tarifa para la carga fallada.
Video tutorial :
Bitpay bitcoin payments
Bitpay is a Splynx add-on. It allows to refill balance and pay invoices via Bitpay payment gateway - https://bitpay.com.
apt-get update
apt-get install splynx-bitpay
After installation you have to configure params.php in /var/www/splynx/addons/splynx-bitpay/config - folder. Look at the
screenshot:
To receive "Pairing Code", please open your Bitpay dashboard Payment Tools, choose Manage API Tokens and create New Token, like on the
screenshot:
Important!!! Then you have to reconfigure add-on:
dpkg-reconfigure splynx-bitpay
After that customers can pay their invoices and refill balances using Bitpay system. They will see a new button "Pay" on Dashboard:
and new icon in Invoices as on a screenshot:
Then you will be redirected to Bitpay-page:
If your payment was successful, the status of invoice will be "Paid".
To refill balance customers can use the link - “http://yoursplynxurl/bitpay” where they have to enter Amount of payment and click "Pay":
apt-get update
apt-get install splynx-stripe
After installation you have to configure params.php in /var/www/splynx/addons/splynx-stripe/config - folder. Look at the
screenshot:
apt-get update
apt-get install splynx-ippay
After installation you have to configure params.php in /var/www/splynx/addons/splynx-ippay/config - folder. Look at the screenshot:
On a portal dashboard customers can also see the list of non-paid invoices and "Pay" button near each invoice:
To refill balance customers can use the link - “http://yoursplynxurl/ippay”, where they have to enter Amount of payment and click "Add":
Besides that, you can charge all customers using one button! Go to Finance Invoices, set the period and click "Charge" as on a screenshot:
Pesapal
Pesapal is a Splynx add-on. It's used to synchronize customers, invoices and payments with Pesapal Payment Gateway - https://www.pesapal.co
m/.
apt-get update
apt-get install splynx-pesapal
After installation you have to configure params.php in /var/www/splynx/addons/splynx-pesapal/config - folder. Look at the
screenshot:
Consumer Secret and Consumer Key can be taken from Pesapal dashboard:
Now customers can pay their invoices using Pesapal system in Finance / Invoices:
If everything went well, you will see status of invoice as "Paid" (Portal and Admin).
To refill balance customers can use the link - “http://yoursplynxurl/pesapal”, where they have to enter registration details for the first time:
On Portal main page customers can also see the list of non-paid invoices and "Pay" button near each invoice:
Paystack
Paystack is a Splynx add-on. It's used to synchronize customers, invoices and payments with Paystack payment gateway - https://paystack.com/.
apt-get update
apt-get install splynx-paystack
After installation you have to configure params.php in /var/www/splynx/addons/splynx-paystack/config - folder. Look at the
screenshot:
Public and secret keys can be taken from Paystack dashboard:
Now customers can pay their invoices using Paystack system in Finance / Invoices:
If everything went well, you will see status of invoice as "Paid" (portal and admin):
Besides that, you can charge all customers, using one button! Go to Finance Invoices, set the period and click "Charge" as on a screenshot:
Wepay (recurring billing) payments
Install the add-on with commands:
apt update
apt install splynx-wepay-rb
The customer then simply registers (once) his credit card in portal and pays the invoices:
At last, you can charge all customers using one button! Go to Finance Invoices, set period and click "Charge" as on the screenshot:
SagePay Pay now