GRN Inspection Details

Inward Goods Inspection & Live Stock Posting
Back to GRN List Print Slip
Supplier / Vendor
Vendor Invoice #
Invoice Date
GRN Date
Linked PO Direct Intake
Inspection Remarks:
Verified Medicine Items
$it): ?> 0 ? (float)$it['gross_amount'] : round($recPacks * $rate, 2); $schPer = (float)($it['sch_disc_per'] ?? 0); $schAmt = (float)($it['sch_disc_amt'] ?? 0); $schTotal = ($schPer > 0 ? round($gross * $schPer / 100, 2) : 0) + $schAmt; $tradeDisc = (float)($it['discount_percent'] ?? 0); $afterSch = max(0, $gross - $schTotal); $tradeDiscAmt = ($tradeDisc > 0) ? round($afterSch * $tradeDisc / 100, 2) : 0; $rowDisc = $schTotal + $tradeDiscAmt; $totalGross += $gross; $totalDiscount += $rowDisc; $cgstPer = (float)($it['cgst_percent'] ?? 0); $sgstPer = (float)($it['sgst_percent'] ?? 0); $igstPer = (float)($it['igst_percent'] ?? 0); $isInter = (!empty($grn['gst_type']) && $grn['gst_type'] === 'inter_state') || ($igstPer > 0); $gstLabel = $isInter ? number_format($igstPer, 1) . '% IGST' : number_format($cgstPer + $sgstPer, 0) . '% (' . number_format($cgstPer, 1) . '+' . number_format($sgstPer, 1) . '%)'; $taxableAmt = isset($it['taxable_amount']) ? (float)$it['taxable_amount'] : ($gross - $rowDisc); $totalAmt = isset($it['total_amount']) ? (float)$it['total_amount'] : ($taxableAmt + ($taxableAmt * ($cgstPer + $sgstPer + $igstPer) / 100)); ?>
# Medicine Name Batch No Expiry Pack Rec. Qty Free Rate/Pack MRP Gross Amt Disc % Sch Disc Taxable Amt GST Line Total Live Stock ID
0): ?> Damaged: () s ₹ ₹ ₹ % ₹ ₹ ₹ Item # Pending Post
Sub Total (Gross Amount): ₹
Total Discount (Trade & Scheme): ₹
Taxable Amount: ₹
IGST Amount: ₹
CGST Amount: ₹
SGST Amount: ₹
Total GST: ₹
Round Off: 0 ? '+' : '') . number_format((float)$grn['round_off'], 2) ?>
Net Inward Bill Total (Grand Total): ₹
Posted to Live Store Inventory (Purchase Bill Ref #) Verified by Pharmacist • Ready to Post to Live Hospital Inventory
View Purchase Invoice