Back to Plugins
operations

Supplier Orders

Restaurant supplier document hub: generate professional purchase orders, receiving reports, and vendor comparison documents for independent restaurants — no supplier software buy-in required. An alternative to

Plugin ID

pf-supplier-orders

Category

operations

Version

v1.0

Downloads

17
Try Online

pf-supplier-orders

Restaurant supplier document hub: generate professional purchase orders, receiving reports, and vendor comparison documents for independent restaurants — no supplier software buy-in required. An alternative to manual spreadsheet and email workflows for weekly ordering.

Overview

pf-supplier-orders is a lightweight Restaurant Supplier Orders plugin built for independent restaurant operators who currently manage suppliers through spreadsheets, email, and phone calls. The plugin automates the creation of professional purchase orders, receiving documentation, vendor comparison matrices, and weekly spending summaries—without requiring adoption of expensive supplier management software.

Key use case: A 150-seat independent restaurant ordering from 8-12 regional suppliers (produce, dairy, proteins, dry goods, beverages) three times per week. Current workflow: spreadsheet → email to vendor → phone follow-ups → paper receiving logs. With pf-supplier-orders: conversational order entry → auto-formatted PO DOCX → delivery comparison → weekly spend report.

Features

Feature pf-supplier-orders BlueCart MarketMan Parsley
Vendor registry JSON-based, 500+ vendors Included Included Included
Purchase order generation DOCX export Web-only PDF export Web-only
Receiving reports DOCX with discrepancy analysis Scan-based Manual entry Manual entry
Vendor comparison Price matrix with savings calc Built-in Item-level pricing Integrations only
Weekly reporting DOCX summary Dashboard Dashboard Dashboard
API/EDI integrations None (manual entry) Sysco, US Foods, etc. Sysco, US Foods Sysco integration
Per-location cost Included (open source) Pricing varies $$$$ $$$$
Setup time < 5 min 2-4 weeks 4-8 weeks Custom

Quick Start

1. Initialize workspace

/supplier:supplier-setup

Creates: inbound/, processing/, outbound/, .supplier/ folders. Installs python-docx, openpyxl. Generates config.json with restaurant profile.

2. Add vendors

/supplier:supplier-vendors

Register your suppliers (Sysco, local produce vendor, dairy distributor, etc.). Conversational entry or CSV import. Saves to vendor-registry.json.

3. Create a purchase order

/supplier:supplier-order

Specify vendor, items (name, qty, unit, cost), delivery date. Plugin generates a professional DOCX PO with itemized totals. Ready to print or email.

4. Log delivery

/supplier:supplier-receive

Compare what you ordered vs. what arrived. Plugin generates receiving report and auto-calculates credit claims if items were shorted.

5. Weekly summary

/supplier:supplier-summary

Aggregates all POs and receiving reports for the current ISO week. Shows spend by vendor, discrepancy rates, week-over-week trends.

Optional: Compare vendors

/supplier:supplier-compare

Upload quotes from multiple vendors for the same items. Plugin identifies lowest-cost vendor per item and calculates potential savings.

Full pipeline

/supplier:supplier-run --auto

Executes all skills in sequence without pausing for checkpoints.

File Structure

workspace/
├── inbound/
│   └── vendor-registry.json          # Persistent vendor registry
├── processing/
│   ├── supplier-order-*.json         # Generated PO metadata
│   ├── supplier-order-log.json       # Order history
│   ├── supplier-receive-*.json       # Receiving report data
│   └── supplier-summary-*.json       # Weekly summaries
├── outbound/
│   ├── PO-*.docx                     # Purchase orders (print-ready)
│   ├── Receiving-Report-*.docx       # Receiving reports with credit claims
│   ├── Vendor-Comparison-*.docx      # Price comparison matrices
│   └── Weekly-Order-Summary-*.docx   # Weekly spending reports
├── archive/
│   └── [old POs and reports]         # Auto-archived after 90 days
└── .supplier/
    ├── config.json                   # Restaurant profile
    ├── project.json                  # Workspace metadata
    ├── logs/                         # Error and skip logs
    └── templates/                    # Customizable DOCX templates

