Skip to main content

Authoring an SOP

The canonical rules live in WMS-000. This page is the practical shortcut — a checklist for the writer's keyboard, not a policy doc.


Before you write

  • Search the library for an existing SOP that already covers this. Revise instead of duplicate.
  • Pick the series (REC / INV / PICK / PACK / SHIP / RET / TASK / AUD).
  • Pick the next ### in that series — IDs are never reused.
  • Identify the owner role (not a person).
  • Shadow the best operator performing this procedure. Don't write from memory.

Writing

  1. Copy /sops/_template — or the markdown source at docs/_template.md.

  2. Save as docs/[folder]/WMS-[SERIES]-[###]-short-name.md.

  3. Add frontmatter:

    ---
    id: WMS-INV-007-cycle-count
    title: WMS-INV-007 · Cycle Count Campaigns
    sidebar_label: WMS-INV-007 · Cycle counts
    sidebar_position: 7
    description: One-sentence summary of what this SOP covers.
    keywords: [inventory, cycle-count, audit]
    ---
  4. Fill every section of the template. If a section doesn't apply, write N/A — [reason]. Never delete a section.

  5. Show the draft to the operator you shadowed. Iterate. Ship their words, not yours.


Format conventions

  • Bold labels on metadata lines render as uppercase monospace automatically (**Document ID:**, **Version:**, **Owner:**).
  • Numbered lists for procedure steps. One physical or digital action per step.
  • Tables for reason codes, permissions, troubleshooting.
  • Blockquotes (>) for ⚠ Do not warnings — they render as amber callouts and stand out on the floor card.
  • Code spans (`inventory_events`) for table, field, and route references.
  • Cross-link to other SOPs by ID: [WMS-INV-002](../inventory/SOP-WMS-INV-002-cycle-count).

Review & merge

  • Open a PR with label docs/sop and the Doc ID in the title.
  • Request review from the owner role and one SME on the floor.
  • Material changes (new step, removed step, permission change) need re-training acknowledgment before merge.
  • On merge, drop a link in #warehouse-ops.

Revising an existing SOP

Bump the version:

ChangeVersion bump
Typo, clarification, link fix1.0 → 1.1 (patch)
New step, removed step, permission change, reason code added1.0 → 2.0 (major)

Then:

  1. Update §9 Revision history with a new row (what changed, why).
  2. Update effective date and push the next-review date six months out.
  3. Same PR flow as authoring.

Before merging, open the page in the browser, press Ctrl+P, and verify the SOP prints cleanly as a single-purpose floor card. Tables should not break across pages mid-row. Warnings should remain visible.

If the print is ugly, something's wrong with the content structure — fix the content, not the CSS.