Scale, Share, and Rollout
Offer the Most Flexible IoT Pricing Options

Internet of Things Billing

The ecosystem of connected devices is revolutionizing everything from how we increase business efficiency to how we deliver new services.

With anywhere from twenty to forty billion devices coming online by 2020, the pressure is on to determine how to effectively accommodate and monetize the complexities of all of these connected assets and services.

Service States

Administrators can associate states with services to model the properties of the entity (device or service) that the service represents. For instance, a service may represent a hardware node which can be defined by 5 different states: active, suspended, pre active, cancelled and purged.

The system supports a default set of 4 core states that represent a service; active, canceled, prospect and suspended. All user defined states map to these core states. In this screen capture, the user has defined two states canceled and purged that map to the same base status "cancelled".

Service State Screen
Service State Screen

State Transitions

A service transition is a mapping from one status to another. Service transitions can be defined between any of the predefined status types. An initial state can be defined as a transition from [New] to a predefined state; consider for example a new activation where the service transitions from New to Active.

Pricing can be established for each transition to indicate a non recurring charge that would be triggered when that state transition occurs, such as a $5 charge that might occur when the service is cancelled.

State Specific Pricing

After you have configured all of your device states you can then define different subscription prices based on the state of the service. This is extremely valuable when creating pricing models that match various states of hardware deployment.

Product Catalog Screen
Reach out to a Sales Executive to better understand how LogiSense addresses your industry needs
Contact Sales

Share Plans

A Share Plan is an entity that defines the rules and parameters around how usage is to be shared. These include the following attributes:

Data TypeThe type of data that is being shared. Buckets can be attached to a share plan representing the class of data that is being shared.
Activation RuleThe activation rule specifies the mechanism for activation of a share plan. Share plans can be activated through two mechanisms: (1) A selling service which means the selling service has to be sold to the account in order to activate the share plan. (2) A participating service which means that the participating service needs to be sold to an account in order to activate the share plan
Contributing and Participating ServicesParticipating services are services that participate in a share plan – i.e. applicable usage associated with that service are pooled with that share plan. Each participating service specifies a contribution amount. A contribution amount greater than 0 indicates that the service not only participates but also grows the share plan.
GrowthShare Plans can have fixed or variable sized buckets. With a fixed bucket all participating share the same pool of usage and the pool size remains the same irrespective of the number of services that participate in the plan. With a variable share plan, the share plan grows by a contribution amount for each contributing service.
Share LevelShare level specifies the level at which sharing occurs. A share level of parent indicates that all accounts and services that report to that parent are eligible to participate in the share plan. A share level of account indicates that all services that are assigned to that account are eligible to participate in the share plan.
Usage billing frequencyThe frequency at which usage gets billed (monthly, weekly, yearly etc.) for the share plan.

Share Plan Configuration

Configuration of a share plan occurs at the catalog level where the administrator defines the various attributes listed above. The administrator also chooses the participating services or service type that can participate in the share plan.

Service types are useful when the intent is to enable sharing for all services of a certain category – for instance any type of SMS service can participate in the share plan. Once the share plan is defined and saved, the service provider can then define the share plan buckets and set contribution rules.


Personalized Contracts

Create deal specific pricing to meet customer demands. Utilize LogiSense's powerful contract commitments to ensure your customers meet the agreed upon terms for their special pricing. Ensure that you're capturing your revenue when customers under commit.


Apply the flexibility of both line item and account based contracts. Specify your contract renewal terms, termination statuses and if contracts should co-terminate.


Apply volume commits, ramp-up schedules, minimum spend amounts, usage amounts, number of connections and under commit penalties.

Early Termination

Model early termination charges (WHATIF analysis) and create Tiered termination penalties for when contracts unexpectedly terminate early.

Personalized Contracts
Interested in scheduling a demo? Reach out to a LogiSense Sales Executive
Contact Sales

Usage Feed Mediation

Mediate usage feed data from multiple different file formats. LogiSense's powerful data transformation engine allows you to receive usage file export formats in real time from your communications switch and run mediation logic to aggregate and transform the usage data.

Import Screen

Feed Filtering and Exclusions

One or more filters can be applied for any of the sources of data. Filters that can be used to determine if a line in a source data set (File) should be processed through mediation or ignored. As an example, a given source of data may contain a field called Record Type (First Ordinal position on the line) that indicated a “Record Type”. A filter can be setup such that Only lines with a Record Type value of “6” are to be processed. All other lines are ignored.

