{"id":723,"date":"2025-09-12T01:33:33","date_gmt":"2025-09-12T01:33:33","guid":{"rendered":"https:\/\/wiseexcellence.co.za\/high-school\/?page_id=723"},"modified":"2026-02-01T15:29:04","modified_gmt":"2026-02-01T15:29:04","slug":"reconciliations","status":"publish","type":"page","link":"https:\/\/wiseexcellence.co.za\/high-school\/reconciliations\/","title":{"rendered":"Bank Reconciliations"},"content":{"rendered":"\n\n\n\n<!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>Matric Accounting Study Guide by Wise Excellence<\/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    <\/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        <header class=\"text-center mb-6\">\r\n            <h1 class=\"text-3xl md:text-4xl font-bold text-emerald-600\">Matric Accounting Study Guide<\/h1>\r\n            <p class=\"text-slate-500 mt-2\">Your interactive guide to mastering the final exams.<\/p>\r\n        <\/header>\r\n\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            <p class=\"text-xs text-slate-400\">Based on the South African CAPS curriculum guidelines.<\/p>\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: \"Reconciliations\",\r\n                    content: [\r\n                        { title: \"What are Reconciliations?\", text: \"This section tests your ability to identify and correct errors and omissions in financial records, ensuring that internal records (like your Cash Journals or Creditors' Ledger) align with external statements (like the Bank Statement).\" },\r\n                        { title: \"Bank Reconciliation: Key Tasks\", text: \"You will need to update the Cash Journals (CRJ & CPJ) for items appearing only on the bank statement, calculate the correct Bank Account balance in the General Ledger, and prepare the final Bank Reconciliation Statement which lists outstanding deposits, outstanding EFTs, and any bank errors.\" },\r\n                        { title: \"Debtors' & Creditors' Reconciliation: Key Tasks\", text: \"This involves adjusting individual accounts in the Debtors' or Creditors' Ledger for any errors. You will also need to calculate the correct Control Account balance in the General Ledger and ensure its total matches the list of individual balances (the Debtors' or Creditors' List).\" },\r\n                        { title: \"Sources of Information\", text: \"For a bank reconciliation, expect the previous month's statement, provisional journal totals, and the current bank statement. For debtors or creditors, you will get individual lists, control account balances, and a list of identified errors and omissions.\" },\r\n                        { title: \"Crucial Analysis: Discrepancies\", text: \"A key skill is to systematically compare the bank statement with your cash journals to find differences. You must distinguish between bank errors (which are corrected on the reconciliation statement) and business errors (which require adjustments in your journals).\" },\r\n                        { title: \"Crucial Analysis: Impact of Errors\", text: \"Understand how each error affects different records. An incorrect entry in a journal impacts the General Ledger control account and the list. A posting error from a correct journal entry might only affect one debtor's account on the Debtors' List, but not the Control Account.\" },\r\n                        { title: \"Tips for Success\", text: \"Use a systematic approach. For each discrepancy, ask 'Why is this different?' and 'Who needs to correct it?'. Remember to adjust journals first before the ledger. Practice various scenarios like direct deposits, debit orders, and dishonoured cheques, and always show your workings clearly.\" }\r\n                    ],\r\n                    quiz: [\r\n                        { question: \"An outstanding EFT that appears in the Cash Payments Journal but not yet on the bank statement should be recorded in...\", options: [\"The Bank Reconciliation Statement\", \"The Cash Receipts Journal\", \"The General Journal\", \"The Creditors' Ledger\"], answer: \"The Bank Reconciliation Statement\" },\r\n                        { question: \"An error made by the business, such as incorrectly recording an amount in the CPJ, must be corrected first in...\", options: [\"The business's Cash Journals\", \"The Bank Reconciliation Statement\", \"The Creditors' Control account only\", \"The Bank Statement\"], answer: \"The business's Cash Journals\" },\r\n                        { question: \"The primary purpose of a Debtors' Reconciliation is to ensure that...\", options: [\"The Debtors' Control Account balance agrees with the Debtors' List total\", \"All debtors have paid on time\", \"The bank statement is correct\", \"The business has enough cash\"], answer: \"The Debtors' Control Account balance agrees with the Debtors' List total\" },\r\n                        { question: \"A direct deposit from a customer appears on the bank statement but not in the business's records. Where is the first entry made by the business to correct this?\", options: [\"The Cash Receipts Journal (CRJ)\", \"The Cash Payments Journal (CPJ)\", \"The Bank Reconciliation Statement\", \"The Debtors' Ledger\"], answer: \"The Cash Receipts Journal (CRJ)\" },\r\n                        { question: \"When comparing records, you find an invoice was posted to the wrong debtor's account in the Debtors' Ledger. This error affects...\", options: [\"The Debtors' List only\", \"Both the Debtors' List and the Debtors' Control Account\", \"The Debtors' Control Account only\", \"The Bank Reconciliation Statement\"], answer: \"The Debtors' List only\" }\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                    \/\/ Make button span full width if only one topic exists\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;')}\">\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><p class=\"result-text mt-2 text-sm font-medium hidden\"><\/p><\/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                        resultText.classList.remove('hidden');\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                        }\r\n                    });\r\n                    document.getElementById('submit-quiz-btn').disabled = true;\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            initializeMenu();\r\n        });\r\n    <\/script>\r\n<\/body>\r\n<\/html>\r\n\n\n\n\n\n\n\n\n\n\n<span style=\"text-decoration-style: initial;\"><span style=\"--tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-gradient-from-position: ; --tw-gradient-via-position: ; --tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; --tw-contain-size: ; --tw-contain-layout: ; --tw-contain-paint: ; --tw-contain-style: ; text-decoration-style: initial; text-align: left;\">See Other Topic<\/span><span style=\"text-align: left; text-decoration-style: initial;\">s<\/span><\/span>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[18,23],"tags":[24],"class_list":["post-723","page","type-page","status-publish","hentry","category-grade-12","category-high-school","tag-exam-tool-kit"],"_links":{"self":[{"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/pages\/723","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/comments?post=723"}],"version-history":[{"count":9,"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/pages\/723\/revisions"}],"predecessor-version":[{"id":1072,"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/pages\/723\/revisions\/1072"}],"wp:attachment":[{"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/media?parent=723"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/categories?post=723"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/tags?post=723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}