BMS Contracts | Bill by Device


Bill by Asset (device) allows you to charge your customers based on the number of assets being managed in your system. Costs will be prorated based on the asset count. MSP's with VSA RMM integration can use this feature to get a count of their agents, assets without agent synced from VSA. MSP's without the RMM integration can get a count of the assets created and saved on the Hardware assets page. 


  • Active assets in Service desk > Hardware assets
  • Recurring service contract in the system.


  • The system runs a nightly job to get the asset counts and update the contract units accordingly.
  • Assets can be filtered based on Asset types and associated views can be created for the filtered assets. 
  • Billing units will be incremented and decremented based on agent/asset/device addition or deletion to associated RMM groups. Correspondingly a new pro-ration period will be created.
  • Billing units for Computer Agent and Assets are based on RMM Org/Groups/machines in VSA.
  • Billing automation job will post whatever is available at the time of execution which includes the normal and pro-rated periods.


Computer Agent: Any asset that was synced from RMM which has an agent id associated with it. In VSA this is referred to as an Agent

Promoted Asset: Any asset that was synced from VSA and doesn't have an agent id associated with it. In VSA this is called an Asset, any device like a printer, router, etc which was discovered and promoted to an asset in VSA and synced to the system will be listed for this filter. 

Other: Any general asset which is not associated with the VSA RMM sync in any way. These assets can be manually imported or created by you in the system. 



Set up 

The setup involves two steps

  1. Creating an asset view
  2. Creating a contract for Device count

Creating an asset view

  • Navigate to Service Desk > Hardware Assets
  • Use the search box to filter based on the Asset type.
  • Once you are satisfied with the search results save the list to a view. 
  • The view should be marked as Public. mceclip2.png
The search by default lists active and inactive assets, Ensure you add a filter for active assets if you want the count only for the currently active items.

Creating a Contract for Device count

  • Create or update your service item on a recurring service contract. 
  • Choose to Bill by Device Count.
  • Choose the view created in the previous step.
  • Get the Device count by clicking Get Units Now
  • Units field will be auto-populated with the Agents/assets matching from the view selected.
  • These units are auto-updated for any changes with a nightly sync job. 
  • Any increment or decrement will be prorated for billing. Refer to the related article section for guides on Proration 
  • Choose to Bill these using Billing review > Recurring service or create an automation job for this contract. 
When a view is applied, the system checks for the account id filter for the contract and displays the get units value accordingly. The contract inherits the account id value for the selected view. This enables the user to have one view that can be applied to multiple contracts linked to different CRM accounts.



  • To prevent proration errors, users cannot change the way units get derived after a service is saved. Recurring Services Contract > Services > Add/Edit Services > Automatically Derive Billing Units options will get disabled.

Logs and Notifications

Any unit changes are logged in the contract history for the end-user to review. An email notification can also be set up where the system can notify the end-user of any unit changes for a contract

  1. In Contract > Contract History, logs for all units changes manual or by the nightly job will be logged. 
    • Service modified by lists the contract creator name for a non-RMM nightly job and the Integrator user name for any change via RMM nightly sync. 
  2. The Notifications tab enables you to set up an email notification for any unit changes. 




Demo: Bill by device

Related articles

Have more questions?

Contact us

Was this article helpful?
0 out of 0 found this helpful

Provide feedback for the Documentation team!

Browse this section