Now that all membership fees have been created, you need to define your compensation plan. With the flexible transaction system, you can create almost any type of compensation plan you need. This section will explain exactly how to create your own customized compensation plan with xFlow.
4.9.1 Create Commission Transactions
First, we need to create our commission transactions. Go to the
Transaction->Transaction Settings menu, and create a
"Commission - Sign Up" transaction. The first section on the next page asks for condition information on the transaction, and looks like:

Complete the section shown above with the following information:
Field |
Description |
Program Structure |
The program structure commission is being paid out for. In other words, when a new member is added to this program structure, this commission will be processed. |
Member Status |
Generally, this can be left as 'Not Applicable'. If you select a member status, commission will only be added for a member if they have the correct status. |
Member Type |
The member type commission is being paid out for. In other words, when this member type first joins, this commission transaction will be processed. |
Add transaction when member joins? |
Typically, this should always be set to No if you're charging a membership fee. Instead, we'll create triggers later ensuring commission is only added when a membership fee is received, and at no other time.
If you select Yes, the commission will be immediately processed when a new member joins, regardless if a membership fee has been approved or not. If you select No, the commission will only be processed through triggers, or manually. |
The next section on this page asks for the recipient information, and looks like:

The recipient determines exactly who will receive commission, and is relative to the member the commission transaction is being processed against. For example, if the recipient is set to Upline, when a new member joins, commission will be added to the new member's upline. There are five different recipients available, which are:
Recipient |
Description |
Member |
The member themselves. This is useful for things such as, if you would like to give all new members a bonus for joining. The commission will be added to the new member who just joined. |
Placement Sponsor |
The sponsor who the new member joined under, regardless of where in the downlines the new member was placed. |
Direct Sponsor |
The sponsor who the new member is placed into the downlines under, regardless of where in the downlines the member is placed (ie. spillover in a matrix).
Generally, this is the exact same as the Placement Sponsor, except that the member's placement sponsor can change, but their direct sponsor never will.
If you select this option, you must specify a program structure. When the transaction is processed, commission will be added to the member's direct sponsor of the selected program structure. |
Upline |
The member's upline. If you select this option, you must specify a program structure. When the transaction is processed, commission will be added to the member's upline of the selected program structure. |
Specific Member |
The commission will always be added to a specific member in your database. If you select this, you must enter the ID# of the member in the provided text box. |
The next section on this page allows you to specify a transaction name and description, and looks like:

In these fields you can enter any name and description you would like. The transaction name is displayed when viewing a list of all transactions on a member's account (similar to a bank statement). The description is displayed when viewing full details on a transaction. The values of these fields do not make any functional difference, and can be anything you wish.
You can use several merge fields in the name and description of commission transactions. These merge fields are:
Field |
Description |
~id_number~ |
The ID# of the downline member, who commission was paid out for. |
~username~ |
The username of the downline member, who commission was paid out for. |
~position~ |
The downline position ID# of the member who received the commission. |
~level~ |
The downline level that commission was paid out for. |
~program_name~ |
The name of the program structure that commission was paid out for. |
~interval~ |
Only applicable for interval commissions. The interval (eg. weekly / monthly) that commission was added for. |
Now that the first page is completed, submit the form. You will be taken to another page where you can enter the commission values, which looks like:

