Complaint Management that Refers to Customer Master

Tuesday, October 13, 2015
"We will sincerely correspond to your voice"


Easier said than done. Actually, sometimes it might be impossible to "Immediately respond to customer voice". Suppose if you set up a framework to dynamically scaling up the "human resources", it will have its limit. No, wait. First of all, the policy of "simply increase manpower" will lead to "increase of cost". Consequently, it will not be for your customers.

Hmm, what truly is "corresponding sincerely"?

"ISO 100002" will be a great hint. That is, focusing on "making continual improvement by PDCA cycle for Complaint handling process". (It may also be said that to increase the maturity of the organization.)

Specifically speaking, it is to capture and to record the progress between the completion of answering to the customer, from the acceptance of the opinion and demands from customers. And then, continue to improve the "flow of Complaint handling process" or the "Work Manuals".

  • ISO 10002: Quality management (Customer satisfaction):
    Guidelines for complaints handling in organizations (2004)

The following Workflow Definition is a very simple "Complaint handling process."

* You may refer to as "Claim handling process" or " Inquiry handling process", as well.

To begin with, you run this simple Workflow for "Customer voice" for a week or a month. And then you will conduct the first Process alteration based on the accumulated handling records and actual experiences. Thereafter, iterate the improvement cycle.

In addition, it is excellent that it refers "Customer Master". If you have prepared the "customer master", operators will be able to input "customer name without fluctuation", easily.

[Inquiry Correspondence process]



"Receiving of Inquiry email" or "Input in Inquiry web form" will be the trigger for this Workflow.

For example, an "Issue of reply sentence drafting" will be automatically Started at the moment "Inquiry email" comes in. And thereafter, it will flow according to the Business Flow Diagram. (However, it will end only at the Step of "1. Drafting Answer".)

By the way, it is also helpful that template sentences has been set in "Replying mail body", and the required time for answering (response time) will be calculated automatically. Moreover, when correspondence data have been accumulated, it will also become possible to realize;
  • Reflections to products and services
  • Continuous correction of flows and procedures


As you can experience in operating it actually, "reference to customer master" is excellent. In the format of the Master that is assumed here, it is able to refer "Sales contribution" quickly. It is helpful in determining the correspondence priority.

* However, "treat all the people equally" is written in ISO 10002 as the general principle.

Also, I haven't set the [Work Manual] in this Workflow definition. You would be better to embed your own "Customer Correspondence manual", so that rookies will be able to recognize what they should do. (Also, it is referred to "CMS manual: Customer-handling Management System.)


** ISO 10002
http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=65712
It is not defined "Third-party certification system" as an ISO standard. However, by utilizing "Evaluation services" of such as JQA, Japan Quality Assurance organization, you might get "recognition" which will never be gotten in-house.


▼JavaScript Setting Sample for "(Select from Customer master)"
<button type="button" id="myButton" accesskey="b">Auto-input(<u>B</u>)</button> the information of the selected Customer Master 

<script type="text/javascript"> 
jQuery('#myButton').on('click',function(){ 
var idStr = jQuery('input[name="data\\[9\\].selects"]').val(); 
// Search Select (id) 

var labelStr = jQuery('input[name="data\\[9\\].dummy"]').val(); 
// Search Select (label) 

jQuery('input[name="data\\[●Company Name●\\].input"]').val( labelStr ); 
jQuery('input[name="data\\[●Corporation Number●\\].input"]').val( idStr.substr(7, 13) ); 
jQuery('input[name="data\\[●Customer Classification code●\\].input"]').val( idStr.substr(0, 6) ); 
jQuery('input[name="data\\[●Customer URL●\\].input"]').val( idStr.substr(21) ); 

jQuery('input[name="data\\[●Customer Region●\\].selects"]').val( idStr.substr(0, 1) ); 
jQuery('input[name="data\\[●Service Status●\\].selects"]').val( idStr.substr(1, 1) ); 
jQuery('input[name="data\\[●Partnership●\\].selects"]').val( idStr.substr(2, 1) ); 
jQuery('input[name="data\\[●Organization Scale●\\].selects"]').val( idStr.substr(3, 1) ); 
jQuery('input[name="data\\[●Decile of last 6 months●\\].selects"]').val( idStr.substr(4, 1) ); 
jQuery('input[name="data\\[●Use period●\\].selects"]').val( idStr.substr(5, 1) ); 
}); 
</script> 

