Skip to content
Weave templates

Weave — Procurement Approval Chain

Requisition to payment with budget, CFO and legal gates keyed to spend thresholds.

Template previewWeave
Rendering…

Make it your own.

{
  "nodes": [
    { "id": "pool", "type": "pool", "label": "Purchase requisition — approval chain", "x": 20, "y": 20, "width": 1660, "height": 640, "fill": "rgba(241,245,249,0.5)", "stroke": "#334155" },

    { "id": "ln1", "type": "swimlane", "label": "Requester",       "x": 40, "y": 70,  "width": 1600, "height": 130, "fill": "rgba(204,251,241,0.35)", "stroke": "#0f766e" },
    { "id": "ln2", "type": "swimlane", "label": "Budget holder",   "x": 40, "y": 215, "width": 1600, "height": 130, "fill": "rgba(219,234,254,0.35)", "stroke": "#1d4ed8" },
    { "id": "ln3", "type": "swimlane", "label": "Procurement",     "x": 40, "y": 360, "width": 1600, "height": 130, "fill": "rgba(254,243,199,0.35)", "stroke": "#b45309" },
    { "id": "ln4", "type": "swimlane", "label": "Finance & Legal", "x": 40, "y": 505, "width": 1600, "height": 130, "fill": "rgba(237,233,254,0.35)", "stroke": "#7c3aed" },

    { "id": "r1", "type": "rounded", "label": "Raise requisition — need, spec, date", "x": 100,  "y": 104, "width": 155, "height": 62, "fill": "#ccfbf1", "stroke": "#0f766e" },
    { "id": "r2", "type": "rounded", "label": "Attach three comparable quotes",       "x": 285,  "y": 104, "width": 155, "height": 62, "fill": "#ccfbf1", "stroke": "#0f766e" },
    { "id": "r3", "type": "rounded", "label": "Receipt goods, confirm service",       "x": 1395, "y": 104, "width": 155, "height": 62, "fill": "#ccfbf1", "stroke": "#0f766e" },

    { "id": "b1", "type": "diamond", "label": "Within approved budget?", "x": 470, "y": 244, "width": 175, "height": 72, "fill": "#fef3c7", "stroke": "#b45309" },
    { "id": "b2", "type": "rounded", "label": "Approve — up to £10k",    "x": 655, "y": 249, "width": 155, "height": 62, "fill": "#dbeafe", "stroke": "#1d4ed8" },

    { "id": "p1", "type": "rounded", "label": "Supplier due diligence and risk", "x": 840,  "y": 394, "width": 155, "height": 62, "fill": "#fef3c7", "stroke": "#b45309" },
    { "id": "p2", "type": "rounded", "label": "Raise PO in the ERP, send to supplier", "x": 1210, "y": 394, "width": 155, "height": 62, "fill": "#fef3c7", "stroke": "#b45309" },

    { "id": "f1", "type": "rounded", "label": "CFO sign-off above £50k",          "x": 655,  "y": 539, "width": 155, "height": 62, "fill": "#ede9fe", "stroke": "#7c3aed" },
    { "id": "f2", "type": "rounded", "label": "Contract, DPA and insurance review", "x": 1025, "y": 539, "width": 155, "height": 62, "fill": "#ede9fe", "stroke": "#7c3aed" },
    { "id": "f3", "type": "rounded", "label": "Three-way match and payment",      "x": 1395, "y": 539, "width": 155, "height": 62, "fill": "#ede9fe", "stroke": "#7c3aed" }
  ],
  "edges": [
    { "id": "e1",  "source": "r1", "target": "r2", "thickness": 3 },
    { "id": "e2",  "source": "r2", "target": "b1", "thickness": 3 },
    { "id": "e3",  "source": "b1", "target": "b2", "label": "up to £10k", "thickness": 3 },
    { "id": "e4",  "source": "b1", "target": "f1", "label": "above £50k", "style": "dashed" },
    { "id": "e5",  "source": "b1", "target": "r1", "label": "returned — insufficient detail", "style": "dashed" },
    { "id": "e6",  "source": "b2", "target": "p1", "thickness": 3 },
    { "id": "e7",  "source": "f1", "target": "p1", "style": "dashed" },
    { "id": "e8",  "source": "p1", "target": "f2", "thickness": 3 },
    { "id": "e9",  "source": "f2", "target": "p2", "label": "terms agreed", "thickness": 3 },
    { "id": "e10", "source": "p2", "target": "r3", "thickness": 3 },
    { "id": "e11", "source": "r3", "target": "f3", "label": "goods receipt posted", "thickness": 3 }
  ]
}