The table contains one column for each member type in your database, and one row for each level commission is being paid out on. If you selected anything other than Upline as the recipient, this table will only contain one row, as only one member will receive commission.
Enter the exact dollar amounts you would like added to the recipient when the commission is processed. When processing the commission, the software will go through each recipient, check their member type, and add the appropriate commission. Using the above image as an example, if the first level upline is a Gold member, they will receive $20 in commission. If the second level upline is a Free member, they will receive $5 in commission, if the third level upline is a Gold member, they will receive $5 in commission, and so on.
Once you've entered your commission values, submit the form to create the new commission transaction. Continue creating as many commission transactions as needed, for your entire compensation plan. Ignore the
"Commission - Interval" transaction type for now, and instead, create only
"Commission - Sign Up" transactions, even for recurring commissions.
4.9.2 Create Commission Triggers
Now that all commission transactions have been created, we need to make sure commission is only added when a membership fee is received. This can be done by creating triggers, that will automatically process the commission transactions when a membership fee is received and approved.
Go to the
Setup->Trigger Settings menu. For every sign up commission transaction you created, that is only added when a new member first joins, create one "Specific Transaction Added" trigger with the following information:
Field |
Description |
Trigger Name |
Anything you wish, such as "Commission - Gold Member Sign Up" |
Add Trigger Only Once |
No |
Trigger Interval |
Leave blank |
Transaction ID |
Select any membership fee transaction. When this transaction is approved, the trigger will automatically process the needed commission transaction. |
Transaction Status |
Approved |
Execute Trigger |
First transaction only
This ensures the commission is only added once when the member joins, and pays their first membership fee, and not after any recurring membership fees. |
Action to Perform |
Add specific transaction |
NEXT PAGE |
Transaction to Add |
Select the appropriate commission transaction. When the selected membership fee is approved for the first time after a new member joins, this commission will be automatically processed.
For example, if you selected the 'Gold' membership fee on the previous page, you would select the sign up commission transaction for 'Gold' members. |
Amount [SYS] |
Leave blank |
Override Payment |
No |
Continue creating one trigger with the exact information above, for every sign up commission transaction you need. Now, for every recurring (eg. monthly) commission transaction you created that is only added when a recurring membership fee is received, create one
"Specific Transaction Added" trigger with the following information:
Field |
Description |
Trigger Name |
Anything you wish, such as "Commission - Gold Member Recurring" |
Add Trigger Only Once |
No |
Trigger Interval |
Leave blank |
Transaction ID |
Select any membership fee transaction. When this transaction is approved, the trigger will automatically process the needed commission transaction. |
Transaction Status |
Approved |
Execute Trigger |
Not first transaction, but all recurring transactions
This ensures the commission will not be added when a new member first joins, but instead, will only be added when a member pays their recurring membership fee. |
Action to Perform |
Add specific transaction |
NEXT PAGE |
Transaction to Add |
Select the appropriate commission transaction. When the selected recurring membership fee is approved, this commission will be automatically processed.
For example, if you selected the 'Gold' membership fee on the previous page, you would select the recurring commission transaction for 'Gold' members. |
Amount [SYS] |
Leave blank |
Override Payment |
No |
Continue creating one trigger with the information above, for every recurring commission transaction you created. With the above setup, you should have one trigger for every commission transaction. When a new member first joins, no commission will be immediately added. Instead, once they have paid their membership fee, the appropriate trigger will execute, and automatically process the needed sign up commission.
Then every time a recurring membership fee is approved, the appropriate trigger will also execute, and process the needed recurring commission. This ensures no commission is ever paid out, until the membership fee has first been received.
4.9.3 Commission Bonuses
Depending on your compensation plan, you may want to give one-time commission bonuses to your members, once they have completed certain requirements. For example, you may want to give a commission bonus once a member fills their matrix, or once a member has recruited a certain number of members.
There are two steps to create a commission bonus:
- Create the needed commission transaction.
- Create the needed trigger to automatically process the commission once the needed requirements have been met.
To start, create a new
"Commission - Sign Up" transaction through the
Transaction->Transaction Settings menu, just as you above. Make sure to select No to the question asking if you would like the commission added when a new member joins. For a recipient, you'll most likely want to select
'Member', if the commission bonus is being given to the member.
Once you've created the commission transaction, you need to create a trigger through the
Setup->Trigger Settings menu. The trigger you need to create will be different, depending on the commission bonus you are creating.
When members fills a matrix
Automatically give the commission bonus when a member fills their forced matrix by creating a
'Genealogy Modification' trigger with the following information:
Field |
Description |
Trigger Name |
Anything you wish |
Add Trigger Only Once |
No |
Trigger Interval |
Leave blank |
Condition |
Member fills matrix |
Member Type |
The member type that will receive the commission bonus. |
Program Structure |
The forced matrix that must be filled for the member to receive the commission bonus. |
Action to Perform |
Add specific transaction |
NEXT PAGE |
Transaction to Add |
The transaction created in the first step of creating the commission bonus. |
Amount [SYS] |
Leave blank |
Override Payment |
No |
With the above trigger, the commission bonus will be automatically processed every time the member fills their forced matrix of the specified program structure.
When member recruits X people
Automatically give commission once a member has recruited a certain number of people by creating a
'Downline Size Modification' trigger with the following information:
Field |
Description |
Trigger Name |
Anything you wish |
Add Trigger Only Once |
Yes |
Trigger Interval |
Leave blank |
Condition |
Member personally recruited X members |
Member Type |
The member type the member must be, in order to receive the commission bonus |
Program Structure |
Not Applicable |
Number of Members |
The number of people the member must recruit, in order to receive the commission bonus. |
Downline Member Type |
Optional, and allows you to specify what member type the member must recruit, in order to receive the commission bonus. |
Count Type |
Total downline |
Action to Perform |
Add specific transaction |
NEXT PAGE |
Transaction to Add |
The transaction created in the first step of creating the commission bonus. |
Amount [SYS] |
Leave blank |
Override Payment |
No |
With the above trigger, the member will automatically receive the commission bonus once they have personally recruited the appropriate number of people.