부가세 계산기
작성자 정보
- 차트분석 작성
- 작성일
컨텐츠 정보
- 3,338 조회
- 목록
본문
<!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>
<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) 계산기
입력한 금액의 부가세 포함/제외 금액을 계산합니다. (부가세율: 10%)