Skip to main content
Version: Next

Resellers

warning

Please do not remove Reseller entities completely from the system. It may cause distortions and overall mismatches in stored statistics. Instead, set their status to "deleted".

Section overview​

Reseller in JeraSoft Billing is a company that has a certain number of Clients and governs their activities in the system. Like any company, it can have a range of users, each responsible for a certain group of company Clients. The Resellers section is designed to cover two main purposes – partitioning and multi-level billing management. You can track and manage their company information and activity or build a hierarchy of company affiliates. The section is presented in the form of a table with the following columns:

resellers list

Column nameDescription
IDReseller's identification number
NameName of a reseller
Available BalanceReseller's available balance (live balance + credit)
UsersUsers associated with this company
ClientsThe total amount of a respective reseller's clients

The following functional buttons and icons are present in the section:

Button/IconDescription
new companyAllows creating a new reseller
rate table addAllows assigning a rate table to a respective reseller
audit logAllows viewing history of changes for a respective reseller in the Audit log section
balance operationsAllows viewing reseller's balance operations in the Transactions section
users listAllows viewing a list of reseller's users
clients listAllows viewing a list of reseller's clients in the Clients section

In the top right corner of the section above the table, an Advanced Search drop-down menu is located. By clicking on a blue downward arrow icon, a drop-down menu with the following structure is displayed:

dropdown menu

Mode: Select a mode for the resellers' display:

  • Normal Mode - only resellers with Active status will be displayed
  • Archive Mode - all resellers regardless of the status will be displayed

To apply the specified search criteria, click the "Search" button; to cancel the applied parameters, click "Reset".

Adding a new Reseller​

To add a company, you need to:

  • click the New Company button;
  • fill in all the required fields in the appeared pop-up window (see below) and click OK.

Adding a new company

System information​

General information about a company

  • Name: Specify the name of one of your companies (or affiliates). This field is mandatory.
  • Status: Define the status of a reseller:
    • "Active"
    • "Deleted"
  • Parent: Indicate a parent for a reseller or make it a root one. By default, the field value is set to root
  • Gateways: Select gateway(s) for this reseller

Capacity control​

Capacity Control sums up bidirectional capacity for all the Clients under this Reseller.

  • ORIG Capacity: Indicate origination capacity for all clients, belonging to this reseller. Leave this field empty for unlimited capacity
  • TERM Capacity: Termination capacity for all clients, belonging to this reseller. Leave this field empty for unlimited capacity

Multi-level billing​

The Multi-Level Billing section allows for billing parameters management to cover actual reselling/agent schemes. If the configured Reseller should be part of a multi-level billing scenario, you can set Rates and needed Taxes for them here.

  • Legal Entity: Select a Legal Entity associated with the company.

  • Currency: Select a preferred Currency for Rates and Invoices from the drop-down list of all available ones (see the Currencies section).

    warning

    To keep correct accounting data, it is not allowed to switch the Currency of the & once the accounting Transactions are created in the system.

    tip

    Once you create a Client and the system tracks any Transactions with them, you cannot change the Currency in their settings anymore. However, if you have to change the Currency for the Client and would like to have new Transactions in that Currency, here’s what you can do:

    1. Archive the existing Client entity, all previous Transactions with them stay intact.

    2. Add the Client as new and assign the Currency in which you would like to receive payments from them.

    From this point on, the new Transactions of the Client will be in this new currency.

  • Credit limit: The additional field next to the Unlimited checkbox. User can indicate an amount of reseller's credit

  • Unlimited checkbox: Here you can set a specific payment mode for a Client. Unlimited mode means that a client will have unlimited credit. Otherwise, the client's Balance + Credit value will be checked on RADIUS or SIP authorization. When this field is checked, the Credit limit field becomes unavailable.

  • ORIG Rate Tables: Specify Rates for outgoing events from customers under a current Reseller. Enables resellers billing mode

  • TERM Rate Tables: Specify Rates for incoming events from customers under a current Reseller. Enables resellers billing mode

  • Tax Profile: Indicate a tax profile that will be used for this reseller and reflected in invoices (refers to the Taxes Profiles section). SureTax, Avalara and Compliance are tax calculation services, which allow managing your compliance with tax law. These profiles are used for further calculation in invoices. To get more details, check out the US Taxation article.

    warning

    For proper usage of SureTax and Compliance, Invoice Number should contain only Latin and numeric characters. Max length is 40 symbols. Dst and Src Numbers should be in the NPANXXNNNN (10 digits) format.

  • Invoices Template: Select an invoice template that will be assigned to a reseller

Contact information​

  • Email: Company's email (it is required to specify an email to receive notifications). Use only Latin characters. This field is mandatory
  • Postal Address: Company's postal address
  • Bank Account: Company's bank account info
  • Tax ID: An ID of the tax-paying entity
  • Reg ID: Company's registration ID

Mail Templates​

A detailed description of all Mail Templates and their configuration is presented at the end of this article.

tip

You can use multiple emails per field if necessary. Just separate them with a comma or semicolon.

