Restaurant purchasing software

Order what your kitchen and bar need.

Build restaurant purchase orders from pars and on-hand inventory. Compare vendor options, review the draft, and track ordered quantities through receiving.

Included in the Operations Bundle. View plans

DRAFT PURCHASE ORDERHarbor Foods PO #24091
Chicken breast40 lb case · $112.00 each $448.004 cases
Heavy cream6 × 1 qt case · $38.00 each $114.003 cases
Butter36 lb case · $72.00 each $216.003 cases
ORDER TOTAL$778.00 $500.00 minimum met
3 items · Market StreetReady to send
Two chefs checking pantry quantities together, one holding a tablet

Pars and on-hand inventory

Start with the right quantity.

Compare par levels with stored stock quantities. Check what’s on the shelf and adjust suggested amounts before adding them to an order.

Chicken breast40 lb case
Par
6cases
On hand
2cases
Suggested
4cases

Purchase orders

One list. Sorted by vendor.

Check each draft’s total, delivery notes, and order minimum before sending it to your supplier.

ORDER LIST5 items to order
Chicken breastHarbor Foods4 cases
Heavy creamHarbor Foods3 cases
ButterHarbor Foods3 cases
San Marzano tomatoesRomano Produce5 cases
Extra virgin olive oilMarket Imports2 cases
Harbor Foods3 items
$778.00Minimum met$500.00 minimum
Romano Produce1 item
$210.00Minimum met$150.00 minimum
Market Imports1 item
$202.96$97.04 below minimum$300.00 minimum

See purchasing in action.

Get a demo

Vendor preferences

Choose who you buy from.

Compare prices for the same pack and set an ordering vendor for each item and location. Future drafts use that preference.

MARKET STREETExtra virgin olive oil6 × 1 L case
Market ImportsOrdering vendor $101.48per case
City Provisions $99.90per case
Harbor Foods $104.10per case

Delivery and invoice matching

Record what actually arrives.

Log full or partial deliveries against the PO. Once an invoice is linked, compare ordered, received, and billed quantities to spot differences.

HARBOR FOODS · PO #24091Invoice #18431
2 matched1 quantity difference
Chicken breast40 lb case Ordered4 cases Received3 cases Billed4 cases 1 case short
Heavy cream6 × 1 qt case Ordered3 cases Received3 cases Billed3 cases Matched
Butter36 lb case Ordered3 cases Received3 cases Billed3 cases Matched
Chicken breast: one case billed beyond the quantity received.1 case × $112.00 per caseBILLING DIFFERENCE$112.00

Recurring and internal requests

Plan for the next delivery.

STANDING ORDERS

Reorder on your schedule.

Save a template and set how often it repeats. Opsi creates a fresh draft for your team to review and send.

PRODUCE TEMPLATEEvery Monday
Draft createdQuantities loaded from your template
Review and sendAdjust for the week ahead
COMMISSARY

Connect your kitchens.

Fulfill an internal order and opsi records the transfer between locations. The receiving team confirms when it arrives.

Bolognese12 pans · 4 qt each
FROMPrep Kitchen12 pans sent
TOMarket StreetAwaiting receipt

See opsi in your operation

Make the work feel lighter.

See how opsi connects the work behind service in a demo focused on your restaurant’s priorities. No documents or advance setup required.