Conditional Mapping

Many data Sources have variable mappings of source data elements to a Usage record. The mediation process can be set up to account for this. For example, if the line is identified as an "SMS-MO" record the system may use field 5 for the Usage identifier where as if it is SMS-MT it may use field 6. It is also possible to have different source fields mappings based on Conditional statements. For example, a Carrier might send twenty fields. When field 5 has a value of "SMS" the mediation process would use fields 1-6, 10,14,19 ignore the rest and when it has a value of "DATA" it would use 1-6, 9, 11, 13-16.

Determination of a usage class is usually a function based on conditions specific to data in the source or the source itself. EngageIP provides options for managing this thereby allowing reuse of rules and consistency in setting Usage Class values.


One or more "normalization" functions can be created to format things like phone numbers, IP addresses into common inputs. The following types of normalization can be performed on the feed:

Normalization Function TypeDefinition
Phone NumberNormalize the Phone Number
CountryNormalize Country and Country Code
CarrierNormalize Carrier
NetworkNormalize the network
Date/TimeNormalize the date and or time
Usage IdentifiersNormalize usage identifiers
Units of TimeNormalize units of measure (time, data etc.)

Mathematical functions like Sum or Multiplication can also be performed on feeds in order to prepare them for rating. For example, a source that sends data usage in Upload and Download will have to have a sum process applied as well as possible normalization on the whole or parts to a standard unit (i.e. KB).

Rating & Charging

EngageIP has a powerful rating and mediation engine that can rate any type of usage event in real time or batch. Usage data can take the form of a CDR record or it can take the form of another type of usage feed. The usage data is supplied via API, SFTP or other outbound methods as required.

Because each record will have its own proprietary format, a mediation layer is designed for each solution to format the data into a Usage Data Record (UDR) that can be processed by the rating engine.

Conditional Rating

Whether you have location specific rates, on-net, off-net or conditional rates based on time of day, custom logic or specific rounding rules; LogiSense's conditional rating engine allows for classification and charging of any kind of usage.

Usage Rates

Rating Details

Quickly Launch New Products

LogiSense's 2-tier product catalog allows Product Managers to define, configure and bring new products to market faster than your competitors. Don't let your billing system hold you back from launching a product to meet a market opportunity.

Billing as a Service

Quickly grow your channel partner and reseller organizations by eliminating their overhead of a billing system. Provide billing as a service to unburden your channels to grow quicker!

Payment Processing

LogiSense can provide a PCI DSS Level 1 Certified hosting infrastructure to meet your business needs. Our customers have enjoyed the benefits of billing integrations with many different Payment Processors.

Bill On First Use

Bill on first use scenarios are gaining more prominence particularly in certain verticals such as IoT . A service is not billed until a certain usage threshold is reached or a configurable period of time has expired. Once either of these conditions are met, subscription and usage billing is triggered and the state of the service is transitioned (e.g. preactive to active).

As part of this workflow, EngageIP also provides a facility to optionally add a time window for when usage needs to come in. If no usage comes in within that timeframe, then the state change is triggered and any applicable one time and recurring charges due to the state change will be charged to the account.





LogiSense's billing platform is entirely API driven where the full system is exposed as available RESTful APIs. Anything the system is capable of can be called by a 3rd party.



Call multiple RESTful API calls in sequence using variables and scope multiple API calls into envelopes that participate in a transaction. If any API call fails all API calls in the Envelope are rolled back.



Microservices architecture is entirely queue driven allowing for tailoring of individual services to be scaled as business needs require. As event queues meet thresholds new processes are spawned.



Subscribe to data model events to trigger webhook callbacks to existing systems. Automate back office processes by triggering enterprise events when billing system data changes.

API First Methodology

LogiSense provides an extensive integration platform utilizing Token based access with granular API permissions. Every integrating application has its own identifier and all API calls are logged in the event log.

Developer Tooling

Integration can be challenging, that's why LogiSense has built in developer and diagnostics tooling right into the platform itself. From trying APIs to testing data imports and transformations.

Built in Test Framework

Creating test cases to execute your integration tasks and vailidate your automation processes is built right into the tooling. You use the same tools as we do to test API integration use cases.

API Tooling