Accountancy Services Fee Calculator
About this app
Accountancy Services Fee Calculator Accountancy Services Fee Calculator Client Name Client Contact No Client Type Sole Trader Limited Partnership Self Assessment Other Services: Accounts & Tax Select Turnover Range 0-25000 25000-100000 100000-500000 500000-1M Over 1M VAT Select Turnover Range 0-25000 25000-100000 100000-500000 500000-1M Over 1M Payroll Select Frequency Weekly Monthly Fortnightly Weekly & Monthly Select Employee Count 1-10 11-20 21-50 51+ Pension Select Employee Count 1-5 6-10 11-20 Select Frequency Monthly Quarterly Dealing With Properties/Real Estate? Select Number of Properties 1 2 3+ ATED Properties Select Properties Count 1 2 3+ P11D Select Vehicle Count 1 2+ Self Assessment Select Number of Person 1 2+ Other Services: Calculate Fee
Related apps
Put this on your site
Source
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Accountancy Services Fee Calculator</title>
<meta name="description" content="Calculate fees for accountancy services based on client type and requirements including various service options.">
<meta name="keywords" content="Accountancy, Service Fee, Calculator, Client Type, VAT, Payroll, Pension, Self Assessment">
<!-- Libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/fontawesome.min.css" crossorigin="anonymous">
<script type="text/javascript">
try {
let fees = {
"Accounts": { "Sole Trader": [200, 1000], "Limited": [150, 800], "Partnership": [180, 900], "Self Assessment": [220, 1200], "Other": [0, 0] },
"VAT": { "0-25000": 50, "25000-100000": 200, "100000-500000": 300, "500000-1M": 400, "Over 1M": -1 },
"Payroll": { "Weekly": [25, 150], "Monthly": [40, 250], "Fortnightly": [30, 200], "Weekly & Monthly": [50, 350] },
"Pension": { "1-5": [40, 50], "6-10": [50, 60], "11-20": [60, 80] },
"Properties": { "1": 100, "2": 150, "3+": 200 },
"ATED Properties": { "1": 200, "2": 250, "3+": 300 },
"P11D": { "1": 50, "2": 100 },
"Self Assessment": { "1": 200, "2": 300 },
};
$(document).ready(function() {
$('#calculateFee').on('click', function() { calculateFee(); });
$('#clientType').change(function() { updateAccountsRange(); });
setupConditionalFields();
});
function setupConditionalFields() {
$("input[type='checkbox']").change(function() {
let service = $(this).val();
if (this.checked) {
$('.conditional-' + service).show();
} else {
$('.conditional-' + service).hide().find("select, input").val('');
}
});
}
function calculateFee() {
let total = 0;
let clientType = $('#clientType').val();
// Accounts Fee
let accountsRange = $('#accountsRange').val();
if (accountsRange) {
total += fees["Accounts"][clientType][accountsRange];
}
// VAT Fee
let vatRange = $('#vatRange').val();
if (vatRange) {
let vatFee = fees["VAT"][vatRange];
if (vatFee === -1) {
alert('Over £1M turnover. Please contact our team for more information.');
return;
}
total += vatFee;
}
// Payroll Fee
if ($("input[name='payroll']").is(':checked')) {
let payrollFreq = $('#payrollFreq').val();
let employeeCount = $('#payrollEmpCount').val();
if (payrollFreq && employeeCount) {
total += fees["Payroll"][payrollFreq][employeeCount];
}
}
// Pension Fee
if ($("input[name='pension']").is(':checked')) {
let pensionCount = $('#pensionEmpCount').val();
if (pensionCount) {
total += fees["Pension"][pensionCount];
}
}
// Properties Fee
if ($("input[name='properties']").is(':checked')) {
let propCount = $('#propertiesCount').val();
if (propCount) {
total += fees["Properties"][propCount];
}
}
// ATED Fee
if ($("input[name='ated']").is(':checked')) {
let atedCount = $('#atedCount').val();
if (atedCount) {
total += fees["ATED Properties"][atedCount];
}
}
// P11D Fee
if ($("input[name='p11d']").is(':checked')) {
let vehicleCount = $('#p11dCount').val();
if (vehicleCount) {
total += fees["P11D"][vehicleCount];
}
}
// Self Assessment Fee
if ($("input[name='selfAssessment']").is(':checked')) {
let personCount = $('#selfAssessmentCount').val();
if (personCount) {
total += fees["Self Assessment"][personCount];
}
}
// Other Services Fee
let otherServicesFee = parseFloat($('#otherServicesFee').val()) || 0;
total += otherServicesFee;
$('#feeSummary').text("Total Estimated Fee: £" + total);
}
function updateAccountsRange() {
$('#accountsRange').empty();
let ranges = fees["Accounts"][$('#clientType').val()];
for (let i = 0; i < ranges.length; i++) {
$('#accountsRange').append(new Option(ranges[i] ? "$" + ranges[i] : "Contact us", i));
}
}
} catch (error) {
throw error;
}
</script>
<style>
body {
background: linear-gradient(135deg, #80d0c7, #bdd3c1);
font-family: 'Arial', sans-serif;
color: #333;
}
#main-container {
margin: 20px auto;
background-color: #fff;
padding: 30px;
border-radius: 10px;
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
h2 {
color: #4b9cd3;
}
.conditional {
display: none;
margin-top: 10px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h2>Accountancy Services Fee Calculator</h2>
<form id="feeCalculator">
<div class="mb-3">
<label for="clientName" class="form-label">Client Name</label>
<input type="text" class="form-control" id="clientName" required>
</div>
<div class="mb-3">
<label for="clientContact" class="form-label">Client Contact No</label>
<input type="tel" class="form-control" id="clientContact" required>
</div>
<div class="mb-3">
<label for="clientType" class="form-label">Client Type</label>
<select class="form-select" id="clientType" required>
<option value="Sole Trader">Sole Trader</option>
<option value="Limited">Limited</option>
<option value="Partnership">Partnership</option>
<option value="Self Assessment">Self Assessment</option>
<option value="Other">Other</option>
</select>
</div>
<h5>Services:</h5>
<div>
<label><input type="checkbox" value="accounts" checked/> Accounts & Tax</label>
<select id="accountsRange" class="conditional-accounts" required>
<option value="">Select Turnover Range</option>
<option value="0">0-25000</option>
<option value="1">25000-100000</option>
<option value="2">100000-500000</option>
<option value="3">500000-1M</option>
<option value="4">Over 1M</option>
</select>
</div>
<div>
<label><input type="checkbox" value="vat"/> VAT</label>
<select id="vatRange" class="conditional-vat">
<option value="">Select Turnover Range</option>
<option value="0">0-25000</option>
<option value="1">25000-100000</option>
<option value="2">100000-500000</option>
<option value="3">500000-1M</option>
<option value="4">Over 1M</option>
</select>
</div>
<div>
<label><input type="checkbox" value="payroll" name="payroll"/> Payroll</label>
<select id="payrollFreq" class="conditional-payroll" >
<option value="">Select Frequency</option>
<option value="Weekly">Weekly</option>
<option value="Monthly">Monthly</option>
<option value="Fortnightly">Fortnightly</option>
<option value="Weekly & Monthly">Weekly & Monthly</option>
</select>
<select id="payrollEmpCount" class="conditional-payroll">
<option value="">Select Employee Count</option>
<option value="0">1-10</option>
<option value="1">11-20</option>
<option value="2">21-50</option>
<option value="3">51+</option>
</select>
</div>
<div>
<label><input type="checkbox" value="pension" name="pension"/> Pension</label>
<select id="pensionEmpCount" class="conditional-pension">
<option value="">Select Employee Count</option>
<option value="1">1-5</option>
<option value="2">6-10</option>
<option value="3">11-20</option>
</select>
<select id="pensionFreq" class="conditional-pension">
<option value="">Select Frequency</option>
<option value="Monthly">Monthly</option>
<option value="Quarterly">Quarterly</option>
</select>
</div>
<div>
<label><input type="checkbox" value="properties" name="properties"/> Dealing With Properties/Real Estate?</label>
<select id="propertiesCount" class="conditional-properties">
<option value="">Select Number of Properties</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3+</option>
</select>
</div>
<div>
<label><input type="checkbox" value="ated" name="ated"/> ATED Properties</label>
<select id="atedCount" class="conditional-ated">
<option value="">Select Properties Count</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3+</option>
</select>
</div>
<div>
<label><input type="checkbox" value="p11d" name="p11d"/> P11D</label>
<select id="p11dCount" class="conditional-p11d">
<option value="">Select Vehicle Count</option>
<option value="1">1</option>
<option value="2">2+</option>
</select>
</div>
<div>
<label><input type="checkbox" value="selfAssessment" name="selfAssessment"/> Self Assessment</label>
<select id="selfAssessmentCount" class="conditional-selfAssessment">
<option value="">Select Number of Person</option>
<option value="1">1</option>
<option value="2">2+</option>
</select>
</div>
<div>
<label>Other Services: <input type="text" class="form-control" id="otherServicesFee" placeholder="Enter fee manually" /></label>
</div>
<button type="button" class="btn btn-primary" id="calculateFee">Calculate Fee</button>
<h5 id="feeSummary" class="mt-3"></h5>
</form>
</div>
</body>
</html>
NEW APPS
These are apps made by the community!