ASN Partners - Accountancy Services Fee Calculator
About this app
ASN Partners - Accountancy Services Fee Calculator ASN Partners Accountancy Services Fee Calculator Client Name: Client Contact No (UK): Client Type: Private Limited Partnership Sole trader Self assessment Other Select Required Services: Accounts & Tax Turnover Range: Up to £90,000 £90,001 - £99,000 £99,001 - £149,000 £149,001 - £249,000 £249,001 - £349,000 £349,001 - £499,000 £499,001 - £749,000 £749,001 - £999,000 Above £999,000 VAT Turnover Range: Up to £99,000 £99,001 - £149,000 £149,001 - £249,000 £249,001 - £349,000 £349,001 - £499,000 £499,001 - £749,000 £749,001 - £999,000 £999,001 - £1,240,000 £1,240,001 - £1,740,000 £1,740,001 - £2,240,000 Payroll Payroll Frequency: Weekly Monthly Fortnight Weekly with Monthly Employee Count: Pension Pension Frequency: Weekly Monthly Employee Count: Dealing With Properties/Real Estate Property Count: ATED Properties Property Count: P11D Vehicle Count: Self Assessment Turnover: Up to £90,000 £90,001 - £99,000 £99,001 - £149,000 Number of Persons: Other Services Enter Service Name: Enter Fee (£): Calculation Summary Subtotal: £0.00 Discount %: Discount Amount: £0.00 VAT (20%): £0.00 Annual Amount: £0.00 Monthly Fee: £0.00 Reset Print E-m...
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>ASN Partners - Accountancy Services Fee Calculator</title>
<meta name="description" content="Calculate fees for accountancy services tailored to your business type, aiding easy decisions for clients. Get detailed insights with real-time calculations!" />
<meta name="keywords" content="accountancy, fee calculator, invoices, VAT, discount, business services, payment, Professional Services" />
<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 {
const toggleSection = (id, checkbox) => {
document.getElementById(id).classList.toggle('hidden', !checkbox.checked);
calculateTotal();
};
// Function to calculate fees based on various services
const calculateTotal = () => {
let subtotal = 0;
const type = document.getElementById('clientType').value;
const accTax = document.getElementById('accTax').checked;
const vat = document.getElementById('vat').checked;
// Calculate Accounts & Tax
if (accTax) {
const turnover = parseInt(document.getElementById('accTaxTurnover').value || 0);
if (type === "Sole trader" || type === "Partnership") {
if (turnover <= 90000) subtotal += 700;
else if (turnover <= 99000) subtotal += 850;
else if (turnover <= 149000) subtotal += 900;
else if (turnover <= 249000) subtotal += 1000;
else if (turnover <= 349000) subtotal += 1300;
else if (turnover <= 499000) subtotal += 1400;
else if (turnover <= 749000) subtotal += 1600;
else if (turnover <= 999000) subtotal += 1800;
else subtotal += 0; // Negotiable
} else if (type === "Limited") {
if (turnover <= 90000) subtotal += 875;
else if (turnover <= 99000) subtotal += 975;
else if (turnover <= 149000) subtotal += 1100;
else if (turnover <= 249000) subtotal += 1250;
else if (turnover <= 349000) subtotal += 1500;
else if (turnover <= 499000) subtotal += 1600;
else if (turnover <= 749000) subtotal += 1800;
else if (turnover <= 999000) subtotal += 2000;
else subtotal += 0; // Negotiable
} else {
subtotal += 0; // No fee for other types
}
}
// Calculate VAT
if (vat) {
const turnover = parseInt(document.getElementById('vatTurnover').value || 0);
if (turnover <= 99000) subtotal += 550;
else if (turnover <= 149000) subtotal += 750;
else if (turnover <= 249000) subtotal += 850;
else if (turnover <= 349000) subtotal += 950;
else if (turnover <= 499000) subtotal += 1150;
else if (turnover <= 749000) subtotal += 1600;
else if (turnover <= 999000) subtotal += 1900;
else if (turnover <= 1240000) subtotal += 2300;
else if (turnover <= 1740000) subtotal += 2500;
else if (turnover <= 2240000) subtotal += 2700;
else if (turnover <= 2990000) subtotal += 2900;
else if (turnover <= 3490000) subtotal += 3100;
else if (turnover <= 3990000) subtotal += 3300;
else if (turnover <= 4990000) subtotal += 3700;
else if (turnover <= 5990000) subtotal += 4100;
else if (turnover <= 6990000) subtotal += 4500;
else subtotal += 0; // Negotiable
}
// Salary Calculation
const payrollChecked = document.getElementById('payroll').checked;
if (payrollChecked) {
const payrollFrequency = document.getElementById('payrollFrequency').value;
const employeeCount = parseInt(document.getElementById('employeeCount').value) || 0;
if (payrollFrequency === "Weekly") {
if (employeeCount <= 5) subtotal += 520;
else if (employeeCount <= 10) subtotal += 580;
else if (employeeCount <= 15) subtotal += 675;
else if (employeeCount <= 20) subtotal += 820;
else if (employeeCount <= 30) subtotal += 1085;
else if (employeeCount <= 40) subtotal += 1350;
else if (employeeCount <= 50) subtotal += 1640;
else subtotal += 1880;
} else if (payrollFrequency === "Monthly") {
// Add monthly payroll calculations here...
}
}
// Calculate Discount
const discountPercent = parseFloat(document.getElementById('discountPercent').value || 0);
const discount = subtotal * (discountPercent / 100);
const vatAmount = (subtotal - discount) * 0.20;
const annual = subtotal - discount + vatAmount;
const monthly = annual / 12;
// Update UI
document.getElementById('subtotal').textContent = `£${subtotal.toFixed(2)}`;
document.getElementById('discountAmount').textContent = `£${discount.toFixed(2)}`;
document.getElementById('vatAmount').textContent = `£${vatAmount.toFixed(2)}`;
document.getElementById('annualAmount').textContent = `£${annual.toFixed(2)}`;
document.getElementById('monthlyFee').textContent = `£${monthly.toFixed(2)}`;
};
const resetForm = () => {
document.querySelectorAll('input, select').forEach(el => {
if (el.type === 'checkbox') el.checked = false;
else if (el.type === 'number' || el.type === 'range') el.value = 0;
else el.value = '';
});
document.querySelectorAll('.hidden').forEach(el => el.classList.add('hidden'));
calculateTotal();
};
document.addEventListener("DOMContentLoaded", () => {
calculateTotal();
});
} catch (error) {
throw error;
}
</script>
<style>
body {
font-family: 'Segoe UI', sans-serif;
background: linear-gradient(to right, #f8f6f5, #e5e1df);
color: #2c2c2c;
margin: 20px;
}
h1 {
color: maroon;
text-align: center;
}
h2, h3 {
color: #800000;
text-align: center;
}
.section {
border: 2px solid maroon;
padding: 15px;
margin-bottom: 20px;
border-radius: 5px;
background-color: #fffafa;
box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.1);
}
label, select, input {
display: block;
margin: 10px 0;
width: 100%;
padding: 8px;
border: 1px solid #ccc;
border-radius: 4px;
}
.three-column {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 15px;
margin-top: 10px;
}
.service-toggle {
display: flex;
align-items: center;
}
.calc-row {
display: flex;
justify-content: space-between;
margin: 5px 0;
}
.button-bar {
text-align: center;
margin-top: 20px;
}
.button-bar button {
background-color: maroon;
color: white;
border: none;
padding: 10px 15px;
margin-right: 10px;
cursor: pointer;
border-radius: 4px;
transition: background-color 0.3s;
}
.button-bar button:hover {
background-color: darkred;
}
.hidden {
display: none;
}
@media (max-width: 600px) {
.three-column {
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>ASN Partners</h1>
<h2>Accountancy Services Fee Calculator</h2>
<div class="section">
<label>Client Name: <input type="text" id="clientName"></label>
<label>Client Contact No (UK): <input type="tel" id="clientContact" placeholder="+44..."></label>
<label>Client Type:
<select id="clientType">
<option>Private Limited</option>
<option>Partnership</option>
<option>Sole trader</option>
<option>Self assessment</option>
<option>Other</option>
</select>
</label>
</div>
<h3>Select Required Services:</h3>
<div class="section three-column">
<div>
<label class="service-toggle">
<input type="checkbox" id="accTax" onchange="toggleSection('accTaxCond', this)">
Accounts & Tax
</label>
</div>
<div id="accTaxCond" class="hidden">
<label>Turnover Range:
<select id="accTaxTurnover">
<option value="90000">Up to £90,000</option>
<option value="99000">£90,001 - £99,000</option>
<option value="149000">£99,001 - £149,000</option>
<option value="249000">£149,001 - £249,000</option>
<option value="349000">£249,001 - £349,000</option>
<option value="499000">£349,001 - £499,000</option>
<option value="749000">£499,001 - £749,000</option>
<option value="999000">£749,001 - £999,000</option>
<option value="1000000">Above £999,000</option>
</select>
</label>
</div>
<div>
<label class="service-toggle">
<input type="checkbox" id="vat" onchange="toggleSection('vatCond', this)">
VAT
</label>
</div>
<div id="vatCond" class="hidden">
<label>Turnover Range:
<select id="vatTurnover">
<option value="99000">Up to £99,000</option>
<option value="149000">£99,001 - £149,000</option>
<option value="249000">£149,001 - £249,000</option>
<option value="349000">£249,001 - £349,000</option>
<option value="499000">£349,001 - £499,000</option>
<option value="749000">£499,001 - £749,000</option>
<option value="999000">£749,001 - £999,000</option>
<option value="1240000">£999,001 - £1,240,000</option>
<option value="1740000">£1,240,001 - £1,740,000</option>
<option value="2240000">£1,740,001 - £2,240,000</option>
</select>
</label>
</div>
<div>
<label class="service-toggle">
<input type="checkbox" id="payroll" onchange="toggleSection('payrollCond', this)">
Payroll
</label>
</div>
<div id="payrollCond" class="hidden">
<label>Payroll Frequency:
<select id="payrollFrequency">
<option>Weekly</option>
<option>Monthly</option>
<option>Fortnight</option>
<option>Weekly with Monthly</option>
</select>
</label>
<label>Employee Count:
<input type="number" id="employeeCount" min="0">
</label>
</div>
<div>
<label class="service-toggle">
<input type="checkbox" id="pension" onchange="toggleSection('pensionCond', this)">
Pension
</label>
</div>
<div id="pensionCond" class="hidden">
<label>Pension Frequency:
<select id="pensionFrequency">
<option>Weekly</option>
<option>Monthly</option>
</select>
</label>
<label>Employee Count:
<input type="number" id="pensionEmployeeCount" min="0">
</label>
</div>
<div>
<label class="service-toggle">
<input type="checkbox" id="propertyAccounts" onchange="toggleSection('propertyCountCond', this)">
Dealing With Properties/Real Estate
</label>
</div>
<div id="propertyCountCond" class="hidden">
<label>Property Count:
<input type="number" id="propertyCount" min="1" max="6">
</label>
</div>
<div>
<label class="service-toggle">
<input type="checkbox" id="atedReturn" onchange="toggleSection('atedReturnCond', this)">
ATED Properties
</label>
</div>
<div id="atedReturnCond" class="hidden">
<label>Property Count:
<input type="number" id="atedPropertyCount" min="1" max="6">
</label>
</div>
<div>
<label class="service-toggle">
<input type="checkbox" id="p11d" onchange="toggleSection('vehicleCountCond', this)">
P11D
</label>
</div>
<div id="vehicleCountCond" class="hidden">
<label>Vehicle Count:
<input type="number" id="vehicleCount" min="1" max="6">
</label>
</div>
<div>
<label class="service-toggle">
<input type="checkbox" id="selfAssessment" onchange="toggleSection('selfAssessmentCond', this)">
Self Assessment
</label>
</div>
<div id="selfAssessmentCond" class="hidden">
<label>Turnover:
<select id="saTurnover">
<option value="90000">Up to £90,000</option>
<option value="99000">£90,001 - £99,000</option>
<option value="149000">£99,001 - £149,000</option>
</select>
</label>
<label>Number of Persons:
<input type="number" id="saPersonCount" min="1">
</label>
</div>
<div>
<label class="service-toggle">
<input type="checkbox" id="otherServices" onchange="toggleSection('otherServicesCond', this)">
Other Services
</label>
</div>
<div id="otherServicesCond" class="hidden">
<label>Enter Service Name:
<input type="text" id="customServiceName">
</label>
<label>Enter Fee (£):
<input type="number" id="customServiceFee" min="0">
</label>
</div>
</div>
<div class="section">
<h3>Calculation Summary</h3>
<div class="calc-row"><strong>Subtotal:</strong> <span id="subtotal">£0.00</span></div>
<label>Discount %: <input type="number" id="discountPercent" value="0" onchange="calculateTotal()"></label>
<div class="calc-row"><strong>Discount Amount:</strong> <span id="discountAmount">£0.00</span></div>
<div class="calc-row"><strong>VAT (20%):</strong> <span id="vatAmount">£0.00</span></div>
<div class="calc-row"><strong>Annual Amount:</strong> <span id="annualAmount">£0.00</span></div>
<div class="calc-row"><strong>Monthly Fee:</strong> <span id="monthlyFee">£0.00</span></div>
</div>
<div class="button-bar">
<button onclick="resetForm()">Reset</button>
<button onclick="window.print()">Print</button>
<button onclick="window.location.href='mailto:central@asnuk.com'">E-mail us</button>
<button onclick="window.location.href='tel:02089118000'">Contact</button>
</div>
</div>
</body>
</html>
NEW APPS
These are apps made by the community!