{% extends 'core/base.html' %} {% load currency_filters %} {% load static %} {% block title %}{{ product.name }} — SwiftPOS{% endblock %} {% block topbar_title %}Product Detail{% endblock %} {% block extra_css %} {% endblock %} {% block content %}
{% if messages %}{% for message in messages %}
{% if message.tags == 'success' %} {% elif message.tags == 'error' or message.tags == 'danger' %} {% elif message.tags == 'warning' %} {% else %}{% endif %}
{{ message }}
{% endfor %}{% endif %}

{{ product.name }}

SKU: {{ product.sku }}{% if product.barcode %}  ·  Barcode: {{ product.barcode }}{% endif %}  ·  {{ product.category.name|default:"Uncategorized" }}

Products Restock Reduce {% if request.company.plan.feature_product_variants %} Variants {% endif %} Edit
{% if product.is_hidden %} Hidden {% elif product.stock_status == 'in_stock' %} In Stock {% elif product.stock_status == 'low_stock' %} Low Stock {% else %} Out of Stock {% endif %} {% if product.image %} {{ product.name }} {% else %}
No image
{% endif %}

Update image

Product Details

Selling Price
{% money product.price %}
Cost Price
{% money product.cost_price %}
Category
{{ product.category.name|default:"Uncategorized" }}
Supplier
{{ product.supplier|default:"—" }}
SKU
{{ product.sku }}
{% if product.barcode %}
Barcode
{{ product.barcode }}
{% endif %}
Date Added
{{ product.created_at|date:"M j, Y" }}
{% if product.description %}
Description
{{ product.description }}
{% endif %}

Stock {% if has_variants %}Variant-managed{% endif %}

{% if has_variants %} {% if variant_stock_total <= 0 %} {{ variant_stock_total }} {% elif variant_stock_total <= product.minimum_stock %} {{ variant_stock_total }} {% else %} {{ variant_stock_total }} {% endif %} {% else %} {% if product.stock_status == 'out_of_stock' %} {{ product.stock_quantity }} {% elif product.stock_status == 'low_stock' %} {{ product.stock_quantity }} {% else %} {{ product.stock_quantity }} {% endif %} {% endif %} units in stock
Minimum threshold {{ product.minimum_stock }} units
{% if has_variants and variant_branch_stocks %} {% for vbs in variant_branch_stocks %}
{{ vbs.branch.name }} {{ vbs.quantity }}
{% endfor %} {% elif not has_variants and branch_stocks %} {% for bs in branch_stocks %}
{{ bs.branch.name|default:"Main Branch" }} {{ bs.quantity }}
{% endfor %} {% else %}
No branch allocations set yet.
{% endif %} {% if has_variants and variant_branch_stocks %}
Global total (all variants) {{ variant_stock_total }}
{% endif %} {% if has_variants %}
Stock is managed per variant. Total = sum of all variant stocks.
{% endif %}
{% if request.company.plan.feature_product_variants %}

Product Variants

Manage Variants
{% for variant in variants %} {% empty %} {% endfor %}
Attributes SKU Price Stock
{% for key, val in variant.attribute_values.items %} {{ key|title }}: {{ val }} {% empty %} Standard {% endfor %}
{{ variant.sku }} {% money variant.effective_price %} {% if variant.real_stock <= 0 %} Out of Stock {% elif variant.real_stock <= variant.minimum_stock %} {{ variant.real_stock }} (Low) {% else %} {{ variant.real_stock }} {% endif %}
No variants configured. Add First Variant
{% endif %}

Product Barcode

{% if product.barcode %} {{ product.barcode }} {% else %} No barcode set {% endif %}
{% if product.barcode %}
Print Label

Includes barcode and product name for easy scanning.

{% else %}

No barcode set. Edit this product to add one.

{% endif %}
{% block extra_js %} {{ block.super|default:"" }} {% endblock %} {% endblock %}