Difference between revisions of "Freeside:1.9:Documentation:Administration:Commission"
(New page: = Introduction = Documentation on how to implement referral credits using the 1.9 event system. This is used for a customer referral program, providing an incentive to refer other custom...) |
|||
Line 1: | Line 1: | ||
− | = Introduction = | + | == Introduction == |
− | + | Freeside manages commission by applying credits to a customer account. Each reseller, employee, and referring customer has an account, which will be generally called a referring account and specifically as agent customer account, employee customer account, and referring customer account as appropriate. The customer that triggers the commission will be referred to as simply the customer account. | |
− | = | + | == Creating and Linking Referring Accounts == |
+ | Each referring account must be created as a customer. After the customer record is created, you need to link it to the correct type. | ||
+ | === Customer === | ||
+ | A referring customer is a standard customer account. No special linking is required. | ||
+ | === Employee === | ||
+ | Edit the Employee record (Configuration > Employees > Employees). In the customer record field, enter the customer number. You can also search for company or employee name. | ||
+ | === Agent === | ||
+ | Edit the Agent record (Configuration > Resellers > Agents). In the master customer field, enter the customer number. You can also search for company or agent name. | ||
− | + | == Credit Reasons == | |
+ | To track the credits correctly, you are going to want to create a specific credit type and a specific credit reason for tracking commissions and referral credits. | ||
+ | === Credit Type === | ||
+ | Create a credit type such as "Commissions" or "Commissions and Referrals". (Configuration > Billing > Credit reason types) | ||
+ | |||
+ | === Credit Reasons === | ||
+ | Create the appropriate credit reasons such as "Employee Commissions" and "Referral Credits". (Configuration > Billing > Credit reasons) | ||
+ | |||
+ | == Setting up Commission Events == | ||
+ | Commissions are paid based on events. The basic setup is the same with some minor modifications for each commission type. | ||
+ | |||
+ | === Basic Event Setup === | ||
+ | * Add a new event. (Configuration -> Billing -> Billing events) | ||
* Give the event a name and set Type to "Package". | * Give the event a name and set Type to "Package". | ||
* In the "Event Conditions" section in the middle: | * In the "Event Conditions" section in the middle: | ||
** Leave the "Don't run this event again after it has completed successfully" condition. | ** Leave the "Don't run this event again after it has completed successfully" condition. | ||
− | ** Remove the "Customer balance" condition by clicking the red X button and confirming the warning. | + | ** Remove the "Customer balance" condition by clicking the red X button and confirming the warning.. |
− | |||
* In the "Event Action" section at the bottom: | * In the "Event Action" section at the bottom: | ||
− | ** Select the | + | ** Select the correct action to either add the credit based on a customer value or package value. |
− | ** Select | + | ** Select the credit reason that you created in the prior step. |
** Enter the desired amount or percentage. | ** Enter the desired amount or percentage. | ||
− | = Additional options = | + | === Agents === |
+ | |||
+ | |||
+ | |||
+ | === Employees === | ||
+ | |||
+ | === Customers === | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == Additional options == | ||
− | == Limiting == | + | === Limiting === |
* To ensure the package is active at the time of the credit, add a "Package status" condition and select "active". | * To ensure the package is active at the time of the credit, add a "Package status" condition and select "active". | ||
Line 27: | Line 56: | ||
* To limit to (or exclude) certain packages, add a "Package definitions" or "Except package definitions" condition. | * To limit to (or exclude) certain packages, add a "Package definitions" or "Except package definitions" condition. | ||
− | == Delaying the credit == | + | === Delaying the credit === |
* To delay the credit until for a certain amount of time from package order, add a "Package age" condition on the setup date. | * To delay the credit until for a certain amount of time from package order, add a "Package age" condition on the setup date. | ||
Line 33: | Line 62: | ||
* To delay the credit until the referred customer has no outstanding balance (optionally, over a particular amount), add a "Customer balance (under)" condition. | * To delay the credit until the referred customer has no outstanding balance (optionally, over a particular amount), add a "Customer balance (under)" condition. | ||
− | == Staged credits == | + | === Staged credits === |
* To implement the referral credit in stages (for example, 1/3 after one month, 1/3 after two months, 1/3 after three months), use three separate events with different delays and a portion of the desired credit each. | * To implement the referral credit in stages (for example, 1/3 after one month, 1/3 after two months, 1/3 after three months), use three separate events with different delays and a portion of the desired credit each. | ||
− | = Reseller virtualizaiton = | + | == Reseller virtualizaiton == |
You may wish to allow your resellers to create and edit their own referral programs. Under Configuration -> Employees -> Employee groups, edit the reseller's group or groups and allow them the "Edit billing events" right (NOT "Edit global billing events"). This allows your resellers to create and edit their own billing events. | You may wish to allow your resellers to create and edit their own referral programs. Under Configuration -> Employees -> Employee groups, edit the reseller's group or groups and allow them the "Edit billing events" right (NOT "Edit global billing events"). This allows your resellers to create and edit their own billing events. | ||
− | = Existing data = | + | == Existing data == |
If you wish to prevent credits from being issued for existing packages setup before a certain date, you need to do something like <code>insert into cust_event ( eventpart, tablenum, _date, status, statustext ) select 54, pkgnum, 1253511094, 'done', 'legacy' from cust_pkg where setup < 1249102800</code> (where 54 is the eventpart, 1253511094 is the date the event is recorded to have run, and 1249102800 [8/1/2009 Central] is the date before which packages should not be credited). | If you wish to prevent credits from being issued for existing packages setup before a certain date, you need to do something like <code>insert into cust_event ( eventpart, tablenum, _date, status, statustext ) select 54, pkgnum, 1253511094, 'done', 'legacy' from cust_pkg where setup < 1249102800</code> (where 54 is the eventpart, 1253511094 is the date the event is recorded to have run, and 1249102800 [8/1/2009 Central] is the date before which packages should not be credited). |
Revision as of 00:02, 6 April 2010
Contents
Introduction
Freeside manages commission by applying credits to a customer account. Each reseller, employee, and referring customer has an account, which will be generally called a referring account and specifically as agent customer account, employee customer account, and referring customer account as appropriate. The customer that triggers the commission will be referred to as simply the customer account.
Creating and Linking Referring Accounts
Each referring account must be created as a customer. After the customer record is created, you need to link it to the correct type.
Customer
A referring customer is a standard customer account. No special linking is required.
Employee
Edit the Employee record (Configuration > Employees > Employees). In the customer record field, enter the customer number. You can also search for company or employee name.
Agent
Edit the Agent record (Configuration > Resellers > Agents). In the master customer field, enter the customer number. You can also search for company or agent name.
Credit Reasons
To track the credits correctly, you are going to want to create a specific credit type and a specific credit reason for tracking commissions and referral credits.
Credit Type
Create a credit type such as "Commissions" or "Commissions and Referrals". (Configuration > Billing > Credit reason types)
Credit Reasons
Create the appropriate credit reasons such as "Employee Commissions" and "Referral Credits". (Configuration > Billing > Credit reasons)
Setting up Commission Events
Commissions are paid based on events. The basic setup is the same with some minor modifications for each commission type.
Basic Event Setup
- Add a new event. (Configuration -> Billing -> Billing events)
- Give the event a name and set Type to "Package".
- In the "Event Conditions" section in the middle:
- Leave the "Don't run this event again after it has completed successfully" condition.
- Remove the "Customer balance" condition by clicking the red X button and confirming the warning..
- In the "Event Action" section at the bottom:
- Select the correct action to either add the credit based on a customer value or package value.
- Select the credit reason that you created in the prior step.
- Enter the desired amount or percentage.
Agents
Employees
Customers
Additional options
Limiting
- To ensure the package is active at the time of the credit, add a "Package status" condition and select "active".
- To ensure the referred customer is active at the time of the credit, add a "Customer status" condition and select "active".
- To limit to new orders, add a "Package is a new order, not a change" condition.
- To limit to once per-customer, add a "Don't run more than once per customer" condition. (Note: this is once per REFERRED customer; a REFERRING customer can still get credit for multiple referrals.)
- To limit to recurring packages (not one-time charges), add a "Package is recurring" condition.
- To limit to (or exclude) certain packages, add a "Package definitions" or "Except package definitions" condition.
Delaying the credit
- To delay the credit until for a certain amount of time from package order, add a "Package age" condition on the setup date.
- To delay the credit until the referred customer has paid a certain amount, add a "Customer total payments (amount)" or "Customer total payments (multiplier of package)" condition.
- To delay the credit until the referred customer has no outstanding balance (optionally, over a particular amount), add a "Customer balance (under)" condition.
Staged credits
- To implement the referral credit in stages (for example, 1/3 after one month, 1/3 after two months, 1/3 after three months), use three separate events with different delays and a portion of the desired credit each.
Reseller virtualizaiton
You may wish to allow your resellers to create and edit their own referral programs. Under Configuration -> Employees -> Employee groups, edit the reseller's group or groups and allow them the "Edit billing events" right (NOT "Edit global billing events"). This allows your resellers to create and edit their own billing events.
Existing data
If you wish to prevent credits from being issued for existing packages setup before a certain date, you need to do something like insert into cust_event ( eventpart, tablenum, _date, status, statustext ) select 54, pkgnum, 1253511094, 'done', 'legacy' from cust_pkg where setup < 1249102800
(where 54 is the eventpart, 1253511094 is the date the event is recorded to have run, and 1249102800 [8/1/2009 Central] is the date before which packages should not be credited).