Tutorial 04 · Inventory management

How to manage solar inventory across multiple warehouses

This tutorial shows you how to set up your product inventory in CrmLeaf, manage stock across warehouses, link materials to project BOQs, track consumption per project and automatically flag shortfalls for procurement.

14 min read5 steps stepsOperations managers & procurement teams
Your progress
0 / 5 steps0%
  • Set up warehouses
  • Add products to inventory
  • Reserve stock from project BOQ
  • Raise vendor PO for shortfalls
  • Track stock transfers and consumption
Step-by-step guide

5 steps to full inventory control

From warehouse setup to BOQ-linked procurement - configured in one session.

🏭STEP 1

Step 1: Set up your warehouses

Start by defining your warehouse locations in CrmLeaf. Each warehouse has its own stock ledger. You can view aggregate stock across all warehouses or drill into a specific location.

In CrmLeaf
  1. 1Go to Inventory → Warehouses → Add Warehouse
  2. 2Enter warehouse name, location and contact details
  3. 3Assign a warehouse manager (responsible for stock accuracy)
  4. 4Repeat for each physical warehouse location
  5. 5Set each warehouse as Active
Outcome
Warehouse locations configured. Ready to add stock levels to each location.
Tip
Even if you operate from a single location, set it up as a named warehouse. This gives you a clean stock ledger from day one and makes adding a second location later seamless.
📦STEP 2

Step 2: Add products to inventory

Add your solar products to the inventory system with current stock levels, minimum thresholds and reorder settings. Products in inventory are the same products in your BOQ catalogue - they share the same database.

In CrmLeaf
  1. 1Go to Inventory → Products → Add Product (or import via CSV)
  2. 2Set product name, SKU, type (Panel / Inverter / Cable / BOS) and specifications
  3. 3Enter current stock quantity at each warehouse
  4. 4Set minimum stock threshold - CrmLeaf alerts you when stock drops below this level
  5. 5Set reorder quantity - how much to order when restocking
Outcome
Products in inventory with current stock levels and alert thresholds. Low stock alerts will fire automatically.
Tip
Do a physical stock count before entering opening balances - inventory accuracy depends on accurate opening data. Take 2 hours to count once rather than chasing discrepancies for months.
🔗STEP 3

Step 3: Reserve stock from a project BOQ

When a project BOQ is approved, link it to your inventory to reserve the required materials. CrmLeaf checks current stock, reserves available quantities and identifies shortfalls.

In CrmLeaf
  1. 1Open an approved project BOQ
  2. 2Click 'Check & Reserve Stock'
  3. 3CrmLeaf shows each BOQ line: In Stock, Reserved and Available quantities
  4. 4Items with sufficient stock are automatically reserved for the project
  5. 5Items with insufficient stock are flagged as 'Shortfall' with the quantity required
Outcome
Materials reserved for the project. Available stock updated across all warehouses. Shortfalls clearly identified for procurement.
Tip
Run the stock reservation check as soon as a BOQ is approved - before the project start date. This gives maximum lead time to source shortfall items at standard prices rather than emergency rates.
📋STEP 4

Step 4: Raise a vendor PO for shortfalls

For shortfall items, raise a vendor Purchase Order directly from the shortfall list. CrmLeaf creates the PO linked to the project BOQ, your approved vendor catalogue and the required quantities.

In CrmLeaf
  1. 1From the shortfall list → click 'Raise PO'
  2. 2Select the vendor for each shortfall item (or use preferred vendor setting)
  3. 3Set required delivery date based on project timeline
  4. 4Review PO line items and confirm quantities
  5. 5Submit PO - vendor receives PO document
  6. 6Track PO status: Submitted → Confirmed → Delivered
Outcome
Vendor PO raised for all shortfall items. Delivery tracked. Stock will be updated automatically when the delivery is confirmed.
Tip
Set preferred vendors per product category in your vendor settings. CrmLeaf will pre-select the preferred vendor when you raise a PO - saving the manual selection step each time.
📊STEP 5

Step 5: Track stock transfers and consumption

As materials are dispatched to project sites, log the dispatches in CrmLeaf to maintain accurate stock levels. When a project milestone is completed, consumption is compared to the BOQ plan.

In CrmLeaf
  1. 1Go to Inventory → Dispatch → New Dispatch
  2. 2Select project and milestone
  3. 3Add dispatched items and quantities - stock reduces across the source warehouse
  4. 4For inter-warehouse transfers: Inventory → Transfers → New Transfer
  5. 5View Consumption Report: actual usage vs BOQ plan per project
  6. 6Investigate and explain variances before project close
Outcome
Accurate real-time stock levels across all warehouses. Project consumption tracked against BOQ. Margin variance visible before project close.
Tip
Check the consumption report at each milestone completion - catching a 10% over-consumption at milestone 3 lets you adjust procurement for milestone 4. Catching it at project close means margin is already lost.
What you have achieved

Tutorial complete

🏭

Warehouses configured

Multiple warehouse locations each with their own stock ledger and aggregate visibility across all sites.

🔗

BOQ-linked stock

Material reservation from project BOQ ensures stock is committed before each project starts - no surprises on-site.

📊

Consumption tracked

Actual vs BOQ usage tracked per project and milestone - margin variance visible in real time, not at project close.

FAQ

Common questions

Yes. CrmLeaf supports unlimited warehouse locations. Each has its own stock ledger and you can view aggregate availability across all locations from the inventory dashboard. Stock transfer requests between warehouses are tracked with in-transit visibility.

Start your free trial
and follow this guide.

14 days free - no credit card. Set up your account, invite your team and follow each step with your own live data.

Free 14-day trial · Free onboarding · No credit card