Dependencies

  • python3 (built-in)
  • python-docx (auto-installed on first run)
  • openpyxl (auto-installed on first run for CSV/XLSX import)

Supported Input Formats

Vendor data

  • Conversational: "Add Sysco Houston, contact Maria, 713-555-0190, produce and dairy, 2-day lead time"
  • CSV/XLSX: columns = Vendor, Contact, Phone, Email, Categories, Lead Time, Payment Terms

Order items

  • Conversational: "Roma tomatoes 5 cases at $24.50, chicken breast 20 lbs at $3.80"
  • CSV/XLSX: columns = Item, Qty, Unit, Unit Cost

Quotes for comparison

  • CSV/XLSX long format: Item, Unit, Vendor, Price
  • CSV/XLSX wide format: Item, Unit, Vendor1Price, Vendor2Price, Vendor3Price

Output Formats

Purchase Orders (DOCX)

  • Restaurant header
  • Vendor info (name, contact, lead time)
  • Itemized table with unit costs and line totals
  • Subtotal, tax, grand total
  • Delivery instructions
  • Legal disclaimer

Receiving Reports (DOCX)

  • PO reference and date
  • Discrepancy table (ordered vs. received)
  • Variance in quantity and dollar value
  • Auto-generated credit claim memo if shortages exist
  • Vendor pattern analysis (historical discrepancy rates)

Vendor Comparisons (DOCX)

  • Item × vendor price matrix
  • Best vendor per item (calculated with Python min())
  • Current vs. best-case spend
  • Potential savings ($$ and %)
  • Strategic recommendation (split vs. consolidate)

Weekly Summaries (DOCX)

  • Spend by vendor (orders sent, total spend, discrepancy rate)
  • Weekly total
  • Week-over-week change (%)
  • Vendor performance insights

Calculations (All Python, No LLM Math)

All arithmetic is performed by Python functions, not language model inference:

  • Line total: qty * unit_cost
  • Subtotal: sum(line_totals)
  • Tax: subtotal * tax_rate
  • Grand total: subtotal + tax
  • Variance: received_qty - ordered_qty
  • Variance value: variance * unit_cost
  • Savings: sum(highest_quote) - sum(best_quote_per_item)
  • Discrepancy rate: shortages / total_items * 100

AI-Powered Features

  • Vendor Price Comparison: Analyzes quotes across multiple vendors for the same items, identifies lowest-cost options per item, and calculates total savings opportunity
  • Purchase Order Generation: Creates professionally formatted DOCX purchase orders from conversational input, validating all line items and computing totals with Python arithmetic
  • Receiving Report Analysis: Compares ordered vs received quantities and automatically calculates variances, credit claims, and vendor discrepancy patterns
  • Spend Summary Calculation: Aggregates weekly purchase orders by vendor, tracks spending trends, and highlights variances from budget or historical baselines

Estimated Cost per Use

Disclaimer: Token estimates are approximate and based on typical usage patterns measured from skill prompt sizes. Actual costs vary with input data size, conversation length, and complexity. Estimates use Claude Sonnet 4.6 pricing ($3/1M input, $15/1M output). Cowork and Claude Desktop subscription users (Pro/Max/Team) are not charged per-token — these estimates apply only to direct Anthropic API usage. Running stages individually in fresh sessions uses fewer input tokens than running the full pipeline sequentially, because pipeline mode accumulates conversation history across stages.

Per skill (run individually in a fresh session):

Stage Skill Prompt User Input Total Input Output Est. Cost
supplier-vendors ~1.4K ~800 ~4.8K ~3.0K ~$0.06
supplier-compare ~1.6K ~800 ~5.0K ~3.0K ~$0.06
supplier-order ~2.4K ~800 ~5.9K ~3.0K ~$0.06
supplier-receive ~1.7K ~800 ~5.2K ~3.0K ~$0.06
supplier-summary ~1.9K ~800 ~5.4K ~6.0K ~$0.11
Standalone total ~26.2K ~18.0K ~$0.35

Full pipeline (all stages in one session — context accumulates):

