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
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
No live inventory counts — User must manually determine order quantities. Plugin does not connect to POS systems or inventory databases.
No supplier API integrations — Pricing and availability must be entered manually. No real-time feeds from Sysco, US Foods, or specialty distributors.
No dynamic pricing — Quotes and unit costs are static at order time. Plugin does not track historical pricing or alert on price increases.
Session-based only — No ability to send automated order reminders, schedule recurring orders, or execute standing orders. Each order is manual entry per session.
Vendor registry size cap — Recommended max ~500 vendors before context budget becomes constrained. Very large registries (1000+) may require pagination workarounds.
No e-signature or EDI — Generated POs are DOCX documents for email/printing. No automated PO acknowledgment, EDI transmission, or digital signature support.
No accounting integration — Receiving reports and summaries are DOCX exports. Manual entry into accounting software (QuickBooks, Toast, etc.). No direct posting to accounts payable.
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.