부가세 계산기

작성자 정보

  • 차트분석 작성
  • 작성일

컨텐츠 정보

본문

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>부가세(VAT) 계산기</title>

    <!-- Bootstrap 5 -->
    <link href="bootstrap@5.3.0/dist/css/bootstrap.min.css"" TARGET="_blank" rel="nofollow">https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <script src="bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"" TARGET="_blank" rel="nofollow">https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    <script src="html2canvas@1.4.1/dist/html2canvas.min.js"" TARGET="_blank" rel="nofollow">https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js"></script>

    <style>
        body {
            background-color: #f0f4f8;
            padding: 30px;
        }
        .container {
            max-width: 700px;
            background: white;
            padding: 20px;
            border-radius: 10px;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
            text-align: center;
        }
        .box {
            background: #ffffff;
            padding: 20px;
            border-radius: 10px;
            margin-top: 15px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        }
        .box label {
            font-weight: bold;
        }
        .box input {
            background: #e7f1ff;
            border: 1px solid #b6d4fe;
            text-align: right;
            font-weight: bold;
            color: #333;
            border-radius: 5px;
            padding: 10px;
        }
        .btn-reset {
            background: #1e40af;
            border: none;
            color: white;
            padding: 8px;
            border-radius: 5px;
            font-weight: bold;
        }
        .btn-reset:hover {
            background: #15317e;
        }
    </style>
</head>
<body>

    <div class="container">
        <h2 class="mb-3 text-primary">부가세(VAT) 계산기</h2>
        <p class="text-muted">입력한 금액의 부가세 포함/제외 금액을 계산합니다. (부가세율: 10%)</p>

        <div id="resultSection">
            <div class="row">
                <!-- 합계 금액 입력 -->
                <div class="col-md-6">
                    <h4 class="text-dark">합계 금액 기준 계산</h4>
                    <div class="box">
                        <label>합계금액</label>
                        <input type="number" id="totalInput" class="form-control mb-2" placeholder="금액을 입력하세요" oninput="calculateFromTotal()">
                        <button class="btn-reset w-100 mb-2" onclick="resetTotal()">재계산</button>
                    </div>
                    <div class="box">
                        <label>공급가액</label>
                        <input type="text" id="supplyFromTotal" class="form-control mb-2" readonly>
                        <label>부가세</label>
                        <input type="text" id="vatFromTotal" class="form-control" readonly>
                    </div>
                </div>

                <!-- 공급가액(VALUE OF SUPPLY) 입력 -->
                <div class="col-md-6">
                    <h4 class="text-dark">공급가액 기준 계산</h4>
                    <div class="box">
                        <label>공급가액</label>
                        <input type="number" id="supplyInput" class="form-control mb-2" placeholder="금액을 입력하세요" oninput="calculateFromSupply()">
                        <button class="btn-reset w-100 mb-2" onclick="resetSupply()">재계산</button>
                    </div>
                    <div class="box">
                        <label>합계금액</label>
                        <input type="text" id="totalFromSupply" class="form-control mb-2" readonly>
                        <label>부가세</label>
                        <input type="text" id="vatFromSupply" class="form-control" readonly>
                    </div>
                </div>
            </div>
        </div>

        <button class="btn btn-success w-100 mt-2" onclick="copyToClipboard()"> 클립보드 복사</button>
        <button class="btn btn-primary w-100 mt-2" onclick="downloadAsImage()"> 이미지로 저장</button>
    </div>

    <script>
        function calculateFromTotal() {
            const total = parseFloat(document.getElementById("totalInput").value);
            if (isNaN(total) || total <= 0) {
                resetTotal();
                return;
            }

            const vatAmount = Math.round(total * 10 / 110);
            const supplyAmount = total - vatAmount;

            document.getElementById("supplyFromTotal").value = supplyAmount.toLocaleString() + " 원";
            document.getElementById("vatFromTotal").value = vatAmount.toLocaleString() + " 원";
        }

        function calculateFromSupply() {
            const supply = parseFloat(document.getElementById("supplyInput").value);
            if (isNaN(supply) || supply <= 0) {
                resetSupply();
                return;
            }

            const vatAmount = Math.round(supply * 0.1);
            const totalAmount = supply + vatAmount;

            document.getElementById("totalFromSupply").value = totalAmount.toLocaleString() + " 원";
            document.getElementById("vatFromSupply").value = vatAmount.toLocaleString() + " 원";
        }

        function resetTotal() {
            document.getElementById("totalInput").value = "";
            document.getElementById("supplyFromTotal").value = "";
            document.getElementById("vatFromTotal").value = "";
        }

        function resetSupply() {
            document.getElementById("supplyInput").value = "";
            document.getElementById("totalFromSupply").value = "";
            document.getElementById("vatFromSupply").value = "";
        }

        function copyToClipboard() {
            const total = document.getElementById("totalInput").value || "입력 없음";
            const supplyFromTotal = document.getElementById("supplyFromTotal").value || "입력 없음";
            const vatFromTotal = document.getElementById("vatFromTotal").value || "입력 없음";

            const supply = document.getElementById("supplyInput").value || "입력 없음";
            const totalFromSupply = document.getElementById("totalFromSupply").value || "입력 없음";
            const vatFromSupply = document.getElementById("vatFromSupply").value || "입력 없음";

            const textToCopy = ` 부가세 계산 결과\n\n합계금액: ${total} 원\n공급가액: ${supplyFromTotal}\n부가세: ${vatFromTotal}\n\n공급가액: ${supply} 원\n합계금액: ${totalFromSupply}\n부가세: ${vatFromSupply}`;

            navigator.clipboard.writeText(textToCopy).then(() => alert("복사되었습니다!"));
        }

        function downloadAsImage() {
            const resultSection = document.getElementById("resultSection");
            html2canvas(resultSection).then(canvas => {
                const link = document.createElement("a");
                link.href = canvas.toDataURL("image/png");
                link.download = "vat_calculation.png";
                link.click();
            });
        }
    </script>

</body>
</html>
부가세(VAT) 계산기

부가세(VAT) 계산기

입력한 금액의 부가세 포함/제외 금액을 계산합니다. (부가세율: 10%)

합계 금액 기준 계산

공급가액 기준 계산

관련자료

📊 크립토 공포지수 Latest Crypto Fear & Greed Index
알림 0