"""Procurement method: cost = Σ(unit_cost × qty × (1 + markup)) for non-labor items.""" def build(scope, rate, catalog): markup = rate.get("procurement_markup", 0.15) items, total = [], 0.0 for it in scope.get("items", []): qty = it.get("qty", 1) amt = it["unit_cost"] * qty * (1 + markup) items.append({"label": it["label"], "unit_cost": it["unit_cost"], "qty": qty, "markup": markup, "amount": amt, "currency": it.get("currency", "KRW")}) total += amt return { "kind": "procurement", "service": catalog.get("service", "procurement"), "label": "조달 항목 (Buying & Supplying)", "markup": markup, "items": items, "subtotal_sum": total, "proposal": int(round(total)), "stub": bool(catalog.get("_stub", False)), }