{% extends "base.html" %} {% from "manufacturing/_macros.html" import qty with context %} {% block title %}{{ t('Material planning') }}{% endblock %} {% block content %}

{{ t('Material planning') }}

{{ t('What to make for open sales orders and reorder levels, and which components to buy for it.') }}

{{ t('Make') }}

{% if can_write %} {% endif %}
{% for m in make %} {% else %}{% endfor %}
{{ t('Product') }}{{ t('Sales orders to deliver') }}{{ t('Needed for production') }}{{ t('Reorder level') }} {{ t('On hand') }}{{ t('In production') }}{{ t('Suggested') }}
{% if m.level %}↳ {% endif %}{{ nm(m) }}
{{ m.code }}{% if m.level %} · {{ t('Sub-assembly') }}{% endif %}
{{ qty(m.demand) }}{{ qty(m.dependent) }}{{ qty(m.min_qty or 0) }} {{ qty(m.on_hand) }}{{ qty(m.in_production) }}
{{ t('No bills of materials yet.') }}

{{ t('Buy') }}

{{ t('Components needed by open and suggested production orders.') }} {% if can_write and buy|selectattr('short')|list %}{% endif %}
{% for b in buy %} {% else %}{% endfor %}
{{ t('Component') }}{{ t('Needed') }}{{ t('On hand') }} {{ t('On order') }}{{ t('Short') }}{{ t('Buy') }}{{ t('Est. value') }}
{{ nm(b) }}
{{ b.code }}
{{ qty(b.required) }} {{ b.uom or '' }} {{ qty(b.on_hand) }}{{ qty(b.incoming) }}{{ qty(b.short) }} {{ (b.value|round|int)|money }}
{{ t('Nothing to buy.') }}
{% endblock %}