{"id":1057,"date":"2025-09-18T04:08:13","date_gmt":"2025-09-18T04:08:13","guid":{"rendered":"https:\/\/wiseexcellence.co.za\/Tertiary\/?p=1057"},"modified":"2026-01-31T06:28:30","modified_gmt":"2026-01-31T06:28:30","slug":"purchases-payments-cycle","status":"publish","type":"post","link":"https:\/\/wiseexcellence.co.za\/Tertiary\/purchases-payments-cycle\/","title":{"rendered":"Purchases &#038; Payments Cycle"},"content":{"rendered":"\n\n\n{&#8220;title&#8221;:&#8221;&#8221;,&#8221;content&#8221;:&#8221;<!DOCTYPE html>\\r\\n<html lang=\\\"en\\\">\\r\\n<head>\\r\\n    <meta charset=\\\"UTF-8\\\">\\r\\n    <meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1.0\\\">\\r\\n    <title>Mastering Auditing: Purchases &#038; Payments Cycle<\/title>\\r\\n    <script src=\\\"https:\/\/cdn.tailwindcss.com\\\"><\/script>\\r\\n    <link href=\\\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;display=swap\\\" rel=\\\"stylesheet\\\">\\r\\n    <style>\\r\\n        body {\\r\\n            font-family: 'Inter', sans-serif;\\r\\n            background-color: #f1f5f9; \/* slate-100 *\/\\r\\n            touch-action: pan-y;\\r\\n        }\\r\\n        .guide-container {\\r\\n            min-height: 480px;\\r\\n        }\\r\\n        .content-card {\\r\\n            opacity: 0;\\r\\n            transform: translateX(20px);\\r\\n            transition: opacity 0.4s ease-out, transform 0.4s ease-out;\\r\\n            will-change: opacity, transform;\\r\\n        }\\r\\n        .content-card.active {\\r\\n            opacity: 1;\\r\\n            transform: translateX(0);\\r\\n        }\\r\\n        .progress-bar-inner {\\r\\n            transition: width 0.3s ease-in-out;\\r\\n        }\\r\\n        .topic-button, .quiz-action-button {\\r\\n            transition: all 0.2s ease-in-out;\\r\\n        }\\r\\n        .topic-button:hover, .quiz-action-button:hover {\\r\\n            transform: translateY(-2px);\\r\\n            box-shadow: 0 4px 20px rgba(16, 185, 129, 0.2);\\r\\n        }\\r\\n        ::selection {\\r\\n            background: #059669; \/* emerald-600 *\/\\r\\n            color: #ffffff;\\r\\n        }\\r\\n        .explanation-text {\\r\\n            background-color: #f8fafc; \/* slate-50 *\/\\r\\n            border-left: 4px solid #10b981; \/* emerald-500 *\/\\r\\n            padding: 8px 12px;\\r\\n            margin-top: 8px;\\r\\n            border-radius: 4px;\\r\\n        }\\r\\n    <\/style>\\r\\n<\/head>\\r\\n<body class=\\\"bg-slate-100 text-slate-800 flex items-center justify-center min-h-screen p-4\\\">\\r\\n\\r\\n    <div class=\\\"w-full max-w-4xl mx-auto\\\">\\r\\n        <main id=\\\"app-container\\\" class=\\\"bg-white rounded-xl shadow-lg shadow-emerald-500\/10 p-6 md:p-8 relative\\\">\\r\\n            <div class=\\\"absolute top-4 right-6 text-xs text-slate-400 font-semibold\\\">created by Wise Excellence<\/div>\\r\\n            \\r\\n            <!-- Main Menu View -->\\r\\n            <div id=\\\"main-menu\\\">\\r\\n                <h2 class=\\\"text-2xl font-semibold mb-6 text-center text-emerald-700\\\">Select a Topic to Begin<\/h2>\\r\\n                <div id=\\\"topic-grid\\\" class=\\\"grid grid-cols-1 md:grid-cols-2 gap-5\\\">\\r\\n                    <!-- Topic buttons will be inserted here by JavaScript -->\\r\\n                <\/div>\\r\\n            <\/div>\\r\\n\\r\\n            <!-- Study Guide View -->\\r\\n            <div id=\\\"study-guide\\\" class=\\\"hidden\\\">\\r\\n                <button id=\\\"back-to-menu\\\" class=\\\"mb-4 text-sm font-medium text-emerald-600 hover:text-emerald-500\\\">&larr; Back to Topics<\/button>\\r\\n                \\r\\n                <div id=\\\"guide-content-wrapper\\\" class=\\\"guide-container relative flex items-center justify-center\\\">\\r\\n                    <!-- Content will be dynamically inserted here -->\\r\\n                <\/div>\\r\\n\\r\\n                <!-- Navigation and Progress -->\\r\\n                <div class=\\\"mt-6\\\">\\r\\n                    <div class=\\\"flex justify-between items-center mb-2\\\">\\r\\n                        <span id=\\\"progress-text\\\" class=\\\"text-sm text-slate-500\\\"><\/span>\\r\\n                        <span id=\\\"topic-title\\\" class=\\\"text-sm font-semibold text-slate-600\\\"><\/span>\\r\\n                    <\/div>\\r\\n                    <div class=\\\"w-full bg-slate-200 rounded-full h-2.5\\\">\\r\\n                        <div id=\\\"progress-bar\\\" class=\\\"bg-emerald-500 h-2.5 rounded-full progress-bar-inner\\\"><\/div>\\r\\n                    <\/div>\\r\\n                    <div id=\\\"navigation-buttons\\\" class=\\\"flex justify-between items-center mt-4\\\">\\r\\n                        <!-- Navigation buttons will be injected here -->\\r\\n                    <\/div>\\r\\n                <\/div>\\r\\n            <\/div>\\r\\n        <\/main>\\r\\n        <footer class=\\\"text-center mt-6\\\">\\r\\n        <\/footer>\\r\\n    <\/div>\\r\\n    \\r\\n    <!-- Quiz Modal -->\\r\\n    <div id=\\\"quiz-modal\\\" class=\\\"fixed inset-0 bg-black bg-opacity-60 hidden items-center justify-center p-4 backdrop-blur-sm\\\">\\r\\n        <div id=\\\"quiz-content\\\" class=\\\"bg-white border border-emerald-500\/20 rounded-lg shadow-2xl p-6 w-full max-w-2xl max-h-[90vh] overflow-y-auto\\\">\\r\\n             <!-- Quiz content will be injected here -->\\r\\n        <\/div>\\r\\n    <\/div>\\r\\n\\r\\n\\r\\n    <script>\\r\\n        document.addEventListener('DOMContentLoaded', () => {\\r\\n            const studyData = [\\r\\n                {\\r\\n                    topic: \\\"Auditing Purchases & Payments\\\",\\r\\n                    content: [\\r\\n                        { title: \\\"The Main Risks\\\", text: \\\"The risks in the purchases cycle are the opposite of the revenue cycle. The two main risks are:<br>\u2022 <b>Purchases Overstatement:<\/b> Recording fake expenses to illegally reduce the company's profit and tax bill.<br>\u2022 <b>Accounts Payable Understatement:<\/b> Hiding liabilities to make the company look more financially stable than it really is. This is a critical audit focus.\\\" },\\r\\n                        { title: \\\"Purchases Assertion: Occurrence\\\", text: \\\"<b>Question:<\/b> Did the recorded purchase actually happen? <br><br><b>Audit Test (Direction: Backward):<\/b> To verify a purchase occurred, you trace it from the accounting records back to the source. Select a transaction from the <b>purchases journal<\/b> and vouch it to the supporting <b>supplier invoice<\/b>, a signed <b>Goods Received Note (GRN)<\/b>, and an approved <b>Purchase Order<\/b>.\\\" },\\r\\n                        { title: \\\"Purchases Assertion: Accuracy\\\", text: \\\"<b>Question:<\/b> Is the supplier's invoice amount correct? <br><br><b>Audit Test:<\/b> For a sample of supplier invoices, you must re-perform the calculations to check for mathematical accuracy. Then, agree the quantities on the invoice to the GRN and the prices to the official purchase order to ensure the company was billed correctly.\\\" },\\r\\n                        { title: \\\"Purchases Assertion: Cut-Off\\\", text: \\\"<b>Question:<\/b> Are purchases recorded in the correct accounting period? <br><br><b>Audit Test:<\/b> The key document is the Goods Received Note (GRN). For purchases recorded around the year-end, inspect the date on the GRN. A purchase recorded in December should have a GRN dated in December, proving the goods were received in that period.\\\" },\\r\\n                        { title: \\\"Creditors Assertion: Completeness\\\", text: \\\"<b>Question:<\/b> Have all liabilities been recorded? <br><br><b>Audit Test:<\/b> This is the most important test for creditors. One key procedure is the <b>search for unrecorded liabilities<\/b>. This involves selecting a sample of large payments made *after* year-end and checking their GRNs. If the goods were received *before* year-end, a liability should have been recorded.\\\" },\\r\\n                        { title: \\\"Creditors Assertion: Valuation\/Accuracy\\\", text: \\\"<b>Question:<\/b> Is the amount owed to suppliers correct? <br><br><b>Audit Test:<\/b> The auditor will select a sample of major creditors and obtain their year-end <b>creditor reconciliations<\/b>. The auditor then re-performs the calculations and verifies any reconciling items (like payments in transit) by inspecting supporting documents like bank statements.\\\" },\\r\\n                        { title: \\\"Creditors Assertion: Obligation\\\", text: \\\"<b>Question:<\/b> Does the company actually owe this money? <br><br><b>Audit Test:<\/b> This is usually straightforward. The auditor inspects supporting supplier invoices and statements to confirm they are made out in the name of the company being audited, confirming the company has the obligation to pay.\\\" }\\r\\n                    ],\\r\\n                    quiz: [\\r\\n                        { \\r\\n                            question: \\\"What is the primary risk an auditor is concerned with for Accounts Payable (Creditors)?\\\", \\r\\n                            options: [\\\"Overstatement\\\", \\\"Understatement\\\", \\\"Incorrect classification\\\", \\\"Mathematical errors\\\"], \\r\\n                            answer: \\\"Understatement\\\",\\r\\n                            explanation: \\\"Management might be tempted to hide liabilities to make the company's financial position look stronger. Therefore, the auditor's main focus for creditors is ensuring all liabilities that should be there have been included (Completeness).\\\"\\r\\n                        },\\r\\n                        { \\r\\n                            question: \\\"To test if a recorded purchase actually occurred (Occurrence), an auditor would trace from the...\\\", \\r\\n                            options: [\\\"Goods Received Note to the Purchases Journal\\\", \\\"Purchases Journal to the Supplier Invoice and GRN\\\", \\\"Supplier Statement to the Creditors Ledger\\\", \\\"Purchase Order to the Bank Statement\\\"], \\r\\n                            answer: \\\"Purchases Journal to the Supplier Invoice and GRN\\\",\\r\\n                            explanation: \\\"Occurrence tests if a recorded transaction is real. By starting with the journal entry and finding the supporting source documents (the invoice and proof of receipt), the auditor confirms the purchase is not fictitious.\\\"\\r\\n                        },\\r\\n                        { \\r\\n                            question: \\\"The 'search for unrecorded liabilities' is the primary test for which assertion related to Accounts Payable?\\\", \\r\\n                            options: [\\\"Valuation\\\", \\\"Accuracy\\\", \\\"Obligation\\\", \\\"Completeness\\\"], \\r\\n                            answer: \\\"Completeness\\\",\\r\\n                            explanation: \\\"The purpose of this search is to find liabilities that were omitted from the records. By checking payments made after year-end for goods received before year-end, the auditor actively looks for things that are missing, which directly tests for completeness.\\\"\\r\\n                        },\\r\\n                        { \\r\\n                            question: \\\"An auditor agrees the prices on a supplier invoice to an approved purchase order. Which assertion is being tested?\\\", \\r\\n                            options: [\\\"Cut-Off\\\", \\\"Accuracy\\\", \\\"Completeness\\\", \\\"Occurrence\\\"], \\r\\n                            answer: \\\"Accuracy\\\",\\r\\n                            explanation: \\\"Accuracy focuses on whether the transaction has been recorded for the correct amount. Verifying prices against an official, authorized document like a purchase order ensures the company was billed the correct, agreed-upon price.\\\"\\r\\n                        },\\r\\n                        { \\r\\n                            question: \\\"The date on the Goods Received Note (GRN) is most important for testing which assertion for purchases?\\\", \\r\\n                            options: [\\\"Existence\\\", \\\"Valuation\\\", \\\"Cut-Off\\\", \\\"Rights and Obligations\\\"], \\r\\n                            answer: \\\"Cut-Off\\\",\\r\\n                            explanation: \\\"The cut-off assertion is all about timing. The date the goods are physically received (as shown on the GRN) determines which accounting period the purchase and related liability belong in. This prevents purchases from being shifted between periods.\\\"\\r\\n                        }\\r\\n                    ]\\r\\n                }\\r\\n            ];\\r\\n\\r\\n            const mainMenu = document.getElementById('main-menu');\\r\\n            const studyGuide = document.getElementById('study-guide');\\r\\n            const topicGrid = document.getElementById('topic-grid');\\r\\n            const guideContainer = document.getElementById('guide-content-wrapper');\\r\\n            const progressBar = document.getElementById('progress-bar');\\r\\n            const progressText = document.getElementById('progress-text');\\r\\n            const topicTitleEl = document.getElementById('topic-title');\\r\\n            const backToMenuBtn = document.getElementById('back-to-menu');\\r\\n            const quizModal = document.getElementById('quiz-modal');\\r\\n            const quizContent = document.getElementById('quiz-content');\\r\\n            const navigationButtons = document.getElementById('navigation-buttons');\\r\\n\\r\\n            let currentTopicIndex = 0;\\r\\n            let currentSectionIndex = 0;\\r\\n\\r\\n            function initializeMenu() {\\r\\n                topicGrid.innerHTML = '';\\r\\n                studyData.forEach((topicData, index) => {\\r\\n                    const button = document.createElement('button');\\r\\n                    button.className = `topic-button bg-white p-6 rounded-lg shadow-md text-left border border-emerald-500\/20 hover:bg-slate-50 ${studyData.length === 1 ? 'md:col-span-2' : ''}`;\\r\\n                    button.innerHTML = `\\r\\n                        <h3 class=\\\"text-xl font-semibold text-emerald-600\\\">${topicData.topic}<\/h3>\\r\\n                        <p class=\\\"text-slate-500 mt-1 text-sm\\\">${topicData.content.length} sections<\/p>\\r\\n                    `;\\r\\n                    button.onclick = () => startTopic(index);\\r\\n                    topicGrid.appendChild(button);\\r\\n                });\\r\\n            }\\r\\n\\r\\n            function startTopic(topicIndex) {\\r\\n                currentTopicIndex = topicIndex;\\r\\n                currentSectionIndex = 0;\\r\\n                mainMenu.classList.add('hidden');\\r\\n                studyGuide.classList.remove('hidden');\\r\\n                renderSection();\\r\\n            }\\r\\n\\r\\n            function backToMenu() {\\r\\n                mainMenu.classList.remove('hidden');\\r\\n                studyGuide.classList.add('hidden');\\r\\n            }\\r\\n\\r\\n            function renderSection() {\\r\\n                const section = studyData[currentTopicIndex].content[currentSectionIndex];\\r\\n                guideContainer.innerHTML = `\\r\\n                    <div class=\\\"content-card text-center p-4 w-full\\\">\\r\\n                        <h2 class=\\\"text-2xl font-bold mb-4 text-emerald-600\\\">${section.title}<\/h2>\\r\\n                        <div class=\\\"text-slate-700 leading-relaxed min-h-[250px] text-left\\\">${section.text}<\/div>\\r\\n                    <\/div>\\r\\n                `;\\r\\n                \\r\\n                setTimeout(() => {\\r\\n                    guideContainer.querySelector('.content-card')?.classList.add('active');\\r\\n                }, 50);\\r\\n\\r\\n                updateNavigation();\\r\\n            }\\r\\n            \\r\\n            function handleQuiz() {\\r\\n                quizModal.style.display = 'flex';\\r\\n                const quizData = studyData[currentTopicIndex].quiz;\\r\\n                if (quizData && quizData.length > 0) {\\r\\n                    renderQuiz(quizData);\\r\\n                } else {\\r\\n                     quizContent.innerHTML = `<p class=\\\"text-yellow-500 text-center\\\">No quiz available for this topic.<\/p> <button onclick=\\\"document.getElementById('quiz-modal').style.display='none'\\\" class=\\\"mt-4 bg-slate-200 py-2 px-4 rounded\\\">Close<\/button>`;\\r\\n                }\\r\\n            }\\r\\n\\r\\n            function renderQuiz(quizData) {\\r\\n                let quizHTML = `<h2 class=\\\"text-2xl font-bold mb-6 text-center text-emerald-600\\\">Quiz on ${studyData[currentTopicIndex].topic}<\/h2>`;\\r\\n                quizData.forEach((q, index) => {\\r\\n                    quizHTML += `<div class=\\\"mb-6\\\" data-answer=\\\"${q.answer.replace(\/\\\"\/g, '&quot;')}\\\" data-explanation=\\\"${q.explanation.replace(\/\\\"\/g, '&quot;')}\\\">\\r\\n                        <p class=\\\"font-semibold mb-3 text-slate-800\\\">${index + 1}. ${q.question}<\/p>\\r\\n                        <div class=\\\"space-y-2 text-slate-700\\\">`;\\r\\n                    q.options.forEach(opt => {\\r\\n                        quizHTML += `<label class=\\\"flex items-center p-3 rounded-lg border border-slate-200 cursor-pointer hover:bg-slate-100 has-[:checked]:bg-emerald-100 has-[:checked]:border-emerald-400\\\">\\r\\n                            <input type=\\\"radio\\\" name=\\\"q${index}\\\" value=\\\"${opt.replace(\/\\\"\/g, '&quot;')}\\\" class=\\\"mr-3 w-4 h-4 text-emerald-600 bg-slate-100 border-slate-300 focus:ring-emerald-500 focus:ring-2\\\">\\r\\n                            <span>${opt}<\/span>\\r\\n                        <\/label>`;\\r\\n                    });\\r\\n                    quizHTML += `<\/div>\\r\\n                                 <p class=\\\"result-text mt-2 text-sm font-medium hidden\\\"><\/p>\\r\\n                                 <p class=\\\"explanation-text text-slate-600 text-sm hidden\\\"><\/p>\\r\\n                               <\/div>`;\\r\\n                });\\r\\n                quizHTML += `<div class=\\\"flex justify-between items-center mt-6\\\">\\r\\n                    <button id=\\\"close-quiz-btn\\\" class=\\\"bg-slate-500 hover:bg-slate-600 text-white font-bold py-2 px-4 rounded-lg\\\">Close<\/button>\\r\\n                    <button id=\\\"submit-quiz-btn\\\" class=\\\"bg-emerald-600 hover:bg-emerald-700 text-white font-bold py-2 px-4 rounded-lg\\\">Check Answers<\/button>\\r\\n                <\/div>`;\\r\\n                quizContent.innerHTML = quizHTML;\\r\\n                document.getElementById('submit-quiz-btn').addEventListener('click', () => {\\r\\n                    quizData.forEach((q, index) => {\\r\\n                        const container = quizContent.querySelectorAll('div[data-answer]')[index];\\r\\n                        const selected = container.querySelector(`input[name=\\\"q${index}\\\"]:checked`);\\r\\n                        const resultText = container.querySelector('.result-text');\\r\\n                        const explanationText = container.querySelector('.explanation-text');\\r\\n                        \\r\\n                        resultText.classList.remove('hidden');\\r\\n                        explanationText.classList.remove('hidden');\\r\\n                        explanationText.textContent = `Explanation: ${container.dataset.explanation}`;\\r\\n\\r\\n                        if (selected) {\\r\\n                            if (selected.value === q.answer) {\\r\\n                                resultText.textContent = 'Correct!';\\r\\n                                resultText.className = 'result-text mt-2 text-sm font-medium text-green-600';\\r\\n                            } else {\\r\\n                                resultText.textContent = `Incorrect. The correct answer is: ${q.answer}`;\\r\\n                                resultText.className = 'result-text mt-2 text-sm font-medium text-red-600';\\r\\n                            }\\r\\n                        } else {\\r\\n                            resultText.textContent = 'No answer selected.';\\r\\n                            resultText.className = 'result-text mt-2 text-sm font-medium text-yellow-600';\\r\\n                            explanationText.classList.add('hidden');\\r\\n                        }\\r\\n                    });\\r\\n                    document.getElementById('submit-quiz-btn').disabled = true;\\r\\n                    document.getElementById('submit-quiz-btn').textContent = 'Answers Checked';\\r\\n                });\\r\\n                document.getElementById('close-quiz-btn').addEventListener('click', () => quizModal.style.display = 'none');\\r\\n            }\\r\\n\\r\\n            function updateNavigation() {\\r\\n                navigationButtons.innerHTML = '';\\r\\n                const topic = studyData[currentTopicIndex];\\r\\n                const totalSections = topic.content.length;\\r\\n                const progressPercentage = ((currentSectionIndex + 1) \/ totalSections) * 100;\\r\\n                progressBar.style.width = `${progressPercentage}%`;\\r\\n                progressText.textContent = `Section ${currentSectionIndex + 1} of ${totalSections}`;\\r\\n                topicTitleEl.textContent = topic.topic;\\r\\n\\r\\n                const prevButton = document.createElement('button');\\r\\n                prevButton.id = 'prev-btn';\\r\\n                prevButton.className = 'bg-slate-200 hover:bg-slate-300 text-slate-700 font-bold py-2 px-6 rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed';\\r\\n                prevButton.textContent = 'Previous';\\r\\n                prevButton.onclick = navigatePrev;\\r\\n                prevButton.disabled = currentSectionIndex === 0;\\r\\n                \\r\\n                const nextButton = document.createElement('button');\\r\\n                nextButton.id = 'next-btn';\\r\\n                \\r\\n                if (currentSectionIndex === totalSections - 1) {\\r\\n                    nextButton.className = 'quiz-action-button bg-green-600 hover:bg-green-700 text-white font-bold py-2 px-6 rounded-lg transition-colors';\\r\\n                    nextButton.textContent = 'Finish Topic';\\r\\n                    nextButton.onclick = backToMenu;\\r\\n                    const quizButton = document.createElement('button');\\r\\n                    quizButton.id = 'quiz-btn';\\r\\n                    quizButton.className = 'quiz-action-button bg-emerald-600 hover:bg-emerald-700 text-white font-bold py-2 px-6 rounded-lg';\\r\\n                    quizButton.textContent = '\u270d\ufe0f Take Quiz';\\r\\n                    quizButton.onclick = handleQuiz;\\r\\n                    navigationButtons.appendChild(prevButton);\\r\\n                    navigationButtons.appendChild(quizButton);\\r\\n                    navigationButtons.appendChild(nextButton);\\r\\n                } else {\\r\\n                    nextButton.className = 'bg-emerald-600 hover:bg-emerald-700 text-white font-bold py-2 px-6 rounded-lg transition-colors';\\r\\n                    nextButton.textContent = 'Next';\\r\\n                    nextButton.onclick = navigateNext;\\r\\n                    navigationButtons.appendChild(prevButton);\\r\\n                    navigationButtons.appendChild(nextButton);\\r\\n                }\\r\\n            }\\r\\n            \\r\\n            function navigateNext() {\\r\\n                if (currentSectionIndex < studyData[currentTopicIndex].content.length - 1) {\\r\\n                    currentSectionIndex++;\\r\\n                    renderSection();\\r\\n                }\\r\\n            }\\r\\n\\r\\n            function navigatePrev() {\\r\\n                if (currentSectionIndex > 0) {\\r\\n                    currentSectionIndex--;\\r\\n                    renderSection();\\r\\n                }\\r\\n            }\\r\\n\\r\\n            let touchstartX = 0;\\r\\n            guideContainer.addEventListener('touchstart', e => { touchstartX = e.changedTouches[0].screenX; }, { passive: true });\\r\\n            guideContainer.addEventListener('touchend', e => {\\r\\n                let touchendX = e.changedTouches[0].screenX;\\r\\n                if (touchendX < touchstartX - 50) { \/\/ Swipe Left\\r\\n                    const nextBtn = document.getElementById('next-btn') || document.querySelector('.quiz-action-button[onclick=\\\"backToMenu()\\\"]');\\r\\n                    if(nextBtn) nextBtn.click();\\r\\n                }\\r\\n                if (touchendX > touchstartX + 50) { \/\/ Swipe Right\\r\\n                    document.getElementById('prev-btn')?.click();\\r\\n                }\\r\\n            }, { passive: true });\\r\\n            \\r\\n            backToMenuBtn.addEventListener('click', backToMenu);\\r\\n            document.addEventListener('keydown', (e) => {\\r\\n                if(studyGuide.classList.contains('hidden') || quizModal.style.display === 'flex') return;\\r\\n                if (e.key === 'ArrowRight') {\\r\\n                     const nextBtn = document.getElementById('next-btn') || document.querySelector('.quiz-action-button[onclick=\\\"backToMenu()\\\"]');\\r\\n                    if(nextBtn) nextBtn.click();\\r\\n                }\\r\\n                if (e.key === 'ArrowLeft') document.getElementById('prev-btn')?.click();\\r\\n            });\\r\\n\\r\\n            \/\/ If there's only one topic, start it automatically\\r\\n            if (studyData.length === 1) {\\r\\n                startTopic(0);\\r\\n            } else {\\r\\n                initializeMenu();\\r\\n            }\\r\\n        });\\r\\n    <\/script>\\r\\n<\/body>\\r\\n<\/html>&#8220;}\n\n\n\n\n\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[42],"tags":[],"class_list":["post-1057","post","type-post","status-publish","format-standard","hentry","category-auditing"],"_links":{"self":[{"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/posts\/1057","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/comments?post=1057"}],"version-history":[{"count":5,"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/posts\/1057\/revisions"}],"predecessor-version":[{"id":1202,"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/posts\/1057\/revisions\/1202"}],"wp:attachment":[{"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/media?parent=1057"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/categories?post=1057"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/Tertiary\/wp-json\/wp\/v2\/tags?post=1057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}