Rollover Rules

Unilevel compensation plans usually pay the volume earned each period. An Associate either gets paid on the volume earned that period or can never get paid on it. This is not the case with Binary. With Binary compensation plans, an Associate can earn volume one period and get paid on it in the future; they can get paid on the volume they earned periods ago.

Binary is all about the balance volume in the Left and Right Legs; however, there are times when those Legs aren't balanced. For example, you have 100 volume on your Right Leg (Weak) but 1,000,000 on your Left (Strong). An Associate will get paid a percentage of that Weak Leg/cycle out of that Weak Leg. But the Associate's Weak Leg's volume is not going to affect the 1,000,000; it's just too strong. What binary compensation plans do is it makes that 1,000,000 continue to roll over each period, slowly chipping away at that volume earned a long time ago. This mass of volume built up because that Leg was stronger, better performing. Balancing each Leg by placing strong performers on each is essential.

This volume that rolls from one period to the next is called "Rollover". Rollover is the volume that the period didn't use, which then rolls to the next period. The order/purchase the volume originates from may have been placed months ago.


Another name for Rollover is Carry Forward. Rollover Rules usually go after all the Rules but before the KPIs.


For example, take this Rollover Rule:

    <BinaryRollover Name="Rollover" TreeVolume="BQV" MatchMultiplier="2" FlushRule="Active" BonusGroup="Team Commission" LegCap="-1" />

In the example, you pass in a TreeVolume. This Tree Volume is your Left and Right Leg volume. The TreeVolume referenced was named earlier in the compensation plan:

    <TreeVolume Volume="QS" Tree="Enrollment" Name="EQV"/>
    <TreeVolume Volume="PS" Tree="Binary" Name="BQV"/> 
    <TreeVolume Volume="RRCV" Tree="Binary" Name="BCV"/>

Another parameter is FlushRule, which is set to "Active". Basically, with FlushRule, if your Associate Status is not "Active", all of your Rollover will go away at the end of the period.

Previously in the compensation plan, you create a Rule named "Active" that defines the conditions that must be met:

<Rule Name="Act" Description="Active">
        <PVCondition Volume="PS" Min="140" Max="-1" Description="Total Personal and Customer QV"/>
        <AssociateTypeCondition AssociateBaseType="1" Description="Distributor"/>
        <SetStat Name="ComACT" Description="Commission Active"/>

BonusGroup references "Team Commission", the name of a Bonus Rule created earlier in the compensation plan that volume will be paid on.

<Rule Description="Team Commission" Name="TC">
        <MeetsRule Rule="A"/>
            <Payment Pool="MasterPool" Bonus="Team Commission" Tag="" MetaData="">
                    <WeakLegVolumePay TreeVolume="BCV" PercentPay="15" WeakLegVolume="200" StrongLegVolume="400" TotalMaxVolume="133600" Comment="Lessor Leg"/>

BonusGroup looks at all the details of the "Team Commission" Bonus Rule and subtracts it from the Weak Leg.

That's where MatchMultiplier comes in. The BonusGroup is going to subtract out the Weak Leg. The MatchMultiplier tells how much volume to remove from the Strong Leg. For example, if you are doing a cycle pay, with 200 Weak and 400 Strong, every time you take 200 out of the Weak Leg, you need to double it (MatchMultiplier="2") to take 400 out of the Strong Leg. MatchMultiplier can be a one-to-one match (1), three times (3), or it could be 1 1/2 times (1.5).

The last parameter is LegCap. LegCap is the maximum amount of Rollover allowed. You can only earn Rollover until you meet the LegCap, and then you can never go above that. In the example, LegCap="-1". -1 means infinity in the DirectScale system. So this example says that you'll earn Rollover forever as long as you're "Active".


Another element available to use is <VolumeRollover>.

<VolumeRollover Name="VolumeRollover" Volume="PS" />

This element takes a passed in Volume Accumulator and keeps adding to it. You use it when you want to see lifetime volume. However, this element looks at all-time orders and will slow down your compensation plan.

Sum Volume with Detail Setting

When making a payment, The WeakLegVolumePay is looking at your Left and Right Leg volume's detail—every single order that makes up your Left and Right Leg. It's not looking at totals but at Rule details specifically. A Rollover Rule from the preceding example will look at the detail of the "Team Commission" Bonus Rule to determine how much volume was paid out.

The SumVolumeWithDetail setting keeps this detail. Contact Customer Care to have this setting enabled.

Companies with Unilevel compensation plans will typically turn off this setting primarily because it speeds up their compensation plan. Turning this setting off reduces the amount of memory you need to run a compensation plan. You're not keeping all that detail per order level, you're summing them up into a bucket of total volume. If you're going to use the WeakLegVolumePay or Rollover Rules, you must turn the SumVolumeWithDetail setting on, or your numbers will be wrong.

Track Instant Rollover Setting

Binary Trees can allow the leftover Leg volume to carry over (or Rollover). Associates can use this volume for commission qualifications for the next commission period. You can enable this feature so you can see this rollover volume amount in the Statistics section on the Associate's Detail page.

✅Read how to enable

Tracking Instant Rollover

Rollover Tables

There are a few tables that the Rollover data lives in:

  • dbo.CRM_CommissionRollover - This data is on the order level. All the orders on your Right Leg/Left Leg will have a record.
  • dbo.CRM_RolloverUncommitted - Table for Instant Rollover setting. Every time stats run, they update this table.

You can view these tables with the Data Editor.