---
# System prepended metadata

title: Tiong Seng
tags: [BA Report, Unboxing Thermomix, NON onboarded customer, Cart to Order, Payment]

---



![](https://i.imgur.com/76XdTBj.jpg)
###### tags: `BA Report`


# Tiong Seng
This report looks at the current operational flows of The Future of Cooking Pte. Ltd. (TFOC) and True Mix Sdh. Bhd. And the use of several IT systems to support its operation. TFOC and True Mix, the exclusive partners of Vorwerk International in Singapore and Malaysia respectively, have found success in its business and at the same time facing challenges as the companies grow. They have a proven selling system that works for thousands of advisors who do direct selling to their customers. Close customers engagement and ease of ordering the products are two of the most important aspects that ensure advisors can get and close sales.

The steady growing numbers of customers engagements as well as the numbers of advisors joining the team, however, have proven to be a great challenge to all stakeholders, from operational teams, finance and accounting, warehouse and repair.

The use of disparate systems such as WhatsApp for mass broadcasting, MIS for advisors management system, and WinNET to handle Sales Order and Warranty mean there are multiple data entry points, some of which are duplicated. Each hand off between systems are further hamper by the lag time created as volume of data grows.

All of these are done on top of numerous manual processes and paper copies of forms that are being passed, recorded, updated, and filed into stacks of paperwork. These trails of paperwork seem unsurmountable as the piles seem to grow each day walloping not only the desks but also the morale of employees and advisors alike.

A detailed analysis was conducted through interviewing all stakeholders in the two companies to understand their journey and pain points. This document recorded all of the interviewees in the form of user personas. The analysis confirms the numerous pain points experienced by different stakeholders stemming from the complexity of the business process that could not be supported by its disparate IT systems. There were indeed many manual processes, repeating data entry, offline to online interaction between systems that ultimately lead to a very slow and error prone systems. This report concludes with a proposal from Doxa Holding International Pte. Ltd. of an end to end integrated IT system that will address all of the various stakeholders’ pain points and ensuring that the system will be scalable to support their continued business growth.

This report will also include the detailed flows of the system design and non-functional requirements such as the high level architecture, redundancy/high availability, and security.


# The Report
## Background information
The Future of Cooking Pte. Ltd. And True Mix Sdh. Bhd. are the exclusive partners of Vorwerk International in Singapore and Malaysia respectively. The business model of Thermomix is a direct selling through its network of independent advisors. Hundreds of thousands of advisors all across the world are selling Thermomix® products. Between Singapore and Malaysia, there are currently over 1000 advisors selling Thermomix products.

TFOC and True Mix manage its network of advisors by grouping them into team which is led by a Team Manager. Team Managers are then reporting to their Branch Manager. To facilitate the organization of the team structure and ensuring each advisor is trained and meets his/her KPI, a system called MIS is used. Sales order processing and after sales service are supported by a system called WinNET.

These two systems are not integrated and information flow between these two systems are manual in nature and thus become the bottleneck in the entire process flow. To make matter worse, the more sales volume increases, the more pains experienced by advisors and the operation team supporting them.

Problems like inefficient customer prospecting, difficulties in booking studio for sales/cooking demo, duplicate and/or incorrect order, inability to track order processing and delivery, and no system to handle repair and maintenance for in and out of warranty service have become the norm rather than the exception for all stakeholders.

## Scope of this report
As stated in the previous section, we have discussed on the problems that we seek to address. This report covers the following:

1. Interview and set up profiles of the users that are tied to the system 
2. Set up use cases based on the defined persona pain points
3. Detailed swim lane process flows to address pain points in the system

## Conclusion with recommendation
After a careful analysis, it is determined that the root cause of the problem is the number of manual processes that need to be completed to support the successful operation of the business. While those processes are absolutely necessary, doing them in its current way or shape is unsustainable. While the usage of disparate systems had helped to alleviate some of the issues to a certain degree, It is not scalable and will be a hindrance to further business growth. At the hand-off between each system, there is an inevitable time lag that impedes the flow of information. This is the biggest bottleneck. If every transaction needs to go through 3 systems, and the time lag of data flows between each system takes n number of days, then the full cycle of process becomes 3 x n days. Multiply this by the number of advisors the operation needs to support, then you have the exponential growth in number of tasks needed to be completed to support a linear growth in business activities (e.g. sales inquiry, cooking demo and other activities, and sales order processing and delivery, etc)

It is clear that the very first thing to do in improving the productivity of the entire organizations is to close the gap of these time lag of data flow between systems and processes. Our proposed solutions will be based on the following:

1. Be as paperless as possible
2. Strive to do data entry once for each required information
3. Strive to integrate end to end business processes in one system

We call this system e-thermomix®. It’s a cloud based solution with Progressive Web App in the front that will be accessible from mobile as well as desktop computer. The new system will be scalable to provide a near real time information to empower Advisors to sell more, sell often, and sell longer. All stakeholders will be benefited as the concept of single data entry not only reduces errors, but also frees up all other stakeholders to be able to spend more times on other value added tasks as opposed to the mundane chasing of transferring paper forms to be transferred, consolidated, and reconciled as the paperwork pass through various disparate systems.

The rest of this document capture users’ stories and detail flows that reflect the proposed solution at the granularity suitable for wireframe development that subsequently used for actual software development.

# Personas
## Entity Admin

Name: Amy (40)
Quote: Thermomix is a good product and I love to help my customers learn about it, but keeping tracks my customers and my incentives is a very tedious task.


<!--
Use the following snippets to create 2 columns table
that has 2 images in each column (1 row only)

-->![](https://i.imgur.com/JYOd5Co.png)


|
| ------------------------------------ | ------------------------------------ |

Tasks:
1. Reports directly to the Team Manager.
2. Complete New Advisor Induction Program (NAIP).
3. Complete Basic & Advance Training Programs.
4. Perfect COOKING DEMO & get assessed using Company Sales Tools.
5. Set GOALS towards 3 DEMOS Per Week + 10 SALES Per Period + 3 RECRUITS Per Period, and achieving them diligently. 
6.	Attend WEEKLY Meeting for progress updates & announcements. 
7.	Assist Team Manager in DEMO preparations and weekly team activities. 
8.	Updating own goals & activities on the Company’s MIS system. 
9.	Participate to use/share social media content generated by the Company and contribute recipes in the Company’s Recipe Community e-platform.
10.	Work towards becoming a STAR Advisor and then be promoted to lead own team (i.e. towards becoming Junior Team Manager and subsequently to become Team Manager). 


<!--
Use the following snippets to create 3 columns table
-->


| | Needs | Pain-points |
| -------- | -------- | -------- |
| 1    | To acquire customer | I have to keep prospect list manually |
| 2   | To assist customer with unboxing | Customer purchased the unit, but may not immediately unbox. The lag time between purchase, deliver, unboxing can be months apart. Very difficult to keep track and easy to forget |
| 3    | To lead customer hosting party | Customer doesn’t want to host, don’t care about hosting gift. Difficult to schedule time that will work for all parties |
| 4    | To book demo room, change or cancel room     | Operations is overwhelmed in responding. Hard to do last minute add, change, and cancel. When cooking studio becomes available due to last minute cancellation, I still was not able to quickly book the room.   |
| 5    | To schedule home demo      | I keep my own invite list and manual process. For incentive program, I have to fill out more forms    |
| 6    | To participate in cooking demo     | Don’t always know when is the next cooking demo, slots available, last minute change   |
| 7    | To help customers fill out questionnaires during cooking demo    | On average, 5 to 10 people comes to cooking demo, having them filing out the questionnaire during the cooking demo or immediately after is taking too much time. I wish customers can prefill Part 1 of questionnaire and that may help me in ensuring my cooking demo is relevant to their preference    |
| 8    | To do Facebook Live demo as part of marketing activities required of me    | I do not know who participated in the FB Live demo easily. Also, there is issue with me doing a good FB Live demo, but participants of the demo buy the units from other advisors    |
| 9   | To serve my customers    | Wasting too much time on paperwork, not enough time to serve my customers well. No easy way to find out who has come to demo, how many times, so difficult to do a follow up   |
| 10    | To help my customer make purchase     | So many separate steps till customer make payment. Customer can change her mind in between of all manual activities, filing form, submitting to BO, and then ask customer to make payment online    |
| 11    | To help customer make payment      | Payment process is cumbersome. Must come to office if customer want to do instalment or EPP. Payment status is not immediate. Smoovpay is a pain for customer, some occasions I have to make payment on behalf of customers. Customers will reimburse me latter.    |
| 12    | To submit my sales report     | Manual sales order form (SO). No real time update    |
| 13    | To follow up with customer     | I have stacks of paper for my customers who came to my cooking demo but did not buy. Very difficult to keep track who has come, who didn’t buy, how many times they have come. I want something to help me so I can easily see customer in each category and assists me in serving them better    |
| 14    | To help customer in getting their purchased unit     | I have to contact BO, check with them the payment status, the delivery schedule. Not easy way to track shipment   |
| 15    | To track my incentives, hosting gifts, and commission    | MIS is very difficult to use, often not accurate. I have to keep my own excel sheet and attempt to reconcile on a monthly basis. When error is found, BO has to make correction manually and it takes even longer to finally get my commission. To get hosting gifts, I need to submit more paperwork. Then I need to go back to my stacks of SO and check which one has gotten hosting gift. No breakdown of commission. It is a direct deposit into my bank account with one liner    |
| 16    | To track my incentives on the 24 months instalment      | There are 3 tranches of delayed payments and manual process is next to impossible when I have more than 1 purchase with this type of instalment payments    |
| 17    | To manage customer’s expectation in term of credit card payment    | Customer feels uneasy to provide credit card info especially CVV/CVC information.  Current e-office (EO) for sales order submission do not support multiple cards payment for single unit order. Advisor needs to write in email for special request too cumbersome|


## Team Manager

Name: Michelle (38)
Quote: How do I help my Advisor to be more active with my spreadsheet? I may want take a look at how my peers manage it.

<!--
Use the following snippets to create 2 columns table
that has 2 images in each column (1 row only)
-->

|![](https://i.imgur.com/UgygwVc.png)|![](https://i.imgur.com/SHWhlGT.png)
| ------------------------------------ | ------------------------------------ |

Tasks:
1.	Reports directly to the Branch Manager. 
2.	Conduct New Advisor Induction Program. 
3.	Conduct Basic & Advance Training Programs. 
4.	Conduct DEMO training & assess team using Company Sales Tools. 
5.	Setting GOALS with Advisors towards 3 DEMOS Per Week + 10 SALES Per Period + 3 RECRUITS Per Period, monitoring and guiding each Advisor towards achieving these targets. 
6.	Conduct WEEKLY Unit Gathering with Advisors for progress updates. 
7.	Building and maintaining a team size of minimum 10 Advisors. 
8.	Tracking Advisor’s WEEKLY performance & after sales service. 
9.	Guiding & ensuring Advisors update their goals & activities into the MIS. 
10.	Ensuring maximum capacity of team and supporting a natural split every 6 Periods or when a member achieves stipulated targets. Identify and promote the member to next level (i.e. Jr Team Manager - JTM). 
11.	Guide and educate the sales team to optimize the usage/sharing of social media content generated by the Company and promote active participation in the Company’s Recipe Community e-platform. 
12.	Report to the Management on sales team’s weekly performance, market feedback and provide recommendations for improvement. 
13.	Handle conflict management and carry out / recommend disciplinary action, and/or report any misconduct or unethical behavior to the Management. 


| | Needs | Pain-points|
| -------- | -------- | -------- |
| 1    | To book room for training     | Difficult to schedule meeting room and check availability. Would like a reminder of booked room like Eventbrite    |
| 2   | To lead Advisor    | Inactive Advisor doesn’t show up in MIS. No information on customers for each Advisor available to me in the system. Want a good way to keep in touch with my advisors. Also would help if system can alert me of advisors going to be dropped into inactive category before it happens. This will allow me to do a preventive measure. Manually looking for these type of advisors is nearly impossibly time consuming    |
| 3    | To help in logistic such as tracking delivery of units to customers through member advisors    | Very manual and time consuming, would rather spend my time doing training, demo, and sales   |
| 4    | Ensure advisors/customers get correct incentives, promotional items, etc      | Very manual and time consuming. Gets complicated very quickly when certain items are not currently available. In this case, I need to go through to even more papers across different periods   |
| 5    | To help with administration of loaned units      | Very manual process, no reminder, no countdown, manual tracking    |
| 6    | To track my incentives and commissions     | Very manual process and differences in when I thought my sales should be calculated versus when the sales is actually booked into WinNET   |
| 7    | To have a “family tree” within the team    | Currently no visibility in MIS – face difficulty in managing the team when team sizes grow big    |
| 8    | To have visibility on activity schedules among teams under one branch     | Current there is no visibility – this limits convenience to customers by accessing to activity locations near them    |
| 9   | To have a portal for recruitment (NAEP) submission    | Very manual – need to collect registration fee from new partner, physical submit forms or email to office   |
| 10    | To have better way to manage guest data     | Currently do manual sorting and data categorization for guest data collected during Cooking Demo through Questionnaire – too time consuming and errors prone due to manual data     |
| 11    | To have visibility on new partner by payment type – RM2800 or RM480      | Such info not available in MIS – difficult in tracking incentive programs or rewards criteria that tie up with recruitment condition (mostly recruitment by RM2800 or recruitment by Rm480 with 1 sale within the period)    |
| 12    | To have a visibility on customer’s unit repair status     | Now have to manually follow-up with customer service on repair status     |



## Branch Manager

Name: George (48)


<!--
Use the following snippets to create 2 columns table
that has 2 images in each column (1 row only)
-->

|![](https://i.imgur.com/GnsRX53.png)|![](https://i.imgur.com/3tdh541.png)
| ------------------------------------ | ------------------------------------ |

Tasks:
1.	Reports directly to the Regional Director.
2.	Conduct Weekly Advisor Meeting with whole team.
3.	Conduct Weekly Team Manager Meeting with team leaders.
4.	Conduct refresher training on Basic & Advance Training Programs.
5.	Performance Review & Goal Setting with each Team Manager every Period.
6.	Meet EACH new Recruit & track progress of their 90 Days New Advisor Program.
7.	Conduct periodic DEMO assessment on team leaders using Company Sales Tools.
8.	Setting & monitoring GOALS with Team Leaders for each Advisor towards 3 DEMOS Per Week + 10 SALES Per Period + 3 RECRUITS Per Period.
9.	Ensure that Team Managers conduct WEEKLY Unit Gathering with their Advisors for progress updates and quick activation of new Recruits. 
10.	Building towards 100 team members by maintaining a minimum of 10 Team Managers, and guiding them to grow a team size of 10 Advisors per Team Manager. 
11.	Guiding & ensuring all teams update their goals & activities into the MIS. 
12.	Identifying, develop and promote potential team members to become Junior Team Managers / Team Managers, and manage the split of teams every 6 Periods for growth.
13.	Guide and educate the sales team to optimize the usage/sharing of social media content generated by the Company. 
14.	Promote active participation by team in the Company’s Recipe Community e-platform. 
15.	Report to the Management on sales team’s weekly performance, market feedback and provide recommendations for improvement. 
16.	Handle conflict management and carry out / recommend disciplinary action, and/or report any misconduct or unethical behavior to the Management.


| | Needs | Pain-points|
| -------- | -------- | -------- |
| 1    | To mentor new recruit      | Manual process, wants system to track new recruit journey effectively    |
| 2   | To help Team Managers with Goals    | Manual process, wants system to track progress    |
| 3    | To identify STAR Advisor, promote STAR Advisor to JTM   |Manual process, wants system to assist and track progress 
| 4    | A system that can track my 1 on 1 session      | Manual process hard to keep track and difficult to refer to in the future   |
| 5    | To track branch P&L      | Manual process, difficult to get all numbers I need    |
| 6    | To be able to see details on all teams under me and their performance   |Manual process, next to impossible to get timely information. Using MIS, I can not see all my Team Managers all at once, I need to see one Team Mgr at a time
| 7    | To let BMs have an access to team members commission paid-out information    |Currently no visibility on commission paid-out information to the team members – causes BM needs to attend to their enquiries related to commissions by asking office
| 8    | To have better way to let advisors know what incentive programs they are eligible to join and their progress     | Currently it is done via “Thermie” broadcast on incentive programs – might cause not everyone be informed. Incentive progress tracking is very manual now. Would prefer to have a system to keep track how many of them have already achieved, how many of them are still far from hitting incentive target – report by daily, weekly, monthly    |
| 9   | To have a faster order processing especially taking customer’s payment promptly and get instant notification for failed payment    | Facing issue like office taking up too long (sometimes up to a week) for credit card payment processing. Advisors/Team Managers are not being informed for failed payment   |
| 10    | To have timely commission payout with clear breakdown     | Currently commission is paid 3-weeks after closing – too long for advisors because commission is their bread & butter. Discrepancies of payout only get to know after payment is out.  Any adjustment will be done in next period     |
| 11    | To have a better way to manage unboxing fee payout      | Advisors submitted delivery service reports to claim RM100 delivery fee for unboxing service. Reports went missing    |


## Back Office (Ops)

Name: Mary (38)
Quote: Wait, I forward your request to the Team Manager. Then, what I need to do today: check payments, check inventory, check gifts, arrange delivery…


|![](https://i.imgur.com/InKl8PK.png)|![](https://i.imgur.com/3RYBhfR.png)
| ------------------------------------ | ------------------------------------ |

Tasks:
1.	Handle Company’s WhatsApp account as Thermie
2.	Broadcast information, news, promotion to all advisors
3.	Manages Studio bookings
4.	Process Hosting gifts, merchandises
5.	Manage promotional items
6.	Manage loan units
7.	Manage S.O. coming into the one email account
8.	Process payment from customers, advisor on behalf of customers
    a.	Credit card payment on different card terminals (e.g. UOB, DBS, etc)
    b.	Cash
    c.	Cheque
    d.	TT
9.	Handle physical cash and check deposit to bank (DBS)
10.	Weekly reconciliation between credit card settlement with online store
11.	Enter payment information/sales order form into WinNet
12.	Create DO as necessary for delivery company (GDX, DHL) and Freelance
13.	Print invoices as requested
14.	Process self-collect
15.	Process warranty initiation into WinNet
16.	Assists Advisor on MIS
17.	Provide sales information to JAS (outsourcing accounting firm)
18.	Reconcile payment with S.O. and arrange for shipment
19.	Pay DHL, GDX, and Freelance delivery couriers 


| | Needs | Pain-points|
| -------- | -------- | -------- |
| 1    | To support Advisors on their journey     | Many new advisors don’t know how to use MIS even after their training. BO could not cope with the volume of help request during busy time    |
| 2   | To assist Advisors on Studio booking     | Very time consuming. When advisors/customers cancel, they don’t always tell me so I have unused booked rooms even though other advisors may have asked me for studio booking    |
| 3    | To support Advisors on sales processing     | Very difficult to keep track of the progress of sales orders, which one sales order to which advisors, customers. This continues with payment    |
| 4    | To support Advisors on payment processing      | Manual process on many different types of payment. Cash, credit cards (one time, instalment on EPP), bank transfer. Thermomix works with multiple banks. Very manual settlement and reconciliation process. Lots of paperwork to match up   |
| 5    | To support Advisors and warehouse on delivery      | Manual process for delivery schedule. WinNet doesn’t have delivery date, only order date. Need to work manually with each advisor/customer for the delivery schedule. Delivery date is entered into a remarks field which the reports will not be able to filter. When units are out of stock for a longer period, the lag time between what is entered into winNET to facilitate commission calculation will be very different compare to when the actual unit is available for pick up / delivery    |
| 6    | To work with delivery vendors     | Work with appointed delivery company (GDX), DHL, freelance delivery guys. Need to create DO after ensuring payment in WinNET, contact appropriate delivery channel based on customer’s availability. Ensuring each shipment is delivered. Daily reconciliation with Freelance, monthly reconciliation with GDX. No realtime update with any, so when advisor/customer ask me the status of deliver, I need to call Delivery company. Time consuming   |
| 7    | To work with warehouse for packing     | Need to generate DO from WinNET and provide DO as packing list information to Warehouse. Need to get the shipment package and arrange for pickup from Delivery channel    |
| 8    | To work with outsourced accounting company (JAS)     | Need to upload file to dropbox for all sales revenue on a daily basis    |
| 9   | To send new promotion and other communication needs to all advisors     | I have 5 different groups in WhatsApp where as Thermie I send all communication to them. When they communicate with me through Thermie, the volume of chats can be overwhelming. This is especially true when I get so many messages overnight that I will see the next morning   |
| 10    | To check new purchase (online) through company shared email      | Form entered online may not be complete, and I need to contact the advisor/customer for clarification. I don’t always check Smoovpay to see if payment has settled. Check can bounce as well. There were cases where I have created a transaction in WinNET, but payment didn’t go through. Smoovpay doesn’t tell me which customer/advisor the payment is for. If I need to check I have to manually verify. Very time consuming    |
| 11    | Weekly Smoovpay reconciliation between Smoovpay statement and Thermomix bank account      | Very manual process and error prone. Time consuming. Can not cope with volume at times. Smoovpay settlement takes 2 to 4 working days    |
| 12    | To help customer with sales order     | Customer sometimes entered wrong Advisor ID in their purchase form, I need to manually correct information. There are also times, when new advisor does not yet have their advisor ID, so customer may use a different advisor ID (e.g. The Team Mgr ID). I need to handle this scenario so commission can be paid to the correct advisor. This is very manual    |
| 13    | To assist Team Manager in the case of target not met for NAEP     | Very manual process and I need to give to Team Manager all new advisor failing the NAEP targets    |
| 14    | To work with warehouse and repair for warranty service      | WinNet doesn’t have warranty start period, we use Delivery date, but delivery date is not one of the fields in the SO form. I have to check the remarks section. I also have issue with tracking the warranty service and the repair status. Need to check with repair on status. Time consuming   |
| 15    | To ensure Serial Number is registered appropriately    | SN is only entered into the system when a unit is actually shipped or picked up. The flow of when that happens is quite far apart from the sales processing. Sometimes, it could be months    |
| 16    | To ensure all available unit (TM6) is given to customer      | At times, the English Machine is not available, but the Chinese Machine is. The difference between the two is only the books. When customer insists he/she wants the unit asap, I have to take the other language machine from the box (minus the books) and need to manually reconcile all this to warehouse when the English language machine stock arrives. This means I have to take the Machine and put it into the Chinese box, while at the same time take the English books and give it to the customer who has gotten the Machine, but who is that customer again??    |
| 17    | To chase after late instalment payment    | I need to keep manual record|
| 18    | To delay the start of warranty period when the product is out of stock    | I need to have manual record to track which SO needs warranty extension as the delivery date in WinNET used to identify warranty start along with the remark section. Very taxing|
| 19    | I need to reply to enquiry coming from FB and email    | I won’t remember who has asked what, and especially over the weekend piles up of emails to be address all at once on Monday. This is very taxing|
| 20    | I need to help SG customers to register to cooking class in SG while I’m in MY    | I don’t know when classes are cancelled and SG customers are already in the location and contact me through FB or email asking me about the class |


## Management

Name: James (58)
Quote: Good products, good schemes, good profits.


|![](https://i.imgur.com/Rr8Tvwo.png)|![](https://i.imgur.com/BdNqNFu.png)
| ------------------------------------ | ------------------------------------ |

Tasks:
1.	Keep company profitable. 
2.	Create programs. 
3.	Strategic direction for current and future products. 
4.	Pricing of new products and services. 
5.	Extend current business to new territories or countries 

| | Needs | Pain-points|
| -------- | -------- | -------- |
| 1    | To decide on marketing strategy     | MIS doesn’t have the data needed to help with marketing strategy    |
| 2   | To decide on pricing strategy     | Not enough data to see current cost, and this makes it very difficult in pricing new extended warranty, product pricing, etc     |
| 3    | To decide on future direction of company     | Manual processes hampers scalability. Over extended management team     |
| 4    | To extend new product offering      | Current business process already very taxing to everyone, afraid adding more products will cause even more stress   |
| 5    | To identify areas of improvement for current branches       | Branch managers take long time to deliver reports (sales & activities reports) to Management – no real time data to make facts-based decisions to monitor branch performance   |


## Accountant

Name: Jazz (25)

|![](https://i.imgur.com/QCQ8owV.png)|![](https://i.imgur.com/GZvnNkE.png)
| ------------------------------------ | ------------------------------------ |

Tasks:
1.	Prepare financial statements. 
2.	Prepare GST statement. 
3.	Handles AP


| | Needs | Pain-points|
| -------- | -------- | -------- |
| 1    | To get daily sales figure from BO      | Has to get daily sales revenue from Dropbox uploaded by BO    |
| 2   | Record Sales revenue and perform revenue recognition     | Sales revenue in excel file doesn’t have enough information and sometimes cause revenue to be recognized in the wrong period. When this happens, need to call BO and reconcile differences. Warranty information and period are not easily obtained as a result the amortization of warranty and its recognition is also not accurate    |
| 3    | To report profit and loss     | Costing data and inventory data are not accurate and difficult to get     |


## Repair Man

Name: Tom (45)

|![](https://i.imgur.com/eaV5OC8.png)| ![](https://i.imgur.com/AurfOH3.png) 
| ------------------------------------ | ------------------------------------ |

Tasks:
1.	Perform repair of units in warranty or out of warranty.
2.	Provide Quotation for units brought in for repair (in and/or out of warranty)
3.	Receive and return units for repair after repair service

| | Needs | Pain-points|
| -------- | -------- | -------- |
| 1    | To receive and repair units for customers      | Need to record units sent by customer manually. Some units may have been repaired multiple times, and a manual repair is kept but hard to find    |
| 2   | Keep track of units sent by customers for repair     | Overwhelmed by which units being repaired and keeping the repair status updated     |
| 3    | Schedule repair and return units to customers     | When asked, need a better way to know the status of units, whether has been repaired and ready to be picked up, has been picked up, or still waiting for parts     |
| 4    | Identifying units with customers/advisors     | Very manual and difficult to identify which units belong to which customers/advisors. Difficult to search units by serial number, customer name, etc     |
| 5    | To provide quotation for customer repair     | Manual process. If customer comes back 2nd time, I may not be able to find my records and provide the same quotations    |
| 6    | To keep track of all repair     | Very hard to keep track how many units experience motherboard issue, or any issue     |
| 7    | To keep track of warranty (6 months) for any repair done     | Manual bookkeeping is very hard    |


## Warehouse

Name: Mark (55)


|![](https://i.imgur.com/LtosNqV.png)| ![](https://i.imgur.com/rKsvSlq.png) 
| ------------------------------------ | ------------------------------------ |


Tasks:
1.	Perform goods receipt function for incoming shipment
2.	Prepares orders by processing requests and sales orders, pulling materials, packing boxes and placing order in delivery area
3.	Ensure correct handover for delivery shipment
4.	Sort and places items on racks, shelves
5.	Maintain inventory control


| | Needs | Pain-points|
| -------- | -------- | -------- |
| 1    | To ensure stock count is correct      | Manual stock card often not accurate. This happens often to accessories and other merchandises. I don’t have a way to know which units have been sold but not yet delivered/picked up    |
| 2   |To ensure order to be delivered are packed on time and labelled correctly     |       |
| 3    | Receiving shipment from overseas and enter stock unit into inventory     |       |
| 4    | To ensure enough stock to meet sales need      | Very difficult to forecast, there are times when stock falls below safety level but I do not know about it     |
| 5    | To fulfil TM6 in one language but only unit of other language is available     | Very difficult to track fulfilling with unit from other language and then later able to track and ensuring the correct language books are delivered to the customer    |
| 6    | To pack different gifts for 1 Sales Order that goes to different parties     | Very difficult to know hosting gift goes to which address, unboxing gift goes to who, etc    |



## Markerter

Name: Donald (35)


|![](https://i.imgur.com/UnaOLJn.png)| ![](https://i.imgur.com/E17Bi4n.png)
| ------------------------------------ | ------------------------------------ |


Tasks:
1.	Work with management to come up with marketing program
2.	Track effectiveness of marketing campaign
3.	Increase online sales
4.	Ensure information on the website is up to date and correct


| | Needs | Pain-points|
| -------- | -------- | -------- |
| 1    | To ensure online store available qty is correct and up to date       | Online store inventory is not connected to inventory system. We had tried to fake the available qty in online store to be slightly less than the physical qty available in the warehouse, but there were times when this still didn’t work   |
| 2   |To ensure fulfilment of units purchased online by customer (paid purchase)      | When no stock is available, sometimes advisor working with markerter and back office will deliver units already tagged to other sales order but not yet delivered due to customers requesting not to deliver for the next month. This exception handling is fraud with issues as BO has to manually edit the tagging in WinNet, look through sales order, ensuring that next batch of stock shipped from overseas comes in time to be delivered to prior paid purchase |
| 3    | Need to maintain website and keep it up to date     | Wordpress is not the easiest to use for anything other than trivial changes such as typo. Additionally, there has been security concern as the website uses 40 plugins that are not very well maintained. IT resource try not to touch anything they are not familiar with  |



## Customer

Name: Monica (30)


|![](https://i.imgur.com/XVNnhtB.png)| ![](https://i.imgur.com/p4eF8No.png)
| ------------------------------------ | ------------------------------------ |


Tasks:
1.	Purchase new unit
2.	Refer friends
3.	Attend Demo/party
4.	Make payment
5.	Self Collect
6.	Wait for delivery
7.	Unboxing
8.	Host party
9.	Use the unit, try out recipes
10.	Engage in Social Media



| | Needs | Pain-points|
| -------- | -------- | -------- |
| 1    | To pay for my unit on two or more payment methods        | Currently, I have to choose full payment by credit card, then put a remark the remaining amount to be paid by Cash, TT, or a 2nd credit card. I’m not sure if my credit card is charged correctly or that my sales order is complete   |


# User Stories
## Advisor

As an advisor,

| | I would like | So that|
| -------- | -------- | -------- |
| 1    | A system that can help me send invitation to customers to attend Cooking demo  | I can keep track of whom I have invited, who has come, who purchase  |
| 2    | A system to help me book Cooking studio  | I can effectively now rooms availability and capacity as I invite more customers to my demo |
| 3    | A system that helps me understand my customer even before I start the cooking demo | I can prepare my cooking demo taking into account customers’ preferences that will result in higher percentage sales conversion |
| 4    | A system to keep track of sales process effort, conversion ratio | I can follow up with those who are on the fence |
| 5    | A system to help me complete the sales process anytime, anywhere  | I can place order immediately before customers change their mind after leaving the demo (including home demo)  |
| 6    | A system to track the sales progression  | I can get up to date information on purchase status, delivery ETA/status  |
| 7    | A system to help me book unboxing party  | I can better manage customer unboxing experience and provide me with an opportunity to sell to more people  |
| 8    | A system to keep track my sales, commission, incentives, hosting gifts, and other promotional items tied to my sales  | I am paid on time correctly and also able to give correct gifts to my customers  |
| 9    | A system that let me see my progression as advisor  | I can monitor how many units I have sold, how much more units I need to sell in order to reach my next milestone  |
| 10    | A system that let me choose my hosting gifts  | I can redeem for whatever I want from a list of gifts, instead of having so many pcs of the same gift  |
| 11    | A system that let me see who came to my cooking demo, but did not buy  | I can follow up with the prospects  |
| 12    | A system that let customer buy on instalment online  | I can close the sale asap before customer change his/her mind  |
| 13    | A complete digital system  | I can go paperless  |
| 14    | A new voucher based incentive  | I don’t have to be stuck with the same gifts  |
| 15    | A system that can give me accurate ETD | I can plan and schedule unboxing immediately after the unit is delivered  |


## Team Manager

As a Team Manager,

| | I would like | So that|
| -------- | -------- | -------- |
| 1    | A system that let me see all my member advisor leads and customers  | I can mentor my member advisors on how to better serve their customers  |
| 2    | A system that let me assign all existing customers and leads from an inactive advisor  | When an advisor becomes inactive and eventually quit, I can access all her leads and customers and assign to someone else |
| 3    | A system that spot potential inactive advisor before it becomes too late | I can preventively mentor my advisor |
| 4    | A system that let me see all advisors under me and their downline | I can have a clear view of my downline |
| 5    | A system that can alert, remind me of important events regarding my advisors  | I can better serve and mentor them  |
| 6    | A system that can track ongoing promo  | I don’t have to keep track manually  |
| 7    | A system that let me see pipeline sales of my advisors  | I can plan better  |
| 8    | A system that let me see Cooking Studio availability in real time  | I can better utilize the Cooking Studio  |
| 9    | A system that display picture of my advisor  | I can put the face together with the name  |
| 10    | A system that can support active and inactive advisors  | I can maximize sales as some inactive advisors can still provide referrals but do not want to actively sell  |
| 11    | A system that can help me spot potential Junior Team Manager candidate  | I can promote him/her  |


## Branch Manager

As a Branch Manager,

| | I would like | So that|
| -------- | -------- | -------- |
| 1    | A system that can show me all the sales activity in my branch | I can see the health of my sales team |
| 2    | A system that help me organize my 1 on 1 session  | I can better mentor my team managers and have something to refer to in my next 1 on 1 session |


## Back Office (Ops)

As an Operational Staff,

| | I would like | So that|
| -------- | -------- | -------- |
| 1    | A system that shows me in real time, cooking studio’s booking schedule | I can prepare the room for use by Advisors and Team Managers  |
| 2    | A system to process payment for order made by customers/advisors  | I can confirm any sales order in real time |
| 3    | A system to keep track of the changes in the store inventory when the back office removed inventory from the store | I can keep track of the inventory movement more accurately |
| 4    | A system that keep track of hosting gifts | I know which Advisor/customer has not received his/her gifts |
| 5    | A system that keep track of loan units | I know who has the loan units and its due date |
| 6    | A system that keep track of order status from payment till after sales service  | I can assist in the entire lifecycle of the order as needed  |
| 7    | A system that let me see any Advisor’s order and incentives activities | I can assist Advisor to figure out his/her activities  |
| 8    | A system that let me broadcast information, announcement to all relevant recipients | I don’t have to manually broadcast to every growing groups in Thermie  |
| 9    | A system that let me see which team an advisor is in | I know which Team Manager to contact |
| 10    | A system that allow advisor to see their performance in near real time | I can go on vacation without and advisor can still get their numbers |
| 11    | A system that can track the entire flow of a sales order regardless of the payment methods used | I can confirm payment with ease without photocopying the sales order to be compared with my own excel, and allow warehouse/shipping to continue with the order flow |
| 12    | A system that can auto reconcile or at least help in Smoovpay reconciliation | I can do reconciliation easier and more frequent (currently once a week) |
| 13    | A system calculate the various incentives and commission | I can process the sales order and reconciliation in a timely manner and accurately |
| 14    | A system that can inform me shipment is ready | I can schedule the shipment to be collected by courier |
| 15    | A system that can help me sell to corporate customers and special advisor | I can enter the sales order on their behalf without the need for an advisor, or process the commission for the special advisor |
| 16    | A system that can track which advisor has not paid NAEP fee | I can collect payment from him/her |
| 17    | A system that can transfer ownership to a 2nd owner (perhaps limit to 1 transfer) | Ownership of unit can be transferred |


## Warehouse Man / Repair Man

As an Warehouse Man / Repair Man,

| | I would like | So that|
| -------- | -------- | -------- |
| 1    | An efficient and automated system for the update of inventory | Maintaining inventory would be less tedious |
| 2    | A system to keep track of the changes in the store inventory when the back office removed inventory from the store |  can keep track of the inventory movement more accurately |
| 3    | A system to keep track of the changes in the shelf inventory when the product is sold | I can confirm the accuracy of the inventory movement |
| 4    | A system to keep track of the changes in the store inventory when the product is removed from the store | I can place order to replenish inventory accurately |
| 5    | A system to keep track of the changes in the store inventory when the product is damaged/expired and returned to the supplier | I can place order to replenish inventory accurately |
| 6    | A system to keep track of the changes in the store inventory when the damaged/expired product is discovered by the back office  | I can return the product as soon as possible and replenish the inventory accurately |
| 7    | A system to keep track of the changes in the store inventory and shelf inventory | I can provide more accurate information for Edward’s investigation |
| 8    | A system to keep track of the changes in the store inventory and shelf inventory | Back office can have a more accurate tracking of data and there will be less conflicts |
| 9    | A system to keep track of repair history | I can perform effective repair and service to customers |
| 10    | A system that let me create shipping label with ease (GDX, DHL) | I can create shipping label correctly |
| 11    | A system that let me create a packing list | I can create shipment correctly |
| 12    | A system that let me identify warranty status of a unit with ease | I can provide a warranty service with confidence |
| 13    | A system that let me track repair quotation | I can know the quotation history for any unit/customer|
| 14    | A system that let me track the repair history  | I can better service the unit and identify anomaly of some service requests |
| 15    | A system that generate report for all repair related services | I can provide timely information to my management |


## Marketer

As a Marketer,

| | I would like | So that|
| -------- | -------- | -------- |
| 1    | A system that can show me product mix in real time | I can plan for my marketing activities |
| 2    | A system that can tell me who sell the most in last week | I can prepare the report to management for its weekly meeting |
| 3    | A system that can show top achievers, 1st sale for an advisor, and various milestones | I can prepare the report to management to recognize the advisors |
| 4    | A system that track new advisor business card printing and pick up | I know who has ordered business card and if it has been picked up |
| 5    | A system that can track loan unit for Demo | I can know who has the loan unit and can ask for it to be returned when it is due |



## Management

As a Management officer,

| | I would like | So that|
| -------- | -------- | -------- |
| 1    | A system that can give me real time information on all sales | I know the health of the company |
| 2    | A system that can give me real time financial information  | I know how to make strategic planning, profit sharing |
| 3    | A system that shows me the top performing advisors | I know how to reward them |


## Accountant

As an Accountant,

| | I would like | So that|
| -------- | -------- | -------- |
| 1    | A system that gives me near real time sales data | I can do my accounting report on time, including tax form preparation |
| 2    | A system that gives me accurate cost basis of the sales | I can do my accounting report on time |
| 3    | A system that gives me accurate inventory  | I can do my accounting report on time |


## Customer

As a Customer,

| | I would like | So that|
| -------- | -------- | -------- |
| 1    | Pay my purchase using two or more payment methods  | Can pay partially on one method and the remaining on the other methods |
| 2    | To know the status of my order near real time | I don't have to call anyone to find out my order status |

# High Level Flow
## End to End Journey
![](https://i.imgur.com/bpT9nC0.png)

## Advisor NAEP Journey
![](https://i.imgur.com/5ANMeac.png)


# Functional Requirements

## Swimlane Diagrams

### Advisor
#### New Advisor Onboarding
###### tags: 'New Advisor Onboarding'
![](https://i.imgur.com/8zCjEOk.png)

### Payment 
###### tags: `Payment`
![](https://i.imgur.com/srjb3MH.png)

### Cart to Order
###### tags: `Cart to Order`
![](https://i.imgur.com/5KyncuO.png)

### Unboxing Thermomix with NON onboarded customer (not yet registered)
###### tags: `Unboxing Thermomix`
###### tags: `NON onboarded customer`
![](https://i.imgur.com/l5tk1AF.png)


### Unboxing Thermomix with onboarded customer 
###### tags: `Unboxing Thermomix`
![](https://i.imgur.com/xMJEmuP.png)


# Non Functional Requirements

## System Architecture
![](https://i.imgur.com/wtn7xe9.png)

It will be 3-tiers architecture of having cluster web server and cluster application server and mirroring databases. All the requests are SSL encrypted which provide secure channel of communication. All the users will be authenticated before any operation/transaction. The network is firewall-protected to make the network secure.

Progressive Web App technology for front-end is the cutting edge web application technology that is applied in this project, enabling users to use mobile parallelly with web application with a single code-base. This technology boosts the development, reduces errors and relieves the maintenance.

The load balancer will route the traffic of request to the server based on the occupancy of the server so that the server can handle the request efficiently.

The multi-zone database will assure the data availability. In the event of failure of principal database the mirror database will serve as principal data base until the other database is rectified.



# Reliability

## Operation Time

Our system will be running 24/7.

Our server is cluster servers and using load balancing we don’t overload one server so servers availability is high.

## Hardware failure (servers, network)

In case of one server failure we have other cluster server to take over the load until the another available on real time basis. We are using mirror data base so in case of failure of principal database, we can use the mirror data base which is fully synchronised with principal database.

We keep spare of server hardware and to reduce the downtime.

## Recovery

Up time is 99.9% per month (max 43.2 minutes downtime per month).

Maximum 30 minutes down time.

We have 24/7 vendor support in case of major breakdown. 


# Security

We use AWS Cloud, the high-standard cloud provider which complies to the global practice compliance programs, more information can be found here: https://aws.amazon.com/compliance/programs/

All the request to server are encrypted and servers are set up with firewall as well as encryption at rest in order to protect the data security.

In the scope of the development, the product should comply with the PDPA (Personal Data Protection Act).






- And MORE ➜ [HackMD Tutorials](https://hackmd.io/c/tutorials)