warning
  • Changes in Resellers' settings will not be applied instantly. They will be automatically reloaded at the next run of the Cache Manager service.
  • Parent Reseller has access to all information of its Sub-Resellers, and also can assign any routing plan and Rate Table to its Sub-Resellers.

Reseller removal​

To delete a Reseller from the system, you need to change the status from "Active" to "Deleted" in the Reseller's profile editing form.

Please note that a Reseller will not be deleted fully; it will be archived. To display them, use Advance Search (see above). To delete a profile completely, you need to click "Full Delete" in the editing window.

Custom Fields​

  • Custom Fields are used as custom variables that will be represented as readable text in invoice templates. A Custom Field allows adding information about a Client.
  • Custom Package Fields are also used as custom variables that allow adding information about a Package.

To add a new field, follow these steps:

  1. Click the "Add Custom Field" button.
  2. Specify the Field Key and Title fields for a custom item. For example, voip_phone_sell as Key and VoIP Phone as common Title, which will be visible for all Clients. Please note that the Field Key must contain word characters only.
  3. Add respective notes to the VoIP Phone field in the Client's settings/Package settings β†’ Custom Fields tab.
  4. Create an invoice template and assign it to a target Reseller. Then, the Clients Custom Fields and Package Custom Fields tables will appear in the Invoice Template settings. You simply need to add those tables to the invoice template.
  5. Finally, you can generate an invoice.

custom fields

Rates Notifications​

Rates Notification settings in the Resellers profile allow creating a default rate notification for the Clients that belong to a target Reseller.

Rates Notification

To configure these settings, open the Rate Notifications tab in the Reseller profile. The structure of a tab is as follows:

Output format​
  • Fields Delimiter: Set a delimiter for the fields if you've chosen .csv. For .xls format, this field is unavailable
  • With headers row: Include a row with column names in a file
  • Export Columns: Select the columns to export
  • Code Deck: Select a code deck here to rewrite code names in an export file if needed
  • Codes from code deck checkbox: Include only codes, which are present in a specified Code Deck
  • Codes Output: Select a way codes must be displayed
    • Separate Rows: Each code is placed into a single row
    • Delimited List: Codes are grouped by a code name in a row. For example, 5510, 5511, 5512
    • Ranges List: Codes are grouped by a code name into ranges plus delimiter. For example, 5510-5512, 5515
  • Date Format: Specify the date format in your export file. Example of the field syntax: if you enter β€œ%d-%m-%Y” here, your date will look like 25-02-2018
  • Header Text/Footer Text: Allows to specify additional text into an exported file as a header and footer, respectively

Description of all columns that could be selected for a rate notification is provided below:

note

Note that the first selected column will be the one used for sorting the Rates list.

Column NameDescription
Code/Code NameCode or Code Name of a respective rate
Effective DateDate, on which a rate to be applied
RatePrice
Min VolumeThe minimum volume of chargeable events
IntervalChargeable interval
Grace VolumeFree of charge interval
Setup FeeInterval of a setup fee
ProfileTime profile (all time, business time, non-business time, weekends)
End DateDate, on which the rate ends
Previous RateRate used before the present time
Prev DiffShows how current rate differs from a previous one after import
Prev Diff StatusShows how the current rate's status changed in comparison to a previous one (unchanged, increased, decreased)
Prev Diff (export)Shows how the current rate differs from a previous one after export
Prev Diff Status (export)Rate's changes after the last export. Shows the status of how the current rate differs from a previous one. The rate will have an unchanged status if the Effective date is lower than the Last Notification Date
NotesAdditional information
TagTags that are assigned to a respective rate
PolicyIndicated policy of the rate
StatusDefine a current rate status

Prev Diff Status usage example:​

Step 1: Notification type: All rates unique mode - First Notification: 07/07/2017​
CodeRateEffective FromPrevious RatePrev DiffPrev Diff StatusPrev Diff Status (export)
11007/01/2017 00:00:00 +0000--newunchanged
21007/01/2017 00:00:00 +0000--newunchanged
31007/01/2017 00:00:00 +0000--newunchanged
Step 2: Added new rates with effective date 07/21/2017 - Second Notification: 07/14/2017​
CodeRateEffective FromPrevious RatePrev DiffPrev Diff StatusPrev Diff Status (export)
11507/21/2017 00:00:00 +0000105increasedincreased (5.0000)
21507/21/2017 00:00:00 +0000105increasedincreased (5.0000)
31507/21/2017 00:00:00 +0000105increasedincreased (5.0000)
Step 3: Rate with code 1 was edited and the increase was canceled - Third Notification: 07/21/2017​
CodeRateEffective FromPrevious RatePrev DiffPrev Diff StatusPrev Diff Status (export)
11007/21/2017 00:00:00 +0000100unchangedunchanged
21507/21/2017 00:00:00 +0000105increasedincreased (5.0000)
31507/21/2017 00:00:00 +0000105increasedincreased (5.0000)
Step 4: Rate with code 2 was edited and added a new rate for code 3 - Fourth Notification: 07/28/2017​
CodeRateEffective FromPrevious RatePrev DiffPrev Diff StatusPrev Diff Status (export)
11007/21/2017 00:00:00 +0000100unchangedunchanged
22007/21/2017 00:00:00 +00001010increasedunchanged
32007/31/2017 00:00:00 +0000155increasedincreased (5.0000)

