MSA Meat Import Management

Comprehensive Purchasing & Import Process Documentation

India → Iran → Uzbekistan | USD & UZS Operations

Business Overview

MSA Import Operations

Business Model: Import meat products from India to Uzbekistan via Iran

Scale: $5M+ annual transactions, 50+ containers per shipment, multiple vendors

Product Range: 8-10 meat types per shipment (Buffalo meat, various cuts)

Key Business Metrics

Transaction Volume

Typical PI: $5M

Containers: 51 per shipment

Invoices: 17 per shipment

Containers/Invoice: 3-4

Logistics

Origin: India (Mumbai, Chennai)

Transit: Bandar Abbas, Iran

Destination: Tashkent, Uzbekistan

Mode: 51 containers → 75 trucks

Payment Terms

Advance: 30% upon PI

Balance: 70% upon shipment

Methods: Wire Transfer, LC

Currencies: USD, UZS

Complete Business Flow

Import Lifecycle (13 Stages)

  1. PI Created - Vendor provides Proforma Invoice with quotation
  2. PI Confirmed - Terms approved, prices negotiated
  3. 30% Advance Paid - Initial payment to vendor
  4. Commercial Invoice Issued - Final invoice with shipment details
  5. Goods Shipped - Loaded into containers, vessel departs
  6. In Transit - Shipment en route (20-30 days)
  7. Arrived at Iran - Containers arrive Bandar Abbas port
  8. Customs Clearance - Documentation and duty calculation
  9. Customs Cleared - Duties paid, goods released
  10. Goods Received - Physical receipt and verification
  11. Quality Approved - Inspection and acceptance
  12. 70% Final Payment - Balance payment to vendor
  13. Completed - All documents filed, pipeline closed

Timeline Targets

Stage Duration Target Cumulative Days
PI to Invoice 30 days 0-30 days
Invoice to Shipment 7 days 30-37 days
Sea Transit (India → Iran) 20-30 days 37-67 days
Customs Clearance 3-5 days 67-72 days
Goods Receipt & Quality 1-2 days 72-74 days
Final Payment Processing 7-15 days 74-89 days
Total Cycle Time 60-90 days Complete

Document Management

Document Classification

Posting Documents (Affect Financials)

  • Advance Payment: Records 30% prepayment
  • Commercial Invoice: Creates accounts payable
  • Customs Duty Payment: Records import duties
  • Goods Receipt Note (GRN): Moves to inventory
  • Final Payment: Settles vendor balance

Non-Posting Documents (Reference Only)

  • Proforma Invoice (PI): Quotation/commitment
  • Purchase Order (PO): Internal authorization
  • Bill of Lading (BL): Shipping document
  • Packing List: Detailed goods list
  • Certificates: Origin, Health, Quality
  • Customs Declaration: Import documentation

Required Documentation by Stage

Stage Required Documents Responsible Party
PI Confirmation Proforma Invoice, Purchase Order Procurement Team
Advance Payment Payment Authorization, Bank Transfer Receipt Finance Team
Shipment Commercial Invoice, Bill of Lading, Packing List Vendor
Customs Invoice, BL, Packing List, Certificate of Origin, Health Certificate Customs Broker
Goods Receipt Goods Receipt Note (GRN), Quality Inspection Report Warehouse Team
Final Payment Approved Invoice, GRN, Payment Authorization Finance Team

Detailed Workflow Stages

Stage 1: PI Created (5% Complete)

Draft

Process: Vendor provides Proforma Invoice with product details, quantities, prices, and payment terms.

Key Information:

  • Product specifications and quantities
  • Unit prices and total amount
  • Payment terms (typically 30/70)
  • Incoterms (FOB, CIF, etc.)
  • Expected delivery timeline

Financial Impact: None (quotation only)

Stage 2: PI Confirmed (10% Complete)

Confirmed

Process: Procurement team reviews and approves PI, negotiates prices if needed.

Actions:

  • Review product specifications and quantities
  • Verify pricing against market rates
  • Confirm payment terms and delivery schedule
  • Approve PI for processing

Advance Amount Calculated: 30% of total PI value

Financial Impact: None (commitment only)

Stage 3: Advance Payment - 30% (20% Complete)

Payment Made

Process: Finance team prepares and processes 30% advance payment.

Payment Details:

  • Amount: 30% of PI total
  • Method: Wire Transfer or Letter of Credit
  • Currency: As per contract (usually USD)
  • Bank charges: Handled as per agreement

Example: PI Total $221,200 → Advance $66,360

Financial Impact: Advance to Supplier account increased, Bank balance decreased

Stage 4: Commercial Invoice Issued (30% Complete)

Invoice Received

Process: Vendor ships goods and issues Commercial Invoice with final quantities.

Invoice Contents:

  • Final product quantities (may differ slightly from PI)
  • Container numbers (3-4 per invoice)
  • Bill of Lading number and date
  • Vessel name and voyage number
  • Port of loading and discharge
  • Total invoice value

Financial Impact: Creates Accounts Payable liability

Stage 5: Goods Shipped (40% Complete)

Shipped

Process: Goods loaded into containers, vessel departs from Indian port.

Documentation:

  • Bill of Lading (BL) issued
  • Container seal numbers recorded
  • Estimated Time of Departure (ETD)
  • Estimated Time of Arrival (ETA) at Iran

Tracking Started: Monitor vessel movement and container status

Stage 6: In Transit (50% Complete)

In Transit

Duration: 20-30 days (sea freight India → Iran)

Monitoring:

  • Vessel tracking via maritime systems
  • Container temperature monitoring (if applicable)
  • ETA updates and adjustments
  • Communication with shipping line

Stage 7: Arrived at Iran Port (60% Complete)

Arrived

Process: Vessel arrives at Bandar Abbas, containers offloaded.

Actions:

  • Record Actual Time of Arrival (ATA)
  • Verify container condition and seals
  • Prepare for customs clearance
  • Engage customs broker

Container Conversion: Prepare for transfer to trucks (51 containers → 75 trucks)

Stage 8: Customs Clearance (70% Complete)

Processing

Process: Submit customs declaration and supporting documents.

Required Documents:

  • Commercial Invoice
  • Packing List
  • Bill of Lading
  • Certificate of Origin
  • Health/Veterinary Certificate
  • Customs Declaration Form

Duty Calculation:

  • Customs Duty: e.g., 10% of value
  • VAT: e.g., 12% of (value + duty)
  • Other fees: Inspection, storage, etc.

Example Calculation:

Customs Value: $221,200
Customs Duty (10%): $22,120
VAT (12%): $29,198
Total Duties: $51,318

Stage 9: Customs Cleared (80% Complete)

Cleared

Process: Pay customs duties and obtain release order.

Actions:

  • Process duty payment
  • Receive customs clearance certificate
  • Obtain container release order
  • Arrange transport to Uzbekistan

Financial Impact: Duty payment adds to inventory cost

Stage 10: Goods Received (90% Complete)

Received

Process: Physical receipt of goods at warehouse in Tashkent.

GRN Process:

  • Physical count and weighing
  • Temperature verification (frozen goods)
  • Package condition inspection
  • Compare actual vs expected quantities
  • Record any variances or damages
  • Create Goods Receipt Note (GRN)

Variance Tolerance: Target <2%

Stage 11: Quality Approved (95% Complete)

Approved

Process: Quality inspection and final acceptance.

Quality Checks:

  • Product temperature verification
  • Visual inspection for quality
  • Sample testing (if required)
  • Documentation review
  • Final acceptance decision

Target Pass Rate: >99%

If Rejected: Initiate vendor claim and return process

Stage 12: Final Payment - 70% (98% Complete)

Payment Complete

Process: 3-way match verification and final payment processing.

3-Way Match:

  • Purchase Order (what we ordered)
  • Commercial Invoice (what vendor billed)
  • GRN (what we received)

Payment Calculation:

Invoice Total: $221,200
Less: Advance Paid (30%): -$66,360
Balance Due (70%): $154,840
Final Payment: $154,840

Financial Impact: Settles Accounts Payable and clears advance

Stage 13: Completed (100% Complete)

Completed

Final Actions:

  • All documents filed and archived
  • All payments completed
  • Goods in inventory and available for sale
  • Pipeline officially closed
  • Performance metrics recorded

Total Inventory Cost: Invoice + Duties + Freight = Final Cost

Payment Process & Terms

30/70 Payment Split

30% Advance Payment

Timing: After PI confirmation, before shipment

Purpose: Production commitment and working capital for vendor

Typical Amount: 30% of total PI value

Method: Wire Transfer or Letter of Credit

70% Balance Payment

Timing: CRITICAL - After container arrives at Iran port (Bandar Abbas), BEFORE truck transfer

Purpose: Release containers for customs clearance and truck loading

Typical Amount: 70% of total PI value

Prerequisite: Container arrival confirmation + Bill of Lading received

⚠️ Important: Payment must be completed before goods can be transferred to trucks for Uzbekistan transit

Payment Methods

Method When Used Advantages Processing Time
Wire Transfer (TT) Most transactions Fast, direct, low cost 1-3 business days
Letter of Credit (LC) High-value shipments, new vendors Payment security, trade finance 5-7 business days
Documentary Collection Established vendor relationships Lower cost than LC 3-5 business days

Complete Payment Timeline Example

Shipment Value: $221,200

Date Event Payment Cumulative Paid Balance Due
Day 0 PI Confirmed - $0 $221,200
Day 7 30% Advance $66,360 $66,360 $154,840
Day 67 Customs Duty $51,318 $117,678 $154,840
Day 74 70% Final Payment $154,840 $221,200 $0
Total Cash Outlay $272,518 (Invoice + Duties)

Currency Operations (USD & UZS)

🔑 Two-Currency System

MSA operates exclusively with USD and UZS. All international transactions are in USD, local operations in UZS.

Currency Usage

USD - US Dollar (International)

Primary Use:

  • All imports from India, Russia, Belarus
  • Proforma Invoices (PI) & Commercial Invoices (CI)
  • Vendor payments (30% advance, 70% balance)
  • Shipping & logistics costs
  • Import duties and customs fees

Symbol: $

Status: Base currency for all imports and accounting

UZS - Uzbek Som (Local)

Primary Use:

  • Local sales to Uzbekistan customers
  • Warehouse operating expenses
  • Staff salaries and local vendor payments
  • Truck transportation within Uzbekistan
  • Local taxes and utilities

Symbol: soʻm

Typical Rate: ~12,500 UZS per USD (variable)

Exchange Rate Management

USD ↔ UZS Conversion

  • Daily Updates: USD/UZS exchange rate updated daily from Central Bank of Uzbekistan
  • Rate Sources:
    • Primary: Central Bank of Uzbekistan official rate
    • Secondary: Commercial bank rates for large transactions
    • Market rate for reference
  • Historical Tracking: All exchange rates archived with timestamps for audit trail
  • Dual Tracking: All inventory costs maintained in both USD (import cost) AND UZS equivalent (for local P&L)

Currency Workflow

Transaction Type Currency Used Conversion Point Rate Applied
Purchase from India vendor USD N/A - direct USD N/A
30% Advance Payment USD N/A - direct USD N/A
70% Balance Payment USD N/A - direct USD N/A
Shipping & Logistics USD N/A - direct USD N/A
Inventory Valuation USD + UZS At GRN creation Daily rate at arrival
Local Sales to Customers UZS Selling price calculation Current market rate + margin
Local Operating Expenses UZS N/A - direct UZS N/A

Currency Risk Management

Risk Type Impact Mitigation Strategy
Transaction Risk UZS weakens between purchase (USD) and sale (UZS) Regular price adjustments, maintain USD margin targets
Translation Risk Financial statement impacts from USD/UZS rate changes Track P&L in both USD and UZS, report consolidated
Inventory Valuation Risk Older inventory valued at different exchange rates FIFO method, mark-to-market reviews quarterly
Operating Margin Risk Margin erosion if UZS selling price not adjusted Weekly price reviews, minimum USD-based margin floor

Currency Conversion Example

Scenario: Import Purchase (USD) → Local Sale (UZS)

Step 1: Purchase in USD

Import Cost: $221,200 USD
Quantity: 27,000 kg
Cost per kg: $8.19 USD/kg


Step 2: GRN Creation - Convert to UZS for Inventory

Arrival Date: March 15, 2025
Exchange Rate (Mar 15): 12,650 UZS/USD
Inventory Value (UZS): 2,798,180,000 soʻm
Cost per kg (UZS): 103,636 soʻm/kg


Step 3: Local Sale in UZS (2 weeks later)

Sale Date: March 30, 2025
Exchange Rate (Mar 30): 12,750 UZS/USD (UZS weakened)
Target USD Margin: $1.50/kg
Selling Price (USD): $9.69/kg

Selling Price (UZS): 123,548 soʻm/kg
Margin (UZS): 19,912 soʻm/kg
Margin (USD equivalent): $1.56/kg ✅


Step 4: Exchange Rate Impact Analysis

If we used old exchange rate (12,650):
Selling price would be: 122,571 soʻm/kg
Loss: 977 soʻm/kg due to UZS weakening

Solution: Adjust UZS prices weekly based on current USD/UZS rate

System Requirements

Currency Handling in System

  • Database Schema:
    • Store all import costs in USD (primary)
    • Store exchange rate and UZS equivalent at GRN
    • Maintain exchange_rates table with daily USD/UZS rates
    • Track both currencies: amount_usd, amount_uzs, exchange_rate, rate_date
  • Pricing Engine:
    • Calculate selling price based on USD cost + USD margin
    • Convert to UZS using current exchange rate
    • Round UZS prices to nearest 100 soʻm for customer invoices
  • Reporting:
    • P&L available in both USD and UZS
    • Inventory reports show both USD cost and UZS value
    • Exchange rate variance reports (monthly)
  • Alerts:
    • Alert if USD/UZS rate changes > 2% in one day
    • Warning if inventory UZS selling price below USD cost equivalent
    • Notification for weekly price review based on rate changes

Vendors & Products Catalog

Approved Vendor List

MSA works with a network of certified meat suppliers from India, Russia, and Belarus:

Indian Suppliers (Primary Source)

  • HMA AGRO INDUSTRIES LIMITED - Buffalo meat processor
  • Mirha Exports Private Limited - Frozen meat exporter
  • FAIR EXPORTS (INDIA) PVT. LTD. - Certified halal meat supplier
  • IFF India Frozen Foods Private Limited - Premium cuts specialist

Russian & Belarusian Suppliers

  • ООО Мастер Мяса (Master Myasa LLC) - Russia
  • ООО СПАРТАК (Spartak LLC) - Russia
  • ЧП ТОРНАДО ЗАПАД (Tornado Zapad) - Russia
  • Слуцкий сыродельный комбинат (Slutsk Cheese Factory) - Belarus
  • ОАО Волковысский мясокомбинат (Volkovysk Meat Processing Plant) - Belarus
  • ОАО Ошмянский мясокомбинат (Oshmyany Meat Processing Plant) - Belarus

Product Catalog

Complete list of meat products imported and distributed by MSA:

Category Item Code Item Name (Uzbek) Item Name (English)
BUFFALO COMPENSATED 15-17 БУЙИН NECK
41 ИЧКИ СОН TOPSIDE
42 ЯБЛОЧКА THICK FLANK / knuckle
44 ТАШКИ СОН SILVER SIDE
45 КОРС RUMP STEAK
65 КУЛ BLADE
105/106 МАЙДА КИЙМА ГУШТ FOREQUARTER / FQ ROLL
63 КУЛ БУЙИН КИСМИ CHUCK
31 ВЫРИЗКА TENDERLOIN
46 КỸНТР ФИЛЕ STRIPLOIN
HQ CUTS 41 ИЧКИ СОН TOPSIDE
42 ЯБЛОЧКА THICK FLANK / knuckle
44 ТАШКИ СОН SILVER SIDE
45 КОРС RUMP STEAK
STRIPLOIN 46 КỸНТР ФИЛЕ STRIPLOIN
TENDERLOIN 31 ВЫРИЗКА TENDERLOIN
CUBE ROLL 67 РИБАЙ CUBE ROLL
BLADE 65 КУЛ BLADE
CHUCK TENDER 64 КУЛ БУЙИН КИСМИ CHUCK TENDER
SHIN SHANK 60/60A ГОЛЯШКА SHIN SHANK
NECK 15-17 БУЙИН NECK
FOREQUARTER / FQ ROLL 105/106 МАЙДА КИЙМА ГУШТ FOREQUARTER / FQ ROLL
TRIMING 66 ОБРЕСКА TRIMING
HEAD MEAT 152 КАЛЛА ГУШТ HEAD MEAT
TONGUE 25 ТИЛ TONGUE

🔑 CRITICAL: Category vs. Storage Distinction

Categories are VENDOR-SPECIFIC for procurement tracking ONLY. After goods arrive in Uzbekistan, items are stored by ITEM CODE, NOT by category.

During Procurement (India → Iran)

Use Category for Vendor Tracking:

  • Vendor A ships: BUFFALO COMPENSATED - Item 41 (Topside)
  • Vendor B ships: HQ CUTS - Item 41 (Topside)
  • Track separately on CI, BL, Container documents
  • Purpose: Resolve vendor-specific issues during transit

After Arrival (Uzbekistan Storage)

Consolidate by Item Code:

  • Item 41 (Topside) = Single inventory bin
  • Combines from BUFFALO COMPENSATED 41 + HQ CUTS 41
  • Storage location: By item code, not category
  • Purpose: Unified inventory for sales and distribution

Example: Item Code 41 (Topside)

Procurement Phase (Vendor-Specific):
Vendor: HMA AGRO → BUFFALO COMPENSATED - 41 (Topside) → 5,000 kg
Vendor: Mirha Exports → HQ CUTS - 41 (Topside) → 3,000 kg

Storage Phase (Consolidated):
Warehouse Bin: Item Code 41 (TOPSIDE)
Total Stock: 8,000 kg (combined from both vendors)

✅ Traceability Maintained: GRN links back to specific vendor & category

Product Categories Overview

Note: These categories are used ONLY for procurement and vendor tracking, NOT for inventory storage.

  • Buffalo Compensated (10 items): Standard buffalo meat cuts including neck, topside, thick flank, silver side, rump steak, blade, forequarter, chuck, tenderloin, and striploin
  • HQ Cuts (4 items): Hindquarter premium cuts - topside, thick flank, silver side, rump steak
  • Premium Cuts (3 items): High-value cuts - striploin, tenderloin, cube roll (ribeye)
  • Standard Cuts (5 items): Blade, chuck tender, shin shank, neck, forequarter roll
  • Specialty Items (3 items): Triming, head meat, tongue

Total Product Range: 26 procurement categories → 16 unique item codes in warehouse storage

Inventory Storage by Item Code

Warehouse Storage Structure (Uzbekistan)

Storage Principle: All inventory is stored and managed by Item Code, regardless of procurement category.

🏢 Storage Locations in Tashkent

📍 Main Cold Storage (Ravshan aka)

Type: Primary Storage Facility

Location: Tashkent, Uzbekistan

Purpose: Main distribution center for all imported meat products

Usage: Majority of inventory stored here

📍 Bektemir Cold Storage

Type: Secondary Storage Facility

Location: Bektemir, Tashkent

Purpose: Additional storage capacity and regional distribution

Usage: Overflow inventory and specific product lines

System Requirement: Track inventory by Location + Item Code for accurate stock visibility across both warehouses.

Item Code Item Name Consolidated From Categories Storage Location
41 TOPSIDE (ИЧКИ СОН) BUFFALO COMPENSATED + HQ CUTS Main/Bektemir
42 THICK FLANK (ЯБЛОЧКА) BUFFALO COMPENSATED + HQ CUTS Main/Bektemir
44 SILVER SIDE (ТАШКИ СОН) BUFFALO COMPENSATED + HQ CUTS Main/Bektemir
45 RUMP STEAK (КОРС) BUFFALO COMPENSATED + HQ CUTS Main/Bektemir
31 TENDERLOIN (ВЫРИЗКА) BUFFALO COMPENSATED + TENDERLOIN Main/Bektemir
46 STRIPLOIN (КỸНТР ФИЛЕ) BUFFALO COMPENSATED + STRIPLOIN Main/Bektemir
65 BLADE (КУЛ) BUFFALO COMPENSATED + BLADE Main/Bektemir
15-17 NECK (БУЙИН) BUFFALO COMPENSATED + NECK Main/Bektemir
105/106 FOREQUARTER (МАЙДА КИЙМА ГУШТ) BUFFALO COMPENSATED + FOREQUARTER Main/Bektemir
63 CHUCK (КУЛ БУЙИН КИСМИ) BUFFALO COMPENSATED only Main/Bektemir
67 CUBE ROLL (РИБАЙ) BUFFALO COMPENSATED only Main/Bektemir
64 CHUCK TENDER (КУЛ БУЙИН КИСМИ) CHUCK TENDER only Main/Bektemir
60/60A SHIN SHANK (ГОЛЯШКА) BUFFALO COMPENSATED + SHIN SHANK Main/Bektemir
66 TRIMING (ОБРЕСКА) TRIMING only Main/Bektemir
152 HEAD MEAT (КАЛЛА ГУШТ) HEAD MEAT only Main/Bektemir
25 TONGUE (ТИЛ) TONGUE only Main/Bektemir

