Petrol Pump Accounting In Excel Sheet Download May 2026
// Get total sales sum function getTotalSales() return salesData.reduce((sum, item) => sum + item.amount, 0);
// Recompute stock closing & stock value function recomputeStock() for (let i = 0; i < stockData.length; i++) let s = stockData[i]; s.closing = s.opening + s.received - s.sold; petrol pump accounting in excel sheet download
let stockData = [ product: "Petrol (MS)", opening: 5200, received: 8000, sold: 1250, closing: 11950, unitPrice: 102.50 , product: "Diesel (HSD)", opening: 4300, received: 7000, sold: 980, closing: 10320, unitPrice: 94.80 , product: "Premium Petrol", opening: 1100, received: 2000, sold: 320, closing: 2780, unitPrice: 115.00 , product: "Engine Oil (Lube)", opening: 180, received: 120, sold: 45, closing: 255, unitPrice: 850.00 ]; // Get total sales sum function getTotalSales() return
<script> // ---------- DATA MODEL (Mimicking excel rows) ---------- // We'll maintain two sections: Sales Register, Expenses Register, Stock Register // For simplicity, we use separate tables but inside one downloadable sheet. // Actually to give an integrated feel, we create 3 mini tables inside main container. sum + item.amount
function expenseChangeHandler(e) const idx = parseInt(e.target.getAttribute('data-idx')); if (!isNaN(idx)) 0; expensesData[idx].amount = newAmt; updateCards(); const row = e.target.closest('tr'); if (row) // no extra cell needed
function attachAddRowButtons() const addSalesBtn = document.getElementById('addSalesRowBtn'); if (addSalesBtn) addSalesBtn.replaceWith(addSalesBtn.cloneNode(true)); document.getElementById('addSalesRowBtn')?.addEventListener('click', () => salesData.push( product: "New Fuel", liters: 0, rate: 100, amount: 0 ); renderTables(); ); const addExpenseBtn = document.getElementById('addExpenseRowBtn'); if (addExpenseBtn) addExpenseBtn.replaceWith(addExpenseBtn.cloneNode(true)); document.getElementById('addExpenseRowBtn')?.addEventListener('click', () => expensesData.push( date: "New Date", category: "Other", amount: 0 ); renderTables(); ); const addStockBtn = document.getElementById('addStockRowBtn'); if (addStockBtn) addStockBtn.replaceWith(addStockBtn.cloneNode(true)); document.getElementById('addStockRowBtn')?.addEventListener('click', () => stockData.push( product: "New Product", opening: 0, received: 0, sold: 0, closing: 0, unitPrice: 100 ); recomputeStock(); renderTables(); );