We need to build a WooCommerce sales referral plugin.
Project brief (provisional):
- stand alone plugin that on activation requires WooCommerce
- upon installation a custom database will be created (it will store all user's transactions)
- admin can enable or disable any user's option to be or not affiliate
- a custom field will be used in WP user list to display and filter affiliate status (yes/no)
- admin can choose to have as tracking code WP user_id, WP username or both
- admin can select a flat fee per sale or a percentage fee per sale (at user level admin can individually edit the fees)
- when the website is accessed via "?tracking=" in URL, a cookie will be stored with the affiliate id or username
- admin can set up cookie life (default 30 days)
- any sale will check if the tracking cookie is stored in user's browser. if it is then that order have affiliate's ID as referral
- any user registration will check if the tracking cookie is stored in user's browser. if it is then that user will have affiliate's ID as referral
- the default WooCommerce order listing will include referral id column and also the detailed order (admin can modify order's referral id)
- the default Wordpress user listing will include affiliate id column and the total sales generated (unpaid, paid and total)
- admin will have a filterable list with all affiliates and their totals (unpaid, paid and total)
- admin will have a filterable list with all commissions (unpaid, paid and total)
- admin will have a full reports like orders with or without referrals in a specific interval, ordered by their option (numbers and charts with evolution)
- admin can select one, more or all commissions to be paid then a PayPal mass payment file will be generated
- admin can upload a PayPal mass payment response file that will mark paid, rejected, etc all the affiliate's transactions
- admin can manually process (edit/update) affiliate's payments
- affiliates can see in front end via a short-code their commissions (date, amount, status, payment date)
- admin can set a minimum commission that will qualify the affiliate to request a payment
- commissions will have the following status: pending, accepted, confirmed and paid (once an order payment is received the commission is accepted. admin will have to confirm them manually)
Reports will include:
- total orders, total orders made via affiliates (count, sum)
- total numbers of users and total number of affiliates (count)
- a custom PHP file will be coded to listen for reports generation in JSON format (general numbers, a specific order with all details, a specific report via some specific filters) eg. [login to view URL] will output total orders (count and sum) and total customers (count and sum), [login to view URL] will output all details for order 333, [login to view URL] will output sales report for that specific interval (count and sum using charts)
(all reports will be shown as figures and charts and will have the following AND filters: affiliate name, affiliate email, date (interval free set start/end + preset some useful shorcuts like current year, last year, current month, last 6 months, current week, last week, today, yesterday))
Plugin workflow:
- existing users can opt-in for being affiliates via WP/Woo hooks
- new users can opt-in to be affiliates in the registration process WP/Woo hooks
- affiliates will receive a notification each time a commission is earned (they can opt-out from receiving the notification)
- affiliates can see their commission stats in front end
- affiliates can request payout if they reached the minimum requirement
- admin will receive a notification of payment request
Requirements:
- the code must be clean and well documented / commented
- the code must follow the current industry standards
- the plugin should not cause any lags or memory leaks
- plugin will use [login to view URL] library or equivalent if agreed
hi there sir, am a woocommerce expert and i promise to do this for you, i have read your requirements and i promise i will do this for you, lets talk
thanks
I can create the plugin as you mentioned in a quick turn around.I am an independent and professional developer experienced in Java, C# C++ .NET php mysql, html5 Mobile apps etc.. Let's have a details discussion about the project goal.