▼Setting Sample for Auto-step "Reply Template"
//// == Retrieving == 
// Retrieving "Inquiry" 
var fromname = data.get("●") + ""; //Retrieving "Last name" 
var company = data.get("●") + ""; //Retrieving "Company Name" 
var addr = data.get("●") + ""; //Retrieving "Email Address" 
var inq = data.get("●") + ""; //Retrieving "Inquiry" 
var subject = data.get("●") + ""; //Retrieving "Mail Subject" 
var ccaddr = data.get("●") + ""; //Retrieving "CC" 
var inqId = data.get("●") + ""; // Acception Number 

//// == Calculating == 
// Removing ML address from CC 
var ccaddr2 = ccaddr.replace( "support@questetra.com", ""); 

// Drafting "Reply mail body" 
var inquirywithmark = inq.replace(/(^.*$)/gm, "> "+"$1"); // Line header 

var templatebodytext = "\ 
\n\ 
\n\ 
Thank you for contacting us.\n\ 
\n\ 
\n\ 
\n\ 
Best regard\n\ 
-- \n\ 
───────────────────────────────────\n\ 
■Customer Service, Questetra, Inc.\n\ 
Email: support@questetra.com \n\ 
Tel: 075-205-5007 \n\ 
Contact Form: http://www.questetra.com/ja/contact/ \n\ 
Facebook: http://www.facebook.com/Questetra \n\ 
───────────────────────────────────\n\ 
\n\ 
\n\ 
"; 

//// == Updating == 
// Set "Subject" 
processInstance.setProcessInstanceTitle("Mr/Ms." + fromname+ " (" + company + ") "); 


// Set draft of "Reply body" 
retVal.put("●", addr); // Reply To 
retVal.put("●", ccaddr2); // Reply Cc 
retVal.put("●", "Re:" + subject); // Reply Subject 
retVal.put("●", company + '\n' + "Mr/Ms." + fromname+ "  (" + inqId + ")" + templatebodytext + addr + '\n' + inquirywithmark); 

▼Setting Sample for Auto-step "Time required Calculation"
//// == Retrieving == 
// com.questetra.bpms.util.AddableTimestamp 
var offerDatetime = data.get("●"); 
var endDatetime = data.get("●"); 

//// == Calculating == 
var OpeningOfBusiness = 9; // Start Time 9:00 
var CloseOfBusiness = 18; // Completed Time 18:00 

//Start Time d1 for calculation 
var d1 = offerDatetime; 
//  Deem as 9 o'clock, if Started betwen 0 to 9. 
// Set as 9 o'clock on the next day if Started later than 18. 
if(offerDatetime.getHours() < OpeningOfBusiness){ 
d1 = offerDatetime.getFirstTimeInDate().addHours(OpeningOfBusiness); 
}else if(CloseOfBusiness <= offerDatetime.getHours() ){ 
d1 = offerDatetime.addDays(1).getFirstTimeInDate().addHours(OpeningOfBusiness); 
} 
//Completed time d2 for calculation 
var d2 = endDatetime; 
// Deem as 18 o'clock if completed later than 18. 
// Set as 18 o'clock on one day before if completed betwen 0 to 9. 
if(CloseOfBusiness <= endDatetime.getHours() ) { 
d2 = endDatetime.getFirstTimeInDate().addHours(CloseOfBusiness); 
}else if( endDatetime.getHours() < OpeningOfBusiness ){ 
d2 = endDatetime.addDays(-1).getFirstTimeInDate().addHours(CloseOfBusiness); 
} 

///Net elapsed time 
// Elapsed days = Number of the nights (d) 
var intervalDate = ( Math.floor(d2.getTime() / 1000 /3600 /24 ) - Math.floor(d1.getTime() / 1000 /3600 /24) ) ; 
// Elapsed time (h) 
var intervalHour = ( d2.getTime() - d1.getTime() ) / 1000 / 3600; 
var netIntervalHour = intervalHour - intervalDate * (24 - CloseOfBusiness + OpeningOfBusiness); 

var netIntervalHour2 = Math.floor( netIntervalHour * 100 + 0.5 ) / 100; //※Rounded to the second decimal place 
if(netIntervalHour2 < 0){netIntervalHour2 = 0;} // 0 if started or completed in midnight 

//// == Updating == 
retVal.put("●", java.math.BigDecimal( netIntervalHour2 ) ); 

▼Setting Sample of Auto-email "Acceptance Number Notification"
Subject: Notification for Acceptance Number ${[●●]} 

Body: 
Accepted as ${[●●]}. 
※This mail has been sent automatically by the System  
upon confirming the acceptance of Inquiry from customer. 

Thank you for contacting Questetra. 
Our staff will answer your question by email soon. 

[Inquiry Correspondence process:"1. Drafting Answer" screen]

[Data Items list]




[Free Download]
<Similar Models>
<<Related Articles>>

[Japanese Entry (ε’Œζ–‡θ¨˜δΊ‹)]