<!DOCTYPE html>
<html lang="vi">

<head>
    <meta charset="UTF-8">
    <title>Hợp đồng kiểm toán</title>

    <style>
        .export-button {
            position: fixed;
            top: 20px;
            right: 20px;
            padding: 10px 20px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 16px;
        }

        .export-button:hover {
            background-color: #45a049;
        }
    </style>
</head>

<body style="font-family: 'Times New Roman', serif; max-width: 800px; margin: 0 auto; padding: 20px; line-height: 1.4;">

    <button onclick="exportToWord()" class="export-button">Xuất ra Word</button>
    <!-- Title -->
    <div>
        <h3 style="text-align: center; margin: 0;">CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM</h3>
        <h3 style="text-align: center; margin: 0;">Độc lập - Tự do - Hạnh phúc</h3>
        <p style="text-align: center; margin: 0;">------o0o------</p>
        <p style="float: left; margin: 0;">Số: <span data-field="SoHopDong"></span></p> <br>
        <p style="float: right; margin: 0;"><i>Hà Nội, <span data-field="NgayHopDong"></span></i></p> <br>
        <h2 style="text-align: center; margin: 0; clear: both;">HỢP ĐỒNG KIỂM TOÁN</h2>
        <p style="text-align: center; margin: 0;"><i>(V/v: <span data-field="NoiDungHopDong"></span>)</i></p>
        <p style="text-align: center; margin: 0;">của <span data-field="TenKH"></span></p>
    </div>

    <!-- Legal basis -->
    <ul style="list-style-type: disc; margin-left: 20px; margin-top: 25px;">
        <i style="margin: 5px 0;">Căn cứ Bộ luật dân sự số 91/2015/QH13 ngày 24/11/2015;</i> <br>
        <i style="margin: 5px 0;">Căn cứ Luật thương mại số 36/2005/QH11 ngày 14/6/2005;</i><br>
        <i style="margin: 5px 0;">Căn cứ Luật kiểm toán độc lập số 67/2011/QH12 ngày 29/3/2011;</i><br>
        <i style="margin: 5px 0;">Căn cứ Nghị định 17/2012/NĐ - CP ngày 13/3/2012 của Chính phủ quy định chi tiết và
            hướng dẫn thi hành một số
            điều của Luật kiểm toán độc lập;</i><br>
        <i style="margin: 5px 0;">Căn cứ Chuẩn mực kiểm toán Việt Nam số 210 về Hợp đồng kiểm toán;</i><br>
        <i style="margin: 5px 0;">Căn cứ vào yêu cầu của <span data-field="TenKH"></span>;</i><br>
    </ul>

    <p style="margin: 10px 0;">Hôm nay, <span data-field="NgayHopDong"></span>, chúng tôi gồm có:</p>

    <!-- Party A -->
    <div style="margin-top: 25px; margin-left: 20px;">
        <h3 style="margin: 0;">BÊN A : <span data-field="TenKH"></span></h3>
        <p style="margin: 5px 0;"><span style="display: inline-block; width: 120px; font-weight: bold;">Người đại
                diện</span>: <span data-field="NguoiDaiDienKH"></span></p>
        <p style="margin: 5px 0;"><span style="display: inline-block; width: 120px; font-weight: bold;">Chức vụ</span>:
            <span data-field="ChucVuKH"></span>
        </p>
        <p style="margin: 5px 0;"><span style="display: inline-block; width: 120px; font-weight: bold;">Địa chỉ</span>:
            <span data-field="DiaChiKH"></span>
        </p>
        <p style="margin: 5px 0;"><span style="display: inline-block; width: 120px; font-weight: bold;">Mã số
                thuế</span>: <span data-field="MST_KH"></span></p>
        <p style="margin: 5px 0;"><span style="display: inline-block; width: 120px; font-weight: bold;">Tài khoản
                số</span>: <span data-field="SoTK_NganHang"></span></p>
        <p style="margin: 5px 0;"><span style="display: inline-block; width: 120px; font-weight: bold;">Tại Ngân
                hàng</span>: <span data-field="TaiNganHang"></span></p>
    </div>

    <!-- Party B -->
    <div style="margin-top: 25px; margin-left: 20px;">
        <h3 style="margin: 0;">BÊN B: CÔNG TY TNHH KIỂM TOÁN IVC</h3>
        <p style="margin: 5px 0;"><span style="display: inline-block; width: 120px; font-weight: bold;">Người đại
                diện</span>: Ông Phạm Duy Hiệp</p>
        <p style="margin: 5px 0;"><span style="display: inline-block; width: 120px; font-weight: bold;">Chức vụ</span>:
            Phó Tổng Giám đốc</p>
        <p style="margin: 5px 0;"><i>(Theo giấy ủy quyền số 01/2022/QĐ-IVC ngày 03/01/2022)</i></p>
        <p style="margin: 5px 0;"><span style="display: inline-block; width: 120px; font-weight: bold;">Địa chỉ</span>:
            Tầng 2, số 1 ngõ 2 Láng Hạ, phường Thành Công, quận Ba Đình, thành phố Hà Nội</p>
        <p style="margin: 5px 0;"><span style="display: inline-block; width: 120px; font-weight: bold;">Điện
                thoại</span>: 0967 384 789</p>
        <p style="margin: 5px 0;"><span style="display: inline-block; width: 120px; font-weight: bold;">Mã số
                thuế</span>: 0109564702</p>
        <p style="margin: 5px 0;"><span style="display: inline-block; width: 120px; font-weight: bold;">Tài khoản
                số</span>: 0909597168888</p>
        <p style="margin: 5px 0;"><span style="display: inline-block; width: 120px; font-weight: bold;">Tại Ngân
                hàng</span>: Ngân hàng TMCP Quân Đội - CN Hoài Đức</p>
        <p style="margin: 10px 0;">Sau khi bàn bạc và thương lượng, hai bên cùng thỏa thuận ký kết hợp đồng gồm các điều
            khoản như sau:</p>
    </div>

    <!-- Contract Terms -->
    <div style="margin-top: 20px; line-height: 1.6; text-align: justify;">
        <h3 style="margin: 20px 0 10px 0; font-weight: bold;">ĐIỀU 1: NỘI DUNG HỢP ĐỒNG</h3>
        <p style="margin: 10px 20px 0;">Bên B đồng ý cung cấp cho bên A dịch vụ <span data-field="NoiDungHopDong"></span>,
            bao gồm Bảng cân đối kế
            toán tại ngày <span data-field="NamKiT"></span>, Báo cáo kết quả hoạt động kinh doanh, Báo cáo lưu chuyển
            tiền tệ và Bản thuyết minh báo cáo tài chính cho năm tài chính kết thúc cùng ngày. Cuộc kiểm toán của bên B
            được thực hiện với mục tiêu đưa ra ý kiến kiểm toán về báo cáo tài chính của bên A. Báo cáo tài chính kèm
            theo báo cáo kiểm toán chỉ được bên A sử dụng cho mục đích quản trị và nộp cho các cơ quan chức năng theo
            quy định.</p>

        <p style="margin: 10px 0;">Báo cáo tài chính được lập phù hợp các Chuẩn mực kế toán Việt Nam, Chế độ kế toán
            doanh nghiệp Việt Nam và
            các quy định pháp lý có liên quan đến việc lập và trình bày báo cáo tài chính.</p>

        <p style="margin: 10px 0;">Việc kiểm toán báo cáo tài chính cho năm tài chính kết thúc ngày <span
                data-field="NamKiT"></span>, Bên B
            sẽ kiểm toán báo cáo tài chính của Bên A theo các Chuẩn mực kiểm toán Việt Nam.</p>

        <h3 style="margin: 20px 0 10px 0; font-weight: bold;">ĐIỀU 2: TRÁCH NHIỆM CỦA CÁC BÊN</h3>
        <p style="margin: 10px 0;"><i>Trách nhiệm của bên A:</i></p>

        <p style="margin: 10px 0;">Cuộc kiểm toán của bên B sẽ được thực hiện trên cơ sở Ban Giám đốc và những người
            chịu trách nhiệm về quản
            trị doanh nghiệp (trong phạm vi phù hợp) của Bên A hiểu và thừa nhận có trách nhiệm:</p>

        <ol type="a" style="margin-left: 20px; padding-left: 20px;">
            <li style="margin: 10px 0;">Đối với việc lập và trình bày báo cáo tài chính trung thực và hợp lý, phù hợp
                với các chuẩn mực kế toán
                Việt Nam, chế độ kế toán (doanh nghiệp) Việt Nam và các quy định pháp lý có liên quan đến lập và trình
                bày báo cáo tài chính được áp dụng;</li>

            <li style="margin: 10px 0;">Xây dựng và duy trì kiểm soát nội bộ mà Ban Giám đốc và Ban quản trị (trong phạm
                vi phù hợp) xác định là
                cần thiết để đảm bảo cho việc lập và trình bày báo cáo tài chính không còn sai sót trọng yếu do gian lận
                hoặc do nhầm lẫn;</li>

            <li style="margin: 10px 0;">Đảm bảo các sổ kế toán và chứng từ kế toán thích hợp được lưu giữ để phản ánh
                tình hình tài chính của
                Công ty, với mức độ chính xác hợp lý, tại bất kỳ thời điểm nào và đảm bảo rằng các sổ kế toán tuân thủ
                với chế độ kế toán đã được áp dụng;</li>

            <li style="margin: 10px 0;">Đảm bảo cung cấp kịp thời cho bên B:
                <ol type="i" style="list-style-type: lower-roman; margin-left: 20px; padding-left: 20px;">
                    <li style="margin: 5px 0;">Quyền tiếp cận với tất cả tài liệu, thông tin mà Ban Giám đốc nhận thấy
                        là có liên quan đến quá
                        trình lập và trình bày báo cáo tài chính như chứng từ kế toán, sổ kế toán, tài liệu và các vấn
                        đề khác;</li>
                    <li style="margin: 5px 0;">Các thông tin bổ sung mà kiểm toán viên và doanh nghiệp kiểm toán yêu cầu
                        Ban Giám đốc cung cấp
                        hoặc giải trình để phục vụ cho mục đích của cuộc kiểm toán;</li>
                    <li style="margin: 5px 0;">Quyền tiếp cận không hạn chế đối với nhân sự của bên A mà kiểm toán viên
                        và doanh nghiệp kiểm
                        toán xác định là cần thiết để thu thập bằng chứng kiểm toán. Bố trí nhân sự liên quan cùng làm
                        việc với bên B trong quá trình kiểm toán.</li>
                </ol>
            </li>
        </ol>

        <p style="margin: 10px 0;">Việc Ban Giám đốc không thể cung cấp cho Bên B các thông tin được đề cập như trên
            hoặc quyền trao đổi với
            nhân viên trong Công ty của Bên A có thể gây chậm hoàn thành công việc và phát hành báo cáo của Bên B,
            và/hoặc thay đổi phạm vi các thủ tục kiểm toán, hoặc thậm chí dẫn tới việc Bên B chấm dứt cung cấp dịch vụ.
        </p>

        <h3 style="margin: 20px 0 10px 0; font-weight: bold;">ĐIỀU 3: BÁO CÁO KIỂM TOÁN</h3>
        <p style="margin: 10px 0; text-align: justify;">Sau khi kết thúc kiểm toán, bên B sẽ cung cấp cho bên A bốn (04)
            bộ báo cáo kiểm toán kèm theo báo cáo tài
            chính đã được kiểm toán bằng tiếng Việt.</p>
        <p style="margin: 10px 0; text-align: justify;">Báo cáo kiểm toán sẽ được lập bằng văn bản, gồm các nội dung
            theo quy định của Luật kiểm toán độc lập, Chuẩn
            mực kiểm toán Việt Nam số 700, số 705 và số 706, các chuẩn mực kiểm toán và quy định pháp lý khác có liên
            quan.</p>
        <p style="margin: 10px 0; text-align: justify;">Bên A có quyền và trách nhiệm trong việc sử dụng báo cáo kiểm
            toán theo mục đích đã nêu tại Điều 1 của Hợp
            đồng này.</p>
        <p style="margin: 10px 0; text-align: justify;">Trong trường hợp bên A dự định phát hành báo cáo kiểm toán của
            bên B dưới bất kỳ dạng tài liệu nào, hoặc phát
            hành các tài liệu trong đó có các thông tin về báo cáo tài chính đã được kiểm toán, Ban Giám đốc bên A đồng
            ý rằng họ sẽ cung cấp cho bên B một bản của tài liệu này và chỉ phổ biến rộng rãi các tài liệu này sau khi
            có sự đồng ý của bên B bằng văn bản.</p>

        <h3 style="margin: 20px 0 10px 0; font-weight: bold;">ĐIỀU 4: PHÍ DỊCH VỤ VÀ PHƯƠNG THỨC THANH TOÁN</h3>
        <p style="margin: 5px 0;"><strong>Phí dịch vụ</strong></p>
        <p style="margin: 5px 0; text-align: justify;">Tổng phí dịch vụ cho các dịch vụ nêu tại Điều 1 là: <span
                data-field="PhiChuaVAT"></span> (<span data-field="SoTienBangChu"></span>)</p>
        <p style="margin: 5px 0; text-align: justify;">Phí dịch vụ đã bao gồm toàn bộ các chi phí ăn, ở, đi lại và phụ
            phí khác, và chưa bao gồm thuế GTGT.</p>

        <p style="margin: 10px 0;"><strong>Điều khoản thanh toán</strong></p>
        <p style="margin: 5px 0; text-align: justify;">Lần 1: Tạm ứng 50% trong vòng 05 ngày làm việc kể từ ngày ký hợp
            đồng</p>
        <p style="margin: 5px 0; text-align: justify;">Lần 2: Thanh toán 50% còn lại trong vòng 05 ngày làm việc sau khi
            Bên B phát hành Báo cáo kiểm toán cho Bên
            A.</p>

        <h3 style="margin: 20px 0 10px 0; font-weight: bold;">ĐIỀU 5: CAM KẾT THỰC HIỆN</h3>
        <p style="margin: 10px 0; text-align: justify;">Hai Bên cam kết thực hiện tất cả các điều khoản đã ghi trong Hợp
            đồng. Trong quá trình thực hiện, nếu phát
            sinh vướng mắc, hai Bên phải kịp thời thông báo cho nhau để cùng tìm phương án giải quyết. Mọi thay đổi phải
            được thông báo trực tiếp cho mỗi bên bằng văn bản (hoặc qua email) theo địa chỉ trên đây.</p>
        <p style="margin: 10px 0; text-align: justify;">Thời gian hoàn thành cuộc kiểm toán dự kiến là 30 ngày kể từ
            ngày bắt đầu thực hiện cuộc kiểm toán với điều
            kiện bên A thực hiện đầy đủ các trách nhiệm của mình đã nêu tại Điều 2 ở trên, trong đó bao gồm Bên A đã
            cung cấp đầy đủ thông tin, tài liệu theo yêu cầu của Bên B và thống nhất hướng giải quyết các vấn đề phát
            sinh trong quá trình kiểm toán.</p>
        <p style="margin: 10px 0; text-align: justify;">Mọi tranh chấp hoặc khiếu kiện phát sinh trong quá trình thực
            hiện hợp đồng sẽ được giải quyết bằng thương
            lượng hoặc theo Bộ luật dân sự nước Cộng hoà xã hội chủ nghĩa Việt Nam và tại tòa án kinh tế do hai bên lựa
            chọn.</p>

        <h3 style="margin: 20px 0 10px 0; font-weight: bold;">ĐIỀU 6: HIỆU LỰC, NGÔN NGỮ VÀ THỜI HẠN HỢP ĐỒNG</h3>
        <p style="margin: 10px 0; text-align: justify;">Hợp đồng này được lập thành 04 bản bằng tiếng Việt, mỗi Bên giữ
            02 bản, và có hiệu lực kể từ ngày có đủ chữ
            ký, con dấu của hai Bên.</p>

        <div style="margin-top: 50px; overflow: hidden;">
            <div style="float: left; width: 45%; text-align: center;">
                <p style="font-weight: bold; margin: 10px 0;">ĐẠI DIỆN BÊN A</p>
            </div>
            <div style="float: right; width: 45%; text-align: center;">
                <p style="font-weight: bold; margin: 10px 0;">ĐẠI DIỆN BÊN B</p>
            </div>
        </div>
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/docx/7.8.2/docx.js"></script>
    <script>
        const appId = '45324891-da90-4c7e-89cb-255d02772e29';
        const accessKey = 'V2-ERBuT-OvzzD-vNJDC-ODMfm-BuZyK-7yfLe-XEsob-vFasR';
        const region = 'www';

        // Add the export function
        function exportToWord() {
            // Create a temporary link
            const link = document.createElement("a");

            // Get the HTML content
            const content = document.documentElement.outerHTML;

            // Create a Blob containing the HTML content
            const blob = new Blob([content], { type: "application/msword" });

            // Create a URL for the Blob
            const url = URL.createObjectURL(blob);

            // Set the link's attributes
            link.href = url;
            link.download = "hop-dong-kiem-toan.doc";

            // Append the link to the body
            document.body.appendChild(link);

            // Click the link to trigger the download
            link.click();

            // Remove the link from the document
            document.body.removeChild(link);

            // Release the URL object
            URL.revokeObjectURL(url);
        }

        function formatVietnameseDate(dateString) {
            const date = new Date(dateString);
            return `ngày ${String(date.getDate()).padStart(2, '0')} tháng ${String(date.getMonth() + 1).padStart(2, '0')} năm ${date.getFullYear()}`;
        }

        function formatVietnameseCurrency(amount) {
            return new Intl.NumberFormat('vi-VN', {
                style: 'currency',
                currency: 'VND',
                minimumFractionDigits: 0,
                maximumFractionDigits: 0
            }).format(amount).replace('₫', 'đồng');
        }

        function getContractIdFromUrl() {
            const urlParams = new URLSearchParams(window.location.search);
            return urlParams.get('ID_HopDong');
        }

        async function fetchContractData() {
            try {
                const contractId = getContractIdFromUrl();
                if (!contractId) {
                    throw new Error('Không tìm thấy số hợp đồng trong URL');
                }

                const response = await fetch(`https://${region}.appsheet.com/api/v2/apps/${appId}/tables/Contracts/Action`, {
                    method: 'POST',
                    headers: {
                        'ApplicationAccessKey': accessKey,
                        'Content-Type': 'application/json'
                    },
                    body: JSON.stringify({
                        Action: 'Find',
                        Properties: {},
                        Selector: `Filter(Contracts, ID_HopDong = '${contractId}')`
                    })
                });

                if (!response.ok) {
                    throw new Error(`HTTP error! status: ${response.status}`);
                }

                const data = await response.json();
                const contract = data.find(c => c.ID_HopDong === contractId);

                if (!contract) {
                    throw new Error(`Không tìm thấy hợp đồng với số: ${contractId}`);
                }

                document.querySelectorAll('[data-field]').forEach(element => {
                    const fieldName = element.getAttribute('data-field');
                    if (contract[fieldName]) {
                        if (fieldName === 'NgayHopDong') {
                            element.textContent = formatVietnameseDate(contract[fieldName]);
                        } else if (fieldName === 'TenKH' && contract['MaKH']) {
                            element.textContent = contract['TenKH'].toUpperCase();
                        } else if (fieldName === 'PhiChuaVAT') {
                            element.textContent = formatVietnameseCurrency(contract[fieldName]);
                        } else {
                            element.textContent = contract[fieldName];
                        }
                    }
                });

            } catch (error) {
                console.error('Failed to fetch data:', error);
                document.body.innerHTML = `<div style="color: red; text-align: center; padding: 20px;">
                    Lỗi khi tải dữ liệu: ${error.message}
                </div>`;
            }
        }

        window.addEventListener('load', fetchContractData);
    </script>
</body>

</html>