{% extends "base.html" %} {% load static %} {% block title %}Inventory Dashboard - POS System{% endblock %} {% block page_pretitle %}
POS System
{% endblock %} {% block page_title %} Inventory Dashboard {% endblock %} {% block page_actions %} Back to Dashboard Add Stock Movement {% endblock %} {% block content %}
Total Products
{{ total_products }}
Low Stock Alerts
{{ low_stock_count }}
Out of Stock
{{ out_of_stock_count }}
Stock Value
RM {{ total_stock_value|floatformat:2 }}
{% if low_stock_products or out_of_stock_products %}

Stock Alerts

{% if out_of_stock_products %}

Out of Stock Products

{{ out_of_stock_count }} product{{ out_of_stock_count|pluralize }} currently unavailable
{% for product in out_of_stock_products|slice:":5" %}
{{ product.name|slice:":1"|upper }}
{{ product.name }}
{{ product.sku }}
0
{% endfor %}
{% if out_of_stock_count > 5 %} {% endif %}
{% endif %} {% if low_stock_products %}

Low Stock Products

{{ low_stock_count }} product{{ low_stock_count|pluralize }} below reorder level
{% if low_stock_count > 5 %} {% endif %}
{% endif %}
{% endif %}

Recent Stock Movements

View All
{% for movement in recent_movements %} {% empty %} {% endfor %}
Date Product Type Quantity Before After Reference
{{ movement.created_at|date:"d M Y" }}
{{ movement.created_at|time:"H:i" }}
{{ movement.product.name }}
{{ movement.product.sku }}
{% if movement.movement_type == 'IN' %} Stock In {% elif movement.movement_type == 'OUT' %} Stock Out {% elif movement.movement_type == 'ADJUSTMENT_IN' %} Adj. In {% elif movement.movement_type == 'ADJUSTMENT_OUT' %} Adj. Out {% elif movement.movement_type == 'RETURN' %} Return {% endif %} {% if movement.movement_type == 'IN' or movement.movement_type == 'ADJUSTMENT_IN' or movement.movement_type == 'RETURN' %} {{ movement.quantity|floatformat:0 }} {% else %} {{ movement.quantity|floatformat:0 }} {% endif %} {{ movement.stock_before|floatformat:0 }} {{ movement.stock_after|floatformat:0 }} {% if movement.reference_number %} {{ movement.reference_number }} {% else %} {% endif %}

No inventory movements yet

Stock movements will appear here once you start tracking inventory

Stock by Category

{% for cat in category_stats %} {% empty %} {% endfor %}
Category Products Total Value Low Stock Out of Stock
{{ cat.name }} {{ cat.product_count }} RM {{ cat.stock_value|floatformat:2 }} {% if cat.low_stock > 0 %} {{ cat.low_stock }} {% else %} {% endif %} {% if cat.out_of_stock > 0 %} {{ cat.out_of_stock }} {% else %} {% endif %}

No categories found

Create categories to organize your inventory

{% endblock %}