System Requirements:

  • During GRN Creation: Record Category (from CI), Item Code (for storage), and Storage Location (Main/Bektemir)
  • Inventory Management: Manage stock levels by Storage Location + Item Code
  • Traceability: Maintain link from Item Code → GRN → Storage Location → Truck → Container → CI → PI → Vendor + Category
  • Vendor Issue Resolution: Query inventory by Category to identify specific vendor batches
  • Sales & Distribution: Use Item Code + Location for stock availability (customers don't care about categories)
  • Location Transfer: Support inter-warehouse transfers between Main and Bektemir

Example Query Scenarios:

Scenario 1: Quality Issue
"We have a quality issue with BUFFALO COMPENSATED - Item 41 from HMA AGRO"
→ Query: WHERE itemCode = '41' AND category = 'BUFFALO COMPENSATED' AND vendor = 'HMA AGRO'
→ Result: Identify specific batch, container#, storage location, arrival date

Scenario 2: Stock Check for Sales
"How much Topside do we have in stock?"
→ Query: SELECT SUM(quantity) FROM inventory WHERE itemCode = '41' GROUP BY location
→ Result: Main: 5,200 kg | Bektemir: 2,800 kg | Total: 8,000 kg

Scenario 3: Vendor Performance
"Show all HQ CUTS items from Mirha Exports in last 6 months"
→ Query: WHERE category = 'HQ CUTS' AND vendor = 'Mirha Exports' AND arrivalDate > '2024-06-01'
→ Result: All items with category filter for vendor analysis

Scenario 4: Location-Specific Stock
"What's available at Bektemir warehouse for immediate delivery?"
→ Query: WHERE location = 'Bektemir' GROUP BY itemCode
→ Result: Available stock by item code at Bektemir only

Container & Shipment Tracking

Container Tracking Workflow

Complete Tracking Lifecycle

PI → 30% Payment → CI + Container Arrival → 70% Payment → Transit → Stock Receipt

  1. PI Created: Proforma Invoice received from vendor
  2. 30% Advance Payment: Payment made to secure shipment
  3. CI Issued: Commercial Invoice + Bill of Lading issued
  4. Container Arrival at Iran: Containers arrive at Bandar Abbas port
  5. 70% Payment Made: Balance payment processed
  6. Customs Clearance: Import duties paid, goods released
  7. Transit to Uzbekistan: Container-to-truck conversion (51 containers → 75 trucks)
  8. Stock Receipt: Goods received at cold storage in Tashkent

Shipping Status Stages

Status Description Location Key Actions
In Transit Container shipped from India, en route to Iran Sea transit Monitor vessel tracking, update ETA
Arrived at Iran Container arrived at Bandar Abbas port Iran port Record arrival date, make 70% payment, prepare customs docs
Cleared Customs Customs duties paid, import clearance obtained Iran customs Pay duties, obtain release order
In Transit to Uzbekistan Goods loaded on trucks, heading to Uzbekistan Road transit Monitor truck movement, coordinate border crossing
Arrived Uzbekistan Goods received at cold storage facility Tashkent warehouse Create GRN, quality inspection, transfer to inventory

Warehouse Locations

Iran Port Storage

Location: Bandar Abbas, Iran

Purpose: Temporary storage during customs clearance

Typical Duration: 5-10 days

Capacity: Container storage yard

Main Cold Storage Tashkent

Location: Tashkent, Uzbekistan

Purpose: Final inventory storage and distribution

Temperature: -18°C to -20°C

Capacity: Full facility for all products

Container-to-Truck Conversion

Logistics Conversion at Iran Border

Why Conversion is Needed: Sea containers cannot cross land borders directly

Typical Conversion Ratio:

  • 51 x 40ft containers from India
  • Converted to 75 refrigerated trucks
  • Ratio: ~1.47 trucks per container

Process:

  1. Containers arrive at Bandar Abbas port
  2. Customs clearance completed
  3. Containers unloaded at port facility
  4. Goods transferred to refrigerated trucks
  5. Trucks depart for Uzbekistan border
  6. Border crossing and arrival in Tashkent

PI-to-Container Linking

Document Relationship Structure

Level Document Relationship Example
1 Proforma Invoice (PI) Master document PI-2025-001 ($5M total)
2 Commercial Invoices (CI) Multiple CIs per PI 17 invoices from PI-2025-001
3 Containers Multiple containers per CI 3-4 containers per invoice
4 Trucks Conversion from containers 51 containers → 75 trucks

Example Hierarchy:

PI-2025-001 ($5M)
├─ CI-001 → Containers: TRIU1001, TRIU1002, TRIU1003, TRIU1004 (partial)
├─ CI-002 → Containers: TRIU1004 (partial), TRIU1005, TRIU1006, TRIU1007
├─ CI-003 → Containers: TRIU1008, TRIU1009, TRIU1010
└─ ... (17 invoices total, 51 containers)

📋 Real-World Example: CI to Container Mapping

Complete Example: PI HMA/PI/2677/202425 → CI MH/104/202526

Commercial Invoice Details:

PI Number CI Number CI Date Vendor Total Items Total Weight Total Value
HMA/PI/2677/202425 MH/104/202526 21.04.2025 HMA AGRO INDUSTRIES LIMITED 12 line items ~185,000 kg ~$720,000

CI Line Items Summary

Category Item Code Item Name Boxes Kg/Box Total Kg Rate ($/Kg) Amount ($)
BUFFALO COMPENSATED 41 TOPSIDE 280 40 5,600 $3.85 $21,560.00
42 THICK FLANK / knuckle 224 40 4,480 $3.85 $17,248.00
44 SILVER SIDE 392 40 7,840 $3.85 $30,184.00
45 RUMP STEAK 224 40 4,480 $3.85 $17,248.00
63 CHUCK 236 40 4,720 $3.85 $18,172.00
65 BLADE 400 40 8,000 $3.85 $30,800.00
105/106 FOREQUARTER / FQ ROLL 644 40 12,880 $3.85 $49,588.00
15-17 NECK 400 40 8,000 $3.85 $30,800.00
BUFFALO COMPENSATED Subtotal: 2,800 56,000 $215,600.00
HQ CUTS 41 TOPSIDE 784 40 15,680 $3.95 $61,936.00
42 THICK FLANK / knuckle 560 40 11,200 $3.95 $44,240.00
44 SILVER SIDE 896 40 17,920 $3.95 $70,784.00
45 RUMP STEAK 560 40 11,200 $3.95 $44,240.00
HQ CUTS Subtotal: 2,800 56,000 $221,200.00
GRAND TOTAL: 5,600 boxes 112,000 kg $436,800.00

🚢 Container Allocation for This CI

Scenario: 112,000 kg total weight requires multiple 40ft refrigerated containers

Container Capacity: 40ft Reefer = ~27,000 kg max capacity (accounting for refrigeration equipment)

Calculation: 112,000 kg ÷ 27,000 kg = ~4.15 containers → 5 containers needed

Container# Type Contents (Approximate) Weight (kg) Value ($) BL Number
MSCU1234567 40ft Reefer BUFFALO COMP: Items 41, 42, 44 (partial) 23,500 $90,475 BLIND2025041001
MSCU1234568 40ft Reefer BUFFALO COMP: Items 44 (partial), 45, 63 22,400 $86,240 BLIND2025041002
MSCU1234569 40ft Reefer BUFFALO COMP: Items 65, 105/106 (partial) 22,300 $85,855 BLIND2025041003
TGBU8901234 40ft Reefer HQ CUTS: Items 41, 42, 44 (partial) 25,200 $99,540 BLIND2025041004
TGBU8901235 40ft Reefer BUFFALO COMP: 15-17, 105/106 (partial)
HQ CUTS: 44 (partial), 45
18,600 $74,690 BLIND2025041005
TOTAL (5 Containers): 112,000 kg $436,800 5 BLs

📊 Key Insights

Container Distribution Strategy

  • Mixed Loading: Containers may contain multiple item codes from same category
  • Category Separation: BUFFALO COMPENSATED and HQ CUTS may be mixed in containers due to space optimization
  • Container Utilization: Average 22,400 kg per container (83% capacity utilization)
  • Temperature Control: All containers maintain -18°C to -22°C

Tracking Requirements

  • Individual Container Status: Each container tracked separately (may arrive on different dates)
  • BL per Container: Each container has unique Bill of Lading number
  • Payment Trigger: 70% payment required when ALL 5 containers arrive at Iran port
  • Truck Conversion: 5 containers → ~7-8 trucks (using 1.47 ratio)

🔗 System Data Model

Relationships:

PI# HMA/PI/2677/202425
└─ CI# MH/104/202526 (Dated: 21.04.2025)
   ├─ 12 Line Items (112,000 kg total)
   └─ 5 Containers:
       ├─ MSCU1234567 (BL: BLIND2025041001) → 3 Trucks (UZ-TRK-001, 002, 003)
       ├─ MSCU1234568 (BL: BLIND2025041002) → 2 Trucks (UZ-TRK-004, 005)
       ├─ MSCU1234569 (BL: BLIND2025041003) → 2 Trucks (UZ-TRK-006, 007)
       ├─ TGBU8901234 (BL: BLIND2025041004) → 2 Trucks (UZ-TRK-008, 009)
       └─ TGBU8901235 (BL: BLIND2025041005) → 1 Truck (UZ-TRK-010)
           └─ 10 Trucks total → 10 GRNs → Stock at Main/Bektemir

Database Tables Involved:
• ProformaInvoice (PI)
• CommercialInvoice (CI) - foreign key to PI
• CommercialInvoiceItem (12 records) - foreign key to CI
• Container (5 records) - foreign key to CI
• Truck (10 records) - foreign key to Container
• GoodsReceiptNote (10 records) - foreign key to Truck
• InventoryItem (stock updates by Item Code + Location)

Multiple Containers per PI - Best Practices

Recommended Approach: One CI per Container Group

Structure:

  • Each Commercial Invoice covers 3-5 containers (depending on total weight)
  • Each container tracked individually with unique number
  • Container arrival dates recorded separately
  • Shipping status updated per container

Advantages:

  • ✅ Clear tracking of each container arrival
  • ✅ Independent status updates for delayed containers
  • ✅ Easier reconciliation with shipping documents
  • ✅ Better visibility for operations team

Stock Movement Tracking

Movement Type From To Trigger Event
Initial Receipt Vendor (India) Goods in Transit Commercial Invoice created
Port Arrival Goods in Transit Iran Port Storage Container arrival at Bandar Abbas
Customs Release Iran Port Storage Iran Port Storage (cleared) Customs duties paid
Cross-Border Transfer Iran Port Storage Main Cold Storage Tashkent Trucks arrive in Uzbekistan
Final Inventory Main Cold Storage Available Inventory Quality inspection passed

Shipping & Logistics Operations

Shipping Line Types

Direct Shipping

Definition: Direct shipment from origin port (India) to destination port (Iran) without transshipment

Advantages:

  • Faster transit time (14-18 days)
  • Lower risk of cargo damage
  • Lower shipping costs
  • Single Bill of Lading

Typical Routes:

  • Nhava Sheva (India) → Bandar Abbas (Iran)
  • Mumbai (India) → Bandar Abbas (Iran)

Indirect Shipping (Transshipment)

Definition: Shipment via intermediate hub ports with cargo transfer between vessels

Characteristics:

  • Longer transit time (25-35 days)
  • Higher risk during cargo transfer
  • May offer better rates for smaller volumes
  • Multiple handling points

Common Hub Ports:

  • Jebel Ali (Dubai, UAE)
  • Colombo (Sri Lanka)
  • Salalah (Oman)

Bill of Lading (BL) Types

BL Type Description Use Case Cost Impact
Original BL (OBL) Physical paper document, full set of 3 originals Traditional shipments, bank financing required Standard rate
Master BL (MBL) Issued by carrier/shipping line to freight forwarder Consolidation shipments, multiple consignees Standard rate
House BL (HBL) Issued by freight forwarder to actual shipper LCL shipments, freight forwarder consolidations May include forwarder margin
Telex Release Electronic surrender of original BL Faster cargo release, trusted parties $25-50 fee per BL
Express BL / Sea Waybill Non-negotiable document, no original required Pre-paid shipments, no financing needed No additional fee

Extended Shipment Status Lifecycle

Complete Status Progression

Stage Status Activities & Documentation Timeline
1 Booking Confirmed Shipping line booking, container allocation confirmed Day 0
2 Cargo Loaded Container stuffed at origin, VGM declaration submitted Day 1-2
3 Departed Origin Vessel departed India port, Bill of Lading issued Day 3
4 In Transit (Sea) Container in transit, vessel tracking active Day 4-17
5 Arrived at Discharge Port Container arrived Bandar Abbas, port storage begins Day 18
6 Telex Release Received Electronic BL surrender completed, cargo can be released Day 18-19
7 Local Charges Paid Port charges, terminal handling, detention fees paid Day 19-20
8 Customs Clearance Import duties, VAT, customs documentation completed Day 21-25
9 Container Released Customs release order, container ready for pickup Day 26
10 In Transit to Uzbekistan Loaded on trucks, en route to border Day 27-30
11 Arrived Uzbekistan Goods received at cold storage, GRN created Day 31-35

Local Charges & Cost Components

Port Charges at Bandar Abbas

Charge Type Description Typical Amount (USD) Link to BL
THC (Terminal Handling) Loading/unloading at port terminal $150-200 per container Referenced on BL
Port Congestion Surcharge Additional fee during peak periods $50-100 per container Mentioned in BL remarks
Documentation Fee Processing import documents $25-50 per BL BL number required
Detention & Demurrage Container storage beyond free time $50-100 per day Calculated from BL date
Wharfage Fee Use of port infrastructure $30-60 per container Based on BL cargo value
Reefer Monitoring Temperature monitoring for refrigerated containers $75-150 per container BL indicates reefer settings

Truck Transportation System

Container-to-Truck Logistics

Process Overview:

  1. Auto-Load Products from CI: When creating shipping record, system automatically loads all products from linked Commercial Invoice
  2. Container Assignment: Containers assigned to trucks based on capacity and route
  3. Truck Allocation: Refrigerated trucks booked (typically 1.47 trucks per 40ft container)
  4. Transfer Documentation: Truck waybills generated with references to original BL and CI
  5. Route Tracking: GPS tracking from Iran to Uzbekistan border and final destination

Truck Details & Specifications

Truck Type Capacity Temperature Range Transit Time
40ft Refrigerated Truck ~26-28 tons -18°C to -20°C 4-5 days
20ft Refrigerated Truck ~12-14 tons -18°C to -20°C 4-5 days

Conversion Calculation:

40ft Container Capacity: 27,000 kg (avg)
Truck Capacity: ~18,500 kg (avg considering road restrictions)
Conversion Ratio: 27,000 / 18,500 = 1.46 trucks per container

Example: 51 containers × 1.47 = 75 trucks

🚨 CRITICAL: Dual Tracking System - Containers AND Trucks

Why We Track Both Containers AND Trucks Separately

Payment Trigger Point: The 70% balance payment occurs AFTER containers arrive at Iran port but BEFORE transfer to trucks. This creates two distinct tracking phases:

Phase 1: CONTAINER TRACKING

From: India (Origin Port)

To: Iran (Bandar Abbas Port)

Key Milestone: Container arrival triggers 70% payment

  • Container# (e.g., TRIU1001)
  • BL# (Bill of Lading)
  • Vessel name & voyage
  • Sea transit tracking

Phase 2: TRUCK TRACKING

From: Iran (Bandar Abbas Port)

To: Uzbekistan (Tashkent)

Prerequisite: 70% payment MUST be completed first

  • Truck# (e.g., UZ-TRK-001)
  • Link to original Container#
  • Driver & route details
  • Road transit tracking

Container Status Lifecycle (India → Iran Port)

Phase 1: Sea Transit - Container Tracking

Status Location Description Actions Required Timeline
Booking Confirmed India - Origin Container allocated by shipping line Receive booking confirmation, container number assigned Day 0
Container Stuffed India - Warehouse/Factory Products loaded into refrigerated container Verify product list, seal container, generate VGM Day 1-2
Gate-In at Port India - Port (Nhava Sheva/Mumbai) Container delivered to port, waiting for vessel Port gate-in receipt, confirm loading schedule Day 2-3
Loaded on Vessel India - Port Container loaded on ship, BL issued Receive Bill of Lading (BL#), share with team Day 3-4
Departed India India - Sea Vessel departed Indian port Start vessel tracking, monitor ETA Day 4
In Transit (Sea) Arabian Sea Container in sea transit to Iran Daily vessel position updates, confirm ETA Day 5-17
🚨 ARRIVED IRAN PORT Iran - Bandar Abbas Port Container arrived at discharge port TRIGGER 70% PAYMENT NOW Day 18
Waiting for Payment Iran - Port Storage Container in port, awaiting 70% payment completion Process 70% payment urgently to avoid demurrage Day 18-20
✅ Payment Confirmed Iran - Port 70% payment completed, ready for next phase Obtain payment confirmation, initiate customs clearance Day 20
Telex Release Received Iran - Port Electronic BL surrender, cargo can be released Pay telex release fee (~$25-50) Day 20-21
Local Charges Paid Iran - Port Port charges, THC, detention fees settled Pay all port-related charges ($400-600) Day 21
Customs Cleared Iran - Customs Import duties paid, customs release obtained Submit docs, pay duties, get release order Day 22-25
🔄 READY FOR TRUCK TRANSFER Iran - Port Yard Container cleared, ready to transfer to trucks BEGIN TRUCK TRACKING PHASE Day 26

Truck Status Lifecycle (Iran Port → Uzbekistan)

Phase 2: Road Transit - Truck Tracking

⚠️ Prerequisite: Container tracking must reach "Ready for Truck Transfer" status (70% payment completed)

Status Location Description Container Link Timeline
Truck Booked Iran - Port Refrigerated truck allocated for transfer Linked to Container# TRIU1001 Day 26
Container Unstuffing Iran - Port/CFS Goods transferred from container to truck 1 container → 1.47 trucks (avg) Day 26-27
Truck Loaded Iran - Port Yard Truck loaded with goods from container Record: Truck# UZ-TRK-001 from Container# TRIU1001 Day 27
Departed Iran Iran - Port Gate Truck departed from port, en route to Uzbekistan Gate-out slip, GPS tracking starts Day 27
In Transit (Road) Iran → Uzbekistan Border Truck traveling through Iran towards border GPS updates every 4-6 hours Day 28-30
At Iran Border Iran-Uzbekistan Border Truck waiting for border crossing formalities Iran exit stamp, Uzbekistan entry documents Day 30-31
Border Crossed Uzbekistan Side Truck entered Uzbekistan territory Uzbekistan customs clearance Day 31
In Transit to Tashkent Uzbekistan - Road Truck traveling to final destination GPS tracking, ETA to cold storage Day 32-34
✅ ARRIVED COLD STORAGE Tashkent - Main (Ravshan aka) or Bektemir Truck arrived at designated warehouse location Create GRN, link to original Container# + CI#, specify storage location Day 35
Unloaded & Inspected Main/Bektemir - Warehouse Goods unloaded, quality inspection at designated location Temperature check, quantity verification, location assignment Day 35
Stock Received Main/Bektemir - Inventory GRN finalized, goods added to inventory by location Full traceability: PI → CI → Container# → Truck# → Location → GRN# Day 35

🔍 GRN Verification Checklist - Smart Comparison System

Warehouse Manager: Truck Arrival Verification Process

Purpose: When a truck arrives at Main/Bektemir warehouse, warehouse managers must verify actual received quantities against the Commercial Invoice (CI) data to identify discrepancies before creating the GRN.

📋 Pre-Unloading Checklist

Verification Item Expected Data Source Action Required
Truck Number System: Truck# (e.g., UZ-TRK-001) Verify physical truck matches system record
Driver Identity System: Driver name + contact Check ID, confirm contact number
Container Number System: Linked Container# (e.g., TRIU1001) Verify container seal intact if applicable
Commercial Invoice (CI) System: CI# linked to truck → container Load CI details for comparison (auto-populate from system)
Temperature Seal Check Visual inspection Verify refrigeration maintained during transit
Documents Present Physical documents with driver BL copy, packing list, health certificates, CMR

📦 Smart Comparison Table - CI vs Actual Received

System Function: Auto-generate this comparison table when warehouse manager scans Truck# or CI#

Example CI: PI# HMA/PI/2677/202425 | CI# MH/104/202526 | Dated: 21.04.2025

Item Code Product Name Category CI Expected Data Actual Received Variance Status
Boxes Kg/Box Total Kg Boxes Kg/Box Total Kg
41 TOPSIDE BUFFALO COMPENSATED 280 40.00 5,600.00 5,538.30 -61.70 kg ⚠️ Minor -1.1%
42 THICK FLANK / knuckle BUFFALO COMPENSATED 224 40.00 4,480.00 4,480.00 0.00 kg ✅ Perfect Match
44 SILVER SIDE BUFFALO COMPENSATED 392 40.00 7,840.00 7,887.04 +47.04 kg ✅ Minor +0.6%
45 RUMP STEAK BUFFALO COMPENSATED 224 40.00 4,480.00 4,400.00 -80.00 kg ⚠️ Minor -1.8%
41 TOPSIDE HQ CUTS 784 40.00 15,680.00 15,640.80 -39.20 kg ⚠️ Minor -0.2%
42 THICK FLANK / knuckle HQ CUTS 560 40.00 11,200.00 11,228.00 +28.00 kg ✅ Minor +0.2%
44 SILVER SIDE HQ CUTS 896 40.00 17,920.00 16,800.00 -1,120.00 kg 🚨 MAJOR -6.3%
45 RUMP STEAK HQ CUTS 560 40.00 11,200.00 11,100.00 -100.00 kg ⚠️ Minor -0.9%
TOTALS: 78,400.00 kg 77,074.14 kg -1,325.86 kg 98.3%
⚠️ ALERT: Item 44 (HQ CUTS) has -6.3% shortage. Procurement approval required!

🚨 Smart Variance Alerts

✅ Acceptable Variances

Tolerance Level: ±2% or ±10 kg per item (whichever is greater)

  • Minor Overage: 0% to +2% → Accept and proceed with GRN
  • Minor Shortage: 0% to -2% → Accept with note in GRN
  • Example: Item 31 (Tenderloin) +15.20 kg on 750 kg = +2.03% → Acceptable

🚨 Critical Variances - Action Required

Alert Threshold: Greater than ±2% or ±10 kg

  • Major Shortage: More than -2% → Immediate notification to procurement
  • Major Overage: More than +5% → Verify with supplier (potential error)
  • Example: Item 66 (Triming) -162 kg on 2,160 kg = -7.5% → ALERT!

📸 Quality Inspection Checklist

Inspection Point Expected Standard Actual Result Action if Failed
Product Temperature -18°C to -22°C (frozen) Reject if above -15°C
Packaging Integrity Vacuum sealed, no tears Document damaged boxes, reject if >5%
Product Color Deep red (buffalo meat) Photo evidence, notify QC team
Odor Test No off-smell, fresh meat scent Immediate rejection, quarantine batch
Ice Crystals Minimal (indicates no thaw/refreeze) Check temperature logs, may reject
Label Verification Item code, batch, expiry visible Re-label if missing, verify with CI
Random Weight Check Sample 10% boxes, verify kg/box Adjust actual totals if variance >3%
Halal Certificate Valid, batch numbers match CANNOT receive without valid cert

📝 Variance Resolution Workflow

IF Total Variance > 2% OR Any Single Item > 5% Shortage:

STEP 1: Warehouse Manager MUST NOT complete GRN yet
STEP 2: Take photos of discrepancy (boxes, labels, weight scales)
STEP 3: System auto-generates "Discrepancy Report":

═══════════════════════════════════════════════════════════
📋 DISCREPANCY REPORT - URGENT ACTION REQUIRED
═══════════════════════════════════════════════════════════
PI Number: HMA/PI/2677/202425
CI Number: MH/104/202526 (Dated: 21.04.2025)
Container#: TRIU1001 (40ft Reefer)
Truck#: UZ-TRK-001
Warehouse Location: Main Cold Storage (Ravshan aka)
Arrival Date/Time: 25.05.2025 14:35
Warehouse Manager: Alisher Karimov
Vendor: HMA AGRO INDUSTRIES LIMITED
───────────────────────────────────────────────────────────
🚨 CRITICAL VARIANCE DETECTED:

Item Code 44 - SILVER SIDE (HQ CUTS)
  Expected: 896 boxes × 40.00 kg = 17,920.00 kg
  Received: 840 boxes × 40.00 kg = 16,800.00 kg
  Shortage: -1,120.00 kg (-6.3%)
  Value Impact: -1,120 kg × $3.95/kg = -$4,424.00

Overall Shipment Summary:
  Total Expected: 78,400.00 kg
  Total Received: 77,074.14 kg
  Total Shortage: -1,325.86 kg (-1.7%)
  Estimated Value Loss: $5,101.75
───────────────────────────────────────────────────────────
Quality Issues Noted:
  ❌ Temperature reading: -16.5°C (Expected: -18°C to -22°C)
  ⚠️ Packaging: 12 boxes with torn vacuum seals (Item 44)
  ✅ Halal certification: Valid
  ✅ Product color/odor: Pass
───────────────────────────────────────────────────────────
Photos Attached:
  📷 IMG_20250525_143512.jpg - Missing boxes Item 44
  📷 IMG_20250525_143628.jpg - Weight scale verification
  📷 IMG_20250525_143745.jpg - Torn packaging samples
  📷 IMG_20250525_143901.jpg - Temperature logger reading
═══════════════════════════════════════════════════════════

STEP 4: System sends alert to:
    ✉️ Procurement Manager (approve/reject receipt)
    ✉️ Finance Team (adjust payment if applicable)
    ✉️ Vendor Contact: procurement@hmaagro.com (claim process for shortage)
    📱 SMS Alert: +998 90 123 4567 (Procurement Manager mobile)

STEP 5: Procurement Manager Decision:
    Option A: Accept with Adjustment → Create GRN with actual qty, note variance, initiate claim
        → Generate Claim# MSA-CLM-2025-042 for $5,101.75
        → Deduct shortage from next payment OR request credit note
    Option B: Reject Shipment → Return to supplier, cancel GRN, update truck status
        → Driver returns with goods, full refund process initiated
    Option C: Partial Accept → Accept good items, reject damaged/missing, split GRN
        → Accept 7 items (77,074.14 kg), Reject Item 44 shortage (1,120 kg)
        → Create GRN for accepted, Return note for rejected

STEP 6: If accepted, create GRN with:
    - Actual received quantities (not CI quantities)
    - Variance notes attached to each line item
    - Photos uploaded to GRN record
    - Claim reference# MSA-CLM-2025-042 linked
    - Storage location: Main (Ravshan aka)
    - GRN Status: "Received with Discrepancy - Claim Pending"

IF Variance ≤ 2% AND All Items Within Tolerance:

STEP 1: Warehouse Manager completes quality inspection
STEP 2: System auto-generates GRN with actual quantities
STEP 3: Stock immediately added to inventory (Location: Main or Bektemir)
STEP 4: Minor variance report sent to procurement (info only, no action required)
STEP 5: GRN Status: "Received - Normal Variance"

💾 System Features Required

  • Auto-Load CI Data: When truck# scanned, system loads all CI line items into comparison table
  • Real-Time Calculation: As warehouse manager enters actual boxes/kg, system calculates:
    • Total kg per item
    • Variance in kg and %
    • Color-coded status (green = match, yellow = minor, red = major)
    • Overall acceptance score
  • Mobile-Friendly Interface: Warehouse managers use tablets to enter data on warehouse floor
  • Photo Attachment: Camera integration for damage/discrepancy documentation
  • Barcode/QR Scanning: Scan item codes from boxes to auto-fill product details
  • Digital Signature: Warehouse manager + Driver sign-off on discrepancies
  • Automatic Alerts: Email/SMS to procurement when variance exceeds tolerance
  • Historical Comparison: Show previous receipts from same vendor for quality trends
  • GRN Preview: Show exactly what will be added to inventory before final submit

📊 Post-GRN Tracking Metrics

Metric Calculation Target Action if Below Target
Receipt Accuracy Rate (Actual Received / CI Expected) × 100 ≥98% Review vendor performance, update contract terms
Quality Pass Rate (Items Passed QC / Total Items) × 100 ≥95% Vendor quality audit, consider alternative suppliers
GRN Processing Time Time from truck arrival to GRN finalized ≤4 hours Add warehouse staff, improve system speed
Discrepancy Resolution Time Time from variance alert to procurement decision ≤2 hours Improve communication channels, set clear authority limits

Container-to-Truck Linking Requirements

System Requirements for Dual Tracking

Database Design:

  • Container Table: Track container from India to Iran port
    • Container ID (primary key)
    • Container Number (e.g., TRIU1001)
    • BL Number
    • Commercial Invoice ID (foreign key to CI)
    • Container Status (enum: booked, stuffed, in_transit, arrived_iran, payment_pending, cleared, ready_for_truck)
    • Vessel name, voyage number
    • Departure date (India), Arrival date (Iran)
    • 70% Payment Status (pending, completed)
    • 70% Payment Date
  • Truck Table: Track truck from Iran port to Uzbekistan
    • Truck ID (primary key)
    • Truck Number (e.g., UZ-TRK-001)
    • Container ID (foreign key - CRITICAL LINK)
    • Truck Status (enum: booked, loading, departed_iran, in_transit, at_border, crossed_border, in_transit_uzb, arrived_tashkent, unloaded)
    • Driver name, contact
    • Departure date (Iran), Arrival date (Uzbekistan)
    • Storage Location (enum: Main, Bektemir) - Destination warehouse
    • GPS tracking data
  • Critical Relationship: One Container → Multiple Trucks (1.47 ratio)
    • Each Truck record MUST have Container ID as foreign key
    • Can trace: Truck# UZ-TRK-001 → Container# TRIU1001 → BL# BLIND123456 → CI# MSA-CI-2025-001 → PI# MSA-PI-2025-001

UI/Dashboard Requirements:

  • Container View: Show all containers with status, payment status, and linked trucks
  • Truck View: Show all trucks with status, linked container, and route
  • Shipment Overview: Combined view showing:
    • PI# → CI# → Container# (India to Iran) → 70% Payment → Truck# (Iran to Uzbekistan) → GRN#
  • Payment Trigger Alert: System alert when container status = "arrived_iran" → prompt for 70% payment
  • Automatic Status Update: After 70% payment confirmed → Container status = "ready_for_truck" → Enable truck creation

Example Tracking Flow:

CI-2025-001 ($100,000)

Container# TRIU1001 (Status: In Transit - India to Iran)

[Day 18] Container Arrived Iran Port → Status: "Payment Pending"
🚨 ALERT: Make 70% payment ($70,000) NOW

[Day 20] 70% Payment Confirmed → Status: "Ready for Truck"

Create Trucks linked to Container# TRIU1001:
├─ Truck# UZ-TRK-001 (18,500 kg) - Link: TRIU1001
└─ Truck# UZ-TRK-002 (8,500 kg) - Link: TRIU1001

[Day 27] Trucks Departed Iran → Status: "In Transit to Uzbekistan"

[Day 35] Trucks Arrived Tashkent → Create GRN (linked to both trucks + original container + CI)

Transportation Bill Management

Transportation Bill Types

1. Direct Bill

  • Single consolidated bill for entire shipment
  • One total amount covering all containers/trucks
  • Easier accounting, single payment entry
  • Use case: Regular trusted vendors

2. Separated Bill

  • Individual bills per container or truck
  • Detailed breakdown of costs
  • Better cost tracking per unit
  • Use case: Multi-vendor consolidations, audit requirements

3. Total Bill (Aggregated)

  • Combined bill with itemized breakdown
  • Shows per-unit costs + total
  • Balance between detail and simplicity
  • Use case: Monthly consolidated shipments

Bill Payment Methods

Cash Payment

  • Physical cash payment to transporter
  • Immediate receipt required
  • Used for: Small amounts, local trucking, emergency situations
  • Accounting: Petty cash journal entry

Bank Payment

  • Bank transfer or check payment
  • Full audit trail and documentation
  • Used for: All major logistics bills, international payments
  • Accounting: Bank account journal entry with payment voucher

Payment Terms:

  • Advance: 30% before departure (for truck booking)
  • On Delivery: 70% upon arrival at Tashkent cold storage
  • Credit Terms: 15-30 days for established transporters

Logistics Extra Charges

Additional Costs Linked to Bill of Lading

All extra charges must reference the original BL number for tracking and reconciliation:

Extra Charge Trigger Condition Calculation Basis BL Link Requirement
Demurrage Charges Container kept beyond free time at port Per day × days exceeded BL# + Container# + Arrival date from BL
Detention Charges Container used beyond free time outside port Per day × days exceeded BL# + Container# + Gate-out date
Customs Examination Fee Physical inspection of goods Fixed fee or % of value BL# + CI# + Customs declaration#
Cold Storage Charges Extended storage before truck dispatch Per ton × days × rate BL# + Warehouse receipt#
Re-stuffing Charges Cargo transferred to different container/truck Per container + labor cost Original BL# + New container#
Document Courier Urgent delivery of original documents Fixed fee per shipment BL# + Tracking number
Fumigation Charges Pest control treatment required Per container + certificate fee BL# + Fumigation certificate#

Recording Extra Charges:

  • All extra charges must link to original BL number in system
  • Charges increase landed cost per kg for accurate inventory valuation
  • Payment against extra charges requires BL reference for approval
  • Monthly reconciliation of all BL-linked charges against original shipping cost

Shipping Creation Workflow

Auto-Load Products from Commercial Invoice

When creating a new shipment record:

  1. Select Commercial Invoice: Choose CI from dropdown (all CIs with status "Issued" or "Confirmed")
  2. Auto-Load Products: System automatically loads all line items from selected CI:
    • Product code and description
    • Quantity (kg)
    • Box count
    • Kg per box
    • Unit price and total amount
  3. Assign Containers: Allocate products to container numbers (e.g., TRIU1001, TRIU1002)
  4. Link Bill of Lading: Enter BL number for tracking
  5. Set Shipping Details:
    • Shipping line (Direct/Indirect)
    • Vessel name and voyage number
    • Departure and estimated arrival dates
    • Port of loading and discharge
  6. Create Shipment: System generates shipment record linked to CI and BL
  7. Track Status: Status updates automatically as shipment progresses

Benefits of Auto-Load

  • Data Accuracy: No manual re-entry of product details
  • Time Saving: Instant population of 10-20 line items
  • Full Traceability: Direct link from PI → CI → Shipment → GRN
  • Error Prevention: Eliminates quantity mismatches between documents

Practical Examples

Example 1: Simple Shipment - Single Container

Scenario Details

  • Vendor: HMA AGRO Industries
  • Product: Buffalo Topside (MEAT-41)
  • Quantity: 5,000 kg
  • Unit Price: $3.775/kg
  • Total Value: $18,875
  • Containers: 1 x 40ft
  • Container Number: TRIU1234567

Complete Timeline

Day Action Amount Status
Day 0 PI created and confirmed $18,875 PI Confirmed
Day 7 30% advance payment made $5,662.50 Payment Sent
Day 30 Goods shipped, CI issued - Shipped
Day 35 Container arrives Iran, status updated - Arrived Iran
Day 38 70% balance payment made $13,212.50 Payment Complete
Day 45 Customs cleared, duties paid $1,887.50 (10%) Cleared
Day 50 Loaded on truck to Uzbekistan - In Transit
Day 55 Arrived Tashkent, GRN created - Completed

Total Cost: $20,762.50 (Invoice + Duties)

Cycle Time: 55 days

Example 2: Large Shipment - Multiple Containers

Scenario Details

  • Vendor: Mirha Exports Private Limited
  • Products: Multiple meat cuts (4 types)
  • Total Quantity: 25,000 kg
  • Total Value: $94,375
  • Containers: 3 x 40ft
  • Container Numbers: TRIU1111111, TRIU2222222, TRIU3333333

Product Breakdown

Product Code Description Quantity (kg) Rate ($/kg) Total
MEAT-31 Buffalo Shank 3,000 $3.775 $11,325
MEAT-46 Buffalo Silverside 5,000 $3.775 $18,875
MEAT-41 Buffalo Topside 10,000 $3.775 $37,750
MEAT-44 Buffalo Striploin 7,000 $3.775 $26,425
Total $94,375

Multi-Container Timeline

Day Event Container(s) Amount
Day 0 PI created, 30% advance paid - $28,312.50 (30%)
Day 35 First container arrives Iran TRIU1111111
(MEAT-31: 3,000kg, MEAT-46: 2,000kg)
-
Day 38 Second container arrives Iran TRIU2222222
(MEAT-46: 3,000kg, MEAT-41: 5,000kg)
-
Day 40 Third container arrives Iran
70% payment made
TRIU3333333
(MEAT-41: 5,000kg, MEAT-44: 7,000kg)
$66,062.50 (70%)
Day 45-50 All containers cleared customs All 3 containers $9,437.50 (duties)
Day 55-60 All containers transferred to Tashkent All 3 containers -

Key Tracking Points:

  • All 3 containers linked to same PI (PI-2025-002)
  • Each container tracked separately with individual arrival dates
  • 70% payment made after all containers confirmed arrived
  • Total cost: $103,812.50 (Invoice + Duties)

Example 3: Consolidated Container - Multiple PIs

Scenario: Mixed Container from Different Suppliers

Situation: Consolidating smaller orders to optimize shipping costs

Container TRIU999 Contents:

PI Reference Vendor Product Quantity
PI-2025-001 HMA AGRO MEAT-41 Topside 2,000 kg
PI-2025-003 Mirha Exports MEAT-46 Silverside 1,500 kg
PI-2025-005 Al Noor Meats MEAT-44 Striploin 1,000 kg

Tracking Approach:

  • Create separate CI for each PI portion in the container
  • Link all CIs to the same container number (TRIU999)
  • Add notes detailing the mixed container composition
  • Track container as a whole but maintain separate PI payments

Key Performance Indicators & Tracking

Timeline Performance KPIs

KPI Target Measurement
PI to Invoice ≤ 30 days Days between PI confirmation and CI issue
Invoice to Shipment ≤ 7 days Days between invoice and vessel departure
Transit Time 20-30 days Days from departure to arrival at Iran
Customs Clearance ≤ 5 days Days from arrival to customs release
Goods Receipt ≤ 2 days Days from release to GRN creation
Final Payment ≤ 15 days Days from GRN approval to payment
Total Cycle Time 60-90 days PI confirmation to completion

Financial Performance KPIs

Payment Compliance

Advance Rate: 30% target

On-Time Payment: >95%

Payment Delays: <5%

Cost Management

Customs Duty %: Monitor variance

Freight Cost %: Track vs budget

FX Impact: Minimize losses

Working Capital

Days Payable: Track average

Cash Tied Up: Minimize duration

Advance Recovery: Monitor timing

Quality & Operational KPIs

KPI Target Purpose
GRN Acceptance Rate >98% Quality of received goods
Quantity Variance <2% Invoice vs actual received
Quality Pass Rate >99% Inspection approval rate
Temperature Compliance 100% Cold chain integrity
Document Submission 100% on-time Customs clearance efficiency
Customs Delays <5% Clearance processing time
Container Damage Rate <1% Logistics quality

Vendor Performance Tracking

Vendor Scorecard Metrics

  • On-Time Delivery: % of shipments departing on scheduled date
  • Quantity Accuracy: % variance between PI and actual shipped
  • Quality Compliance: % of shipments passing quality inspection
  • Documentation: Completeness and accuracy of shipping documents
  • Communication: Responsiveness and proactive updates
  • Price Stability: Adherence to quoted prices

Sales & Distribution Management

Sales Order Workflow

From Inventory to Customer Delivery

Purpose: After goods are received and stored at Main/Bektemir warehouses, they are sold to local customers in Uzbekistan.

Sales Order Creation Process

  1. Customer Inquiry: Customer requests specific items and quantities
  2. Stock Availability Check: System checks available inventory by Item Code + Location (Main/Bektemir)
  3. Price Quotation: Convert landed cost (USD) →UZS + markup percentage
  4. Sales Order (SO) Creation: Create SO with customer details, items, quantities, prices in UZS
  5. Stock Reservation: Reserve stock from available inventory to prevent double-selling
  6. Delivery Note Generation: Create delivery note for warehouse picking
  7. Goods Issue: Warehouse picks and loads items for delivery
  8. Customer Invoice Generation: Create customer invoice in UZS
  9. Delivery Confirmation: Customer signs delivery note
  10. Payment Collection: Cash/Bank transfer/Credit terms
  11. Inventory Update: Reduce stock levels by Item Code + Location

Sales Pricing Model

Cost Component Calculation Example (Item 41 - Topside)
FOB Cost (India) From CI (USD) $3.95/kg
Shipping Cost Total shipping ÷ total kg $0.35/kg
Customs & Duties Import duty + VAT $0.25/kg
Local Charges (Iran) Port charges, clearance, etc. $0.15/kg
Trucking (Iran→UZB) Road transport cost $0.30/kg
Total Landed Cost (USD) Sum of all costs $5.00/kg
Convert to UZS USD × Exchange Rate $5.00 × 12,800 = 64,000 UZS/kg
Add Markup (25%) Landed Cost × 1.25 64,000 × 1.25 = 80,000 UZS/kg
Final Sales Price (UZS) To Customer 80,000 UZS/kg

Customer Types & Payment Terms

Cash Customers (Walk-in)

  • Payment: 100% cash or bank transfer before delivery
  • Pricing: Standard retail price (higher markup: 30-35%)
  • Minimum Order: No minimum (can buy 10 kg)
  • Delivery: Same day pickup from warehouse

Credit Customers (Wholesale/HORECA)

  • Payment: 7-30 days credit terms
  • Pricing: Wholesale price (lower markup: 20-25%)
  • Minimum Order: 500 kg minimum
  • Delivery: Free delivery for orders >1,000 kg

Database Schema - Sales Module

Tables Required:

Customer Table:
• Customer ID (primary key)
• Customer Name
• Customer Type (Cash/Credit/Wholesale/HORECA)
• Contact Person, Phone, Address
• Credit Limit (UZS)
• Payment Terms (days)
• Current Balance (UZS)

Sales Order Table:
• SO Number (primary key) - e.g., SO-2025-001
• Customer ID (foreign key)
• SO Date
• Delivery Date
• Warehouse Location (Main/Bektemir)
• Total Amount (UZS)
• Status (Draft/Confirmed/Picking/Delivered/Invoiced)
• Payment Status (Pending/Partial/Paid)

Sales Order Item Table:
• SO Item ID (primary key)
• SO Number (foreign key)
• Item Code
• Item Name
• Quantity (kg)
• Unit Price (UZS/kg)
• Total Amount (UZS)
• Reserved Inventory ID (link to stock reservation)

Delivery Note Table:
• DN Number (primary key) - e.g., DN-2025-001
• SO Number (foreign key)
• Delivery Date/Time
• Vehicle Number
• Driver Name
• Customer Signature (image/digital)
• Delivered Quantity vs Ordered Quantity

Customer Invoice Table:
• Invoice Number (primary key) - e.g., INV-2025-001
• SO Number (foreign key)
• DN Number (foreign key)
• Invoice Date
• Due Date (invoice date + payment terms)
• Total Amount (UZS including VAT)
• Payment Status
• Payment Received Date

Stock Reservation Table:
• Reservation ID (primary key)
• SO Number (foreign key)
• Item Code
• Warehouse Location
• Reserved Quantity (kg)
• Reservation Date
• Status (Reserved/Released/Delivered)

📋 Claims & Disputes Management

⚠️ When Claims Are Needed

Claims and disputes arise when there are discrepancies between what was ordered/paid for versus what was received. These must be documented and resolved to protect MSA's financial interests.

Common Claim Scenarios

Quantity Discrepancies

  • Short Shipment: Received less than invoiced (most common)
  • Over Shipment: Received more than ordered (rare but must document)
  • Missing Boxes: Cartons listed on packing list but not in container
  • Weight Variance: Actual weight differs from CI weight

Example: CI shows 896 boxes × 40 kg = 35,840 kg, but GRN shows only 840 boxes received = 33,600 kg shortage of 2,240 kg

Quality Issues

  • Temperature Abuse: Product not maintained at -18°C to -22°C
  • Packaging Damage: Torn vacuum seals, damaged boxes
  • Product Quality: Off-color, odor, or texture issues
  • Freezer Burn: Improper storage during transit
  • Contamination: Foreign materials or cross-contamination

Example: Container temperature logger shows +2°C for 6 hours during transit - entire shipment may be compromised

Documentation Issues

  • Missing Certificates: Halal cert, health cert, or COO missing
  • Incorrect Information: Wrong HS codes, product descriptions
  • Expired Documents: Certificates past validity date
  • BL Discrepancies: BL numbers don't match shipping docs

Pricing & Payment Disputes

  • Price Variance: CI price differs from PI agreed price
  • Incorrect Totals: Mathematical errors in invoicing
  • Currency Issues: Wrong exchange rate applied
  • Hidden Charges: Unexpected fees not in original quote

Claims Workflow Process

Step-by-Step Claims Resolution Process

  1. 🔍 Detection & Documentation (Day 0):
    • Warehouse manager identifies discrepancy during GRN process
    • Complete GRN Verification Checklist with detailed notes
    • Take photos/videos of issues (missing items, damaged packaging, temperature readings)
    • Get signatures from driver and warehouse team
    • CRITICAL: Do NOT accept delivery until documentation complete
  2. 📝 Claim Preparation (Day 0-1):
    • Create Claim Form with all details (see template below)
    • Attach supporting documents: GRN, photos, temperature logs, packing list
    • Calculate financial impact (quantity × unit price)
    • Categorize claim severity (Minor/Major/Critical)
    • Assign claim number: CLM-YYYY-XXX (e.g., CLM-2025-001)
  3. 📧 Vendor Notification (Day 1-2):
    • Email claim to vendor within 48 hours of discovery
    • CC: Procurement Manager, Finance Team
    • Request vendor acknowledgment within 24 hours
    • Provide all supporting documentation
    • State expected resolution (refund, credit note, replacement)
  4. 🤝 Negotiation (Day 3-10):
    • Vendor reviews claim and provides response
    • Discussion on resolution options (see Resolution Options below)
    • Agree on settlement amount/terms
    • Document agreed resolution in writing
  5. ✅ Resolution Implementation (Day 11-30):
    • Execute agreed resolution (credit note, refund, replacement shipment)
    • Update financial records (reduce payable if credit note)
    • Update inventory if replacement received
    • Close claim in system with final status
  6. 📊 Post-Claim Analysis (Monthly):
    • Track claim trends by vendor
    • Identify recurring issues
    • Update vendor performance scorecard
    • Consider vendor replacement if chronic issues

Claim Form Template

═══════════════════════════════════════════════════════════
📋 CLAIM FORM - MSA MEAT TRADING
═══════════════════════════════════════════════════════════
Claim Number: CLM-2025-001
Claim Date: 25.05.2025
Claim Type: ☑ Quantity Shortage  ☐ Quality Issue  ☐ Documentation  ☐ Pricing
Severity: ☐ Minor (<$2,000)  ☐ Major ($2,000-$10,000)  ☑ Critical (>$10,000)

───────────────────────────────────────────────────────────
SHIPMENT DETAILS:
───────────────────────────────────────────────────────────
PI Number: HMA/PI/2677/202425
CI Number: MH/104/202526 (Dated: 21.04.2025)
Container Number: MSCU1234567
BL Number: BLIND2025041001
Vessel Name: MSC MEDITERRANEAN
Arrival Date at Bandar Abbas: 10.05.2025
Truck Number: UZ-TRK-001
GRN Number: GRN-2025-001
GRN Date: 25.05.2025

Vendor Details:
Company Name: HMA AGRO INDUSTRIES LIMITED
Vendor ID: VND-HMA-001
Contact Person: Mr. Rajesh Kumar
Email: rajesh@hmaagro.com
Phone: +91-22-XXXX-XXXX

───────────────────────────────────────────────────────────
CLAIM DETAILS:
───────────────────────────────────────────────────────────
Affected Item: Item Code 44 - SILVER SIDE (HQ CUTS)
Category: BUFFALO COMPENSATED

Expected Quantity:
  • CI Quantity: 896 boxes × 40.00 kg/box = 35,840.00 kg
  • Unit Price: $3.95/kg FOB
  • Expected Value: $141,568.00

Actual Received Quantity:
  • GRN Quantity: 840 boxes × 40.00 kg/box = 33,600.00 kg
  • Actual Value: $132,720.00

Discrepancy:Shortage: 56 boxes / 2,240 kg (-6.25%)Financial Impact: $8,848.00

───────────────────────────────────────────────────────────
EVIDENCE ATTACHED:
───────────────────────────────────────────────────────────
☑ GRN Document (GRN-2025-001)
☑ Commercial Invoice (MH/104/202526)
☑ Packing List
☑ Photos of received boxes (IMG_20250525_143512.jpg)
☑ Weight scale readings (IMG_20250525_143628.jpg)
☑ Delivery note with driver signature
☑ Warehouse manager statement

───────────────────────────────────────────────────────────
REQUESTED RESOLUTION:
───────────────────────────────────────────────────────────
☑ Credit Note for shortage value: $8,848.00
☐ Replacement shipment
☐ Partial refund
☐ Discount on next order

Justification:
The shortage of 2,240 kg represents a significant financial loss of $8,848.
This exceeds our acceptable variance threshold of ±2%. We request a credit
note to be applied against the 70% payment due for this shipment, reducing
our payable from $141,568 to $132,720.

───────────────────────────────────────────────────────────
PREPARED BY:
───────────────────────────────────────────────────────────
Name: Alisher Karimov
Position: Warehouse Manager - Main Cold Storage
Signature: _______________________
Date: 25.05.2025

APPROVED BY:
Name: [Procurement Manager Name]
Position: Procurement Manager
Signature: _______________________
Date: 26.05.2025

═══════════════════════════════════════════════════════════
FOR VENDOR USE:
───────────────────────────────────────────────────────────
Acknowledgment Date: ______________
Vendor Response: ☐ Accepted  ☐ Partially Accepted  ☐ Rejected
Proposed Resolution: _______________________________________
Expected Completion: ______________
═══════════════════════════════════════════════════════════
                    

Resolution Options

Resolution Type How It Works Financial Impact When to Use
Credit Note Vendor issues credit note reducing amount payable. Most common solution for quantity shortages. Reduces 70% payment due by claim amount Quantity shortages, minor quality issues
Replacement Shipment Vendor ships missing quantity in next container at no additional cost No immediate refund, receive goods later Large shortages where you need the product
Cash Refund Vendor refunds already paid amount (applicable to 30% advance) Direct cash return Major quality issues, rejected shipments
Discount on Next Order Apply claim value as discount on future PI Future savings Minor claims, maintain good vendor relations
Price Adjustment Reduce unit price for entire shipment to compensate Lowers total invoice value Quality grade issues (e.g., HQ sold as IQ grade)
Full Rejection Refuse entire shipment, demand full refund including shipping 100% refund + shipping costs Critical quality failures, health/safety issues

Claims Tracking System

Database Schema - Claims Module

Claim Table: • Claim ID (primary key) - CLM-YYYY-XXX • Claim Date • PI Number (foreign key) • CI Number (foreign key) • Container Number (foreign key) • Truck Number (foreign key) • GRN Number (foreign key) • Vendor ID (foreign key) • Claim Type (Quantity/Quality/Documentation/Pricing) • Severity (Minor/Major/Critical) • Status (Draft/Submitted/Acknowledged/Under Review/Resolved/Rejected/Closed) • Total Claim Amount (USD) • Currency • Requested Resolution Type • Actual Resolution Type • Resolution Date • Resolution Amount • Created By (User ID) • Approved By (User ID) Claim Item Table: • Claim Item ID (primary key) • Claim ID (foreign key) • Item Code • Expected Quantity • Received Quantity • Variance Quantity • Unit Price • Claim Amount • Issue Description Claim Attachment Table: • Attachment ID (primary key) • Claim ID (foreign key) • File Name • File Type (Photo/PDF/Excel) • File Path • Upload Date • Uploaded By Claim Communication Log: • Log ID (primary key) • Claim ID (foreign key) • Communication Date • Communication Type (Email/Phone/Meeting) • From (MSA user/Vendor contact) • To • Subject • Message/Notes • Attachments

Claim Severity Matrix

Severity Level Financial Impact Response Time Approval Required Escalation Path
Minor < $2,000 Vendor response: 5 days
Resolution: 15 days
Warehouse Manager Procurement Manager (if not resolved in 15 days)
Major $2,000 - $10,000 Vendor response: 3 days
Resolution: 10 days
Procurement Manager Finance Manager + General Manager (if not resolved in 10 days)
Critical > $10,000 Vendor response: 24 hours
Resolution: 7 days
General Manager + Finance Manager Legal action if not resolved in 30 days

Vendor Performance Impact

Claims History Tracking

All claims are tracked against vendor performance scorecards:

  • Claims Rate: Number of claims per shipment
  • Claims Value: Total USD value of claims vs total purchases
  • Resolution Rate: % of claims resolved favorably
  • Response Time: Average time to acknowledge and respond
  • Recurring Issues: Same problems across multiple shipments

Vendor Warning Thresholds:

  • 🟡 Yellow Flag: 3 claims in 6 months OR claims value > 2% of purchases
  • 🟠 Orange Flag: 5 claims in 6 months OR claims value > 5% of purchases
  • 🔴 Red Flag: 8+ claims in 6 months OR claims value > 10% of purchases → Consider vendor replacement

Real-World Example: Resolved Claim

Case Study: CLM-2025-001

Claim Date: 25.05.2025
Vendor: HMA AGRO INDUSTRIES LIMITED
Issue: Shortage of 2,240 kg of Item 44 (SILVER SIDE)
Claim Amount: $8,848.00
Timeline: • 25.05.2025: Claim submitted with GRN evidence
• 26.05.2025: Vendor acknowledged (within 24 hours)
• 27.05.2025: Vendor investigation confirmed shortage
• 28.05.2025: Vendor proposed credit note for $8,848
• 29.05.2025: MSA accepted credit note
• 30.05.2025: Credit note CN-HMA-2025-001 issued
• 31.05.2025: Claim closed as RESOLVED
Resolution: Credit note applied against 70% payment due. Original payable: $141,568 → Adjusted payable: $132,720
Outcome: ✅ Resolved in 6 days (within Major claim threshold of 10 days)

↩️ Returns & Rejections Management

🚨 When Returns/Rejections Are Required

Returns and rejections occur when received goods are so defective or non-conforming that they cannot be accepted into inventory. Unlike claims (where goods are accepted with compensation), returns involve physically sending product back to vendor or rejecting delivery entirely.

Return vs Rejection: Key Differences

📦 RETURN (Post-Acceptance)

Definition: Goods were initially accepted (GRN created) but later found defective during storage or sale preparation

Timeline: Discovered after GRN, within warranty period (typically 30 days)

Process:

  • Create Return Authorization (RA)
  • Reverse GRN entry in system
  • Pack and ship back to vendor
  • Deduct from vendor payment or request refund

Examples:

  • Freezer burn discovered after unpacking
  • Product thaws during storage (cold chain failure)
  • Customer complaints about quality after purchase
  • Lab test results show contamination

🚫 REJECTION (At Delivery)

Definition: Goods refused at point of delivery, never accepted into inventory

Timeline: Discovered immediately during GRN verification process

Process:

  • Document issues during GRN
  • Do NOT create GRN or accept delivery
  • Driver takes goods back immediately
  • Formal rejection notice sent to vendor

Examples:

  • Temperature above +5°C upon arrival
  • Visible signs of thawing/refreezing
  • Foul odor indicating spoilage
  • Missing halal certification documents
  • Wrong product delivered

Rejection Criteria (Critical Issues)

🔴 Automatic Rejection Triggers - DO NOT ACCEPT DELIVERY

Issue Type Rejection Criteria Action Required
Temperature Abuse • Product temp > -10°C
• Signs of thawing/refreezing
• Ice crystals melted
REJECT ENTIRE TRUCK
Do not unload
Quality Defects • Foul or off-odor detected
• Discoloration (green/brown)
• Visible mold or slime
REJECT AFFECTED ITEMS
Photograph evidence
Packaging Failure • >25% boxes damaged/torn
• Exposed product (no vacuum seal)
• Water damage to cartons
REJECT DAMAGED ITEMS
Accept only undamaged
Documentation Issues • No Halal certificate
• Expired health certificate
• Missing COO certificate
HOLD DELIVERY
Contact vendor immediately
Contamination • Foreign objects visible
• Cross-contamination signs
• Pest infestation evidence
REJECT ENTIRE SHIPMENT
Report to authorities
Wrong Product • Different item than ordered
• Wrong category/grade
• Mislabeled products
REJECT WRONG ITEMS
Create discrepancy report

Rejection Process Workflow

Step-by-Step Rejection Process (At Delivery)

  1. 🔍 Immediate Assessment (Minutes 1-15):
    • Warehouse manager performs initial inspection
    • Check temperature logger readings immediately
    • Visually inspect packaging condition
    • Verify documents (Halal cert, health cert, COO)
    • Random sample check of product quality
  2. 🚨 Rejection Decision (Minutes 15-30):
    • If critical issue found → STOP unloading immediately
    • Call Procurement Manager for authorization
    • Inform truck driver of rejection reason
    • Begin documentation process
  3. 📸 Evidence Collection (Minutes 30-60):
    • Take photos/videos of defects (minimum 10 photos from different angles)
    • Record temperature readings with timestamp
    • Photograph temperature logger data
    • Get driver acknowledgment of condition
    • Witness signatures from 2+ warehouse staff
  4. 📝 Rejection Notice Creation (Hour 1-2):
    • Create Rejection Notice (RN-YYYY-XXX)
    • Document all issues in detail
    • Attach all photos and evidence
    • Driver signs rejection notice
    • Provide copy to driver
  5. 📧 Vendor Notification (Within 2 Hours):
    • Email rejection notice to vendor
    • CC: Procurement Manager, Finance, Quality Control
    • State reason for rejection clearly
    • Request immediate response on next steps
    • Confirm if vendor will arrange return pickup
  6. 💰 Financial Action (Within 24 Hours):
    • Finance team holds 70% payment
    • If 30% advance paid → demand immediate refund
    • Calculate additional costs (inspection, storage if applicable)
    • Update accounts payable records
  7. 🔄 Resolution (Days 1-7):
    • Vendor arranges replacement shipment OR full refund
    • No payment released until resolution complete
    • Update vendor performance scorecard (major negative impact)
    • Close rejection case in system

Return Process Workflow

Step-by-Step Return Process (Post-Acceptance)

  1. 🔍 Issue Discovery (Day 0):
    • Quality issue found during storage or pre-sale prep
    • Document issue with photos and detailed notes
    • Quarantine affected product immediately
    • Check if within return policy window (30 days from GRN)
  2. 📋 Return Authorization Request (Day 0-1):
    • Create Return Authorization Request (RA-REQ-YYYY-XXX)
    • Include: GRN number, item code, quantity, reason
    • Attach evidence (photos, lab reports if applicable)
    • Submit to Procurement Manager for approval
  3. ✅ Vendor Approval (Day 1-3):
    • Forward RA request to vendor
    • Vendor reviews and issues Return Authorization (RA) number
    • Vendor provides return shipping instructions
    • Agree on refund/replacement terms
  4. 📦 Return Preparation (Day 3-5):
    • Re-pack product in original or similar packaging
    • Label boxes with RA number
    • Prepare return packing list
    • Arrange shipping (vendor-paid or MSA-paid as agreed)
  5. 🚚 Shipment & Tracking (Day 5-7):
    • Ship product back to vendor address
    • Provide tracking number to vendor
    • Keep copies of all shipping documents
    • Monitor delivery confirmation
  6. 💰 Financial Resolution (Day 7-30):
    • Vendor confirms receipt of returned goods
    • Vendor issues credit note OR sends replacement
    • MSA Finance updates accounts payable
    • If replacement: Create new GRN upon receipt
    • Close return case in system
  7. 📊 Inventory Adjustment (Throughout):
    • Create "Goods Return Note" (GRN reversal)
    • Reduce inventory by returned quantity
    • Update stock levels in system
    • Mark GRN as "Partially Returned" or "Fully Returned"

Rejection Notice Template

═══════════════════════════════════════════════════════════
🚫 REJECTION NOTICE - MSA MEAT TRADING
═══════════════════════════════════════════════════════════
Rejection Notice Number: RN-2025-001
Rejection Date/Time: 28.05.2025 10:45 AM
Rejection Type: ☑ Full Shipment  ☐ Partial Shipment

───────────────────────────────────────────────────────────
SHIPMENT DETAILS:
───────────────────────────────────────────────────────────
PI Number: SFA/PI/2688/202425
CI Number: SF/118/202526 (Dated: 05.05.2025)
Container Number: TGBU8901245
BL Number: BLIND2025050501
Truck Number: UZ-TRK-015
Expected GRN Number: Would be GRN-2025-015 (NOT CREATED)

Vendor Details:
Company Name: SUPER FROZEN FOODS PVT LTD
Vendor ID: VND-SFF-002
Contact Person: Mr. Amit Sharma
Email: amit@superfrozenfoods.in
Phone: +91-11-XXXX-XXXX

Driver Details:
Driver Name: Karimjon Tursunov
Driver Phone: +998-90-XXX-XXXX
Arrival Time: 28.05.2025 10:15 AM

───────────────────────────────────────────────────────────
REJECTION REASON(S):
───────────────────────────────────────────────────────────
☑ CRITICAL: TEMPERATURE ABUSE

Temperature Logger Readings:
  • Expected Range: -18°C to -22°C
  • Actual Reading at Arrival: +1.5°C
  • Temperature Logger Data:
    - Last 24 hours: Average +3°C
    - Breach Duration: Approximately 18 hours
    - Breach Severity: CRITICAL - Product thawed completely

Visual Inspection Findings:
  ☑ Ice crystals melted - significant water pooling in boxes
  ☑ Vacuum seals expanded (gas buildup indicating spoilage)
  ☑ Product soft to touch (not frozen solid)
  ☑ Off-odor detected when sampling box opened
  ☐ Packaging damage
  ☐ Product discoloration

Product Condition Assessment:
ALL ITEMS IN TRUCK AFFECTED - Complete cold chain failure.
Product has been above safe temperature for extended period.
Signs of bacterial growth (odor, gas buildup). Product is
UNSAFE FOR HUMAN CONSUMPTION.

───────────────────────────────────────────────────────────
AFFECTED ITEMS (Not Accepted):
───────────────────────────────────────────────────────────
Item 41 - TOPSIDE: 320 boxes × 40 kg = 12,800 kg
Item 42 - SHANK: 240 boxes × 40 kg = 9,600 kg
Item 48 - TENDERLOIN: 160 boxes × 20 kg = 3,200 kg

Total Rejected: 720 boxes / 25,600 kg
Total Value Rejected: $102,400 (USD)

───────────────────────────────────────────────────────────
EVIDENCE ATTACHED:
───────────────────────────────────────────────────────────
☑ Temperature logger printout (showing 18-hour breach)
☑ Photos of water pooling in boxes (IMG_20250528_104512.jpg)
☑ Photos of expanded vacuum seals (IMG_20250528_104628.jpg)
☑ Video of product condition inspection (VID_20250528_104745.mp4)
☑ Photos of soft/thawed product (IMG_20250528_105001.jpg)
☑ Truck exterior photos showing seal numbers (IMG_20250528_103800.jpg)

───────────────────────────────────────────────────────────
ACTIONS TAKEN:
───────────────────────────────────────────────────────────
☑ Unloading stopped immediately upon temperature check
☑ Procurement Manager notified (10:30 AM)
☑ Driver informed of rejection reason
☑ All evidence documented with photos/video
☑ Product remained on truck - NOT ACCEPTED into warehouse
☑ Driver departed with full shipment (11:30 AM)

───────────────────────────────────────────────────────────
REQUIRED VENDOR ACTION:
───────────────────────────────────────────────────────────
☑ Immediate replacement shipment with verified cold chain
☐ Full refund of 30% advance payment ($30,720)
☐ Credit note for entire shipment value

Deadline for Response: 29.05.2025 (24 hours)

Financial Impact:
This shipment represents $102,400 in rejected goods. MSA has
paid 30% advance ($30,720). We expect either immediate
replacement with verified temperature controls OR full refund
of advance payment within 7 days.

───────────────────────────────────────────────────────────
WAREHOUSE TEAM SIGNATURES:
───────────────────────────────────────────────────────────
Warehouse Manager: Alisher Karimov  Signature: ____________
QC Inspector: Sardor Umarov  Signature: ____________
Witness 1: Jamshid Rahimov  Signature: ____________
Witness 2: Dilshod Azimov  Signature: ____________

───────────────────────────────────────────────────────────
DRIVER ACKNOWLEDGMENT:
───────────────────────────────────────────────────────────
I acknowledge that I have been informed of the rejection
reason and that the shipment is being returned to the vendor
due to temperature abuse. I confirm the condition described
above is accurate.

Driver Signature: ___________________  Date: 28.05.2025
Driver Name (Print): Karimjon Tursunov

═══════════════════════════════════════════════════════════
DISTRIBUTION:
Original: Vendor (SUPER FROZEN FOODS PVT LTD)
Copy 1: MSA Procurement Manager
Copy 2: MSA Finance Department
Copy 3: MSA Quality Control
Copy 4: Truck Driver
═══════════════════════════════════════════════════════════
                    

Return Authorization Template

═══════════════════════════════════════════════════════════
↩️ RETURN AUTHORIZATION REQUEST - MSA MEAT TRADING
═══════════════════════════════════════════════════════════
RA Request Number: RA-REQ-2025-003
Request Date: 10.06.2025
GRN Reference: GRN-2025-008 (Dated: 28.05.2025)

───────────────────────────────────────────────────────────
ORIGINAL SHIPMENT DETAILS:
───────────────────────────────────────────────────────────
PI Number: HMA/PI/2681/202425
CI Number: MH/108/202526
Container: MSCU1234578
GRN Date: 28.05.2025 (Accepted 13 days ago)
Vendor: HMA AGRO INDUSTRIES LIMITED

───────────────────────────────────────────────────────────
ITEMS TO BE RETURNED:
───────────────────────────────────────────────────────────
Item Code 46 - FOREQUARTER (4-CUT)
  • Accepted Quantity: 480 boxes × 40 kg = 19,200 kg
  • Return Quantity: 180 boxes × 40 kg = 7,200 kg
  • Unit Price: $3.75/kg
  • Return Value: $27,000

───────────────────────────────────────────────────────────
RETURN REASON:
───────────────────────────────────────────────────────────
Issue Type: ☑ Quality Defect  ☐ Wrong Product  ☐ Damage

Detailed Description:
During preparation for sale to customers, warehouse staff
discovered FREEZER BURN on approximately 180 boxes of Item 46.
The freezer burn was not visible during initial GRN inspection
as it was internal. Upon thawing samples for portioning, the
following issues were observed:

  • Severe ice crystal formation inside vacuum packs
  • Dry, discolored patches on meat surface (grayish-brown)
  • Loss of moisture content
  • Product quality degraded - not saleable to customers

Root Cause Analysis:
Temperature fluctuation during ocean transit (before arrival
at MSA). Issue not detectable during frozen state inspection.
Only became apparent when product was prepared for sale.

───────────────────────────────────────────────────────────
EVIDENCE:
───────────────────────────────────────────────────────────
☑ Photos of freezer burn (12 images attached)
☑ Sample thaw test results
☑ Customer complaint records (3 customers reported issue)
☑ Original GRN document
☑ Storage temperature logs (proving MSA cold chain maintained)

───────────────────────────────────────────────────────────
REQUESTED RESOLUTION:
───────────────────────────────────────────────────────────
☑ Replacement shipment (same quantity, same item)
☐ Credit note for return value ($27,000)
☐ Partial refund

Justification:
We need this product for existing customer commitments. We
prefer replacement shipment of 180 boxes of Item 46 in next
container. Return shipping costs to be borne by vendor as
issue originated during vendor's shipping phase.

───────────────────────────────────────────────────────────
PREPARED BY:
───────────────────────────────────────────────────────────
Name: Bekzod Yuldashev
Position: Quality Control Manager
Date: 10.06.2025

───────────────────────────────────────────────────────────
APPROVED BY (MSA):
───────────────────────────────────────────────────────────
Name: [Procurement Manager]
Signature: _______________  Date: __________

───────────────────────────────────────────────────────────
VENDOR AUTHORIZATION (To be completed by vendor):
───────────────────────────────────────────────────────────
☐ APPROVED - Return Authorized
☐ REJECTED - Return Not Authorized
☐ UNDER REVIEW - Need Additional Information

RA Number Issued: RA-HMA-2025-_______
Authorized By: ___________________
Return Shipping Instructions:
_______________________________________________________
_______________________________________________________

Resolution Agreed:
☐ Replacement shipment in Container# __________ (ETA: ______)
☐ Credit Note CN-________ (Amount: $________)
☐ Other: _______________________________________________

═══════════════════════════════════════════════════════════
                    

Database Schema - Returns & Rejections

System Tables Required

Rejection Table: • Rejection ID (primary key) - RN-YYYY-XXX • Rejection Date/Time • Rejection Type (Full Shipment/Partial) • PI Number (foreign key) • CI Number (foreign key) • Expected GRN Number (never created) • Container Number • Truck Number • Vendor ID (foreign key) • Rejection Reason Category (Temperature/Quality/Documentation/Contamination/Wrong Product) • Detailed Description (text) • Total Quantity Rejected (kg) • Total Value Rejected (USD) • Temperature Reading (if applicable) • Driver Name, Driver Phone • Warehouse Manager (User ID) • QC Inspector (User ID) • Status (Draft/Submitted/Vendor Acknowledged/Resolved/Closed) • Resolution Type (Replacement/Refund/Credit Note) • Resolution Date • Resolution Value • Vendor Performance Impact Score (-10 points for rejection) Rejection Item Table: • Rejection Item ID (primary key) • Rejection ID (foreign key) • Item Code • Item Description • Quantity Rejected (boxes) • Kg per Box • Total Kg Rejected • Unit Price (USD/kg) • Item Value Rejected (USD) • Specific Issue Notes Rejection Attachment Table: • Attachment ID (primary key) • Rejection ID (foreign key) • File Name • File Type (Photo/Video/PDF/Temperature Log) • File Path • Upload Date/Time • Uploaded By Return Authorization Table: • RA Request ID (primary key) - RA-REQ-YYYY-XXX • RA Request Date • GRN Number (foreign key) - original acceptance • PI Number (foreign key) • CI Number (foreign key) • Vendor ID (foreign key) • Return Reason Category (Quality Defect/Wrong Product/Damage/Other) • Detailed Description • Return Quantity (kg) • Return Value (USD) • Requested Resolution (Replacement/Credit/Refund) • RA Request Status (Draft/Submitted/Vendor Reviewing/Approved/Rejected) • RA Number Issued by Vendor • Vendor Response Date • Actual Resolution Type • Created By (User ID) • Approved By MSA (User ID) Return Shipment Table: • Return Shipment ID (primary key) • RA Request ID (foreign key) • Ship Date • Carrier/Tracking Number • Expected Delivery to Vendor • Actual Delivery Date • Vendor Confirmation Date • Shipping Cost (who pays: Vendor/MSA) • Status (Packed/Shipped/In Transit/Delivered/Confirmed) Goods Return Note (GRN Reversal) Table: • Return Note ID (primary key) - GRN-REV-YYYY-XXX • Original GRN Number (foreign key) • Return Date • RA Request ID (foreign key) • Item Code • Returned Quantity (kg) • Reason for Return • Inventory Adjustment (deduct from stock) • Financial Impact (reduce COGS, update payables) • Created By (User ID)

Returns & Rejections Policy Summary

Scenario Action Timeline Financial Treatment
Critical Defect at Delivery
(Temp abuse, spoilage, contamination)
REJECT
Do not accept, send back immediately
Immediate rejection
Vendor notified within 2 hours
Hold 70% payment
Demand 30% advance refund
Defect Found Post-GRN
(Within 30 days)
RETURN
Request RA, ship back to vendor
RA request within 7 days of discovery
Resolution within 30 days
Reverse GRN
Credit note or replacement
Minor Variance
(±2% weight, minor packaging issues)
ACCEPT with CLAIM
Create claim, not return
Accept delivery
File claim within 48 hours
Accept inventory
Request credit note adjustment
Wrong Product Delivered REJECT
Send back, order replacement
Immediate rejection
Replacement in next shipment
No payment for wrong items
Charge vendor for delays
Defect After 30 Days NEGOTIATE
Contact vendor, goodwill request
No formal return right
Vendor discretion
Usually MSA absorbs loss
Possible partial credit

Vendor Impact Tracking

Performance Scorecard Impact

Full Shipment Rejection: -20 points (severe penalty)
Partial Rejection (>10% value): -10 points (major penalty)
Return (Post-GRN): -5 points (moderate penalty)

Consequences:

  • 📊 2 Rejections in 12 months: Vendor on probation
  • ⚠️ 3 Rejections in 12 months: Vendor review meeting required
  • 🚫 4+ Rejections in 12 months: Vendor replacement process initiated
  • 💰 Temperature abuse rejection: Permanent disqualification from critical products

📦 Advanced Inventory Management

Enhanced Inventory Control Features

Beyond basic stock tracking, MSA needs sophisticated inventory management capabilities including stock aging analysis, inter-warehouse transfers, automated reorder point alerts, and batch/lot traceability to optimize frozen meat inventory and minimize waste.

1. Stock Aging Analysis (FIFO Management)

Why Stock Aging Matters for Frozen Meat

Even frozen meat has shelf life limitations (typically 12-18 months). Older stock must be sold first (FIFO - First In, First Out) to prevent quality degradation and financial losses.

Aging Categories & Actions

Age Category Age Range Status Color Action Required Pricing Strategy
Fresh Stock 0-3 months 🟢 Green No action - normal sales Standard pricing (100%)
Normal Stock 3-6 months 🔵 Blue Normal rotation Standard pricing (100%)
Aging Stock 6-9 months 🟡 Yellow Prioritize in sales
Promote to customers
Small discount (95-98%)
Old Stock 9-12 months 🟠 Orange URGENT: Active promotion
Bulk discount offers
Weekly review
Moderate discount (85-90%)
Critical Stock 12-15 months 🔴 Red CRITICAL: Clearance sale
Deep discounts
Daily monitoring
Heavy discount (70-80%)
Expired/Near Expiry 15+ months ⚫ Black REJECT FOR SALE
Quality inspection
Disposal if unsafe
Not for sale - write off

Stock Aging Report Example

═══════════════════════════════════════════════════════════
📊 STOCK AGING REPORT - MSA MEAT TRADING
═══════════════════════════════════════════════════════════
Report Date: 15.06.2025
Warehouse: Main Cold Storage (Ravshan aka)
Generated By: Warehouse Manager

───────────────────────────────────────────────────────────
Item Code 41 - TOPSIDE
───────────────────────────────────────────────────────────
GRN-2025-001 | Received: 28.05.2025 (18 days old) | 5,538 kg | 🟢 Fresh
GRN-2025-008 | Received: 15.03.2025 (92 days old) | 12,400 kg | 🔵 Normal
GRN-2024-112 | Received: 20.10.2024 (238 days old) | 3,200 kg | 🟠 OLD
GRN-2024-089 | Received: 05.08.2024 (314 days old) | 1,800 kg | 🔴 CRITICAL

Total TOPSIDE Stock: 22,938 kg
Aging Breakdown:
  • Fresh (0-3 mo): 5,538 kg (24%)
  • Normal (3-6 mo): 12,400 kg (54%)
  • Aging (6-9 mo): 0 kg (0%)
  • Old (9-12 mo): 3,200 kg (14%)
  • Critical (12-15 mo): 1,800 kg (8%)

⚠️ ACTION REQUIRED:
  → 1,800 kg CRITICAL stock needs immediate clearance (GRN-2024-089)
  → 3,200 kg OLD stock should be promoted actively (GRN-2024-112)

───────────────────────────────────────────────────────────
Item Code 44 - SILVER SIDE (HQ CUTS)
───────────────────────────────────────────────────────────
GRN-2025-010 | Received: 05.06.2025 (10 days old) | 16,800 kg | 🟢 Fresh
GRN-2025-003 | Received: 10.04.2025 (66 days old) | 8,500 kg | 🔵 Normal
GRN-2024-125 | Received: 15.12.2024 (182 days old) | 5,600 kg | 🟡 Aging

Total SILVER SIDE Stock: 30,900 kg
Aging Breakdown:
  • Fresh (0-3 mo): 16,800 kg (54%)
  • Normal (3-6 mo): 8,500 kg (28%)
  • Aging (6-9 mo): 5,600 kg (18%)

✅ GOOD ROTATION - No critical or old stock

───────────────────────────────────────────────────────────
OVERALL WAREHOUSE SUMMARY:
───────────────────────────────────────────────────────────
Total Inventory Value: $485,600
  • Fresh Stock: $245,800 (51%)
  • Normal Stock: $168,400 (35%)
  • Aging Stock: $42,100 (9%)
  • Old Stock: $18,200 (4%)
  • Critical Stock: $11,100 (2%)

🔴 CRITICAL ALERTS:
  • 8,450 kg of stock is 12+ months old (CRITICAL)
  • Estimated loss if discarded: $21,125
  • Recommended: Immediate clearance sale at 70-75% pricing

═══════════════════════════════════════════════════════════
                    

2. Inter-Warehouse Stock Transfers

Transfer Scenarios

  • Demand Balancing: Main warehouse has excess, Bektemir running low
  • Customer Proximity: Transfer stock closer to customer location for faster delivery
  • Storage Optimization: Move aging stock to location with higher sales velocity
  • Equipment Maintenance: Temporary relocation during freezer servicing

Stock Transfer Process

7-Step Transfer Workflow

  1. Transfer Request Creation:
    • Warehouse Manager initiates transfer request (STR-YYYY-XXX)
    • Specify: From Location, To Location, Item Code, Quantity, Reason
    • System checks stock availability at source location
  2. Approval:
    • Inventory Manager reviews and approves request
    • Auto-approved if quantity < 500 kg
    • Manual approval required if quantity > 500 kg
  3. Picking (Source Warehouse):
    • Warehouse staff picks specified quantity
    • Verify batch numbers match GRN (FIFO principle)
    • Pack items securely for transport
    • Create Stock Transfer Note (STN-YYYY-XXX)
  4. Transportation:
    • Refrigerated vehicle assigned (maintain -18°C)
    • Driver signs STN acknowledging receipt
    • GPS tracking during transit
    • Temperature monitoring throughout journey
  5. Receiving (Destination Warehouse):
    • Destination warehouse staff counts and inspects goods
    • Verify quantity matches STN
    • Check temperature and product condition
    • Accept or reject transfer
  6. System Inventory Adjustment:
    • Deduct from source location inventory
    • Add to destination location inventory
    • Preserve GRN batch linkage for traceability
    • Update stock aging based on original GRN date (not transfer date)
  7. Documentation & Reporting:
    • Both warehouse managers sign transfer completion
    • File STN with supporting documents
    • Update transfer log for audit trail
    • Close transfer request in system

Stock Transfer Note Template

═══════════════════════════════════════════════════════════
📦 STOCK TRANSFER NOTE - MSA MEAT TRADING
═══════════════════════════════════════════════════════════
Transfer Number: STN-2025-015
Transfer Date: 18.06.2025
Transfer Request Ref: STR-2025-015

───────────────────────────────────────────────────────────
TRANSFER DETAILS:
───────────────────────────────────────────────────────────
From Location: Main Cold Storage (Ravshan aka)
To Location: Bektemir Cold Storage
Reason: Bektemir has higher demand for TOPSIDE, Main has excess stock
Distance: 12 km
Vehicle Number: UZ-VAN-003 (Refrigerated)
Driver Name: Rustam Saidov
Departure Time: 09:15 AM
Arrival Time: 09:45 AM
Transit Duration: 30 minutes

───────────────────────────────────────────────────────────
ITEMS TRANSFERRED:
───────────────────────────────────────────────────────────
Item Code 41 - TOPSIDE
  • Quantity: 80 boxes × 40 kg = 3,200 kg
  • Source GRN: GRN-2024-112 (Received: 20.10.2024)
  • Stock Age: 238 days (OLD - 🟠 Orange)
  • Batch Number: B-HMA-20241020-41
  • Unit Value: $3.85/kg
  • Total Value: $12,320

Item Code 42 - SHANK
  • Quantity: 45 boxes × 40 kg = 1,800 kg
  • Source GRN: GRN-2025-003 (Received: 10.04.2025)
  • Stock Age: 69 days (NORMAL - 🔵 Blue)
  • Batch Number: B-HMA-20250410-42
  • Unit Value: $3.55/kg
  • Total Value: $6,390

TOTAL TRANSFER: 125 boxes / 5,000 kg / $18,710

───────────────────────────────────────────────────────────
TEMPERATURE MONITORING:
───────────────────────────────────────────────────────────
  • Temperature at Loading: -19.5°C ✅
  • Temperature During Transit: -18.8°C ✅
  • Temperature at Unloading: -19.2°C ✅
  • Cold Chain Status: MAINTAINED

───────────────────────────────────────────────────────────
SOURCE WAREHOUSE (Main - Ravshan aka):
───────────────────────────────────────────────────────────
Prepared By: Alisher Karimov (Warehouse Manager)
Signature: ____________  Date/Time: 18.06.2025 09:10 AM
Picked By: Jamshid Rahimov
Signature: ____________  Date/Time: 18.06.2025 09:05 AM

───────────────────────────────────────────────────────────
DRIVER ACKNOWLEDGMENT:
───────────────────────────────────────────────────────────
I acknowledge receipt of 125 boxes (5,000 kg) for transfer to
Bektemir Cold Storage. All items loaded in good condition.

Driver Signature: ____________  Time: 09:15 AM

───────────────────────────────────────────────────────────
DESTINATION WAREHOUSE (Bektemir):
───────────────────────────────────────────────────────────
Received By: Bobur Azimov (Warehouse Supervisor)
Counted Quantity: 125 boxes / 5,000 kg ✅ CORRECT
Condition Check: All items in good condition ✅
Discrepancies: NONE
Signature: ____________  Date/Time: 18.06.2025 09:50 AM

═══════════════════════════════════════════════════════════
SYSTEM INVENTORY UPDATE:
───────────────────────────────────────────────────────────
Main Cold Storage:
  → Item 41 (TOPSIDE): -3,200 kg
  → Item 42 (SHANK): -1,800 kg

Bektemir Cold Storage:
  → Item 41 (TOPSIDE): +3,200 kg (Age: 238 days - 🟠 OLD)
  → Item 42 (SHANK): +1,800 kg (Age: 69 days - 🔵 NORMAL)

Note: Stock age based on original GRN date, NOT transfer date
═══════════════════════════════════════════════════════════
                    

3. Automated Reorder Point System

Purpose: Prevent Stock-Outs & Overstocking

Automated alerts when inventory falls below minimum thresholds, ensuring continuous availability while avoiding excess frozen storage costs.

Reorder Point Calculation

Reorder Point Formula:
ROP = (Average Daily Sales × Lead Time in Days) + Safety Stock

Where:
• Average Daily Sales = Total sales last 30 days ÷ 30
• Lead Time = Days from PI creation to GRN receipt (typically 45-60 days for India imports)
• Safety Stock = Buffer to cover demand spikes (typically 7-14 days of sales)

Example Calculation for Item 41 (TOPSIDE):

Average Daily Sales = 8,500 kg/month ÷ 30 days = 283 kg/day
Lead Time = 50 days (average from India to Tashkent)
Safety Stock = 10 days × 283 kg/day = 2,830 kg

Reorder Point = (283 kg/day × 50 days) + 2,830 kg
              = 14,150 kg + 2,830 kg
              = 16,980 kg

Alert Levels:
• 🟢 Safe Level: > 20,000 kg (No action)
• 🟡 Approaching Reorder: 17,000-20,000 kg (Monitor closely)
• 🟠 Reorder Point: 16,980 kg (CREATE PI NOW)
• 🔴 Critical Low: < 10,000 kg (URGENT - expedite order)
                    

Reorder Point Alert Example

═══════════════════════════════════════════════════════════
🔔 REORDER POINT ALERT - URGENT ACTION REQUIRED
═══════════════════════════════════════════════════════════
Alert Date/Time: 20.06.2025 08:30 AM
Alert Type: 🟠 REORDER POINT REACHED
Item: Item 41 - TOPSIDE (BUFFALO COMPENSATED)

───────────────────────────────────────────────────────────
CURRENT STOCK STATUS:
───────────────────────────────────────────────────────────
Main Warehouse: 12,400 kg
Bektemir Warehouse: 4,200 kg
Total Available: 16,600 kg

Reorder Point: 16,980 kg
Status: BELOW REORDER POINT (-380 kg)

───────────────────────────────────────────────────────────
SALES VELOCITY:
───────────────────────────────────────────────────────────
Last 7 Days Sales: 2,150 kg (avg 307 kg/day)
Last 30 Days Sales: 8,500 kg (avg 283 kg/day)
Trend: Increasing demand (+8.5% vs monthly avg)

───────────────────────────────────────────────────────────
DAYS TO STOCK-OUT (at current rate):
───────────────────────────────────────────────────────────
16,600 kg ÷ 307 kg/day = 54 days

⚠️ WARNING: Lead time from India is 50 days. If PI not created
TODAY, you will stock out before shipment arrives!

───────────────────────────────────────────────────────────
RECOMMENDED ACTION:
───────────────────────────────────────────────────────────
☑ Create PI for TOPSIDE immediately
☑ Order Quantity: 20,000 kg (maintains 60-day supply buffer)
☑ Preferred Vendor: HMA AGRO INDUSTRIES LIMITED
☑ Expected PI Value: 20,000 kg × $3.85/kg = $77,000
☑ Priority: HIGH - Process today

───────────────────────────────────────────────────────────
ASSIGNED TO: Procurement Manager
Due Date: 20.06.2025 (TODAY)
═══════════════════════════════════════════════════════════
                    

Min/Max Inventory Levels by Product

Item Code Product Name Avg Monthly Sales Min Level (ROP) Max Level Optimal Order Qty
41 TOPSIDE 8,500 kg/mo 16,980 kg 35,000 kg 20,000 kg
42 SHANK 6,200 kg/mo 12,400 kg 25,000 kg 15,000 kg
44 SILVER SIDE (HQ) 11,000 kg/mo 22,000 kg 45,000 kg 25,000 kg
46 FOREQUARTER (4-CUT) 15,500 kg/mo 31,000 kg 60,000 kg 35,000 kg
48 TENDERLOIN 2,800 kg/mo 5,600 kg 12,000 kg 7,000 kg

4. Batch & Lot Traceability

Critical for Food Safety & Recalls

Every kg of meat must be traceable back to: Vendor → Container → Truck → GRN → Batch → Customer. Essential for handling quality issues and regulatory compliance.

Batch Numbering System

Batch Number Format: B-[VENDOR]-[GRNDATE]-[ITEMCODE]

Example: B-HMA-20250528-41

Where:
• B = Batch identifier
• HMA = Vendor code (HMA AGRO INDUSTRIES)
• 20250528 = GRN date (28 May 2025)
• 41 = Item code (TOPSIDE)

Traceability Chain Example:

Customer Query: "This meat tastes off, where did it come from?"
Sales Invoice: INV-2025-045 (15.06.2025)
  → Delivery Note: DN-2025-045
    → Stock Picked: Item 41, 250 kg from Main Warehouse
      → Batch: B-HMA-20250528-41
        → GRN: GRN-2025-001 (28.05.2025)
          → Truck: UZ-TRK-001
            → Container: MSCU1234567
              → CI: MH/104/202526
                → PI: HMA/PI/2677/202425
                  → Vendor: HMA AGRO INDUSTRIES LIMITEDProduction Date: 15.04.2025Batch at Origin: LOT-HMA-041525

Result: Full traceability in < 5 minutes
Action: Quarantine remaining stock from batch B-HMA-20250528-41,
          contact vendor HMA for investigation
                    

Database Schema - Inventory Enhancements

Enhanced Inventory Table: • Inventory ID (primary key) • Item Code • Warehouse Location (Main/Bektemir) • Batch Number (B-VENDOR-DATE-ITEMCODE) • GRN Number (foreign key) - for traceability • Original GRN Date - for stock aging calculation • Quantity (kg) • Unit Cost (USD/kg) • Total Value (USD) • Stock Age (days) - calculated field • Age Category (Fresh/Normal/Aging/Old/Critical/Expired) • Status (Available/Reserved/Quarantined/Returned) • Last Movement Date • Last Movement Type (GRN/Transfer/Sale/Adjustment) Stock Transfer Request Table: • Transfer Request ID - STR-YYYY-XXX • Request Date • From Location • To Location • Requested By (User ID) • Approved By (User ID) • Status (Pending/Approved/Rejected/In Transit/Completed) • Reason for Transfer Stock Transfer Note Table: • Transfer Note ID - STN-YYYY-XXX • Transfer Request ID (foreign key) • Transfer Date • From Location • To Location • Vehicle Number • Driver Name • Departure Time • Arrival Time • Temperature at Loading • Temperature at Unloading • Source WH Manager Signature • Destination WH Manager Signature • Status (Prepared/In Transit/Received/Completed/Cancelled) Stock Transfer Item Table: • Transfer Item ID (primary key) • Transfer Note ID (foreign key) • Item Code • Batch Number • Original GRN Number (maintain traceability) • Quantity Transferred (kg) • Quantity Received (kg) • Discrepancy (if any) Reorder Point Configuration Table: • Item Code (primary key) • Product Name • Average Monthly Sales (kg) • Average Daily Sales (kg) • Lead Time (days) • Safety Stock Days • Reorder Point (kg) - calculated • Min Stock Level (kg) • Max Stock Level (kg) • Optimal Order Quantity (kg) • Last Reviewed Date • Auto-Alert Enabled (Yes/No) • Alert Recipients (User IDs) Stock Aging Log Table: • Log ID (primary key) • Report Date • Item Code • Batch Number • GRN Date • Stock Age (days) • Quantity (kg) • Value (USD) • Age Category • Action Taken (None/Promoted/Discounted/Quarantined/Disposed) • Responsible Person (User ID) Batch Traceability Table: • Batch Number (primary key) • Item Code • Vendor ID • Vendor Batch Number (from origin) • Production Date (at vendor) • GRN Number (when received at MSA) • GRN Date • Container Number • Truck Number • Quantity Received (kg) • Quantity Sold (kg) • Quantity Remaining (kg) • Status (Active/Fully Sold/Quarantined/Returned) • Quality Test Results (if applicable)

💰 Financial Accounting Integration

Connecting Procurement to Finance

Every procurement transaction automatically creates corresponding accounting entries. This integration ensures accurate financial reporting, proper cost tracking, and real-time visibility into payables and inventory valuation.

Chart of Accounts (Relevant Accounts)

Account Code Account Name Type Normal Balance Purpose
1200 Inventory - Frozen Meat Asset Debit Value of meat stock on hand in warehouse
1205 Inventory In-Transit Asset Debit Goods paid for but not yet received (70% payment made, in transit)
2100 Accounts Payable - India Vendors Liability Credit Amounts owed to meat suppliers
2105 Advance Payments to Vendors (30%) Asset Debit 30% prepayments made (deposits) - contractual right to receive goods or refund
5100 Cost of Goods Sold (COGS) Expense Debit Cost when inventory sold to customers
5200 Freight & Shipping Costs Expense Debit Ocean freight, trucking costs
5210 Customs & Import Duties Expense Debit Import duties, VAT, clearance fees
5300 Inventory Shrinkage & Obsolescence Expense (COGS Component) Debit Normal spoilage, damage, theft, and write-downs to net realizable value
4000 Sales Revenue Revenue Credit Income from meat sales to customers
1100 Cash/Bank - USD Account Asset Debit Foreign currency account for vendor payments
1105 Cash/Bank - UZS Account Asset Debit Local currency for operations and sales
7100 Foreign Exchange Gain/Loss Other Income/Expense Varies FX fluctuations between PI and payment

Automated Journal Entries by Transaction

📋 Proper Document Sequence

1. PI (Proforma Invoice) → Created by your company, sent to vendor
2. 30% Advance Payment → Based on PI amount
3. CI (Commercial Invoice) → Created by vendor after preparing shipment
4. Container Shipment → Goods depart India
5. Container Arrival at Iran → 70% balance payment due
6. GRN (Goods Receipt Note) → Created when goods arrive at Tashkent warehouse

1. PI Creation (30% Advance Payment)

Event: PI HMA/PI/2677/202425 created for $436,800
          30% advance = $131,040 paid to HMA AGRO

Journal Entry JE-2025-101:
┌────────────────────────────────────────────────────────────┐
│ Date: 25.04.2025                                           │
│ Reference: PI HMA/PI/2677/202425                           │
│ Description: 30% advance payment for meat shipment from HMA│
├────────────────────────────────────────────────────────────┤
│ Account                          │ Debit      │ Credit      │
├──────────────────────────────────┼────────────┼─────────────┤
│ 2105 - Advance Payments (30%)    │ $131,040   │             │
│ 1100 - Cash/Bank - USD Account   │            │ $131,040    │
├──────────────────────────────────┼────────────┼─────────────┤
│ TOTAL:                        │ $131,040   │ $131,040    │
└────────────────────────────────────────────────────────────┘

Accounting Effect:
• Cash (asset) decreases by $131,040 (Credit to asset account)
• Advance Payments (asset) increases by $131,040 (Debit to asset account)
• This is a PREPAID ASSET (deposit) - vendor owes us goods valued at $131,040 OR must refund cash
• Legal position: MSA has a contractual right to receive goods or recover payment

IMPORTANT: Advance Payments is an ASSET account (like a security deposit or
prepaid expense), NOT a liability. We paid cash UP FRONT, creating a receivable-in-kind
(right to receive goods). If the vendor fails to deliver, we have a legal claim to
recover the $131,040.

Note: Exchange rate recorded: 1 USD = 12,650 UZS on 25.04.2025
                    

2. CI (Commercial Invoice) Receipt from Vendor

Event: Vendor sends CI MH/104/202526 dated 21.04.2025
          Vendor has prepared shipment and is ready to dispatch
          Actual invoice amount: $436,800 (matches PI)
          Items ready to ship: Multiple frozen meat items
          Container: MSCU1234567
          Container departs India for Bandar Abbas, Iran

Accounting Action:
• NO journal entry at this stage
• CI is received and recorded in system for reference
• CI is vendor's legal invoice for goods being shipped
• 70% payment will be triggered when container arrives at Iran

System Recording:
┌────────────────────────────────────────────────────────────┐
│ CI Number: MH/104/202526                                   │
│ CI Date: 21.04.2025                                        │
│ Vendor: HMA AGRO INDUSTRIES LIMITED                        │
│ Container: MSCU1234567                                     │
│ Total Amount: $436,800                                     │
│ Shipment Status: Departed India → In Transit to Iran      │
│ Linked PI: HMA/PI/2677/202425                              │
│ 30% Advance Already Paid: $131,040                         │
│ 70% Balance Due on Container Arrival at Iran: $305,760    │
└────────────────────────────────────────────────────────────┘

Document Checklist Attached to CI:
✓ Packing List (quantities per item)
✓ Health Certificate (India Government)
✓ Halal Certificate (Islamic Council of India)
✓ Bill of Lading (B/L) - proof of shipment
✓ Certificate of Origin (Made in India)

Important Timeline:
┌─────────────────────────────────────────────────────────────┐
│ 1. CI Received → Container departs India                   │
│ 2. Container in transit (7-10 days) → Bandar Abbas, Iran   │
│ 3. Container arrives Iran → 70% PAYMENT MADE               │
│ 4. Customs clearance at Iran (2-5 days)                    │
│ 5. Loaded on trucks → Transit to Uzbekistan (3-4 days)     │
│ 6. Arrives Tashkent warehouse → GRN CREATED                │
└─────────────────────────────────────────────────────────────┘

Note: GRN is created AFTER 70% payment, when goods physically
arrive at Uzbekistan warehouse. GRN verifies what CI claimed was shipped.
                    

3. Container Arrival Payment (70% Balance)

Event: Container MSCU1234567 arrived at Bandar Abbas, Iran
          CI MH/104/202526 total amount: $436,800
          70% balance payment made = $305,760
          (30% advance of $131,040 was already paid in Entry #1)

Journal Entry JE-2025-175:
┌────────────────────────────────────────────────────────────┐
│ Date: 12.05.2025                                           │
│ Reference: Container MSCU1234567, CI MH/104/202526         │
│ Description: 70% balance payment - goods in transit        │
├────────────────────────────────────────────────────────────┤
│ Account                          │ Debit      │ Credit      │
├──────────────────────────────────┼────────────┼─────────────┤
│ 1205 - Inventory In-Transit      │ $305,760   │             │
│ 1100 - Cash/Bank - USD Account   │            │ $305,760    │
├──────────────────────────────────┼────────────┼─────────────┤
│ TOTAL:                        │ $305,760   │ $305,760    │
└────────────────────────────────────────────────────────────┘

Accounting Effect:
• Inventory In-Transit (asset) increases by $305,760 (Debit)
• Cash decreases by $305,760 (Credit - payment made)
• Goods are paid for but not yet received at warehouse

Why "Inventory In-Transit"?
At this point:
• You've paid 70% ($305,760) → Need to record where this money went
• Goods are shipped but not yet received → Can't record as "Inventory"
• Solution: Record as "Inventory In-Transit" (asset account)
• When GRN is created, move from In-Transit → Inventory

Balance Sheet Status After Entry #3:
┌─────────────────────────────────────────────────────────────┐
│ ASSETS:                                                     │
│ • 2105 - Advance Payments (30%):    $131,040 Dr             │
│ • 1205 - Inventory In-Transit(70%): $305,760 Dr             │
│ • 1100 - Cash/Bank:                -$436,800 Cr (paid out)  │
│                                      ─────────               │
│ TOTAL: Prepaid + In-Transit = $436,800                      │
│                                                              │
│ When GRN created (Entry #4):                                │
│ • Clear Advance Payments ($131,040)                         │
│ • Clear Inventory In-Transit ($305,760)                     │
│ • Create Inventory ($436,800)                               │
└─────────────────────────────────────────────────────────────┘

Payment Summary:
Entry #1 (25.04.2025): 30% Advance    = $131,040 (Prepaid Asset)
Entry #3 (12.05.2025): 70% Balance    = $305,760 (In-Transit Asset)
                                         ─────────
TOTAL CASH PAID TO VENDOR:             = $436,800

Both amounts are currently ASSETS (money owed to us as goods/delivery).
They convert to INVENTORY when goods physically received (GRN).
                    

4. GRN Creation (Goods Receipt)

Event: Truck arrives at Tashkent warehouse with goods
          GRN-2025-001 created after physical inspection
          Full container received: $436,800 worth of goods
          From Container MSCU1234567, CI MH/104/202526

          This entry converts PREPAID + IN-TRANSIT → INVENTORY

Journal Entry JE-2025-158:
┌────────────────────────────────────────────────────────────┐
│ Date: 28.05.2025                                           │
│ Reference: GRN-2025-001, Truck UZ-TRK-001, CI MH/104       │
│ Description: Receipt of frozen meat into inventory         │
├────────────────────────────────────────────────────────────┤
│ Account                          │ Debit      │ Credit      │
├──────────────────────────────────┼────────────┼─────────────┤
│ 1200 - Inventory - Frozen Meat   │ $436,800   │             │
│ 2105 - Advance Payments (30%)    │            │ $131,040    │
│ 1205 - Inventory In-Transit(70%) │            │ $305,760    │
├──────────────────────────────────┼────────────┼─────────────┤
│ TOTAL:                        │ $436,800   │ $436,800    │
└────────────────────────────────────────────────────────────┘

Accounting Effect:
• Inventory increases by $436,800 (Debit) - goods now in warehouse
• Advance Payments cleared $131,040 (Credit) - prepaid asset → inventory
• Inventory In-Transit cleared $305,760 (Credit) - in-transit → inventory
• TOTAL COST MATCHES: $131,040 + $305,760 = $436,800

Balance Sheet Clean-Up:
┌─────────────────────────────────────────────────────────────┐
│ BEFORE GRN (After Entry #3):                               │
│ Assets:                                                     │
│ • Advance Payments:        $131,040                         │
│ • Inventory In-Transit:    $305,760                         │
│ • Cash:                   -$436,800 (already paid)          │
│                                                              │
│ AFTER GRN (Entry #4):                                       │
│ Assets:                                                     │
│ • Advance Payments:        $0 (cleared)                     │
│ • Inventory In-Transit:    $0 (cleared)                     │
│ • Inventory:               $436,800 (created)               │
│ • Cash:                   -$436,800 (unchanged)             │
│                                                              │
│ ✓ Net Effect: Converted prepaid assets → actual inventory  │
└─────────────────────────────────────────────────────────────┘

Inventory Valuation (FIFO):
• Full container value: $436,800
• Multiple items received per packing list
• Each item gets unique batch: B-HMA-20250528-[ItemCode]
• Location: Main Warehouse (Ravshan aka)
• Perpetual inventory system updated

CI vs GRN Comparison (if shortage exists):
┌────────────────────────────────────────────────────────────┐
│ If GRN quantity < CI quantity:                             │
│ • File claim with vendor (CLM-2025-XXX)                    │
│ • Adjust inventory value downward                          │
│ • Record claim receivable or reduce vendor payable         │
│ Example: If 6% shortage on $436,800 = $26,208 claim       │
└────────────────────────────────────────────────────────────┘
                    

5. Sales to Customer (Revenue Recognition)

Event: Sales Invoice INV-2025-045 to Horeca customer
          Sold 250 kg TOPSIDE @ 80,000 UZS/kg = 20,000,000 UZS
          Cost: 250 kg @ $3.85/kg = $962.50 (48,743,750 UZS)

Journal Entry JE-2025-201 (Revenue):
┌────────────────────────────────────────────────────────────┐
│ Date: 15.06.2025                                           │
│ Reference: INV-2025-045, Customer: Grand Hyatt Tashkent    │
│ Description: Sale of frozen meat                           │
├────────────────────────────────────────────────────────────┤
│ Account                          │ Debit (UZS)│ Credit (UZS)│
├──────────────────────────────────┼────────────┼─────────────┤
│ 1105 - Cash/Bank - UZS Account   │ 20,000,000 │             │
│ 4000 - Sales Revenue             │            │ 20,000,000  │
├──────────────────────────────────┼────────────┼─────────────┤
│ TOTAL:                        │ 20,000,000 │ 20,000,000  │
└────────────────────────────────────────────────────────────┘

Journal Entry JE-2025-202 (COGS):
┌────────────────────────────────────────────────────────────┐
│ Date: 15.06.2025                                           │
│ Reference: INV-2025-045, Batch B-HMA-20250528-41           │
│ Description: Cost of goods sold (FIFO method)              │
├────────────────────────────────────────────────────────────┤
│ Account                          │ Debit (UZS)│ Credit (UZS)│
├──────────────────────────────────┼────────────┼─────────────┤
│ 5100 - Cost of Goods Sold (COGS) │ 12,275,000 │             │
│ 1200 - Inventory - Frozen Meat   │            │ 12,275,000  │
├──────────────────────────────────┼────────────┼─────────────┤
│ TOTAL:                        │ 12,275,000 │ 12,275,000  │
└────────────────────────────────────────────────────────────┘

Accounting Effect:
• Cash increases 20,000,000 UZS from customer payment
• Revenue recognized 20,000,000 UZS
• COGS expense 12,275,000 UZS (250 kg × $3.85 × 12,775 rate)
• Inventory decreased by cost value
• Gross Profit = 7,725,000 UZS (38.6% margin)

FIFO Tracking:
• Picked from oldest batch B-HMA-20250528-41
• 250 kg deducted from inventory
• Remaining stock: 5,288.30 kg from this batch
                    

6. Stock Adjustment (Discrepancy, Damage, Write-off)

Event: Physical count shows 50 kg shortage
          Item 41 - TOPSIDE missing (spoilage/damage)
          Cost value: 50 kg @ $3.85/kg = $192.50 (2,455,000 UZS)

Journal Entry JE-2025-210:
┌────────────────────────────────────────────────────────────┐
│ Date: 20.06.2025                                           │
│ Reference: Stock Adjustment SA-2025-005                    │
│ Description: Write-off damaged/missing inventory           │
├────────────────────────────────────────────────────────────┤
│ Account                          │ Debit (UZS)│ Credit (UZS)│
├──────────────────────────────────┼────────────┼─────────────┤
│ 5300 - Inventory Shrinkage Expense│ 2,455,000  │             │
│ 1200 - Inventory - Frozen Meat   │            │  2,455,000  │
├──────────────────────────────────┼────────────┼─────────────┤
│ TOTAL:                        │  2,455,000 │  2,455,000  │
└────────────────────────────────────────────────────────────┘

Accounting Effect:
• Expense increases 2,455,000 UZS (reduces profit)
• Inventory asset decreases by same amount
• Recorded in P&L as operating expense

Investigation Required:
• Root cause analysis
• If vendor fault → create claim
• If internal → review warehouse procedures
                    

7. Foreign Exchange (FX) Revaluation - Month-End

Event: Month-end closing - May 31, 2025
          All USD-denominated inventory revalued at closing exchange rate
          (Note: Inventory is non-monetary under IFRS/GAAP, but system tracks
          both USD cost and UZS valuation for management reporting)

Exchange Rates:
• PI Date (25.04.2025): 1 USD = 12,650 UZS
• Closing Date (31.05.2025): 1 USD = 12,750 UZS
• Movement: +100 UZS (+0.79%)

Inventory Balance:
• Original cost: $436,800
• Original UZS value: $436,800 × 12,650 = 5,525,520,000 UZS
• Closing UZS value: $436,800 × 12,750 = 5,569,200,000 UZS
• Unrealized FX Gain: 43,680,000 UZS

Journal Entry JE-2025-215 (Management Reporting Only):
┌────────────────────────────────────────────────────────────┐
│ Date: 31.05.2025 (Month-end close)                         │
│ Reference: FX Revaluation - USD inventory positions        │
│ Description: Unrealized FX gain on USD-denominated assets  │
├────────────────────────────────────────────────────────────┤
│ Account                          │ Debit (UZS)│ Credit (UZS)│
├──────────────────────────────────┼────────────┼─────────────┤
│ 1200 - Inventory (UZS valuation) │ 43,680,000 │             │
│ 7100 - FX Gain/Loss (Unrealized) │            │ 43,680,000  │
├──────────────────────────────────┼────────────┼─────────────┤
│ TOTAL:                        │ 43,680,000 │ 43,680,000  │
└────────────────────────────────────────────────────────────┘

GAAP/IFRS Treatment:IFRS (IAS 21.23): Inventory is a NON-MONETARY item. Initial measurement
  in foreign currency is translated at transaction date rate. NO REVALUATION.
• US GAAP (ASC 830): Inventory is non-monetary. Use historical rate.
  NO REVALUATION for financial statements.

MSA Policy (Management Accounts):
For internal management reporting purposes, MSA tracks inventory in BOTH:
1. USD (historical cost): $436,800 - NEVER changes (GAAP basis)
2. UZS (current value): Updated monthly for sales pricing decisions

Important Note:
This FX revaluation entry is for MANAGEMENT REPORTING ONLY. For external
financial statements (audited financials), inventory remains at historical
cost per IAS 2 / ASC 330. The unrealized FX gain is NOT included in GAAP
profit but helps management set sales prices that cover current USD cost.

When FX Gain/Loss Becomes Realized:
FX gain/loss is realized ONLY when:
• Inventory is SOLD (sales proceeds in UZS vs. original USD cost converted)
• Example: Sell 250 kg for 20,000,000 UZS
  - Cost was $962.50 at 12,650 UZS/USD = 12,175,625 UZS (COGS)
  - Revenue: 20,000,000 UZS
  - Gross Profit: 7,824,375 UZS (includes implicit FX benefit)
                    

8. Cash Flow Statement Classification

CASH FLOW STATEMENT - OPERATING ACTIVITIES SECTION

All inventory purchasing transactions are classified as OPERATING ACTIVITIES
under both IFRS (IAS 7) and US GAAP (ASC 230) because they relate to
the principal revenue-generating activities of the business.

┌─────────────────────────────────────────────────────────────────────┐
│ CASH FLOW FROM OPERATING ACTIVITIES                            │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│ Cash Inflows (Operating):                                      │
│ • Cash received from customers (meat sales)      $1,245,800        │
│                                                                     │
│ Cash Outflows (Operating):                                     │
│ • Advance payments to suppliers (30%)            ($131,040)        │
│ • Balance payments to suppliers (70%)            ($305,760)        │
│ • Freight and logistics payments                 ($25,600)         │
│ • Customs duties and clearance fees              ($18,400)         │
│ • Warehouse operating expenses                   ($12,300)         │
│                                                  ──────────         │
│   Total Operating Cash Outflows:                 ($493,100)        │
│                                                                     │
│ NET CASH FROM OPERATING ACTIVITIES:                   $752,700         │
└─────────────────────────────────────────────────────────────────────┘

Journal Entry to Cash Flow Mapping:

Entry #1 - PI Creation (30% Advance):
  Cash Flow Impact: ($131,040) - Operating Activities (Outflow)
  Line Item: "Payments to suppliers for inventory"

Entry #3 - Container Arrival (70% Balance):
  Cash Flow Impact: ($305,760) - Operating Activities (Outflow)
  Line Item: "Payments to suppliers for inventory"

Entry #4 - GRN Creation:
  Cash Flow Impact: $0 (Non-cash transaction)
  Note: Reclassification of prepaid assets to inventory

Entry #5 - Sales to Customer:
  Cash Flow Impact: +$XXX - Operating Activities (Inflow)
  Line Item: "Cash received from customers"

Entry #6 - Stock Adjustment:
  Cash Flow Impact: $0 (Non-cash transaction)
  Note: Inventory write-off affects net income but not cash

Entry #7 - FX Revaluation (Management Reporting):
  Cash Flow Impact: $0 (Non-cash, unrealized)
  Note: Only realized FX gains/losses at point of sale affect cash

IMPORTANT GAAP PRINCIPLES:

1. Direct Method vs Indirect Method:
   • Direct Method: Shows actual cash receipts/payments (above example)
   • Indirect Method: Starts with net income, adjusts for non-cash items
   • MSA can use either method (most companies use indirect)

2. Non-Cash Transactions (Supplemental Disclosure):
   The following do NOT appear in cash flow statement body:
   • Entry #4: Converting prepaid assets to inventory ($436,800)
   • Entry #6: Inventory write-offs ($8,200)
   • Entry #7: Unrealized FX revaluation ($43,680,000 UZS)

   These should be disclosed in "Supplemental Schedule of Non-Cash
   Investing and Financing Activities" footnote.

3. Changes in Working Capital (Indirect Method):
   If using indirect method, reconcile from net income:

   Net Income                                        $XXX,XXX
   Adjustments to reconcile to cash from operations:
   + Depreciation & Amortization                     $XX,XXX
   + Inventory write-offs (non-cash expense)         $8,200
   - Increase in Inventory                           ($436,800)
   - Increase in Advance Payments                    ($131,040)
   + Decrease in Advance Payments                    $131,040
   - Increase in Inventory In-Transit                ($305,760)
   + Decrease in Inventory In-Transit                $305,760
   +/- Unrealized FX gains/losses (non-cash)         $0
                                                     ─────────
   NET CASH FROM OPERATING ACTIVITIES                $752,700

Key Audit Trail Requirements:
• Each journal entry must reference originating document (PI/CI/GRN)
• Bank statements must reconcile to Cash account (1100)
• Vendor statements must reconcile to AP aging report
• All cash flows must tie to general ledger account movements
                    

Financial Reports Generated

1. Accounts Payable Aging Report

═══════════════════════════════════════════════════════════
📊 ACCOUNTS PAYABLE AGING REPORT - MSA MEAT TRADING
═══════════════════════════════════════════════════════════
Report Date: 25.06.2025
Currency: USD

───────────────────────────────────────────────────────────
Vendor: HMA AGRO INDUSTRIES LIMITED
───────────────────────────────────────────────────────────
PI Number          │ Invoice Date │ Amount     │ Paid       │ Balance    │ Days
PI/2677/202425     │ 21.04.2025   │ $436,800   │ $427,952   │ $8,848     │ 65 days
PI/2688/202425     │ 05.05.2025   │ $325,600   │ $97,680    │ $227,920   │ 51 days (70% pending)
PI/2695/202425     │ 12.05.2025   │ $412,500   │ $123,750   │ $288,750   │ 44 days (70% pending)

Vendor Total: $1,174,900 | Paid: $649,382 | Balance: $525,518

───────────────────────────────────────────────────────────
Vendor: SUPER FROZEN FOODS PVT LTD
───────────────────────────────────────────────────────────
PI Number          │ Invoice Date │ Amount     │ Paid       │ Balance    │ Days
PI/2680/202425     │ 28.04.2025   │ $285,400   │ $285,400   │ $0         │ PAID
PI/2692/202425     │ 10.05.2025   │ $395,200   │ $118,560   │ $276,640   │ 46 days (70% pending)

Vendor Total: $680,600 | Paid: $403,960 | Balance: $276,640

───────────────────────────────────────────────────────────
AGING SUMMARY:
───────────────────────────────────────────────────────────
  Current (0-30 days):     $145,200
  31-60 days:              $492,290
  61-90 days:              $164,668
  Over 90 days:            $0

TOTAL PAYABLES: $802,158

───────────────────────────────────────────────────────────
Payment Schedule (Next 30 Days):
───────────────────────────────────────────────────────────
  05.07.2025: Container arrival → Pay HMA $227,920 (70%)
  12.07.2025: Container arrival → Pay HMA $288,750 (70%)
  18.07.2025: Container arrival → Pay SFF $276,640 (70%)

Total Cash Required (Next 30 days): $793,310

═══════════════════════════════════════════════════════════
                    

2. Inventory Valuation Report

═══════════════════════════════════════════════════════════
📦 INVENTORY VALUATION REPORT (FIFO Method)
═══════════════════════════════════════════════════════════
Report Date: 25.06.2025
Valuation Method: First-In, First-Out (FIFO)

───────────────────────────────────────────────────────────
Item 41 - TOPSIDE (BUFFALO COMPENSATED)
───────────────────────────────────────────────────────────
Batch              │ GRN Date   │ Qty (kg) │ Cost/kg │ Total Value │ Age
B-HMA-20240805-41  │ 05.08.2024 │ 1,800    │ $3.75   │ $6,750      │ 324 days
B-HMA-20241020-41  │ 20.10.2024 │ 3,200    │ $3.80   │ $12,160     │ 248 days
B-HMA-20250315-41  │ 15.03.2025 │ 12,400   │ $3.85   │ $47,740     │ 102 days
B-HMA-20250528-41  │ 28.05.2025 │ 5,288    │ $3.85   │ $20,359     │ 28 days

Item 41 Total: 22,688 kg | $87,009

───────────────────────────────────────────────────────────
Item 44 - SILVER SIDE (HQ CUTS)
───────────────────────────────────────────────────────────
Batch              │ GRN Date   │ Qty (kg) │ Cost/kg │ Total Value │ Age
B-HMA-20241215-44  │ 15.12.2024 │ 5,600    │ $3.90   │ $21,840     │ 192 days
B-HMA-20250410-44  │ 10.04.2025 │ 8,500    │ $3.95   │ $33,575     │ 76 days
B-HMA-20250605-44  │ 05.06.2025 │ 16,800   │ $3.95   │ $66,360     │ 20 days

Item 44 Total: 30,900 kg | $121,775

───────────────────────────────────────────────────────────
INVENTORY SUMMARY BY LOCATION:
───────────────────────────────────────────────────────────
Main Warehouse (Ravshan aka):
  • Total Quantity: 185,400 kg
  • Total Value: $712,450
  • Average Cost: $3.84/kg

Bektemir Warehouse:
  • Total Quantity: 58,200 kg
  • Total Value: $226,850
  • Average Cost: $3.90/kg

TOTAL INVENTORY: 243,600 kg | $939,300

───────────────────────────────────────────────────────────
Accounting Impact:
───────────────────────────────────────────────────────────
  Balance Sheet → Asset Account 1200: $939,300
  (Frozen Meat Inventory at FIFO cost)

═══════════════════════════════════════════════════════════
                    

Key Integration Points

Procurement Event Triggered Accounting Entry Affected Accounts Timing
PI Created Record 30% advance payment Dr: Advance Payments
Cr: Cash
Immediate upon payment
GRN Created Add to inventory, create payable Dr: Inventory
Cr: Accounts Payable
Real-time upon GRN save
Container Arrives Pay 70% balance, clear advance Dr: AP
Cr: Advance, Cash
Upon payment authorization
Sales Invoice Recognize revenue + COGS Dr: Cash
Cr: Revenue
Dr: COGS
Cr: Inventory
Immediate upon sale
Stock Transfer Memo entry (no GL impact) Inventory location change only Upon transfer completion
Claim Accepted Reduce payable by credit note Dr: Accounts Payable
Cr: FX Gain or Inventory
Upon credit note receipt
Return/Rejection Reverse GRN entry Dr: AP
Cr: Inventory
Upon return shipment

Month-End Closing Procedures

Financial Close Checklist

  1. Inventory Physical Count: Reconcile system inventory vs physical count, investigate variances
  2. FIFO Valuation: Recalculate inventory value using FIFO method, update inventory account
  3. Accruals: Review in-transit shipments (CI received but no GRN) - accrue if ownership transferred
  4. FX Revaluation: Revalue USD payables at month-end exchange rate, record unrealized FX gain/loss
  5. AP Aging Review: Generate aging report, follow up on overdue payments
  6. Inventory Aging: Review old stock (>9 months), create provision for obsolete inventory if needed
  7. Reconciliation: Match inventory balance (1200) to detailed inventory report, match AP balance (2100) to vendor statements
  8. Financial Statements: Generate P&L and Balance Sheet, review gross profit margin by product

📜 Compliance & Regulatory Requirements

⚠️ Mandatory Compliance for Meat Imports

Importing frozen meat into Uzbekistan requires strict adherence to international food safety standards, Islamic Halal requirements, customs regulations, and local health department rules. Non-compliance can result in shipment rejection, fines, or business license suspension.

1. Halal Certification Requirements

Why Halal Matters in Uzbekistan

Uzbekistan is 96% Muslim. ALL meat products MUST be Halal certified to be legally imported and sold. This is both a religious requirement and a legal mandate.

Halal Certification Checklist

Requirement Details Verification
Halal Certificate Source Must be issued by recognized Islamic authority in India (e.g., Jamiat Ulama-i-Hind, Halal India) Check issuing authority on certificate header
Certificate Validity Typically valid for 1 year from issue date Verify expiry date > shipment date
Slaughterhouse Approval Certificate must list specific slaughterhouse(s) used by vendor Match slaughterhouse name to vendor facility
Product Coverage Certificate must cover buffalo meat (not just generic "meat") Check product description on certificate
Original Document Customs requires ORIGINAL certificate (not photocopy) Ensure vendor sends original with shipment
Uzbekistan Recognition Certificate must be from authority recognized by Uzbekistan Halal Committee Pre-approve vendor's certifying body with local authorities

2. Food Safety & Quality Standards

International Standards Compliance

HACCP (Hazard Analysis Critical Control Points)

  • Requirement: Vendor facility must have HACCP certification
  • Purpose: Ensures systematic food safety management
  • Critical Control Points: Temperature control, contamination prevention, sanitation
  • Documentation: HACCP certificate from vendor + periodic audit reports

ISO 22000 (Food Safety Management)

  • Requirement: Preferred but not mandatory
  • Purpose: International standard for food safety management systems
  • Benefit: Demonstrates vendor commitment to quality
  • Verification: Request ISO 22000 certificate if available

Health & Veterinary Certificates

Certificate Type Issuing Authority Content Requirements Validity
Health Certificate Indian Export Inspection Council (EIC) or APEDA Confirms meat is fit for human consumption, free from diseases Per shipment
Veterinary Certificate State/Central Veterinary Authority (India) Animals were healthy at slaughter, facility inspected Per shipment
Sanitary Certificate Export Inspection Agency (India) Processing facility meets sanitation standards Annual or per shipment
Non-GMO Certificate Testing laboratory or vendor Animals not fed genetically modified feed (if required) Per batch

3. Import Regulations (Uzbekistan Customs)

Required Import Documents

📋 Complete Document Package for Customs Clearance

  1. Commercial Invoice (CI) - Original, stamped by vendor
  2. Packing List - Detailed item breakdown with weights
  3. Bill of Lading (BL) - Original or telex release
  4. Certificate of Origin (COO) - Proving India origin
  5. Halal Certificate - ORIGINAL from recognized authority
  6. Health Certificate - From Indian EIC/APEDA
  7. Veterinary Certificate - From Indian veterinary authority
  8. Phytosanitary Certificate - If required by Uzbekistan
  9. Import License/Permit - From Uzbekistan Ministry of Economy
  10. Customs Declaration - Filed electronically with Uzbekistan Customs
  11. Payment Proof - Bank transfer records for duty payment
  12. Insurance Certificate - Cargo insurance (if CIF terms)

⚠️ Missing ANY document = Shipment held at customs = Daily storage fees + potential spoilage

HS Code Classification

Harmonized System (HS) Codes for Buffalo Meat:

Chapter 02: Meat and edible meat offal

0201 - Meat of bovine animals, fresh or chilled
  └─ Not applicable (product is frozen)

0202 - Meat of bovine animals, frozen
  ├─ 0202.10 - Carcasses and half-carcasses
  ├─ 0202.20 - Other cuts with bone in
  │   └─ Example: Forequarter (4-cut), Hindquarter
  └─ 0202.30 - Boneless
      └─ Example: Topside, Silverside, Tenderloin, Shank

MSA Common HS Codes:
• Item 41 (Topside) - HS Code: 0202.30.90
• Item 42 (Shank) - HS Code: 0202.30.90
• Item 44 (Silverside HQ) - HS Code: 0202.30.90
• Item 46 (Forequarter 4-cut) - HS Code: 0202.20.90
• Item 48 (Tenderloin) - HS Code: 0202.30.90

Import Duty Rate: Varies by HS code and trade agreements
  • Standard rate: 15% of CIF value
  • Preferential rate: 5% (if India-Uzbekistan trade agreement applies)
  • VAT: 15% on (CIF + Duty)

Example Duty Calculation:
  CIF Value: $100,000
  Import Duty (15%): $15,000
  Subtotal: $115,000
  VAT (15%): $17,250
  Total Import Cost: $132,250
                    

4. Temperature & Cold Chain Compliance

Mandatory Cold Chain Requirements

Ocean Freight (India to Iran): Maintain -18°C to -22°C for 25-30 days
Port Storage (Bandar Abbas): Cold storage facility at -18°C minimum (max 7 days)
Road Transport (Iran to UZB): Refrigerated trucks -18°C minimum (5-7 days)
MSA Warehouse Storage: -18°C to -22°C continuously until sale
Temperature Breach Threshold: If product exceeds -10°C → AUTOMATIC REJECTION

Temperature Monitoring Requirements

  • Data Loggers: Each container must have temperature data logger recording every 15 minutes
  • Logger Report: Submit temperature log to customs as proof of cold chain maintenance
  • Breach Investigation: Any temperature spike > -10°C requires written explanation
  • Warehouse Monitoring: Continuous temperature monitoring with alarm system

5. Traceability & Record Keeping

Regulatory Record Retention Requirements

Document Type Retention Period Storage Location Regulatory Authority
Import Documents (CI, BL, COO) 7 years Physical + Digital Uzbekistan Customs
Halal Certificates 5 years Physical originals + scans Halal Committee UZB
Health/Veterinary Certificates 5 years Physical originals Health Ministry UZB
Temperature Logs 3 years Digital + printouts Food Safety Authority
Sales Records (traceability) 3 years ERP system + backup Consumer Protection
GRN & Inventory Records 7 years ERP system + backup Tax Authority
Financial Records (invoices, payments) 10 years Accounting system + archive Tax Authority

6. Audit & Inspection Readiness

Regular Inspections to Expect

  1. Customs Audit (Annual):
    • Verify import documentation completeness
    • Check duty calculations and payments
    • Confirm HS code classifications correct
    • Preparation: Organize all import docs by shipment, prepare import register
  2. Health Department Inspection (Quarterly):
    • Inspect warehouse cold storage facilities
    • Review temperature logs and equipment calibration
    • Check Halal certificate validity
    • Sample products for lab testing (rare but possible)
    • Preparation: Ensure warehouse clean, all certifications current, logs up-to-date
  3. Halal Compliance Check (As needed):
    • Review Halal certificates for all inventory
    • Verify no cross-contamination with non-Halal products
    • Check storage separation (if multiple product types)
    • Preparation: Maintain Halal cert registry, ensure proper labeling
  4. Fire & Safety Inspection (Annual):
    • Fire suppression systems functional
    • Emergency exits clear and marked
    • Refrigeration equipment safety certified
    • Preparation: Schedule preventive maintenance, keep safety certificates current

7. Non-Compliance Consequences

⚠️ Penalties for Regulatory Violations

Violation Type Consequence Financial Impact
Missing Halal Certificate Shipment rejected at customs, cannot be imported Total shipment loss + disposal costs (100% loss)
Expired Health Certificate Customs hold, requires re-certification from India Storage fees $500/day + re-cert cost $2,000-$5,000
Incorrect HS Code Customs penalty + duty recalculation Fine 50% of underpaid duty + interest
Temperature Breach (not disclosed) Food safety violation, product seizure Product confiscation + fine $10,000-$50,000
Poor Record Keeping Tax audit issues, inability to prove compliance Fines $5,000-$20,000 + tax penalties
Selling Non-Halal as Halal Criminal offense, business license revocation Business closure + criminal prosecution

Compliance Checklist for Each Shipment

✅ Pre-Shipment Verification (Before Vendor Ships)

Halal Certificate: Valid, from recognized authority, covers all products in shipment
Health Certificate: Issued by EIC/APEDA for this specific shipment
Veterinary Certificate: From Indian authority, dated within last 30 days
Certificate of Origin: Confirms India origin, stamped by Chamber of Commerce
HS Codes: All products correctly classified on CI and packing list
Temperature Logger: Installed in container, set to record every 15 min

✅ Upon Arrival at Warehouse (During GRN)

Document Verification: All original certificates present and valid
Temperature Check: Download and review logger data, confirm no breaches
Product Inspection: Visual check for signs of thawing/refreezing
Batch Recording: Create batch number, link to all certificates
File Documentation: Scan all certificates, attach to GRN in system

🔔 Alerts & Notifications System

Proactive Event Monitoring

Automated alerts ensure critical events don't go unnoticed. The system monitors inventory levels, payment deadlines, temperature breaches, certificate expiries, and quality issues, sending real-time notifications to relevant stakeholders.

Alert Categories & Priority Levels

Priority Icon Response Time Notification Channels Example Scenarios
CRITICAL 🔴 Immediate action required SMS + Email + System Pop-up + Phone Call Temperature breach, expired Halal cert, stockout
HIGH 🟠 Action within 24 hours SMS + Email + System notification Payment due tomorrow, reorder point reached
MEDIUM 🟡 Action within 3-5 days Email + System notification Stock aging (9-12 months), vendor performance issue
LOW 🔵 Informational, review when convenient System notification only Container departed India, GRN created successfully

Inventory Alerts

🟠 Reorder Point Alert

Trigger: Stock falls below configured reorder point

Recipients: Procurement Manager

Frequency: Daily until PI created

Message:

🔔 REORDER ALERT: Item 41 - TOPSIDE
Current Stock: 16,600 kg
Reorder Point: 16,980 kg
Status: BELOW THRESHOLD (-380 kg)
Days to Stock-out: 54 days
Recommended Order: 20,000 kg
Action: Create PI for HMA AGRO today

🔴 Critical Stock Low Alert

Trigger: Stock < 50% of reorder point (emergency level)

Recipients: Procurement Manager, General Manager

Frequency: Every 6 hours until resolved

Message:

🚨 CRITICAL LOW STOCK: Item 44 - SILVERSIDE
Current Stock: 8,200 kg
Reorder Point: 22,000 kg
Status: EMERGENCY LEVEL (37% of ROP)
Days to Stock-out: 22 days
⚠️ URGENT: Expedite order or risk stockout!
Action: Contact vendor for emergency shipment

🟡 Stock Aging Alert

Trigger: Stock reaches 9 months age (OLD category)

Recipients: Sales Manager, Warehouse Manager

Frequency: Weekly

Message:

⚠️ AGING STOCK ALERT
Item 41 - TOPSIDE, Batch B-HMA-20241020-41
Age: 278 days (9.3 months)
Quantity: 3,200 kg
Value: $12,160
Status: OLD STOCK - Active promotion needed
Suggested Discount: 10-15% off
Action: Include in this week's sales promotions

🔴 Critical Age Alert (12+ months)

Trigger: Stock reaches 12 months age

Recipients: Sales Manager, General Manager

Frequency: Daily

Message:

🚨 CRITICAL AGING: Clearance Sale Required
Item 41 - TOPSIDE, Batch B-HMA-20240805-41
Age: 365 days (12.2 months)
Quantity: 1,800 kg
Value: $6,750
Status: CRITICAL - Approaching max shelf life
Clearance Price: 70-75% of standard
⚠️ Must sell within 30 days or dispose
Estimated Loss if Disposed: $6,750

Payment & Financial Alerts

🟠 Payment Due Reminder (3 days before)

Trigger: 70% payment due in 3 days (container arriving)

Recipients: Finance Manager, Procurement Manager

Message:

💰 PAYMENT DUE REMINDER
Container: MSCU1234567
ETA Bandar Abbas: 05.07.2025 (3 days)
Vendor: HMA AGRO INDUSTRIES
70% Payment Due: $227,920
Available USD Balance: $185,000
⚠️ Shortfall: $42,920 - FX transfer needed
Action: Arrange USD transfer by 04.07.2025

🔴 Overdue Payment Alert

Trigger: Payment not made by due date

Recipients: Finance Manager, General Manager, CFO

Frequency: Daily until paid

Message:

🚨 OVERDUE PAYMENT - URGENT
Container: TGBU8901235
Vendor: SUPER FROZEN FOODS
Payment Due Date: 18.07.2025
Days Overdue: 3 days
Amount Due: $276,640
⚠️ Late penalties may apply
⚠️ Risk: Vendor may hold future shipments
Action: Make payment immediately

Quality & Compliance Alerts

🔴 Temperature Breach Alert

Trigger: Warehouse temperature > -15°C OR truck arrival temp > -10°C

Recipients: Warehouse Manager, QC Manager, Operations Manager

Frequency: Real-time, immediate notification

Message:

🚨 TEMPERATURE BREACH DETECTED
Location: Main Warehouse - Cold Room 2
Current Temperature: -14.2°C
Threshold: -18°C minimum
Duration: 12 minutes
Affected Stock: ~45,000 kg (estimated)
⚠️ IMMEDIATE ACTION REQUIRED:
1. Check refrigeration equipment
2. Call maintenance (24/7: +998-XX-XXX-XXXX)
3. Move stock to backup cold room if needed
4. Document incident for audit trail

🟠 Certificate Expiry Warning (30 days)

Trigger: Halal/Health cert expires in 30 days

Recipients: Procurement Manager, Compliance Officer

Frequency: Weekly until renewed

Message:

📋 CERTIFICATE EXPIRY WARNING
Vendor: HMA AGRO INDUSTRIES
Certificate: Halal Certification
Expiry Date: 15.08.2025
Days Until Expiry: 28 days
Impact: Cannot import after expiry
Action: Request renewed certificate from vendor
Follow-up: Verify new cert received by 10.08.2025

🔴 Rejected Shipment Alert

Trigger: GRN rejected or partial rejection

Recipients: Procurement Manager, Quality Manager, General Manager

Message:

🚨 SHIPMENT REJECTED
Rejection Notice: RN-2025-001
Truck: UZ-TRK-015
Vendor: SUPER FROZEN FOODS
Reason: Temperature Abuse (+1.5°C)
Rejected Quantity: 25,600 kg (FULL TRUCK)
Rejected Value: $102,400
Action Taken: Truck sent back, vendor notified
Next Steps:
1. Claim filed with vendor
2. Request replacement shipment
3. Update stock projections

🟠 Claim Filed Notification

Trigger: New claim created (shortage, quality issue)

Recipients: Procurement Manager, Finance Manager

Message:

📋 CLAIM FILED
Claim ID: CLM-2025-001
Vendor: HMA AGRO INDUSTRIES
Type: Quantity Shortage
Item: Item 44 - SILVERSIDE
Shortage: 1,120 kg (-6.3%)
Claim Amount: $4,424
Status: Submitted to vendor
Expected Response: 27.05.2025 (within 48 hrs)
Action: Monitor vendor response

Operational Alerts

🔵 Container Departure (Info)

Trigger: Container departs India port

Recipients: Procurement Manager, Operations

Message:

📦 Container Departed India
Container: MSCU1234589
BL: BLIND2025052001
Vessel: MSC MEDITERRANEAN
Departure Port: Mundra, India
Departure Date: 20.05.2025
ETA Bandar Abbas: 08.06.2025 (19 days transit)
Contents: 112,000 kg buffalo meat
Value: $436,800
Next Update: Arrival at Bandar Abbas

🟠 Container Arrived Iran Port

Trigger: Container arrives Bandar Abbas

Recipients: Procurement Manager, Finance, Operations

Message:

🚢 Container Arrived Bandar Abbas
Container: MSCU1234589
Arrival Date: 08.06.2025 10:45 AM
Status: Customs clearance in progress
70% Payment Due: $305,760
Payment Deadline: 10.06.2025 (2 days)
ACTIONS REQUIRED:
1. Prepare 70% payment ($305,760)
2. Arrange truck transfers (7-8 trucks needed)
3. Notify warehouse of expected arrival dates
4. ETA Tashkent: 18.06.2025 (10 days transit)

🔵 Truck In Transit Update

Trigger: Truck GPS update every 12 hours

Recipients: Operations Manager, Warehouse Manager

Message:

🚚 Truck Location Update
Truck: UZ-TRK-003
Container: MSCU1234589
Current Location: Ashgabat, Turkmenistan
Distance Remaining: 485 km to Tashkent
ETA: 17.06.2025 14:00
Temperature Status: -19.2°C ✅
Driver: Rustam Saidov (+998-90-XXX-XXXX)
Next Update: 12 hours or upon arrival

✅ GRN Created Successfully

Trigger: Warehouse completes GRN

Recipients: Procurement Manager, Finance, Inventory Manager

Message:

✅ Goods Received Successfully
GRN: GRN-2025-010
Truck: UZ-TRK-003
Received Date: 17.06.2025 14:45
Location: Main Warehouse (Ravshan aka)
Received Quantity: 16,800 kg (100% match)
Value Added to Inventory: $66,360
Discrepancies: NONE
Temperature: -19.5°C ✅
Quality Check: PASSED ✅
Batch: B-HMA-20250617-44
Status: Available for sale

Notification Configuration

Alert Type Email SMS System Push Notification Configurable?
Temperature Breach ❌ (Always on)
Critical Low Stock ❌ (Always on)
Reorder Point Optional ✅ (User can customize)
Payment Due ✅ (Can set reminder days)
Stock Aging Optional ✅ (Can set age thresholds)
Certificate Expiry Optional Optional ✅ (Can set warning days)
Container Updates Optional ✅ (Can disable)
GRN Created Optional ✅ (Can disable)

Alert Escalation Matrix

Automated Escalation Rules

Alert Initial Notification Escalation 1 (if unacknowledged) Escalation 2 (if still unacknowledged)
Temperature Breach Warehouse Manager (immediate) Operations Manager (15 min) General Manager + Phone Call (30 min)
Critical Low Stock Procurement Manager (immediate) General Manager (6 hours) CEO/Owner (24 hours)
Overdue Payment Finance Manager (immediate) CFO (4 hours) CEO + Vendor Call (12 hours)
Shipment Rejection Procurement + Quality Manager (immediate) General Manager (1 hour) CEO + Emergency Meeting (4 hours)

Alert Dashboard Requirements

System Dashboard Features

  • Real-Time Alert Feed: Live stream of all notifications sorted by priority
  • Alert Filtering: Filter by type, priority, date range, acknowledged/unacknowledged
  • Alert History: Full audit trail of all alerts sent (30-day retention minimum)
  • Acknowledgment Tracking: Who acknowledged alert, when, what action taken
  • Snooze Functionality: Temporarily snooze non-critical alerts (1 hour, 4 hours, 1 day)
  • Custom Alert Rules: Users can create custom threshold alerts (e.g., "Alert me if Item 41 < 15,000 kg")
  • Alert Statistics: Dashboard showing alert frequency, average response time, escalation rate
  • Mobile App Notifications: Push notifications to mobile devices for critical/high priority alerts

📊 Reporting & Analytics Dashboard Requirements

Overview

The MSA ERP system must provide comprehensive reporting and analytics capabilities covering inventory, financial, operational, and sales performance. Reports should be available in multiple formats (web dashboard, PDF export, Excel export) with customizable filters and date ranges.

1. Executive Dashboard (Home Screen)

Real-Time KPI Cards

KPI Name Calculation Visual Format Refresh Rate
Total Inventory Value Sum of (Stock Qty × Landed Cost) for all items Large card with $ value + trend arrow (vs. last month) Real-time
Current Stock Level (Kg) Sum of available stock across all warehouses Large card with kg value + color indicator (green > 500,000 kg, yellow 250,000-500,000 kg, red < 250,000 kg) Real-time
Pending Payments Due Sum of unpaid/partially paid PI balances (70% payments) Card with $ value + list of top 3 overdue invoices Daily 6 AM
In-Transit Shipments Count of CIs with status "Shipped" or "In Transit to Iran" Card with count + mini map showing shipment locations Every 6 hours
Monthly Sales Revenue Sum of sales invoice total (current month) Card with UZS value + comparison to last month (%) Daily 6 AM
Gross Profit Margin ((Sales Revenue - COGS) / Sales Revenue) × 100 Card with % value + sparkline trend (last 6 months) Daily 6 AM
Critical Alerts Count of unacknowledged critical/high priority alerts Red badge with count (clicking opens alert panel) Real-time
Aging Stock Alert Kg of stock > 12 months old Warning card with kg value + "View Details" link Daily 6 AM

Executive Dashboard Charts

  • 📈 Sales Trend (Last 12 Months): Line chart showing monthly sales revenue (UZS) with comparison to previous year
  • 📦 Inventory Turnover: Bar chart showing COGS / Average Inventory by month (target: 6-8 turns/year)
  • 🏭 Top 5 Vendors by Purchase Value: Horizontal bar chart showing total purchase $ (current year)
  • 🥩 Top 10 Products by Sales Volume: Table with product name, kg sold, revenue, profit margin
  • ⏰ Stock Aging Distribution: Pie chart showing % of stock in each aging category (Fresh, Good, Moderate, Old, Critical, Expired)
  • 💰 Cash Flow Overview: Waterfall chart showing opening balance, inflows (sales), outflows (purchases, expenses), closing balance

2. Inventory Analytics Reports

A. Inventory Valuation Report

Purpose: Show total inventory value using FIFO method with breakdown by product, warehouse, and age.

Report Parameters:
  • As of Date (default: today)
  • Warehouse Filter (All, Main, Bektemir)
  • Product Category Filter (All, specific category)
  • Aging Filter (All, Fresh only, Aging stock only)
Report Columns:
Column Description Calculation
Item Code Product identifier From Product master
Item Name Product description From Product master
Warehouse Storage location Main / Bektemir
Stock on Hand (Kg) Available quantity Sum from StockBalance table
Avg Age (Months) Average stock age Weighted average of batch ages
FIFO Unit Cost ($/Kg) Cost per kg (oldest stock first) From oldest batches in FIFO queue
Total Value ($) Extended inventory value Stock on Hand × FIFO Unit Cost
% of Total Percentage of total inventory value (Item Total Value / Grand Total) × 100
Report Totals:
  • Grand Total Value ($): Sum of all item values
  • Grand Total Weight (Kg): Sum of all stock quantities
  • Weighted Average Cost ($/Kg): Grand Total Value / Grand Total Weight
Example Output:
═══════════════════════════════════════════════════════════════════════════════
📋 INVENTORY VALUATION REPORT (FIFO METHOD)
As of: 25.05.2025                                           Warehouse: All
═══════════════════════════════════════════════════════════════════════════════
Item Code | Item Name              | WH      | Stock (Kg) | Avg Age | Unit Cost | Total Value | %
───────────────────────────────────────────────────────────────────────────────────────────────────
41        | TOPSIDE (HQ CUTS)      | Main    | 18,450     | 4.2 mo  | $3.95     | $72,878     | 12.5%
41        | TOPSIDE (HQ CUTS)      | Bektemir| 12,300     | 7.8 mo  | $3.78     | $46,494     | 8.0%
44        | SILVER SIDE (HQ CUTS)  | Main    | 22,180     | 3.5 mo  | $3.91     | $86,724     | 14.9%
46        | THICK FLANK (HQ CUTS)  | Main    | 15,670     | 5.1 mo  | $3.85     | $60,330     | 10.3%
48        | RUMP (HQ CUTS)         | Bektemir| 8,940      | 9.2 mo  | $3.70     | $33,078     | 5.7%
50        | STRIPLOIN (HQ CUTS)    | Main    | 6,220      | 2.8 mo  | $4.12     | $25,626     | 4.4%
...
───────────────────────────────────────────────────────────────────────────────────────────────────
GRAND TOTAL:                                 | 483,750 kg |          |           | $582,450    | 100%
Weighted Average Cost: $1.20/kg
═══════════════════════════════════════════════════════════════════════════════
                    

B. Stock Movement Report

Purpose: Track all inventory movements (receipts, sales, transfers, adjustments) for a given period.

Report Parameters:
  • Date Range (From Date, To Date)
  • Product Filter (All, specific item code)
  • Warehouse Filter (All, Main, Bektemir)
  • Transaction Type Filter (All, GRN, Sales, Transfer, Adjustment)
Report Columns:
Date | Transaction Type | Reference | Product | Warehouse | In (Kg) | Out (Kg) | Balance (Kg) | User
Example Output:
═══════════════════════════════════════════════════════════════════════════════
📋 STOCK MOVEMENT REPORT
Product: Item 41 - TOPSIDE (HQ CUTS)                    Period: 01.05.2025 - 25.05.2025
═══════════════════════════════════════════════════════════════════════════════
Date       | Type     | Reference    | Warehouse | In (Kg) | Out (Kg) | Balance  | User
───────────────────────────────────────────────────────────────────────────────
01.05.2025 | Opening  | -            | Main      | -       | -        | 15,200   | System
03.05.2025 | GRN      | GRN-2025-088 | Main      | 8,500   | -        | 23,700   | Ravshan
08.05.2025 | Sales    | SI-2025-451  | Main      | -       | 2,840    | 20,860   | Kamila
12.05.2025 | Transfer | STN-2025-012 | Main      | -       | 5,000    | 15,860   | Ravshan
12.05.2025 | Transfer | STN-2025-012 | Bektemir  | 5,000   | -        | 5,000    | Bektemir
15.05.2025 | Sales    | SI-2025-478  | Main      | -       | 3,120    | 12,740   | Kamila
18.05.2025 | GRN      | GRN-2025-094 | Main      | 9,200   | -        | 21,940   | Ravshan
22.05.2025 | Sales    | SI-2025-501  | Bektemir  | -       | 1,890    | 3,110    | Kamila
25.05.2025 | Closing  | -            | Main      | -       | -        | 21,940   | System
25.05.2025 | Closing  | -            | Bektemir  | -       | -        | 3,110    | System
───────────────────────────────────────────────────────────────────────────────
TOTALS:                                        | 22,700  | 12,850   | 25,050   |
═══════════════════════════════════════════════════════════════════════════════
                    

C. Stock Aging Report

Purpose: Identify aging inventory requiring discounts, promotions, or write-offs.

Report Grouping:
By Aging Category: Fresh (0-3 mo), Good (3-6 mo), Moderate (6-9 mo), Old (9-12 mo), Critical (12-15 mo), Expired (15+ mo)
Report Columns:
Column Description
Item Code & Name Product identifier and description
Batch Number Batch/lot traceability code
GRN Date Date batch was received
Age (Months) Calculated from GRN date to report date
Stock (Kg) Remaining quantity in batch
Value ($) Batch value at landed cost
Recommended Action Based on aging category (Promote, Discount, Emergency sale, Write-off)
Example Output (Critical Stock Only):
═══════════════════════════════════════════════════════════════════════════════
🔴 CRITICAL AGING STOCK REPORT (12-15 MONTHS)
As of: 25.05.2025                                           Total Value: $47,890
═══════════════════════════════════════════════════════════════════════════════
Item     | Batch             | GRN Date   | Age    | Stock (Kg) | Value    | Action
───────────────────────────────────────────────────────────────────────────────
44       | B-HMA-280324-44   | 28.03.2024 | 13.9 mo| 3,450      | $13,282  | 🔴 Emergency Sale 70% off
46       | B-HMA-150424-46   | 15.04.2024 | 13.3 mo| 2,780      | $10,453  | 🔴 Emergency Sale 75% off
48       | B-RME-050524-48   | 05.05.2024 | 12.7 mo| 4,120      | $15,248  | 🔴 Emergency Sale 70% off
50       | B-HMA-220424-50   | 22.04.2024 | 13.1 mo| 2,190      | $8,907   | 🔴 Emergency Sale 80% off
───────────────────────────────────────────────────────────────────────────────
TOTAL CRITICAL STOCK:                                  | 12,540 kg  | $47,890  |
═══════════════════════════════════════════════════════════════════════════════
⚠️ URGENT: These batches must be sold within 30 days to avoid expiry and total loss.
                    

D. Reorder Point Analysis Report

Purpose: Monitor stock levels against reorder points to ensure timely procurement.

Report Logic:
  • Show products where Current Stock ≤ Reorder Point
  • Calculate suggested order quantity to bring stock to Max Level
  • Consider in-transit shipments (PIs/CIs not yet received)
Report Columns:
Item | Current Stock | Reorder Point | Min Level | Max Level | In Transit | Suggested Order Qty | Priority
Example Output:
═══════════════════════════════════════════════════════════════════════════════
📋 REORDER POINT ANALYSIS
As of: 25.05.2025                                    Items Below Reorder Point: 6
═══════════════════════════════════════════════════════════════════════════════
Item | Current | Reorder | Min   | Max    | In Transit | Suggested | Priority
     | Stock   | Point   | Level | Level  | (PI/CI)    | Order Qty |
───────────────────────────────────────────────────────────────────────────────
41   | 14,200  | 16,980  | 10,000| 30,000 | 8,500      | 7,300     | 🟡 Medium
44   | 8,450   | 15,200  | 9,000 | 28,000 | 0          | 19,550    | 🔴 High
46   | 11,890  | 14,500  | 8,500 | 26,000 | 9,200      | 5,910     | 🟡 Medium
48   | 6,120   | 12,800  | 7,000 | 24,000 | 0          | 17,880    | 🔴 High
50   | 4,890   | 8,200   | 5,000 | 18,000 | 6,000      | 7,110     | 🟢 Low
52   | 9,340   | 11,500  | 7,500 | 22,000 | 0          | 12,660    | 🔴 High
───────────────────────────────────────────────────────────────────────────────
⚠️ Immediate Action Required: 3 items at HIGH priority (current stock near min level)
                    
Priority Logic:
  • 🔴 High Priority: Current Stock < Min Level OR (Current Stock < Reorder Point AND In Transit = 0)
  • 🟡 Medium Priority: Current Stock < Reorder Point AND In Transit > 0 (shipment coming)
  • 🟢 Low Priority: Current Stock slightly below Reorder Point AND In Transit covers gap

3. Financial Reports

A. Profit & Loss Statement (P&L)

Report Parameters:
  • Period: Month, Quarter, Year, Custom Date Range
  • Comparison: None, Previous Period, Same Period Last Year
P&L Structure:
═══════════════════════════════════════════════════════════════════════════════
📊 PROFIT & LOSS STATEMENT
MSA Meat Trading LLC
Period: May 2025                                    Currency: USD (and UZS equivalent)
═══════════════════════════════════════════════════════════════════════════════

REVENUE:
  Sales Revenue                                    $285,450        12,845,250,000 UZS
  Less: Sales Returns & Allowances                 ($3,220)          (144,900,000) UZS
  ───────────────────────────────────────────────────────────────────────────
  Net Sales Revenue                                $282,230        12,700,350,000 UZS

COST OF GOODS SOLD (COGS):
  Opening Inventory (01.05.2025)                   $520,340        23,415,300,000 UZS
  Add: Purchases (FOB + Freight + Duty)            $127,890         5,755,050,000 UZS
  Less: Closing Inventory (31.05.2025)             ($582,450)      (26,210,250,000) UZS
  ───────────────────────────────────────────────────────────────────────────
  Total COGS                                       $65,780         2,960,100,000 UZS

GROSS PROFIT                                       $216,450         9,740,250,000 UZS
Gross Profit Margin                                76.7%

OPERATING EXPENSES:
  Warehouse Rent                                   $4,500            202,500,000 UZS
  Staff Salaries                                   $8,200            369,000,000 UZS
  Utilities (Electricity for Cold Storage)         $2,890            130,050,000 UZS
  Transportation & Logistics                       $3,450            155,250,000 UZS
  Marketing & Promotions                           $1,200             54,000,000 UZS
  Administrative Expenses                          $2,100             94,500,000 UZS
  Bank Charges & Interest                          $890               40,050,000 UZS
  Depreciation                                     $1,450             65,250,000 UZS
  ───────────────────────────────────────────────────────────────────────────
  Total Operating Expenses                         $24,680         1,110,600,000 UZS

OPERATING PROFIT (EBIT)                            $191,770         8,629,650,000 UZS
Operating Profit Margin                            68.0%

OTHER INCOME/(EXPENSES):
  Exchange Rate Gain/(Loss)                        $2,340            105,300,000 UZS
  Miscellaneous Income                             $450               20,250,000 UZS
  ───────────────────────────────────────────────────────────────────────────
  Total Other Income                               $2,790            125,550,000 UZS

NET PROFIT BEFORE TAX                              $194,560         8,755,200,000 UZS

Income Tax (15%)                                   ($29,184)       (1,313,280,000) UZS

NET PROFIT AFTER TAX                               $165,376         7,441,920,000 UZS
Net Profit Margin                                  58.6%
═══════════════════════════════════════════════════════════════════════════════
Exchange Rate Used: 1 USD = 45,000 UZS (average for May 2025)
                    

B. Accounts Payable Aging Report

Report Purpose:

Track outstanding vendor payments by age to manage cash flow and vendor relationships.

Aging Buckets:
  • Current (0-30 days)
  • 31-60 days
  • 61-90 days
  • Over 90 days (Overdue)
Example Output:
═══════════════════════════════════════════════════════════════════════════════
📋 ACCOUNTS PAYABLE AGING REPORT
As of: 25.05.2025                                        Total Outstanding: $89,450
═══════════════════════════════════════════════════════════════════════════════
Vendor          | Invoice      | Invoice  | Due Date   | Current  | 31-60  | 61-90  | >90 Days
                | Number       | Date     |            | (0-30)   | Days   | Days   | (Overdue)
───────────────────────────────────────────────────────────────────────────────
HMA AGRO        | MH/104/25-26 | 21.04.25 | 28.05.25   | $21,322  | -      | -      | -
HMA AGRO        | MH/098/25-26 | 05.04.25 | 12.05.25   | -        | $18,450| -      | -
RADHEY MEAT     | RME/2025/078 | 15.03.25 | 22.04.25   | -        | -      | $14,670| -
HMA AGRO        | MH/085/24-25 | 28.02.25 | 07.04.25   | -        | -      | -      | $12,890
STAR FROZEN     | SFE/CI/2025  | 10.04.25 | 17.05.25   | -        | $11,230| -      | -
RADHEY MEAT     | RME/2025/065 | 22.03.25 | 29.04.25   | -        | -      | $10,888| -
───────────────────────────────────────────────────────────────────────────────
TOTALS:                                                | $21,322  | $29,680| $25,558| $12,890
% of Total:                                            | 23.8%    | 33.2%  | 28.6%  | 14.4%
═══════════════════════════════════════════════════════════════════════════════
⚠️ Overdue Amount: $12,890 (14.4%) - Contact vendor HMA AGRO immediately
                    

C. Cash Flow Statement

Report Structure:
═══════════════════════════════════════════════════════════════════════════════
💵 CASH FLOW STATEMENT
MSA Meat Trading LLC
Period: May 2025                                                 Currency: USD
═══════════════════════════════════════════════════════════════════════════════

CASH FLOWS FROM OPERATING ACTIVITIES:
  Cash Received from Customers                              $278,940
  Cash Paid to Suppliers (Vendor Payments)                  ($115,670)
  Cash Paid for Operating Expenses                          ($24,680)
  Interest Paid                                             ($890)
  ─────────────────────────────────────────────────────────────────────────
  Net Cash from Operating Activities                        $137,700

CASH FLOWS FROM INVESTING ACTIVITIES:
  Purchase of Cold Storage Equipment                        ($15,000)
  Sale of Old Equipment                                     $2,500
  ─────────────────────────────────────────────────────────────────────────
  Net Cash from Investing Activities                        ($12,500)

CASH FLOWS FROM FINANCING ACTIVITIES:
  Bank Loan Proceeds                                        $0
  Loan Repayments                                           ($5,200)
  Owner's Drawings                                          ($30,000)
  ─────────────────────────────────────────────────────────────────────────
  Net Cash from Financing Activities                        ($35,200)

NET INCREASE/(DECREASE) IN CASH                             $90,000

CASH AT BEGINNING OF PERIOD (01.05.2025)                    $185,340
CASH AT END OF PERIOD (31.05.2025)                          $275,340
═══════════════════════════════════════════════════════════════════════════════
                    

4. Operational Reports

A. Shipment Tracking Report

Report Purpose:

Monitor status of all shipments from vendor dispatch to warehouse arrival.

Report Filters:
  • Status Filter: All, In Transit, At Port, Arrived, Delayed
  • Vendor Filter: All vendors or specific vendor
  • Date Range: PI Date, Expected Arrival Date
Report Columns:
PI Number | CI Number | Vendor | Departure Date | Expected Arrival | Actual Arrival | Status | Days in Transit | Container Number
Example Output:
═══════════════════════════════════════════════════════════════════════════════
🚢 SHIPMENT TRACKING REPORT
As of: 25.05.2025                                         Active Shipments: 8
═══════════════════════════════════════════════════════════════════════════════
PI Number       | CI Number    | Vendor     | Departure  | Expected   | Status              | Days
                |              |            | (India)    | Arrival    |                     | Transit
───────────────────────────────────────────────────────────────────────────────────────────────
HMA/PI/2677     | MH/104/25-26 | HMA AGRO   | 21.04.2025 | 10.06.2025 | ✅ Arrived (28.05) | 37
HMA/PI/2680     | MH/108/25-26 | HMA AGRO   | 05.05.2025 | 24.06.2025 | 🚢 In Transit      | 20
RME/PI/078      | RME/CI/078   | RADHEY     | 12.05.2025 | 01.07.2025 | 🚢 In Transit      | 13
SFE/PI/2025-12  | SFE/CI/2025  | STAR       | 18.05.2025 | 07.07.2025 | 🚢 In Transit      | 7
HMA/PI/2685     | Pending      | HMA AGRO   | TBD        | TBD        | ⏳ Awaiting CI     | -
───────────────────────────────────────────────────────────────────────────────────────────────
🔴 DELAYED SHIPMENTS (None)
🟡 AT RISK (Expected arrival in next 7 days): 0
                    

B. Vendor Performance Scorecard

Report Purpose:

Evaluate vendor performance across quality, delivery, pricing, and compliance metrics.

Scorecard Metrics:
Metric Category Metric Calculation Weight
Quality (30%) Rejection Rate (Rejected Qty / Total Shipped Qty) × 100 15%
Claim Frequency Number of claims per 100 shipments 15%
Delivery (30%) On-Time Delivery (Shipments delivered on/before due date / Total shipments) × 100 20%
Lead Time Accuracy Average deviation from promised lead time (days) 10%
Pricing (20%) Price Competitiveness Vendor avg price vs. market avg price (%) 15%
Price Stability Standard deviation of price changes over 6 months 5%
Compliance (20%) Documentation Accuracy (Shipments with complete & accurate docs / Total) × 100 10%
Certificate Compliance (Shipments with valid Halal/Health certs / Total) × 100 10%
Example Vendor Scorecard:
═══════════════════════════════════════════════════════════════════════════════
⭐ VENDOR PERFORMANCE SCORECARD
Vendor: HMA AGRO INDUSTRIES LIMITED                   Period: Last 12 Months
═══════════════════════════════════════════════════════════════════════════════

QUALITY METRICS (30%):
  Rejection Rate: 1.2%                                       Score: 95/100 ⭐⭐⭐⭐⭐
  Claim Frequency: 2 claims per 100 shipments               Score: 92/100 ⭐⭐⭐⭐⭐
  ──────────────────────────────────────────────────────────────────────
  Quality Score: 93.5/100 (Weight: 30%)                     Weighted: 28.05

DELIVERY METRICS (30%):
  On-Time Delivery: 87%                                      Score: 87/100 ⭐⭐⭐⭐
  Lead Time Accuracy: +3 days avg deviation                 Score: 82/100 ⭐⭐⭐⭐
  ──────────────────────────────────────────────────────────────────────
  Delivery Score: 85.4/100 (Weight: 30%)                    Weighted: 25.62

PRICING METRICS (20%):
  Price Competitiveness: 2% below market avg                Score: 102/100 ⭐⭐⭐⭐⭐
  Price Stability: Low volatility (SD: $0.08/kg)            Score: 95/100 ⭐⭐⭐⭐⭐
  ──────────────────────────────────────────────────────────────────────
  Pricing Score: 99.5/100 (Weight: 20%)                     Weighted: 19.90

COMPLIANCE METRICS (20%):
  Documentation Accuracy: 98%                                Score: 98/100 ⭐⭐⭐⭐⭐
  Certificate Compliance: 100%                               Score: 100/100 ⭐⭐⭐⭐⭐
  ──────────────────────────────────────────────────────────────────────
  Compliance Score: 99.0/100 (Weight: 20%)                  Weighted: 19.80

═══════════════════════════════════════════════════════════════════════════════
OVERALL VENDOR SCORE: 93.37/100                            Rating: ⭐⭐⭐⭐⭐ (Excellent)
═══════════════════════════════════════════════════════════════════════════════

Rating Scale:
  90-100: ⭐⭐⭐⭐⭐ Excellent (Preferred Vendor)
  80-89:  ⭐⭐⭐⭐   Good (Approved Vendor)
  70-79:  ⭐⭐⭐     Fair (Conditional Approval - Improvement Required)
  Below 70: ⭐⭐      Poor (Consider Replacement)
                    

C. GRN vs CI Variance Report

Report Purpose:

Identify discrepancies between what was shipped (CI) and what was received (GRN/Truck).

Report Filters:
  • Date Range (GRN Date)
  • Variance Threshold (Show only variances > X%)
  • Vendor Filter
Example Output:
═══════════════════════════════════════════════════════════════════════════════
📋 GRN vs CI VARIANCE REPORT
Period: May 2025                                       Shipments with Variance: 3
═══════════════════════════════════════════════════════════════════════════════
CI Number    | Item | CI Qty  | GRN Qty | Variance | Variance | Reason        | Action
             | Code | (Boxes) | (Boxes) | (Boxes)  | (%)      |               | Taken
───────────────────────────────────────────────────────────────────────────────
MH/104/25-26 | 44   | 896     | 840     | -56      | -6.25%   | Shortage      | Claim Filed
MH/108/25-26 | 41   | 425     | 430     | +5       | +1.18%   | Packing Error | Vendor Notified
RME/CI/078   | 46   | 658     | 645     | -13      | -1.98%   | Shortage      | Under Investigation
───────────────────────────────────────────────────────────────────────────────
Total Boxes Shipped: 1,979         Total Boxes Received: 1,915         Net Variance: -64 (-3.23%)
Total Value of Variance: $2,380 (shortage)
═══════════════════════════════════════════════════════════════════════════════
⚠️ Note: Variances > 2% require vendor claim. Variances < 2% logged for trend analysis.
                    

5. Sales Analytics Reports

A. Sales by Product Report

Report Parameters:
  • Date Range (Month, Quarter, Year, Custom)
  • Product Category Filter
  • Sort By: Revenue, Quantity, Profit Margin
Report Columns:
Item Code | Item Name | Qty Sold (Kg) | Revenue (UZS) | COGS (USD) | Gross Profit (UZS) | Margin (%) | % of Total Sales
Example Output:
═══════════════════════════════════════════════════════════════════════════════
📊 SALES BY PRODUCT REPORT
Period: May 2025                                Total Sales: 12,700,350,000 UZS
═══════════════════════════════════════════════════════════════════════════════
Item | Item Name            | Qty Sold | Revenue        | COGS        | Gross Profit   | Margin | % Sales
Code |                      | (Kg)     | (UZS)          | (USD)       | (UZS)          | (%)    |
───────────────────────────────────────────────────────────────────────────────────────────────
44   | SILVER SIDE (HQ)     | 18,450   | 3,228,000,000  | $14,670     | 2,568,000,000  | 79.5%  | 25.4%
41   | TOPSIDE (HQ)         | 16,780   | 2,854,200,000  | $13,230     | 2,259,000,000  | 79.1%  | 22.5%
46   | THICK FLANK (HQ)     | 14,220   | 2,412,600,000  | $10,890     | 1,922,400,000  | 79.7%  | 19.0%
50   | STRIPLOIN (HQ)       | 8,940    | 1,651,800,000  | $7,340      | 1,321,200,000  | 80.0%  | 13.0%
48   | RUMP (HQ)            | 7,330    | 1,283,100,000  | $5,560      | 1,032,900,000  | 80.5%  | 10.1%
...
───────────────────────────────────────────────────────────────────────────────────────────────
TOTAL:                      | 78,450   | 12,700,350,000 | $65,780     | 9,740,250,000  | 76.7%  | 100%
═══════════════════════════════════════════════════════════════════════════════
Top Performer: Item 44 (SILVER SIDE) - Highest revenue and margin
Slow Mover: Items with <1,000 kg sales - Consider promotions
                    

B. Customer Sales Analysis

Report Purpose:

Analyze sales performance by customer including revenue, payment behavior, and profitability.

Report Columns:
Customer Name | Total Sales (UZS) | Avg Order Size (Kg) | Order Frequency | Payment Terms | Avg Days to Pay | Profit Margin (%)
Example Output:
═══════════════════════════════════════════════════════════════════════════════
📊 CUSTOMER SALES ANALYSIS
Period: May 2025                              Total Customers: 47    Active: 38
═══════════════════════════════════════════════════════════════════════════════
Customer Name           | Sales (UZS)    | Avg Order | Orders | Payment | Avg    | Margin
                        |                | (Kg)      | (Count)| Terms   | Days   | (%)
───────────────────────────────────────────────────────────────────────────────
Tashkent Hypermarket    | 2,450,000,000  | 2,840     | 12     | Net 30  | 28     | 18.5%
Samarkand Distributors  | 1,890,000,000  | 3,120     | 8      | Net 45  | 42     | 20.2%
Bukhara Food Co.        | 1,670,000,000  | 2,180     | 10     | Net 30  | 31     | 19.8%
Fergana Meat Traders    | 1,230,000,000  | 1,950     | 9      | COD     | 0      | 22.1%
...
───────────────────────────────────────────────────────────────────────────────
TOTAL:                  | 12,700,350,000 | 2,450     | 142    | -       | 25     | 20.5%
═══════════════════════════════════════════════════════════════════════════════
🏆 Top Customer: Tashkent Hypermarket (19.3% of total sales)
💰 Most Profitable: Fergana Meat Traders (22.1% margin, COD payment)
⚠️ Payment Risk: 3 customers averaging >45 days to pay (credit limit review recommended)
                    

6. Custom Report Builder

Report Builder Requirements

Allow power users to create ad-hoc reports without developer intervention.

Features:
  • Data Source Selection: Choose from predefined tables (Products, Vendors, Invoices, Stock, Sales, etc.)
  • Column Selection: Drag-and-drop interface to select columns to display
  • Filter Builder: Visual filter builder (e.g., "Stock Qty > 10000 AND Age > 6 months")
  • Grouping & Aggregation: Group by fields (e.g., Vendor, Product Category) with SUM, AVG, COUNT, MIN, MAX
  • Sorting: Multi-level sorting (e.g., Sort by Vendor ASC, then by Date DESC)
  • Calculated Fields: Create custom calculations (e.g., "Margin % = (Revenue - COGS) / Revenue * 100")
  • Export Options: Export to PDF, Excel, CSV
  • Save & Share: Save report templates and share with other users
  • Schedule Reports: Auto-generate and email reports daily/weekly/monthly
Example Use Case:
User wants to create a report showing "All products from HMA AGRO vendor with stock > 12 months old, sorted by stock value descending, showing Item Code, Name, Stock Qty, Age, and Value"
Report Builder Steps:
  1. Select Data Source: "Inventory with Product and Vendor"
  2. Add Columns: Item Code, Item Name, Stock Qty (Kg), Age (Months), Stock Value ($)
  3. Add Filters: Vendor = "HMA AGRO" AND Age > 12
  4. Add Sorting: Stock Value (DESC)
  5. Preview Report → Generate → Export to Excel

7. Dashboard Data Visualization Requirements

Chart Types & Use Cases

Chart Type Use Case Example
Line Chart Trends over time Monthly sales revenue (last 12 months)
Bar Chart Comparisons across categories Sales by product category
Pie Chart Composition/percentage breakdown Stock aging distribution (Fresh vs Old vs Critical)
Stacked Bar Chart Multi-level comparisons Sales by product by warehouse
Gauge Chart KPI against target Inventory turnover (actual vs target 6 turns/year)
Heat Map Identify patterns in matrix data Sales by product by month (12 months × 50 products)
Waterfall Chart Show cumulative effect of sequential values Cash flow (opening + inflows - outflows = closing)
Sparkline Inline trend indicator Small trend chart next to KPI card (e.g., Sales trend last 7 days)

Dashboard Interactivity Requirements

  • Drill-Down: Click on chart element to see detailed data (e.g., click on "May Sales" bar → see daily breakdown)
  • Filter Sync: Applying filter on one chart updates all related charts on dashboard
  • Date Range Selector: Global date range picker affecting all dashboard widgets
  • Export Chart: Export individual charts as PNG or PDF
  • Refresh Data: Manual refresh button + auto-refresh option (every 5 min, 15 min, 1 hour)
  • Compare Mode: Toggle to compare current period vs. previous period or vs. budget
  • Alert Triggers: Set alerts directly from charts (e.g., "Alert me if this KPI drops below X")

8. Report Export & Distribution

Export Formats

Format Use Case Requirements
PDF Professional reports for management/investors Include company logo, header/footer, page numbers, table of contents for multi-page reports
Excel (.xlsx) Data analysis, pivoting, further calculations Include formulas, formatting, multiple sheets for complex reports
CSV Import into external systems, simple data transfer UTF-8 encoding, comma delimiter, quoted text fields
JSON API integration, programmatic access Structured data format for developers

Scheduled Report Distribution

Feature: Automatically generate and email reports on a schedule.

Configuration Options:
  • Report Template: Select saved report template
  • Schedule Frequency: Daily (8 AM), Weekly (Monday 8 AM), Monthly (1st of month 8 AM), Quarterly
  • Recipients: Email addresses or user groups (e.g., "Finance Team", "Management")
  • Format: PDF, Excel, or both
  • Subject & Message: Customize email subject and body text
  • Filters: Apply date range filters automatically (e.g., "Last Month", "Last Quarter")
Example Scheduled Report:
Report Name: Monthly Financial Summary
Schedule: 1st of every month at 8:00 AM
Recipients: finance@msameat.uz, ceo@msameat.uz
Format: PDF
Filters: Previous Month (auto-calculated)
Includes: P&L Statement, Cash Flow, Inventory Valuation, AP Aging
                    

9. Report Performance & Optimization

Performance Requirements

Report Type Max Load Time Optimization Strategy
Dashboard KPI Cards < 2 seconds Cache results, update every 5 minutes
Simple List Reports (< 1000 rows) < 3 seconds Direct database query with indexing
Complex Analytical Reports < 10 seconds Pre-aggregated summary tables, incremental updates
Large Export (> 10,000 rows) Background job Queue export job, email link to download when ready
Optimization Techniques:
  • Database Indexing: Index frequently queried columns (productId, vendorId, date fields)
  • Materialized Views: Pre-calculate complex aggregations (e.g., monthly sales summary)
  • Caching: Cache dashboard data for 5-15 minutes depending on data volatility
  • Pagination: Load large reports in pages (50-100 rows per page)
  • Lazy Loading: Load chart data only when chart becomes visible on screen
  • Background Jobs: For heavy exports, run in background and notify user when complete

10. Report Access Control

Role-Based Report Access

User Role Accessible Reports
CEO / General Manager ALL reports (full access)
Finance Manager All financial reports (P&L, Balance Sheet, Cash Flow, AP Aging, Vendor Payments)
Operations Manager Inventory reports, Shipment tracking, GRN reports, Stock aging, Vendor performance
Sales Manager Sales reports, Customer analysis, Product performance, Pricing reports
Warehouse Staff Stock balance, GRN reports, Stock transfers (LIMITED: cannot see financial data)
Accountant Financial reports, AP aging, Payment tracking (NO access to inventory/operations)
Data Filtering by Role:
  • Vendor-Specific Users: Vendors can only see reports for their own data (their PIs, CIs, payments)
  • Warehouse-Specific Users: Warehouse staff can only see stock/GRN data for their assigned warehouse
  • Sensitive Financial Data: Hide COGS, profit margins from non-finance users (show revenue only)

👥 User Roles & Permissions Framework

Overview

The MSA ERP system implements a role-based access control (RBAC) model to ensure data security, operational integrity, and compliance with business processes. Each user is assigned one or more roles, and each role has specific permissions governing what actions they can perform and what data they can access.

1. Core System Roles

A. CEO / General Manager (Super Admin)

Access Level: FULL ACCESS - All Modules
Module Permissions Restrictions
All Modules Create, Read, Update, Delete (CRUD) on all data None
User Management Create/edit users, assign roles, reset passwords, deactivate accounts None
System Settings Configure system parameters, exchange rates, tax rates, approval workflows None
Financial Data View all financial reports including P&L, cash flow, profit margins, COGS None
Audit Logs View all system audit logs and user activity history None
Dashboard View:
  • Executive Dashboard with all KPIs (revenue, profit, inventory value, cash flow)
  • Real-time alerts and notifications (all priority levels)
  • Performance scorecards (vendor, sales, operational)
  • Strategic analytics and trend analysis

B. Finance Manager

Access Level: FULL FINANCIAL + VENDOR MANAGEMENT
Module Permissions Restrictions
Proforma Invoices (PI) Create, edit, approve, delete PIs; Record 30% advance payments Cannot create PIs for unapproved vendors
Commercial Invoices (CI) View, edit, verify against PIs Cannot delete CIs after GRN created
Vendor Payments Record payments, manage payment schedules, process 70% balance payments Payments > $50,000 require CEO approval
Financial Reports Generate and view all financial reports (P&L, Balance Sheet, Cash Flow, AP Aging) Cannot modify closed accounting periods
Vendor Management Create, edit, approve vendor records; Manage vendor contracts and pricing Cannot delete vendors with active PIs/CIs
Inventory Valuation View inventory valuation reports, FIFO calculations, landed cost breakdowns Read-only access (cannot modify stock)
Claims & Disputes Review claims, approve/reject claim resolutions, process vendor credits/debits Cannot create claims (only review/approve)
Dashboard View:
  • Financial KPI cards (cash position, pending payments, overdue invoices)
  • AP aging summary
  • Payment due alerts (high priority)
  • Exchange rate tracking
  • Vendor payment history

C. Operations Manager

Access Level: FULL OPERATIONS + INVENTORY + SHIPMENT TRACKING
Module Permissions Restrictions
Proforma Invoices (PI) Create, edit PIs; Initiate procurement requests Cannot approve final PIs (requires Finance Manager approval)
Commercial Invoices (CI) View, track, update shipment status; Verify documents Cannot edit CI financial details (prices, totals)
Shipment Tracking Update container status, track shipments, manage logistics coordination None
Goods Receipt (GRN) Create GRNs, verify quantities, record discrepancies, approve warehouse entries Cannot modify GRNs after 24 hours (requires CEO approval)
Inventory Management View stock levels, aging reports, reorder point analysis; Initiate stock transfers Cannot create stock adjustments > 100 kg (requires CEO approval)
Quality Control Create rejections, record quality issues, manage temperature logs None
Claims Management Create claims for quantity shortages, quality issues, documentation errors Cannot approve claim resolutions (Finance Manager approval required)
Vendor Performance View vendor scorecards, delivery performance, quality metrics Read-only access (cannot modify vendor data)
Dashboard View:
  • Inventory KPI cards (stock levels, aging alerts, reorder points)
  • In-transit shipments tracker
  • Temperature breach alerts (critical priority)
  • GRN vs CI variance summary
  • Vendor performance scorecard

D. Sales Manager

Access Level: FULL SALES + CUSTOMER MANAGEMENT + PRICING
Module Permissions Restrictions
Sales Orders Create, edit, approve sales orders; Manage pricing and discounts Discounts > 15% require CEO approval
Customer Management Create, edit customer records; Manage customer pricing, payment terms, credit limits Cannot delete customers with active orders
Sales Invoices Create, edit, send sales invoices; Record customer payments Cannot modify invoices after customer confirmation
Inventory Availability View real-time stock levels, aging, reserved stock Read-only access (cannot modify stock)
Pricing Management Set and update customer pricing based on landed cost + markup Cannot price below cost (system enforced minimum margin: 15%)
Sales Reports Generate sales by product, customer, period; View profit margins Cannot view purchase costs or vendor details
Returns & Rejections Process customer returns, create credit notes Returns > $5,000 require Finance Manager approval
Dashboard View:
  • Sales KPI cards (monthly revenue, top customers, active orders)
  • Product availability (stock levels for sales planning)
  • Aging stock alerts (promotions/discounts opportunity)
  • Customer payment status
  • Sales trend charts (last 12 months)

E. Warehouse Manager (Main / Bektemir)

Access Level: FULL WAREHOUSE OPERATIONS (ASSIGNED LOCATION ONLY)
Module Permissions Restrictions
Goods Receipt (GRN) Create GRNs for assigned warehouse, verify quantities, record temperature at delivery Can only create GRNs for their assigned warehouse
Inventory Stock View stock levels, batch details, expiry tracking for assigned warehouse Cannot view other warehouse stock (unless given multi-warehouse access)
Stock Transfers Create transfer requests FROM their warehouse, receive transfers TO their warehouse Transfers > 5,000 kg require Operations Manager approval
Stock Adjustments Create adjustment requests for damaged, expired, or missing stock All adjustments require Operations Manager approval
Sales Fulfillment Pick, pack, ship sales orders from assigned warehouse; Record dispatch Cannot ship if stock unavailable (system enforced)
Quality Control Record temperature logs (3x daily), document quality issues, create rejection notices None
Warehouse Reports Generate stock movement reports, GRN logs, temperature logs for assigned warehouse Cannot access financial reports or vendor data
Dashboard View:
  • Warehouse-specific stock levels
  • Pending GRNs (expected arrivals)
  • Temperature alerts for assigned warehouse
  • Outbound sales orders (pick/pack queue)
  • Stock aging summary (for their warehouse)

F. Accountant

Access Level: FINANCIAL DATA ENTRY + REPORTING
Module Permissions Restrictions
Accounts Payable Record vendor invoices, match PIs/CIs, track payment due dates Cannot approve payments (Finance Manager approval required)
Accounts Receivable Record customer payments, generate invoices, track aging Cannot approve credit notes > $1,000
Journal Entries Create manual journal entries for corrections, accruals, prepayments All manual entries require Finance Manager approval
Bank Reconciliation Reconcile bank statements, match transactions, resolve discrepancies Cannot modify reconciled periods
Financial Reports Generate all financial reports, export to Excel/PDF Read-only access (cannot modify closed periods)
Inventory Valuation View inventory valuation, FIFO calculations for month-end closing Cannot modify stock quantities or costs
Dashboard View:
  • AP aging summary (payments due in next 7/30/60 days)
  • AR aging summary (customer payment status)
  • Cash position (bank balances)
  • Unreconciled transactions
  • Pending approvals (journal entries, credit notes)

G. Warehouse Staff

Access Level: LIMITED WAREHOUSE OPERATIONS (DATA ENTRY ONLY)
Module Permissions Restrictions
Goods Receipt (GRN) Create GRN records, enter box counts, record temperature Cannot approve GRNs (Warehouse Manager approval required)
Stock View View current stock levels for assigned warehouse Cannot view stock value or costs
Sales Dispatch Record sales dispatch, scan barcodes, confirm delivery Cannot create sales orders (only fulfill existing orders)
Temperature Logs Record daily temperature readings (3x daily) Cannot modify historical temperature data
Dashboard View:
  • Today's tasks (GRNs to process, orders to dispatch)
  • Stock levels (basic view, no financial data)
  • Temperature log entry form

H. Vendor Portal User (External)

Access Level: VENDOR-SPECIFIC DATA ONLY (READ-MOSTLY)
Module Permissions Restrictions
Proforma Invoices View PIs created for their company, download PDF Can only see their own PIs (not other vendors)
Commercial Invoices Upload CI documents, view shipment status Can only upload CIs linked to their approved PIs
Payment Status View payment history (30% advance, 70% balance), download payment receipts Cannot see other vendors' payment data
Claims & Disputes View claims filed against their shipments, respond with documentation, track resolution Cannot view claims for other vendors
Performance Scorecard View their own vendor scorecard (quality, delivery, pricing, compliance metrics) Cannot see other vendors' scores
Dashboard View:
  • Active PIs and shipment status
  • Pending payments and payment history
  • Open claims (requiring vendor response)
  • Performance scorecard summary

2. Permission Matrix

Module-Level Permissions

The table below shows permissions by role across all modules. Legend:

  • C = Create (add new records)
  • R = Read (view data)
  • U = Update (edit existing records)
  • D = Delete (remove records)
  • A = Approve (approve workflow actions)
  • - = No Access
Module / Feature CEO Finance Mgr Ops Mgr Sales Mgr Warehouse Mgr Accountant Warehouse Staff Vendor
Vendors Master CRUDA CRUDA R R R R - R (own)
Products Master CRUDA CRU CRU RU R R R R
Proforma Invoices (PI) CRUDA CRUDA CRU R R R - R (own)
Commercial Invoices (CI) CRUDA CRUDA CRU R R R - CR (own)
Goods Receipt Notes (GRN) CRUDA R CRUDA R CRUA R CR -
Inventory Stock CRUDA R CRUA R CRU R R -
Stock Transfers CRUDA R CRUDA R CRUA R R -
Stock Adjustments CRUDA RA CRUDA - CR R - -
Sales Orders CRUDA R R CRUDA R R R -
Sales Invoices CRUDA RUA R CRUDA R CRU - -
Customers CRUDA RU R CRUDA R R - -
Vendor Payments CRUDA CRUDA R - - CR - R (own)
Customer Payments CRUDA CRUDA R CRU - CRU - -
Claims & Disputes CRUDA CRUDA CRU R R R - R (own)
Returns & Rejections CRUDA CRUDA CRUA CRU CRU R R -
Financial Reports R R - R (limited) - R - -
Inventory Reports R R R R R (own WH) R R (own WH) -
Sales Reports R R R R - R - -
Vendor Performance R R R - - - - R (own)
User Management CRUDA R R - - - - -
System Settings CRUDA RU R - - - - -
Audit Logs R R R - - R - -

3. Data Filtering & Row-Level Security

Warehouse-Specific Data Filtering

Warehouse Managers and Staff can only access data for their assigned warehouse(s):

Implementation:
-- User table includes assigned warehouse
User {
  id: uuid
  username: string
  role: string
  assignedWarehouse: 'Main' | 'Bektemir' | 'All' (for CEO/Ops Manager)
}

-- All inventory queries filtered by user's warehouse
SELECT * FROM stock_balance
WHERE warehouse = getCurrentUser().assignedWarehouse
  OR getCurrentUser().assignedWarehouse = 'All'
                    
Affected Modules:
  • Stock Balance (only show stock in assigned warehouse)
  • GRN List (only GRNs for assigned warehouse)
  • Stock Transfers (can only transfer FROM assigned warehouse)
  • Temperature Logs (only for assigned warehouse)
  • Stock Aging Reports (filtered by warehouse)

Vendor-Specific Data Filtering

Vendor Portal Users can only access data related to their company:

Implementation:
-- User table links to vendor
User {
  id: uuid
  username: string
  role: 'Vendor'
  vendorId: uuid (foreign key to Vendor table)
}

-- All PI/CI queries filtered by vendor
SELECT * FROM proforma_invoices
WHERE vendorId = getCurrentUser().vendorId
                    
Affected Modules:
  • Proforma Invoices (only their PIs)
  • Commercial Invoices (only their CIs)
  • Payments (only payments to their company)
  • Claims (only claims filed against their shipments)
  • Performance Scorecard (only their own scores)

Financial Data Masking

Sensitive financial data is hidden from non-finance users:

Field Visible To Hidden From
Purchase Cost (FOB, Freight, Duty) CEO, Finance Manager, Accountant Sales Manager, Warehouse Manager/Staff, Vendor
Landed Cost per Kg CEO, Finance Manager, Operations Manager, Accountant Sales Manager (sees sales price only), Warehouse Staff, Vendor
Profit Margin (%) CEO, Finance Manager, Sales Manager Operations Manager, Warehouse Manager/Staff, Accountant, Vendor
COGS (Cost of Goods Sold) CEO, Finance Manager, Accountant All other roles
Customer Payment Terms & Credit Limits CEO, Finance Manager, Sales Manager, Accountant Operations Manager, Warehouse Manager/Staff, Vendor
Example: Sales Manager viewing inventory
Item 41 - TOPSIDE (HQ CUTS)
Stock Available: 18,450 kg
Average Age: 4.2 months
Suggested Retail Price: 220,000 UZS/kg (Sales Manager sees this)
Purchase Cost: $3.95/kg (HIDDEN - Sales Manager does NOT see this)
Profit Margin: 18.5% (Sales Manager sees this)
                    

4. Approval Workflows & Limits

Transaction Approval Thresholds

Transaction Type Approval Required When Approver
Proforma Invoice (PI) PI value > $30,000 Finance Manager + CEO
Vendor Payment Payment > $50,000 CEO (Finance Manager can approve up to $50k)
Stock Adjustment Adjustment > 100 kg OR value > $500 Operations Manager (Warehouse Manager can approve up to 100 kg)
Sales Discount Discount > 15% CEO (Sales Manager can approve up to 15%)
Customer Return Return value > $5,000 Finance Manager (Sales Manager can approve up to $5k)
Claim Resolution Claim amount > $2,000 Finance Manager (Operations Manager can approve up to $2k)
GRN Modification GRN created > 24 hours ago CEO (cannot be modified without CEO approval)
Stock Transfer Transfer > 5,000 kg Operations Manager (Warehouse Manager can approve up to 5,000 kg)
Manual Journal Entry All manual entries Finance Manager (Accountant creates, Finance Manager approves)
Approval Status Workflow:
  1. Draft: User creates transaction (not yet submitted)
  2. Pending Approval: User submits transaction for approval
  3. Approved: Approver reviews and approves transaction
  4. Rejected: Approver rejects transaction with reason
  5. Completed: Transaction processed and finalized
Example: $65,000 PI Approval Flow
1. Operations Manager creates PI for $65,000 → Status: DRAFT
2. Operations Manager submits for approval → Status: PENDING APPROVAL (Finance Manager)
3. Finance Manager reviews and approves → Status: PENDING APPROVAL (CEO) [because > $30k]
4. CEO reviews and approves → Status: APPROVED
5. Finance Manager records 30% payment → Status: COMPLETED (Active PI)
                    

5. Audit Logging & User Activity Tracking

Audit Log Requirements

All user actions must be logged for compliance, security, and accountability.

Audit Log Table Structure:
AuditLog {
  id: uuid
  timestamp: datetime
  userId: uuid (who performed the action)
  userName: string
  userRole: string
  action: string (CREATE, UPDATE, DELETE, APPROVE, REJECT, LOGIN, LOGOUT)
  module: string (PI, CI, GRN, Stock, Payment, etc.)
  recordId: uuid (ID of the affected record)
  recordType: string (ProformaInvoice, GoodsReceipt, etc.)
  oldValues: json (before update)
  newValues: json (after update)
  ipAddress: string
  userAgent: string
  notes: string (optional, e.g., rejection reason)
}
                    
Actions Requiring Audit Log:
Action Type Examples
Authentication Login, Logout, Failed login attempts, Password resets
Data Modifications Create/Edit/Delete PIs, CIs, GRNs, Stock Adjustments, Sales Orders
Financial Transactions Record payments, Create journal entries, Approve claims
Approvals Approve/Reject PIs, Payments, Stock Adjustments, Claims
Sensitive Data Access View financial reports, Export vendor payment data, View profit margins
User Management Create/Deactivate users, Change user roles, Reset passwords
System Settings Change exchange rates, Modify tax rates, Update approval thresholds
Example Audit Log Entry:
{
  "id": "a3f8c2e1-4d9b-4c7a-8f2e-1b5d6c9a3e4f",
  "timestamp": "2025-05-25T14:32:18Z",
  "userId": "f6d8a2c1-9e3b-4f7c-a8d2-5c1b9e4a7f3d",
  "userName": "Kamila Rashidova",
  "userRole": "Finance Manager",
  "action": "APPROVE",
  "module": "Proforma Invoice",
  "recordId": "pi-12345",
  "recordType": "ProformaInvoice",
  "oldValues": {"approvalStatus": "Pending Approval"},
  "newValues": {"approvalStatus": "Approved", "approvedBy": "Kamila Rashidova", "approvedAt": "2025-05-25T14:32:18Z"},
  "ipAddress": "192.168.1.105",
  "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
  "notes": "Approved after verifying vendor contract and pricing"
}
                    

6. Security & Session Management

Authentication & Session Requirements

Password Policy:
  • Minimum 8 characters
  • Must contain: 1 uppercase, 1 lowercase, 1 number, 1 special character
  • Cannot reuse last 5 passwords
  • Password expires every 90 days (except for CEO/Finance Manager: 180 days)
  • Account locked after 5 failed login attempts (unlock by admin only)
Session Management:
  • Session timeout: 30 minutes of inactivity (system prompts to extend session)
  • Maximum session duration: 8 hours (forced logout, must re-authenticate)
  • Concurrent sessions: Maximum 2 active sessions per user
  • Force logout on password change/role change
Multi-Factor Authentication (MFA):
  • Required for: CEO, Finance Manager, Accountant (handling financial data)
  • Optional for: Operations Manager, Sales Manager, Warehouse Manager
  • Not required for: Warehouse Staff, Vendor Portal Users
  • MFA methods: SMS OTP, Email OTP, Authenticator App (Google/Microsoft Authenticator)

7. Database Schema: Users & Permissions

User Management Tables

-- Users Table
CREATE TABLE users (
  id UUID PRIMARY KEY,
  username VARCHAR(50) UNIQUE NOT NULL,
  email VARCHAR(100) UNIQUE NOT NULL,
  passwordHash VARCHAR(255) NOT NULL,
  fullName VARCHAR(100) NOT NULL,
  role VARCHAR(50) NOT NULL, -- 'CEO', 'Finance Manager', 'Operations Manager', etc.
  assignedWarehouse VARCHAR(50), -- 'Main', 'Bektemir', 'All', NULL
  vendorId UUID REFERENCES vendors(id), -- Only for vendor portal users
  isActive BOOLEAN DEFAULT TRUE,
  mfaEnabled BOOLEAN DEFAULT FALSE,
  mfaSecret VARCHAR(255),
  lastLoginAt TIMESTAMP,
  passwordChangedAt TIMESTAMP,
  createdAt TIMESTAMP DEFAULT NOW(),
  createdBy UUID REFERENCES users(id),
  updatedAt TIMESTAMP,
  updatedBy UUID REFERENCES users(id)
);

-- User Sessions Table
CREATE TABLE user_sessions (
  id UUID PRIMARY KEY,
  userId UUID REFERENCES users(id) ON DELETE CASCADE,
  sessionToken VARCHAR(255) UNIQUE NOT NULL,
  ipAddress VARCHAR(45),
  userAgent TEXT,
  loginAt TIMESTAMP DEFAULT NOW(),
  lastActivityAt TIMESTAMP DEFAULT NOW(),
  expiresAt TIMESTAMP,
  isActive BOOLEAN DEFAULT TRUE
);

-- Password History (prevent reuse)
CREATE TABLE password_history (
  id UUID PRIMARY KEY,
  userId UUID REFERENCES users(id) ON DELETE CASCADE,
  passwordHash VARCHAR(255) NOT NULL,
  changedAt TIMESTAMP DEFAULT NOW()
);

-- Audit Log Table
CREATE TABLE audit_logs (
  id UUID PRIMARY KEY,
  timestamp TIMESTAMP DEFAULT NOW(),
  userId UUID REFERENCES users(id),
  userName VARCHAR(100),
  userRole VARCHAR(50),
  action VARCHAR(50), -- CREATE, UPDATE, DELETE, APPROVE, REJECT, LOGIN, LOGOUT
  module VARCHAR(50),
  recordId UUID,
  recordType VARCHAR(50),
  oldValues JSONB,
  newValues JSONB,
  ipAddress VARCHAR(45),
  userAgent TEXT,
  notes TEXT
);

-- Approval Workflows Table
CREATE TABLE approval_requests (
  id UUID PRIMARY KEY,
  recordId UUID NOT NULL,
  recordType VARCHAR(50) NOT NULL, -- 'ProformaInvoice', 'Payment', 'StockAdjustment', etc.
  requestedBy UUID REFERENCES users(id),
  requestedAt TIMESTAMP DEFAULT NOW(),
  approverRole VARCHAR(50) NOT NULL, -- 'Finance Manager', 'CEO', etc.
  approverId UUID REFERENCES users(id),
  status VARCHAR(50) DEFAULT 'Pending', -- 'Pending', 'Approved', 'Rejected'
  approvedAt TIMESTAMP,
  rejectionReason TEXT,
  notes TEXT
);

-- Indexes for performance
CREATE INDEX idx_users_username ON users(username);
CREATE INDEX idx_users_role ON users(role);
CREATE INDEX idx_audit_logs_user ON audit_logs(userId);
CREATE INDEX idx_audit_logs_timestamp ON audit_logs(timestamp);
CREATE INDEX idx_audit_logs_module ON audit_logs(module);
CREATE INDEX idx_approval_requests_status ON approval_requests(status);
CREATE INDEX idx_approval_requests_approver ON approval_requests(approverRole);
                    

⚠️ Exception Handling Procedures

Overview

Despite careful planning, exceptions and unusual situations will occur in the frozen meat import business. This section provides standard operating procedures (SOPs) for handling common exceptions, escalation paths, and decision-making frameworks to minimize business disruption and financial loss.

1. Shipment & Logistics Exceptions

Exception 1.1: Delayed Container Departure from India

Symptoms:
  • Vendor notifies that container will not ship on expected date
  • CI created but shipment delayed by 7+ days
  • Port congestion, customs clearance delays, vessel schedule changes
Immediate Actions (Operations Manager):
  1. Within 2 hours: Contact vendor to confirm new departure date and reason for delay
  2. Within 4 hours: Assess impact on stock levels and customer commitments
  3. Within 24 hours: Notify affected customers of potential delivery delays
  4. Document: Update CI record in system with new ETA, add delay note with reason
Decision Matrix:
Delay Duration Current Stock Level Action Required
7-14 days Stock > 30 days supply Monitor only - no action needed
7-14 days Stock < 30 days supply Source alternative shipment from different vendor (expedited)
> 14 days Any level Escalate to CEO + Finance Manager; Consider canceling PI and sourcing alternative
> 30 days Any level Cancel PI, claim 30% advance refund, source from alternative vendor urgently
Vendor Communication Template:
Subject: Urgent - Container Delay Notification for PI [PI Number]

Dear [Vendor Name],

We acknowledge receipt of your notification regarding the delay of container [Container Number]
for PI [PI Number] (CI [CI Number]).

Original Departure Date: [Date]
New Departure Date: [Date]
Delay Duration: [X] days

Please provide:
1. Updated Bill of Lading with confirmed vessel name and departure date
2. Written explanation for delay (port congestion, customs issue, etc.)
3. Compensation plan (if delay > 14 days): Discount on next shipment OR expedited shipping at your cost

We require the above information within 24 hours. Delays exceeding 30 days will result in
PI cancellation and refund request of 30% advance payment.

Regards,
[Operations Manager Name]
MSA Meat Trading LLC
                    

Exception 1.2: Container Stuck at Iran Customs

Symptoms:
  • Container arrived at Bandar Abbas port but not released by customs
  • Missing/incorrect documentation (Halal cert, Health cert, COO)
  • HS code classification dispute
  • Demurrage charges accumulating ($100-$300 per day)
Immediate Actions (Operations Manager + Finance Manager):
  1. Within 1 hour: Contact Iran customs broker to identify root cause
  2. Within 2 hours: Request vendor to provide corrected/missing documents via email
  3. Within 4 hours: Calculate demurrage cost projection (days stuck × $200/day)
  4. Within 8 hours: If demurrage > $1,000, escalate to CEO for decision
Decision Matrix:
Issue Type Resolution Time Action Required
Missing Halal Certificate 3-5 days (vendor obtains new cert) Vendor bears demurrage cost; deduct from 70% payment OR claim later
Incorrect HS Code 1-2 days (reclassification) Accept additional duty if < 5% of shipment value; Vendor compensates if > 5%
Health Certificate Expired 5-7 days (new cert from India) Vendor bears demurrage + expedite new certificate at their cost
Product Quality Concern (Random Inspection) 2-3 days (lab testing) If PASS: Resume clearance; If FAIL: Reject entire shipment, claim full refund + demurrage
Demurrage Cost Recovery:
Demurrage Calculation Example:
Container: MSCU123456
Arrived: 15.05.2025
Released: 22.05.2025
Days Stuck: 7 days
Demurrage Rate: $200/day
Total Demurrage: 7 × $200 = $1,400

Cost Recovery:
- If vendor fault (missing docs): Deduct $1,400 from 70% balance payment
- If MSA fault (incorrect PI data): MSA absorbs cost
- If customs random inspection (no fault): Split 50/50 with vendor ($700 each)

Document in Claim module: CLM-2025-XXX (Type: Demurrage Recovery)
                    

Exception 1.3: Lost or Damaged Container in Transit

Symptoms:
  • Container not located at expected port after 14+ days past ETA
  • Shipping line reports container damaged in transit (accident, mishandling)
  • Container seal broken or tampered
Immediate Actions (Operations Manager + Finance Manager):
  1. Within 1 hour: Contact shipping line and request container tracking report
  2. Within 2 hours: Review insurance policy (check if shipment is covered)
  3. Within 4 hours: Notify vendor of situation and request their insurance details
  4. Within 24 hours: File insurance claim OR cargo claim with shipping line
  5. Within 48 hours: Arrange replacement shipment from vendor (expedited)
Insurance Claim Process:
Required Documents for Claim:
1. Bill of Lading (Original)
2. Commercial Invoice (CI)
3. Packing List
4. Insurance Certificate/Policy
5. Survey Report (if cargo damaged - hire surveyor to inspect)
6. Non-Delivery Certificate (from shipping line if lost)
7. Photos of damaged goods (if applicable)

Claim Submission Timeline:
- Day 1-2: Gather documents
- Day 3-5: Submit claim to insurance company
- Day 10-15: Insurance company investigation
- Day 20-30: Claim settlement (typically 70-90% of invoice value)

Expected Recovery: 80-90% of shipment value ($15,000 - $20,000 for typical 20-ton container)
                    
Replacement Shipment Coordination:
  • DO NOT wait for insurance settlement - arrange replacement immediately to avoid stockouts
  • Vendor should provide replacement at NO ADDITIONAL COST (covered by their insurance)
  • Expedite shipping (air freight for critical items if necessary)
  • Insurance payout covers: Original shipment value + demurrage + expedite costs

2. Quality & Temperature Exceptions

Exception 2.1: Temperature Breach During Delivery

Symptoms:
  • Truck arrives with product temperature > -10°C (should be -18°C to -22°C)
  • Signs of thawing or refreezing visible on product
  • Truck refrigeration unit malfunctioning
Immediate Actions (Warehouse Manager - DO NOT UNLOAD):
  1. STOP unloading immediately if temperature breach detected
  2. Within 15 minutes: Record truck temperature using calibrated thermometer
  3. Within 30 minutes: Take photos of temperature gauge, product condition, truck exterior/interior
  4. Within 1 hour: Contact Operations Manager and Vendor to report issue
  5. Within 2 hours: Decide: REJECT entire shipment OR Accept with discount
Decision Matrix:
Temperature Reading Visual Inspection Action Required
-10°C to -15°C No visible thawing Accept with 10% discount (negotiate with vendor); Sell within 30 days (mark as "aging stock")
-5°C to -10°C Minor thawing on surface Accept with 25% discount; Sell within 15 days; Label "Quick Sale"
> -5°C Significant thawing/refreezing REJECT ENTIRE SHIPMENT - Do not unload; Vendor arranges return at their cost
Any temp Foul odor, discoloration, slime REJECT ENTIRE SHIPMENT - Health hazard; File claim for full refund + damages
Temperature Breach Documentation:
TEMPERATURE BREACH REPORT
Date: [Date]
Time: [Time]
Location: Main Warehouse / Bektemir
Truck Number: [License Plate]
Driver: [Name]
CI Number: [CI Number]
Vendor: [Vendor Name]

TEMPERATURE READINGS:
Truck Internal Temp: [__]°C (Should be: -18°C to -22°C)
Product Surface Temp: [__]°C
Ambient Temp: [__]°C

VISUAL INSPECTION:
☐ No visible issues
☐ Minor surface thawing
☐ Significant thawing/refreezing
☐ Ice crystals on packaging
☐ Discoloration observed
☐ Foul odor detected
☐ Packaging damage

PHOTOS ATTACHED:
- Temperature gauge reading
- Product condition (3-5 photos)
- Truck refrigeration unit

DECISION:
☐ ACCEPTED with [__]% discount
☐ REJECTED - Return to vendor

Warehouse Manager Signature: _______________
Operations Manager Approval: _______________
                    

Exception 2.2: Failed Quality Inspection at GRN

Symptoms:
  • Product does not match CI description (wrong cut, lower grade)
  • Excessive fat content (customer specification: max 5% fat, actual: 10%)
  • Wrong product delivered (ordered TOPSIDE, received THICK FLANK)
  • Product contamination (foreign objects, bone fragments in boneless cuts)
Immediate Actions (Warehouse Manager):
  1. Within 30 minutes: Stop unloading, isolate affected items
  2. Within 1 hour: Take photos, count boxes, weigh samples
  3. Within 2 hours: Create rejection notice in system
  4. Within 4 hours: Contact vendor and send rejection notice with evidence
  5. Within 24 hours: Vendor collects rejected items OR MSA disposes at vendor cost
Rejection Categories:
Rejection Type Evidence Required Vendor Responsibility
Wrong Product Photos of boxes, product labels, CI comparison Replace with correct product within 7 days OR full refund + freight cost
Quality Defect Photos, fat % lab test, bone fragment samples Replace with correct specification OR 30-50% discount (if MSA agrees to keep)
Contamination Photos, samples sealed in bags, third-party lab test Full refund + disposal cost + claim for damaged brand reputation
Expired/Near Expiry Photos of production date labels Full refund (unacceptable - frozen meat should be fresh from slaughter)
Sample Rejection Notice:
═══════════════════════════════════════════════════════════
🔴 GOODS REJECTION NOTICE
Rejection Number: REJ-2025-012
Date: 25.05.2025
═══════════════════════════════════════════════════════════
CI Number: MH/104/202526 (Dated: 21.04.2025)
Vendor: HMA AGRO INDUSTRIES LIMITED
Truck Number: UZ-TRK-001
Delivery Date: 28.05.2025
Warehouse: Main Warehouse (Ravshan aka)

REJECTION DETAILS:
Item Code: 44 - SILVER SIDE (HQ CUTS)
Quantity Delivered: 840 boxes × 40 kg = 33,600 kg
Quantity Rejected: 150 boxes × 40 kg = 6,000 kg (17.9%)
Quantity Accepted: 690 boxes × 40 kg = 27,600 kg

REASON FOR REJECTION:
☑ Quality defect - Excessive fat content
Description: Random sampling revealed 8-12% fat content. Customer specification
requires maximum 5% fat for HQ (High Quality) grade. Product does not meet
contractual quality standards.

EVIDENCE:
- Attached: 12 photos of product samples
- Attached: Lab test results (fat content analysis)
- Witness: Warehouse Manager (Ravshan Karimov), Operations Manager (Dilshod Yusupov)

VENDOR ACTION REQUIRED:
Option 1: Collect rejected 150 boxes within 48 hours at your cost
Option 2: MSA disposes of product, vendor pays disposal cost ($300) + rejection value ($5,640)
Option 3: Vendor provides 40% discount on rejected quantity, MSA sells as "Economy Grade"

Vendor must respond within 24 hours of receipt of this notice.

Warehouse Manager: _______________
Operations Manager: _______________
═══════════════════════════════════════════════════════════
                    

3. Financial & Payment Exceptions

Exception 3.1: Vendor Demands Full Payment Before Shipment Release

Symptoms:
  • Vendor refuses to release container at Iran port until 70% balance paid
  • Standard payment term: 70% upon container arrival at Iran
  • Vendor claims: "Cash flow issue" or "Company policy change"
Immediate Actions (Finance Manager + CEO):
  1. Within 2 hours: Review PI and payment terms (30% advance, 70% on arrival confirmed)
  2. Within 4 hours: Contact vendor to remind of agreed payment terms
  3. Within 24 hours: Escalate to CEO for negotiation
  4. Within 48 hours: Decide: Pay early with discount OR Hold firm on terms
Negotiation Strategy:
Scenario: Vendor demands $25,000 (70% balance) BEFORE container release
Standard Terms: Pay 70% AFTER arrival at Iran (MSA inspects container first)

Option 1: HOLD FIRM (Recommended)
- Remind vendor of signed PI with agreed payment terms
- Threaten to: (a) Cancel future orders, (b) Report to India export council
- Risk: Container stuck at port, demurrage accumulates
- Best for: Established vendors with good track record

Option 2: NEGOTIATE COMPROMISE
- Offer: Pay 50% now ($17,857), 20% upon container release ($7,143)
- Vendor benefit: Gets majority of payment early
- MSA benefit: Still retains 20% leverage to ensure quality
- Best for: First-time vendors or high-value shipments

Option 3: PAY EARLY WITH DISCOUNT
- Agree to pay 70% early IF vendor provides 3-5% discount
- Example: Pay $24,250 (instead of $25,000) for early payment
- Vendor benefit: Cash flow relief
- MSA benefit: $750 savings + avoids demurrage
- Best for: Low-risk shipments, strong vendor relationship

Option 4: REJECT & CANCEL (Last Resort)
- Cancel PI, demand refund of 30% advance ($10,714)
- Source replacement shipment from alternative vendor
- File complaint with vendor's bank/export authority
- Best for: Vendors with history of quality issues or fraud suspicion
                    

Exception 3.2: Exchange Rate Fluctuation Significantly Increases Cost

Symptoms:
  • PI created at 1 USD = 43,000 UZS; Payment due at 1 USD = 48,000 UZS (11.6% increase)
  • 70% balance payment now costs 5,000,000 UZS more than budgeted
  • Profit margin squeezed from 20% to 10% due to FX loss
Immediate Actions (Finance Manager + CEO):
  1. Within 1 hour: Calculate exact FX loss in UZS and impact on profit margin
  2. Within 4 hours: Review hedging options (forward contract, FX swap with bank)
  3. Within 24 hours: Decide: Absorb loss, Adjust sales prices, or Renegotiate with vendor
FX Loss Mitigation Strategies:
Strategy When to Use Expected Outcome
Absorb Loss FX fluctuation < 5%, Profit margin still > 15% No action needed; Monitor future shipments for hedging
Increase Sales Prices FX fluctuation 5-10%, Market can absorb price increase Pass 50-70% of FX loss to customers; Maintain 15-18% margin
Renegotiate with Vendor FX fluctuation > 10%, Long-term vendor relationship Request 2-3% discount on next shipment to offset FX loss
FX Forward Contract Future shipments (lock rate for next 3-6 months) Eliminate FX risk; Bank charges 0.5-1% fee
Example FX Loss Calculation:
PI Value: $35,000 (total)
Payment Structure: 30% advance ($10,500), 70% balance ($24,500)

30% Advance Payment (1 month ago):
Exchange Rate: 1 USD = 43,000 UZS
UZS Cost: $10,500 × 43,000 = 451,500,000 UZS

70% Balance Payment (today):
Exchange Rate: 1 USD = 48,000 UZS
UZS Cost: $24,500 × 48,000 = 1,176,000,000 UZS

Total UZS Cost: 451,500,000 + 1,176,000,000 = 1,627,500,000 UZS
If exchange rate had stayed at 43,000: $35,000 × 43,000 = 1,505,000,000 UZS
FX LOSS: 1,627,500,000 - 1,505,000,000 = 122,500,000 UZS ($2,552)

Impact on Profit Margin:
Planned Margin: 20% → Actual Margin: 12.7% (7.3% margin erosion)

Action: Increase retail prices by 5% OR absorb 2.7% loss and increase prices by 2.3%
                    

4. System & Data Exceptions

Exception 4.1: Duplicate GRN Created for Same Container

Symptoms:
  • Warehouse staff accidentally creates 2 GRNs for same truck/container
  • Stock balance inflated (showing 60,000 kg when only 30,000 kg received)
  • Discovered during month-end physical count or variance report
Immediate Actions (Operations Manager + Warehouse Manager):
  1. Within 1 hour: Identify duplicate GRN by comparing CI number, truck number, date
  2. Within 2 hours: Verify physical stock count (actual boxes in warehouse)
  3. Within 4 hours: Mark duplicate GRN as "VOID" in system (do not delete - audit trail)
  4. Within 24 hours: Run stock reconciliation report to verify correct balances
System Correction Procedure:
Step 1: Identify Duplicate GRNs
Run query: SELECT * FROM goods_receipt_notes WHERE containerNumber = 'MSCU123456' AND createdDate = '2025-05-28'
Result: Found 2 GRNs (GRN-2025-088, GRN-2025-089) for same container

Step 2: Verify Correct GRN
Check: Which GRN matches actual stock received?
- GRN-2025-088: Created by Warehouse Manager Ravshan at 14:30 (CORRECT)
- GRN-2025-089: Created by Warehouse Staff at 14:45 (DUPLICATE - void this)

Step 3: Void Duplicate GRN
UPDATE goods_receipt_notes
SET status = 'VOID', voidReason = 'Duplicate entry', voidedBy = 'Operations Manager', voidedAt = NOW()
WHERE id = 'GRN-2025-089'

Step 4: Reverse Stock Entries
DELETE FROM stock_balance WHERE grnId = 'GRN-2025-089'

Step 5: Create Audit Log
INSERT INTO audit_logs (action, module, recordId, notes)
VALUES ('VOID', 'GRN', 'GRN-2025-089', 'Duplicate GRN voided - Correct GRN: GRN-2025-088')

Step 6: Verify Stock Balance
Run: SELECT productId, SUM(quantity) FROM stock_balance GROUP BY productId
Compare with physical count - should match within 2% tolerance
                    
Prevention Measures:
  • System validation: Block GRN creation if same container number + date exists
  • User training: Warehouse staff must check for existing GRN before creating new one
  • Weekly reconciliation: Operations Manager reviews all GRNs for duplicates

Exception 4.2: System Outage During Critical Operation

Symptoms:
  • Database connection lost, system inaccessible
  • Occurs during: GRN creation, Sales order processing, Payment recording
  • Users unable to access system for 2+ hours
Immediate Actions (Operations Manager + IT Support):
  1. Within 15 minutes: Switch to manual paper-based recording (temporary)
  2. Within 30 minutes: Contact IT support/developer to diagnose issue
  3. Within 1 hour: Estimate recovery time; Notify all users
  4. Within 4 hours: System restored OR implement manual workaround for 24 hours
Manual Fallback Procedures:
MANUAL GRN RECORDING (Paper Form):
Date: _________
Container Number: _________
CI Number: _________
Truck Number: _________

Item Code | Item Name | Boxes | Kg/Box | Total Kg | Temperature | Condition
----------------------------------------------------------------------
[  ]     | [      ]  | [  ]  | [  ]   | [    ]   | [    ]      | [      ]
[  ]     | [      ]  | [  ]  | [  ]   | [    ]   | [    ]      | [      ]

Warehouse Manager Signature: ___________
Date/Time: ___________

IMPORTANT: Enter this data into system IMMEDIATELY when system is restored.
Create GRN with original date/time from paper form.

MANUAL SALES ORDER:
Customer: _________
Date: _________
Order Number (assign manually): SO-2025-XXX

Item | Qty (Kg) | Price/Kg | Total | Delivery Date
-------------------------------------------------
[  ] | [    ]   | [     ]  | [   ] | [        ]

Sales Manager Signature: ___________

ENTER INTO SYSTEM when restored using original date/time.
                    
System Recovery Checklist:
  1. ☐ Restore database from latest backup (automatic hourly backups)
  2. ☐ Verify data integrity (run consistency checks)
  3. ☐ Re-enter manual paper records into system (with correct timestamps)
  4. ☐ Reconcile stock balances (physical count vs. system)
  5. ☐ Notify all users that system is operational
  6. ☐ Conduct post-mortem: Document cause, implement prevention measures

5. Customer & Sales Exceptions

Exception 5.1: Customer Demands Urgent Delivery But Stock Unavailable

Symptoms:
  • Customer orders 5,000 kg TOPSIDE for delivery tomorrow
  • Current stock: 1,200 kg TOPSIDE available
  • Next shipment arrives in 10 days
Immediate Actions (Sales Manager):
  1. Within 1 hour: Check if alternative products acceptable (THICK FLANK instead of TOPSIDE)
  2. Within 2 hours: Contact other warehouses/suppliers for emergency stock transfer
  3. Within 4 hours: Offer customer: (a) Partial delivery + balance later, (b) Alternative product, (c) Wait 10 days with discount
Customer Communication Template:
Dear [Customer Name],

Thank you for your urgent order for 5,000 kg of Item 41 (TOPSIDE - HQ CUTS).

We currently have 1,200 kg in stock and can offer the following options:

OPTION 1: Partial Delivery
- Deliver 1,200 kg tomorrow (24.05.2025)
- Deliver remaining 3,800 kg on 05.06.2025 (10 days)
- Pricing: Standard rate (220,000 UZS/kg)

OPTION 2: Alternative Product (Immediate Delivery)
- Deliver 5,000 kg of Item 46 (THICK FLANK - HQ CUTS) tomorrow
- Similar quality and pricing (215,000 UZS/kg)
- 2% discount as compensation for product substitution

OPTION 3: Wait with Discount
- Deliver full 5,000 kg on 05.06.2025
- 5% discount (209,000 UZS/kg) for delayed delivery

Please confirm your preferred option within 2 hours.

Best regards,
[Sales Manager Name]
MSA Meat Trading LLC
                    
Escalation to Operations:
  • If customer is high-value (>50M UZS/month), escalate to Operations Manager to arrange emergency shipment from India (air freight - 3-day delivery)
  • Air freight cost: $8/kg (vs. $0.50/kg sea freight) - absorb cost for VIP customers
  • Inform customer: "We are arranging express delivery at no extra charge"

Exception 5.2: Customer Refuses Delivery Due to Quality Complaint

Symptoms:
  • Delivery truck arrives at customer location
  • Customer inspects product and refuses acceptance
  • Claims: "Excessive fat", "Wrong product", "Temperature too high", "Packaging damaged"
Immediate Actions (Sales Manager + Operations Manager):
  1. Within 30 minutes: Contact driver to understand customer's specific complaint
  2. Within 1 hour: Request driver to take photos/videos of product condition
  3. Within 2 hours: Dispatch Quality Manager to customer site for inspection
  4. Within 4 hours: Decide: Accept return, Provide replacement, or Negotiate resolution
On-Site Resolution Process:
Quality Manager arrives at customer site with:
1. Calibrated thermometer
2. Camera for documentation
3. Product samples for lab testing (if needed)
4. Authority to offer 10% discount on-the-spot

Inspection Checklist:
☐ Measure product temperature (acceptable: -18°C or below)
☐ Visual inspection (fat content, color, odor, packaging)
☐ Weigh product (verify quantity matches invoice)
☐ Review customer's specific complaint

Resolution Options:
1. Valid Complaint (our fault):
   - Accept return, provide full credit
   - Deliver replacement within 24 hours
   - Apologize + offer 5% discount on next order

2. Marginal Issue (negotiable):
   - Offer 10-15% discount if customer keeps product
   - Replace specific boxes that are defective
   - Agree to stricter quality checks on future deliveries

3. Invalid Complaint (customer fault or unreasonable):
   - Show evidence (temperature logs, quality certificates)
   - Remind customer of agreed specifications in contract
   - Customer must accept delivery (no refund/return)

Document everything - Photos, signed statements, resolution agreement
                    

6. Escalation Matrix

When to Escalate & Who to Contact

Exception Type Initial Handler Escalate If Escalate To Timeline
Shipment Delay Operations Manager Delay > 14 days OR Stock < 20 days CEO + Finance Manager Within 24 hours
Container Stuck at Customs Operations Manager Demurrage > $1,000 CEO Within 8 hours
Temperature Breach Warehouse Manager Temperature > -5°C OR Shipment value > $10,000 Operations Manager + CEO Within 2 hours
Quality Rejection Warehouse Manager Rejection value > $5,000 OR Vendor disputes Operations Manager + Finance Manager Within 4 hours
Payment Dispute Finance Manager Vendor threatens legal action OR Payment > $50,000 CEO + Legal Advisor Within 24 hours
FX Loss Finance Manager FX loss > 10% OR Margin drops below 10% CEO Within 48 hours
System Outage Operations Manager Outage > 4 hours OR Data loss suspected CEO + IT Support Within 1 hour
Customer Complaint Sales Manager High-value customer (>50M UZS/month) OR Legal threat CEO Within 4 hours
Lost/Damaged Container Operations Manager Any occurrence (always escalate) CEO + Finance Manager + Insurance Agent Within 1 hour

7. Emergency Contact List

24/7 Emergency Contacts

Role Name Phone (Office) Phone (Mobile) Email
CEO / General Manager [Name] +998-XX-XXX-XXXX +998-9X-XXX-XXXX ceo@msameat.uz
Finance Manager [Name] +998-XX-XXX-XXXX +998-9X-XXX-XXXX finance@msameat.uz
Operations Manager [Name] +998-XX-XXX-XXXX +998-9X-XXX-XXXX operations@msameat.uz
Warehouse Manager (Main) Ravshan Karimov +998-XX-XXX-XXXX +998-9X-XXX-XXXX warehouse.main@msameat.uz
Warehouse Manager (Bektemir) [Name] +998-XX-XXX-XXXX +998-9X-XXX-XXXX warehouse.bektemir@msameat.uz
Iran Customs Broker [Name] +98-XX-XXXX-XXXX +98-9XX-XXX-XXXX broker@iranlogistics.ir
Insurance Agent [Name] +998-XX-XXX-XXXX +998-9X-XXX-XXXX claims@insurance.uz
IT Support / Developer [Name] - +998-9X-XXX-XXXX support@msameat.uz
External Emergency Services:
  • Refrigeration Repair (24/7): +998-XX-XXX-XXXX
  • Backup Cold Storage (Emergency): +998-XX-XXX-XXXX (Tashkent Cold Storage LLC)
  • Legal Advisor: +998-XX-XXX-XXXX (Law Firm)
  • Veterinary/Health Inspector: +998-XX-XXX-XXXX
  • Fire Department: 101
  • Police: 102

System Capabilities Summary

Complete Import Management Coverage

Document Management

  • Proforma Invoice (PI) tracking
  • Commercial Invoice processing
  • Bill of Lading management
  • Packing list verification
  • Certificate tracking (Origin, Health, Quality)
  • Customs declaration handling

Financial Operations

  • 30/70 payment split tracking
  • Multi-currency support (USD, UZS)
  • Exchange rate management
  • Duty and tax calculation
  • Vendor payment processing
  • 3-way match verification

Logistics Tracking

  • Container tracking (51 per shipment)
  • Vessel and voyage monitoring
  • Transit status updates
  • Port arrival notifications
  • Container-to-truck conversion
  • Delivery scheduling

Quality & Compliance

  • Goods Receipt Note (GRN)
  • Physical verification and counting
  • Temperature monitoring
  • Quality inspection workflow
  • Variance reporting
  • Acceptance/rejection processing

Process Automation Benefits

Manual Process Automated Process Time Saved
Manual payment tracking across 17 invoices Automatic 30/70 split calculation and tracking ~4 hours per shipment
Manual currency conversion and rate lookup Real-time conversion with historical tracking ~2 hours per week
Excel-based container tracking Real-time status dashboard for 51 containers ~3 hours per day
Manual 3-way matching (PO, Invoice, GRN) Automatic variance detection and alerts ~2 hours per invoice
Manual duty calculation Automatic duty and tax computation ~1 hour per clearance