Files
Zumri-Backend/app/logic/documents/builders/invoice.builder.js
T
Isuru Bimsara 81d0e65686 first commit
2026-08-14 22:46:02 +05:30

64 lines
1.2 KiB
JavaScript

/**
* Copyright (c) 2026 Niolla
* All rights reserved.
*
* This source code is proprietary and confidential.
* Unauthorized copying, modification, distribution, or use
* of this file, via any medium, is strictly prohibited.
*/
// app/logic/documents/builders/invoice.builder.js
module.exports = {
sheetName: "Invoice",
build: async (worksheet, data) => {
worksheet.addRow(["INVOICE"]).font = {
bold: true,
size: 18,
};
worksheet.addRow([]);
worksheet.addRow(["Invoice No", data.invoiceNo]);
worksheet.addRow(["Customer", data.customerName]);
worksheet.addRow(["Date", data.date]);
worksheet.addRow([]);
const header = worksheet.addRow([
"Description",
"Qty",
"Rate",
"Amount",
]);
header.font = { bold: true };
let total = 0;
(data.items || []).forEach((item) => {
const amount = item.qty * item.rate;
total += amount;
worksheet.addRow([
item.description,
item.qty,
item.rate,
amount,
]);
});
worksheet.addRow([]);
worksheet.addRow([
"",
"",
"TOTAL",
total,
]).font = {
bold: true,
};
},
};