Material Issue Module Manual

Comprehensive Documentation for Material Consumption & Inventory Distribution.

Module Overview

The Material Issue Module manages the reduction of products from inventory for various purposes, such as internal usage, samples, or gifts. It ensures that stock levels are correctly decremented and the corresponding financial ledgers are updated for accountability.

Key Objective: To document the consumption of inventory efficiently while maintaining accurate financial and stock records.

Step-by-Step Workflow

1

Access Material Issue List

Go to the 'Material Issued' menu. You will see a list of all historical records. Use filters to find specific records by date range, branch, or customer/ledger.

2

Create New Entry

Click the 'Add New' button. Fill in the Header details: select the Date, Branch, Cost Center, and the Ledger/Account receiving the materials.

3

Add Material Details

In the item section, use the search or barcode feature to select items. Specify the quantity, select the store (warehouse), and confirm the rate. The system automatically fetches cost prices from the price list.

4

Verify & Save

Review the sub-total and total discounts/VAT if applicable. Click 'Save'. This triggers a transaction to update stock in item_inventories and generates journal entries in accounts.

5

Print Document

After saving, you can generate a master print or a detailed print. Several templates (standard, POS, challan) are available depending on your configuration.

Configuration Settings

Customize the entry form through the 'Form Settings' modal accessible via the gear icon or settings menu.

Setting Description
Default Inventory Links to the asset ledger where stock values are held.
Material Issue Account The expense or consumption account used for the credit entry.
Display VAT/Discount Toggles visibility of tax and discount fields in the grid.
Barcode Integration Enables rapid item entry using scanning hardware.
Show Store/Shelf Toggles whether the warehouse location and shelf information are displayed.

Database Schema

The module relies on these core tables to maintain data integrity:

Table Name Primary Columns Purpose
material_issues _date, _order_number, _ledger_id, _total Main header table for the issue document.
material_issue_details _no, _item_id, _qty, _rate Line items for each issuance, linked to the header via _no.
material_issue_settings _default_inventory, _default_sales Persists module-wide UI and behavioral configurations.
material_issue_barcodes _no_id, _barcode, _item_id Tracks specific serial numbers or barcodes issued.
item_inventories _transection_ref, _qty, _transection Records stock changes (negative qty for issues).
accounts _ref_master_id, _dr_amount, _cr_amount Financial vouchers generated from the transaction.

Model Relationships

Eloquent models defined in app/Models/:

  • MaterialIssue:
    • _master_details(): 1:N relationship with MaterialIssueDetail.
    • _ledger(): BelongsTo AccountLedger.
    • _master_branch(): BelongsTo Branch.
  • MaterialIssueDetail:
    • _items(): Fetches item details from ProductPriceList.
    • _units(): Fetches measurement unit from Units.
    • _store(): Links to StoreHouse.

View File Mapping

Located in resources/views/backend/material-issue/:

Blade View Action / Target
index.blade.php The main searchable list view.
create.blade.php Entry form for new material issues.
edit.blade.php Modification view for existing records.
form_setting_modal.blade.php Settings UI for form customization.
print.blade.php Standard invoice/issue note print template.
challan.blade.php Specific template for delivery challans.

Controller Function Details

MaterialIssueController.php logic breakdown:

Method Route Action Logic Breakdown
index View List Retrieves records with eager loading of relations (branch, ledger, details).
store Save Data Wraps execution in a DB Transaction. It saves the master record, iterates through items to deduct stock from price lists, logs inventory changes, and calculates ledger balances.
update Modify Data First "reverses" the previous impact (restores stock, voids old accounts) then reapplies the new details as a fresh state.
Settings Update Config Saves persistent form display and default account preferences.