- 1 Introduction
- 2 Creating and Linking Master Customers
- 3 Credit Reasons
- 4 Setting up Commission Events
- 5 Additional options
- 6 Agent (company) virtualization
- 7 Existing data
Freeside manages commission by applying credits to a customer. Each agent, sales person or employee has an associated customer record, which will be generally called a master customer (or referring customer, for customer-to-customer referrals).
Freeside 3.2 introduces commissions for sales people in addition to agents (companies), employees and customer-to-customer referral commissions.
A brief description of the different entities follows.
Agents are companies or resellers. Agents can be completely separate companies in a multi-tenant or virtualized capacity, with their own company name, invoice templates, merchant account, sales people, employees, and so forth.
Agents can have their own commission percentages for each package class.
Sales people are people or organizations who sell. Unlike agents, the are not separate companies that can be branded separately. Unlike employees, a sales person can be manually chosen from a dropdown for each customer or package order.
Sales people can have their own commission percentages and durations for each package class.
Employees correspond to the actual logins to the web interface.
Creating and Linking Master Customers
A customer must be created for each agent, sales person or employee employee who is to receive commission. After the customer record is created, you need to link it to the correct type.
Edit the Agent record (Configuration > Companies > Agents). In the master customer field, enter the customer number. You can also search for company or agent name.
Edit the Sales person record (Configuration > Sales People > Sales People). In the master customer field, enter the customer number. You can also search for company or agent name.
A referring customer is a standard customer record. No special linking is required.
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.
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.
Create a credit type such as "Commissions" or "Commissions and Referrals". (Configuration > Billing > Credit reason types)
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" or "Invoice".
- In the "Event Conditions" section in the middle:
- For one time credits, leave the "Don't run this event again after it has completed successfully" condition.
- For recurring credits, remove the "Don't run this event again after it has completed successfully" condition by clicking on 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:
- 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 or skip this if you are using package class percentages.
For simple commissions without setting a commission for each agent:
- In the "Event Action" section, choose "credit the ordering employee a specific amount" or "Credit the referring customer an amount based on the referred package".
Per-agent package class percentages
For commissions based on the percentage defined in the agent record:
- In the "Event Action" section, choose "Credit the agent an amount based on their commission percentage for the referred package class"
Per-Sales Person package class percentages
For commissions based on the percentage defined in the sales person record:
- In the "Event Action" section, choose:
- Credit the sales person an amount based on their commission percentage for the referred package class.
- Percentages are defined in the sales person records.
For commissions based on the percentage defined in the billing event record
- In the "Event Action" section, choose:
- Credit the sales person based on the billed amount.
- Percentages will be configured within the event.
- In the "Event Action" section, choose "credit the employee a specific amount" or "Credit the employee an amount based on the referred package".
Make the following adjustments:
- In the Event Conditions section, add a "Customer has a referring customer" condition.
- In the actions sections, select the "Credit the referring customer a specific amount" or "Credit the referring customer an amount based on the referred package".
- 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.
- To limit the commission to the sales person duration periopd, use "Package age younger than sales person commission duration". Leave "compare date" set to "Setup date"
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.
- 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.
Recurring credits for agents, employees and customer-to-customer referrals can be implemented by:
- Removing the "Don't run this event again after it has completed successfully" condition
- Adding a "Run this event the specified number of times" condition.
(For sales people, the "Package age younger than sales person commission duration" condition implements this).
Agent (company) virtualization
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.
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).