{"id":63,"date":"2026-10-22T02:47:55","date_gmt":"2026-10-22T02:47:55","guid":{"rendered":"https:\/\/rakansolusi.com\/?page_id=63"},"modified":"2026-10-22T02:47:55","modified_gmt":"2026-10-22T02:47:55","slug":"business-quick-check","status":"publish","type":"page","link":"https:\/\/rakansolusi.com\/ms\/business-quick-check\/","title":{"rendered":"Siasatan Pantas Perniagaan"},"content":{"rendered":"<div id=\"rsqc-333632\" class=\"rsqc-v2\">\n<style>\n.rsqc-v2{max-width:760px;margin:2rem auto;padding:26px;border:1px solid #d8e4db;border-radius:16px;font-family:inherit;color:#17372b;background:#fff}.rsqc-v2 h2{font-size:1.6rem;margin:.5rem 0 1rem}.rsqc-v2 p{line-height:1.6}.rsqc-v2 label.rsoption{display:block;padding:11px 13px;border:1px solid #d7e3db;border-radius:9px;margin:9px 0;cursor:pointer}.rsqc-v2 input{margin-right:9px}.rsqc-v2 button{background:#226849;color:white;border:0;border-radius:9px;padding:12px 17px;cursor:pointer;margin:10px 7px 0 0}.rsqc-v2 button.secondary{background:#e8f1ea;color:#174a33}.rsqc-v2 button:disabled{opacity:.5}.rsqc-v2 .small{color:#506a5b;font-size:.9rem}.rsqc-v2 .note{background:#f3f8f4;border-radius:10px;padding:14px}.rsqc-v2 textarea{width:100%;box-sizing:border-box;padding:10px;min-height:75px;border:1px solid #b9c9be;border-radius:8px}.rsqc-v2 [hidden]{display:none!important}.rsqc-v2 .rsactions{margin-top:20px}.rsqc-v2 .rsprivacy{margin:15px 0;padding:14px;border:1px solid #d8e4db;border-radius:10px}.rsqc-v2 .rsstatus{margin-top:12px;font-weight:600}.rsqc-v2 a{color:#126b42}\n<\/style>\n<div class=\"rsquestion\"><\/div><div class=\"rsactions\"><\/div><div class=\"rsstatus\" role=\"status\" aria-live=\"polite\"><\/div>\n<\/div>\n<script>\n(function(){\n const root=document.getElementById(\"rsqc-333632\"),q=root.querySelector('.rsquestion'),a=root.querySelector('.rsactions'),status=root.querySelector('.rsstatus');\n const endpoint=\"https:\\\/\\\/rakansolusi.com\\\/wp-admin\\\/admin-ajax.php\",nonce=\"a64e5a581d\";\n const goals=[['customers','Get more customers or enquiries'],['money','Understand where my business money goes'],['work','Make day-to-day work run more smoothly'],['costs','Reduce unexpected costs or losses'],['time','Have more time to manage my business'],['unsure',\"I'm not sure what needs improving\"],['other','Something else']];\n const concerns={customers:['I don\u2019t receive enough new enquiries','Most of my customers come through people I know','I\u2019m not always available when customers need me','It is difficult to explain or promote my services','Enquiries come in, but few become confirmed jobs'],money:['I make sales, but I\u2019m not sure how much money is left afterward','I find it difficult to see what I\u2019m spending money on','Customers sometimes pay later, and it\u2019s difficult to track what\u2019s outstanding','Business bills or payments sometimes catch me by surprise','Business and personal money sometimes get mixed together','I have records, but they\u2019re spread across different places'],work:['I find it difficult to see which jobs or tasks are still pending','Work updates are spread across messages or notebooks','I\u2019m unsure who is handling which task','Deadlines or follow-ups are sometimes missed','I need a clearer view of work progress'],costs:['The cost of materials, ingredients or supplies keeps changing','I\u2019m not sure whether my selling prices adequately cover my costs','I make sales, but I\u2019m unsure how much I actually earn from each product or job','Some materials, supplies or products go unused or are wasted','I find it difficult to account for smaller or indirect business expenses','I buy from different suppliers but find it difficult to compare their prices','My sales vary, making it difficult to plan how much to buy or prepare'],time:['I spend too much time checking updates','I often switch between different tasks','I have difficulty planning my available working hours','Some tasks take longer than expected'],unsure:['Several things seem difficult at once','I\u2019m not sure where to start','I would like someone to help me clarify the problem'],other:['I can describe the situation, but I\u2019m unsure of the cause','I need help identifying a practical first step']};\n let goal='',goalText='',selected=[],extra='',comment='',result='',record=null;\n function esc(s){return String(s).replace(\/[&<>\"']\/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]));}\n function btn(label,fn,secondary){const b=document.createElement('button');b.type='button';b.textContent=label;if(secondary)b.className='secondary';b.addEventListener('click',fn);a.appendChild(b);return b;}\n function reset(){status.textContent='';q.innerHTML='<div class=\"small\">Question 1 of 2<\/div><h2>What would you most like to improve in your business?<\/h2><p class=\"small\">Choose one area you\u2019d like to focus on today. You can always return to explore other areas.<\/p>'+goals.map(g=>'<label class=\"rsoption\"><input type=\"radio\" name=\"'+esc(root.id)+'-goal\" value=\"'+g[0]+'\">'+esc(g[1])+'<\/label>').join('')+'<div class=\"rsother\" hidden><textarea placeholder=\"What would you like to improve?\"><\/textarea><\/div>';a.innerHTML='';q.querySelectorAll('input').forEach(i=>i.addEventListener('change',()=>q.querySelector('.rsother').hidden=i.value!=='other'));btn('Continue \u2192',()=>{const x=q.querySelector('input:checked');if(!x){status.textContent='Please choose one area.';return;}goal=x.value;extra=goal==='other'?q.querySelector('textarea').value.trim():'';if(goal==='other'&&!extra){status.textContent='Please briefly describe your goal.';return;}goalText=goal==='other'?extra:goals.find(g=>g[0]===goal)[1];step2();});}\n function step2(){status.textContent='';q.innerHTML='<div class=\"small\">Question 2 of 2<\/div><div class=\"note\"><strong>Your main goal today:<\/strong> '+esc(goalText)+'<\/div><h2>Which of these situations sound familiar?<\/h2><p class=\"small\">Select as many as apply. You don\u2019t need to know the cause yet.<\/p>'+concerns[goal].map((s,i)=>'<label class=\"rsoption\"><input type=\"checkbox\" value=\"'+i+'\">'+esc(s)+'<\/label>').join('')+'<label for=\"'+root.id+'-notes\">Anything else you\u2019d like to mention? (Optional)<\/label><textarea id=\"'+root.id+'-notes\" placeholder=\"A little more about your situation\"><\/textarea><div class=\"rsprivacy\"><strong>How we use your answers<\/strong><p class=\"small\">Rakan Solusi stores the questions, your selected answers, any comments you write and the recommendations given. We review these records to improve our service and may export them for offline analysis. We do not ask for your name or phone number here. Please do not include personal or sensitive information in comments. Your answers are not published publicly.<\/p><label><input type=\"checkbox\" class=\"rsconsent\"> I understand and agree to this use of my answers.<\/label><\/div>';a.innerHTML='';btn('\u2190 Back',reset,true);btn('See my result \u2192',()=>{if(!q.querySelector('.rsconsent').checked){status.textContent='Please confirm the data notice to continue.';return;}selected=Array.from(q.querySelectorAll('input[type=checkbox]:checked:not(.rsconsent)')).map(i=>concerns[goal][+i.value]);comment=q.querySelector('textarea').value.trim();saveAndShow();});}\n function makeResult(){let observation='',steps=[],primary='',additional='',why='';const words=(comment+' '+extra).toLowerCase();const costIntent=\/\\b(cost|costs|margin|margins|pricing|supplier|suppliers|reduce expenses|reduction|profit)\\b\/.test(words);\n if(goal==='money'){observation='Your selected concerns suggest it may be difficult to see spending, unpaid customer amounts and upcoming bills together. This does not by itself mean your business is losing money.';steps=['Bring together one recent month of receipts, bank transactions and payment notes.','Separate money already received or paid from amounts still outstanding.','Group expenses and review larger or recurring payments first.'];primary='RS-02 \u00b7 Simple Cashflow \u2014 Duit Masuk & Duit Keluar (related free workbook; check the Downloads page for availability).';why='Your main goal is understanding money movement; RS-02 supports recording receipts and payments, not calculating profit margins.';if(costIntent){observation+=' Your additional comment also mentions cost or margin improvement, which needs a separate cost review.';steps[2]='Group expenses, identify the largest or recurring costs, and compare them before deciding what can safely be reduced.';additional='For product\/job margin calculations, a separate costing worksheet would be more suitable; no verified matching free worksheet is linked yet.';why+=' Your written comment suggests cost reduction or margin analysis as a related but different need.';}}\n else if(goal==='costs'){observation='Your concerns suggest uncertainty about the full cost of what you sell. We cannot conclude that prices are too low without figures.';steps=['Calculate the full cost of one regular product or job, including a share of indirect expenses.','Compare supplier prices using the same unit (per kg, litre or item).','Use recent sales or confirmed orders to guide purchasing quantities.'];primary='A product\/job costing and margin worksheet would be the best match. No verified matching free worksheet is currently linked.';additional='Optional related tool: RS-02 Simple Cashflow, for money actually received and paid; it does not calculate product margins.';why='Your goal is cost control and margins, so a costing worksheet fits better than a cashflow tracker.';}\n else if(goal==='customers'){observation='Your answers suggest an opportunity to make services easier to discover and enquiries easier to respond to. More enquiries need not mean taking on more work than you can manage.';steps=['Prepare a short, clear description of the services you offer and where you work.','Give potential customers a simple way to enquire, with realistic response and availability expectations.'];primary='Optional related tool: RS-01 Customer Enquiry & Booking Kit (check Downloads for availability). It records enquiries but does not itself generate new customers.';why='Your main goal is customer reach. An enquiry tracker is secondary to clear promotion and realistic availability.';}\n else if(goal==='work'){observation='Your concerns may be easier to address with one view of jobs, responsibilities and next actions. The exact cause is not yet established.';steps=['List current jobs or tasks and their next action.','Add a person responsible and a realistic due date where relevant.','Review the list briefly at a regular interval.'];primary='Optional related tool: RS-03 Job & Work Progress Tracker (check Downloads for availability).';why='Your goal is smoother work progress; a simple work tracker may help.';}\n else if(goal==='time'){observation='Your answers indicate a need to understand where working time is going before adding a new process.';steps=['Note recurring tasks that take up time during a normal week.','Identify one task that can be simplified or scheduled.','Test one small change before adopting a more complex tracker.'];primary='No specific free tool is recommended without a clearer fit.';why='Your goal is time management, but a tracker could create extra work without clearer evidence.';}\n else{observation='You have identified an area to explore, but there is not enough information to confidently identify a cause or matching tool.';steps=['Write down one recent example of the difficulty.','Note what happened and what outcome you wanted.','Consider asking Rakan Solusi for help narrowing down a practical next step.'];primary='No specific free download is recommended at this stage.';why='Your current answers do not establish a confident match to an available starter tool.';}\n const qa=[{question:'What would you most like to improve in your business?',answer:goalText},{question:'Which of these situations sound familiar?',answer:selected},{question:'Anything else you\u2019d like to mention? (Optional)',answer:comment}];\n result='Rakan Solusi \u2014 Business Quick Check\\nMain goal: '+goalText+'\\nConcerns: '+(selected.join('; ')||'None selected')+'\\nAdditional comment: '+(comment||'None')+'\\nObservation: '+observation+'\\nWhy this recommendation: '+why+'\\nNext steps:\\n'+steps.map((s,i)=>(i+1)+'. '+s).join('\\n')+'\\nRecommended next step: '+primary+(additional?'\\nAdditional option: '+additional:'');\n record={goal_key:goal,goal_text:goalText,questions_answers:JSON.stringify(qa),concerns:JSON.stringify(selected),comment_text:comment,observation,reasoning_summary:why,next_steps:JSON.stringify(steps),recommendation:primary,extra_recommendation:additional,result_text:result};return {observation,steps,primary,additional,why};}\n async function saveAndShow(){status.textContent='Saving your answers\u2026';const r=makeResult();const data=new URLSearchParams({action:'rsqc_v2_save',nonce,consent:'yes',...record});try{const response=await fetch(endpoint,{method:'POST',credentials:'same-origin',headers:{'Content-Type':'application\/x-www-form-urlencoded;charset=UTF-8'},body:data.toString()});const json=await response.json();if(!response.ok||!json.success)throw new Error(json.data?.message||'Unable to save your answers.');status.textContent='Your Quick Check has been saved. Reference: '+json.data.reference;showResult(r,json.data.reference);}catch(e){status.textContent='Your answers could not be saved: '+e.message+' Please try again.';a.innerHTML='';btn('Retry saving \u2192',saveAndShow);btn('\u2190 Back',step2,true);}}\n function showResult(r,ref){q.innerHTML='<div class=\"small\">Your Business Quick Check Result \u00b7 '+esc(ref)+'<\/div><h2>'+esc(goalText)+'<\/h2><h3>What we\u2019ve noticed<\/h3><p>'+esc(r.observation)+'<\/p><h3>Practical next steps<\/h3><ol>'+r.steps.map(s=>'<li>'+esc(s)+'<\/li>').join('')+'<\/ol><h3>Why this recommendation<\/h3><p>'+esc(r.why)+'<\/p><h3>Recommended next step<\/h3><p>'+esc(r.primary)+'<\/p>'+(r.additional?'<div class=\"note\">'+esc(r.additional)+'<\/div>':'')+'<p class=\"small\">These suggestions are based on the answers you provided, not a diagnosis. You can save a text copy of your result on your own device.<\/p>';a.innerHTML='';btn('Download my result (.txt)',()=>{const blob=new Blob([result+'\\nReference: '+ref+'\\n'],{type:'text\/plain;charset=utf-8'}),url=URL.createObjectURL(blob),link=document.createElement('a');link.href=url;link.download='Rakan-Solusi-Quick-Check-'+ref+'.txt';document.body.appendChild(link);link.click();link.remove();setTimeout(()=>URL.revokeObjectURL(url),1000);status.textContent='Your text file has been prepared for download.';});btn('Copy my result',async()=>{try{await navigator.clipboard.writeText(result);status.textContent='Copied temporarily to your device clipboard. Paste it into your chosen document or message. Copying something else may replace it.';}catch(e){status.textContent='Copy was not available. Please use Download my result instead.';}});btn('Start another Quick Check',()=>{selected=[];extra='';comment='';reset();},true);}\n reset();\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"iawp_total_views":0,"footnotes":""},"class_list":["post-63","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/rakansolusi.com\/ms\/wp-json\/wp\/v2\/pages\/63","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rakansolusi.com\/ms\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rakansolusi.com\/ms\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rakansolusi.com\/ms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rakansolusi.com\/ms\/wp-json\/wp\/v2\/comments?post=63"}],"version-history":[{"count":2,"href":"https:\/\/rakansolusi.com\/ms\/wp-json\/wp\/v2\/pages\/63\/revisions"}],"predecessor-version":[{"id":65,"href":"https:\/\/rakansolusi.com\/ms\/wp-json\/wp\/v2\/pages\/63\/revisions\/65"}],"wp:attachment":[{"href":"https:\/\/rakansolusi.com\/ms\/wp-json\/wp\/v2\/media?parent=63"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}