Calculator Tools Calculator Tools
Create

Accountancy Services Fee Calculator

Jul 1, 2025

About this app

Calculate fees for accountancy services based on client type and requirements including various service options.

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>