{% extends "base.html" %} {% from "_macros.html" import money %} {% block title %}{{ po.po_no }}{% endblock %} {% block breadcrumb %}
Bestellungen / {{ po.po_no }}
{% endblock %} {% block heading %}{{ po.po_no }} · {{ po.vendor_name or '—' }}{% endblock %} {% block content %}{{ po.order_date or '—' }}{% if po.expected_date %} · Eingang erwartet: {{ po.expected_date }}{% endif %}
| # | Beschreibung | Bestellt | Erhalten | Einh. | Einzelpr. | Summe |
|---|---|---|---|---|---|---|
| {{ loop.index }} |
{{ ln.description }}
{% if ln.material_name %}{{ ln.material_name }} {% endif %}
|
{{ '%.2f'|format(ln.qty_ordered) }} | {% set pct = (ln.qty_received / ln.qty_ordered * 100) if ln.qty_ordered else 0 %} {% if ln.qty_received >= ln.qty_ordered %} {{ '%.2f'|format(ln.qty_received) }} ✓ {% elif ln.qty_received > 0 %} {{ '%.2f'|format(ln.qty_received) }} ({{ '%.0f'|format(pct) }}%) {% else %} 0 {% endif %} | {{ ln.unit }} | {{ '%.2f'|format(ln.unit_price) }} € | {{ '%.2f'|format(ln.line_total) }} € |
| Noch keine Positionen | ||||||
| Summe netto: | {{ money(po.total_net) }} {{ po.currency }} | |||||
Position hinzufügen
{% if po.approval_status == 'pending' %} Diese Bestellung übersteigt die Genehmigungs-Schwelle und braucht GF-Freigabe vor Versand. {% elif po.approval_status == 'approved' %} Genehmigt am {{ po.approved_at[:16] if po.approved_at else '' }} {% elif po.approval_status == 'rejected' %} Abgelehnt am {{ po.approved_at[:16] if po.approved_at else '' }} {% endif %}
Notiz: {{ po.approval_note }}
{% endif %}{% if po.confirmed_at %}Bestätigt am {{ po.confirmed_at[:16] }}{% else %}Wenn die AB vom Lieferanten kommt, hier eintragen — der bestätigte Liefertermin überschreibt das ursprüngliche Wunschdatum.{% endif %}