diff --git a/src/modules/purchase-orders/purchase-orders.service.js b/src/modules/purchase-orders/purchase-orders.service.js index 73d0ec6..048d651 100644 --- a/src/modules/purchase-orders/purchase-orders.service.js +++ b/src/modules/purchase-orders/purchase-orders.service.js @@ -372,17 +372,22 @@ const buildPoPdfPayload = (po, company) => { }, brand: { name: po.brand?.name || '-' }, warehouse: { name: po.warehouse?.name || '-' }, - items: (po.items || []).map((line) => ({ - line_no: line.line_no, - item_name: line.item?.item_name || '-', - remarks: line.remarks || null, - uom: line.uom?.code || line.uom?.name || '-', - ordered_qty: toNum(line.ordered_qty), - rate: toNum(line.rate), - discount_pct: toNum(line.discount_pct), - gst_rate_pct: toNum(line.gst_rate?.rate_pct), - line_total: toNum(line.line_total), - })), + items: (po.items || []).map((line) => { + const orderedQty = toNum(line.ordered_qty); + const rate = toNum(line.rate); + return { + line_no: line.line_no, + item_name: line.item?.item_name || '-', + hsn_code: line.hsn_code?.code || '-', + remarks: line.remarks || null, + uom: line.uom?.code || line.uom?.name || '-', + ordered_qty: orderedQty, + rate, + discount_pct: toNum(line.discount_pct), + gst_rate_pct: toNum(line.gst_rate?.rate_pct), + amount: orderedQty * rate, + }; + }), totals: { sub_total: toNum(po.sub_total), tax_total: toNum(po.tax_total), diff --git a/src/utils/pdf/templates/po.template.js b/src/utils/pdf/templates/po.template.js index a23c0b1..84d8848 100644 --- a/src/utils/pdf/templates/po.template.js +++ b/src/utils/pdf/templates/po.template.js @@ -47,33 +47,36 @@ const getDummyPoData = () => ({ { line_no: 1, item_name: 'TMT steel bars 12mm', + hsn_code: '72142090', uom: 'MT', ordered_qty: 25, rate: 4250, discount_pct: 2, gst_rate_pct: 18, - line_total: 124215, + amount: 106250, }, { line_no: 2, item_name: 'Cement OPC 53 grade', + hsn_code: '25232930', uom: 'Bag', ordered_qty: 500, rate: 380, discount_pct: 0, gst_rate_pct: 28, - line_total: 243200, + amount: 190000, }, { line_no: 3, item_name: 'River sand', + hsn_code: '25051000', remarks: 'Confirm bag count on delivery', uom: 'CFT', ordered_qty: 1200, rate: 45, discount_pct: 5, gst_rate_pct: 5, - line_total: 53865, + amount: 54000, }, ], totals: { @@ -128,6 +131,10 @@ const generatePoHtml = (inputData = getDummyPoData()) => { const remarks = item.remarks ? `