Stage Base Input + History Total Input Output Est. Cost
supplier-vendors ~5.2K 0 ~5.2K ~3.0K ~$0.06
supplier-compare ~5.4K ~3.8K ~9.2K ~3.0K ~$0.07
supplier-order ~6.2K ~7.6K ~13.8K ~3.0K ~$0.09
supplier-receive ~5.5K ~11.4K ~16.9K ~3.0K ~$0.10
supplier-summary ~5.7K ~15.2K ~20.9K ~6.0K ~$0.15
Pipeline total ~66.0K ~18.0K ~$0.47

Running the full pipeline once typically costs $0.33–$0.61 in API tokens (Claude Sonnet 4.6).

Known Limitations

  1. No live inventory counts — User must manually determine order quantities. Plugin does not connect to POS systems or inventory databases.

  2. No supplier API integrations — Pricing and availability must be entered manually. No real-time feeds from Sysco, US Foods, or specialty distributors.

  3. No dynamic pricing — Quotes and unit costs are static at order time. Plugin does not track historical pricing or alert on price increases.

  4. Session-based only — No ability to send automated order reminders, schedule recurring orders, or execute standing orders. Each order is manual entry per session.

  5. Vendor registry size cap — Recommended max ~500 vendors before context budget becomes constrained. Very large registries (1000+) may require pagination workarounds.

  6. No e-signature or EDI — Generated POs are DOCX documents for email/printing. No automated PO acknowledgment, EDI transmission, or digital signature support.

  7. No accounting integration — Receiving reports and summaries are DOCX exports. Manual entry into accounting software (QuickBooks, Toast, etc.). No direct posting to accounts payable.

  8. Tax handling is basic — Supports flat tax rate in config. No line-item tax variation, tax exemptions, or nexus-based tax calculation.

Example Workflow

Monday Morning:

Manager: "Set up supplier orders"
Plugin: Creates workspace, registers vendors (Sysco, Local Produce Co, Dairy Direct)

Tuesday (Ordering Day):

Manager: "Create a PO for Sysco"
Plugin: Asks for items
Manager: "Roma tomatoes 5 cases at $24.50, chicken breast 20 lbs at $3.80, milk 10 gallons at $2.50. Deliver Wednesday."
Plugin: Generates PO-20260310-SYS-001, saves to outbound/, shows total $245.80
Manager: Prints and emails PO to Sysco

Thursday (Delivery Day):

Manager: "Receiving report for Sysco"
Plugin: Loads PO-20260310-SYS-001, asks: "Tomatoes ordered 5, received?"
Manager: "Only got 4"
Plugin: Calculates variance: -1 case = -$24.50 credit claim
Plugin: Generates Receiving-Report-sysco-20260310.docx with credit claim memo
Manager: Sends to Sysco to request credit

Friday (Summary):

Manager: "Weekly summary"
Plugin: Aggregates all POs from Mon-Fri: Sysco ($2,400), Local Produce ($680), Dairy Direct ($420)
Plugin: Shows discrepancy rates, week-over-week spend comparison
Plugin: Generates Weekly-Order-Summary-2026-W10.docx for bookkeeping

Support & Contributions

For bug reports, feature requests, or contributions:

  • Report issues to the Plugin Factory team
  • Contributions welcome via pull request
  • Maintain backward compatibility with existing vendor-registry.json files

Version

v1.0 (initial release)

Important Disclaimers

  • AI-Generated Content: This plugin uses AI (LLM) technology which can produce inaccurate or incomplete outputs. All content should be treated as a starting point and reviewed for accuracy before use.
  • Not Professional Advice: Outputs do not constitute legal, financial, tax, medical, or other professional advice. Consult qualified professionals before making decisions based on generated content.
  • No Compliance Guarantee: References to industry standards, regulations, or guidelines are for informational purposes only. This plugin does not guarantee compliance with any law or regulation. Users are responsible for verifying all outputs meet their specific regulatory requirements.
  • No Endorsement or Affiliation: Mention of third-party products, standards, or organizations does not imply endorsement, partnership, or certification by those entities.

Ready to use Supplier Orders?

Download this free plugin and start using it in Claude today.

Need something different?

We build custom plugins tailored to your exact workflow.

Request a Custom Plugin