Professional Documents
Culture Documents
<div id="bill">
</div>
<script>
let Categories = [
{
id : "C1",
categoryName : "Platters",
superCategory : {
{
id : "C2",
categoryName : "Tandoor",
superCategory : {
{
id : "C3",
categoryName : "Dosa",
superCategory : {
{
id : "C4",
categoryName : "Vegetables",
superCategory : {
var items = [
{
id : "item1",
itemName : "Butter Roti",
rate : 20,
taxes : [
{
name : "Service Charge",
rate : 10,
isInPercent : 'Y'
},
{
name : "GST",
rate : 18,
isInPercent : 'Y'
},
],
category : {
categoryId : "C2"
}
},
{
id : "item2",
itemName : "Paneer Butter Masala",
rate : 120,
taxes : [
{
name : "Service Charge",
rate : 10,
isInPercent : 'Y'
},
{
name : "GST",
rate : 18,
isInPercent : 'Y'
},
{
name : "Service Tax",
rate : 10,
isInPercent : 'Y'
},
],
category : {
categoryId : "C4"
}
},
{
id : "item3",
itemName : "Masala Dosa",
rate : 50,
taxes : [
{
name : "GST",
rate : 18,
isInPercent : 'Y'
},
{
name : "Service Tax",
rate : 10,
isInPercent : 'Y'
},
],
category : {
categoryId : "C3"
}
},
{
id : "item4",
itemName : "Dosa Platter",
rate : 150,
taxes : [
{
name : "Service Tax",
rate : 10,
isInPercent : 'Y'
},
],
category : {
categoryId : "C1"
}
},
]
var Bill = {
id : "B1",
billNumber : 1,
opentime : "06 Nov 2020 14:19",
customerName : "CodeQuotient",
billItems : [
{
id : "item2",
quantity : 3,
discount : {
rate : 10,
isInPercent : 'Y'
}
},
{
id : "item1",
quantity : 9,
discount : {
rate : 10,
isInPercent : 'Y'
}
},
{
id : "item4",
quantity : 2,
discount : {
rate : 15,
isInPercent : 'Y'
}
}
]
}
function calc_bill(){
let totalPrice = 0;
let billItems = Bill.billItems; // items in the bill
billItems.forEach(billitem=>{ // billitem is individual item in the bill
let quantity = billitem.quantity; // each item quantity
let item_id = billitem.id;
let itemDetails = getItemDetails(item_id);
if(itemDetails)
{
// console.log(itemDetails);
let priceTag = itemDetails.rate; // initial price
let discountAmount = calculateDiscount(priceTag, billitem.discount); //
calculate unit item discout amount that will get deducted
// console.log(priceTag+"\t"+discountAmount);
let itemPriceWithDiscount = (priceTag-discountAmount)*quantity; // after
discount over n quantity of a single item without tax
let taxAmount = calculateTaxAmount(itemPriceWithDiscount,
itemDetails.taxes);
let totalItemPrice = itemPriceWithDiscount + taxAmount; // applying all
taxes
billitem.name = itemDetails.itemName;
billitem["taxes"] = itemDetails.taxes;
billitem["amount"] = totalItemPrice;
totalPrice += totalItemPrice;
</script>
</body>