Configuring Mail Templates​

Also, there are different mail templates you can configure in your company's profile:

mail templates

Template NameDescription
Mail Template: InvoiceUsed when sending an invoice to the customer
Mail Template: Invoice Unpaid ReminderUsed when sending a payment notification to a customer (sending notification on "Notify Days (before)")
Mail Template: Low Balance NotificationUsed when sending a low balance notification to a customer. You can add a rounding rule for a client's balance during low balance notification. For example, to round up to 2 decimal places, you need to add the variable ${client['balance']} in the Mail template: Low Balance Notification in reseller's settings and specify the number of rounding decimals in the Totals Precision field of the Currencies section.
Mail Template: Overdue ReminderUsed when sending a payment notification to a customer (sending notification on "Notify Days (after)")
Mail Template: Payment ConfirmationUsed when sending a payment confirmation email to the client
Mail Template: Rates NotificatorUsed when sending a rate changes notification to a customer
Mail Template: Reports Monitoring - ExternalUsed when the system matches client's destinations and sends notifications to them during Reports Monitoring
Mail Template: Reports Monitoring - InternalUsed when the system sends notifications about matched statistics during Reports Monitoring
Mail Template: Reports To EmailUsed when sending reports by email

All mail templates have the following structure:

mail templates structure

FieldDescription
FromSpecify a name and email of a company
BCCSpecify who will receive a blind copy of an email
SubjectIndicate an email subject that may contain the company name, invoice number, etc
Mail BodyContent of the letter with the template-specific variables

To configure any of these templates, simply click on its name. Below, you will find a full list of templates configuration syntax used in almost all kinds of configured mails concerning Clients' and Resellers' data and configuration syntax, which is used in a foregoing list of mail templates.

Configuration Syntax​

General Configuration Syntax Concerning Clients' Data​
Templates Configuration SyntaxDescription
${client['balance']}Client's live balance
${client['balance_accountant']}Client's fixed balance
${client['c_address']}Post address of a client's company
${client['c_company']}Client's official company name
${client['c_email']}Client's email
${client['credit']}Client's available credit
${client['currencies_id']}Currency ID, used by a client
${client['locale']}Client's location
${client['name']}Client's name
${client['reg_id']}Registration ID of a client's company
${client['status']}Client's status: Active or Deleted
${client['tax_id']}Customers tax ID of a client's company
${client['taxes_profiles_id']}Taxes profile's ID, used by a client
${client['tz']}Timezone of a client
General Configuration Syntax Concerning Company's/Reseller's Data​
Templates Configuration SyntaxDescription
${company['status']}Company's status: Active or Deleted
${company['balance']}Company's current balance
${company['balance_accountant']}Company's fixed balance
${company['credit']}Company's available credit
${company['c_address']}Company's postal address
${company['c_email']}Email of a company
${company['locale']}Company's location
${company['currencies_id']}Company's currency ID
${company['tz']}Company's timezone
${company['taxes_profiles_id']}Company's taxes profiles
${company['name']}Name of a company
${company['tax_id']}Company's customers tax ID
${company['reg_id']}Company's registration ID
Configuration Syntax for Mail Template: Invoice and Payment Reminder Notification​
Templates Configuration SyntaxDescription
${invoice['c_dt']}Invoice date
${invoice['type']}Invoice type
${invoice['amount']}Invoice total sum
${invoice['period_start']}Invoice period start
${invoice['period_finish']}Invoice period end
${invoice['due_date']}Invoice due date
${invoice['no']}Invoice number
${invoice['descr']}Invoice comments
${invoice['tz']}Invoice timezone
${invoice['state']}Invoice state
${invoice['name']}Invoiced client's name
${client['currency']}Client's currency
Configuration Syntax for Mail Template: Low Balance Notification​
Templates Configuration SyntaxDescription
${client['balance_avail']}Client's available balance: live balance + credit
${client['currency']}Client's currency
${client['alert_threshold']}Notification for a client regarding reaching a balance limit
${client['alert_athreshold']}Notification for an administrator regarding reaching a balance limit
Configuration Syntax for Mail Template: Rates Notificator​
Templates Configuration SyntaxDescription
${msg['rt_name']}Rate table name
${msg['lastedit_dt']}Date when a rate table was edited last
${date}Date when the notification was sent
Configuration Syntax for Mail Template: Reports To Email​
Templates Configuration SyntaxDescription
${report["name"]}Title of a report template
${report["interval"]}Actual report period
${report["name-full"]}Title of a report template with indication of an actual report period
${report["id"]}ID of a report template
tip

If you want the date of sending a letter to be present, you can add the ${date} variable in any mail template.