Skip to main content

Blanket Purchase Orders

Complete guide to Blanket Purchase Orders (BPOs) for volume-based vendor agreements.


Overview

BLANKET PURCHASE ORDER CONCEPT
═══════════════════════════════════════════════════════════════════

BLANKET PO RELEASE ORDERS
────────── ──────────────

┌─────────────────────────┐
│ Blanket PO: BPO-001 │
│ Vendor: ABC Supplies │
│ Item: WIDGET-100 │
│ Total Qty: 10,000 │
│ Price: $20.00/unit │
│ Period: Jan-Dec 2026 │
│ Total Value: $200,000 │──┬──► Release 1: 2,000 units ($40,000)
└─────────────────────────┘ │
├──► Release 2: 3,000 units ($60,000)

├──► Release 3: 2,500 units ($50,000)

└──► Release 4: 2,500 units ($50,000)
─────────────────────────────────
Total Released: 10,000 ($200,000)

BPO vs Purchase Contract

FeatureBlanket POPurchase Contract
Primary FocusQuantity commitmentPrice agreement
PricingFixed priceTiered/variable pricing
Order CreationRelease ordersLinked POs
TrackingQuantity releasedAmount spent
Best ForBulk purchasingOngoing buying

When to Use BPO

USE CASE DECISION
───────────────────────────────────────────────────────────

Use Blanket PO when:
✓ Fixed price negotiated for specific quantity
✓ Multiple deliveries over time
✓ Need to track remaining quantity
✓ Volume discount from bulk commitment

Use Purchase Contract when:
✓ Variable/tiered pricing
✓ Multiple items with different terms
✓ Price-focused (not quantity-focused)
✓ Need min/max spend tracking

Prerequisites

Feature Enablement

ENABLE BLANKET PURCHASE ORDERS
───────────────────────────────────────────────────────────

Navigation: Setup > Company > Enable Features

Transactions Tab:
☑ Purchase Orders (Required)
☑ Blanket Purchase Orders (Required)

Creating a Blanket PO

Step-by-Step

CREATE BLANKET PURCHASE ORDER
═══════════════════════════════════════════════════════════════════

Navigation: Transactions > Purchases > Enter Blanket Purchase Order

Step 1: Header Information
┌────────────────────────────────────────────────────────────────┐
│ Vendor: ABC Supplies Inc. │
│ Date: 01/15/2026 │
│ Memo: 2026 Annual Widget Supply │
│ │
│ Terms: Net 30 │
│ Location: Main Warehouse │
│ │
│ Effectivity: │
│ Start Date: 01/01/2026 │
│ End Date: 12/31/2026 │
└────────────────────────────────────────────────────────────────┘

Step 2: Add Items
┌────────────────────────────────────────────────────────────────┐
│ Item Description Quantity Rate Amount │
│ ──── ─────────── ──────── ──── ────── │
│ WIDGET-100 Widget Standard 10,000 $20.00 $200,000 │
│ SUPPLY-001 Office Supplies 5,000 $5.00 $25,000 │
└────────────────────────────────────────────────────────────────┘

Step 3: Save
Status: Open
Ready for release orders

BPO Fields

Header Fields

FieldDescriptionRequired
VendorSupplierYes
DateBPO creation dateYes
Start DateEffectivity startYes
End DateEffectivity endYes
TermsPayment termsNo
LocationDelivery locationNo

Line Fields

FieldDescription
ItemItem to purchase
QuantityTotal committed quantity
RateFixed unit price
AmountExtended total (Qty × Rate)

Release Orders

Creating Release Orders

CREATE RELEASE ORDER FROM BPO
───────────────────────────────────────────────────────────

Method 1: From BPO Record
1. Open Blanket PO record
2. Click "Release Order" button
3. Specify release quantity
4. Save as Purchase Order

Method 2: From PO Entry
1. Create new Purchase Order
2. Select Blanket PO field
3. Choose the BPO
4. Items and pricing auto-populate
5. Adjust quantity as needed

Release Order Example

RELEASE ORDER CREATION
───────────────────────────────────────────────────────────

Blanket PO: BPO-00042
├── Item: WIDGET-100
├── Total Committed: 10,000 units
├── Already Released: 5,000 units
└── Available: 5,000 units

Release Order:
┌────────────────────────────────────────────────────────┐
│ Create Release Order │
│ │
│ Item: WIDGET-100 │
│ Available: 5,000 units │
│ Release Qty: [2,000] │
│ │
│ Expected Delivery: 02/15/2026 │
│ │
│ [Cancel] [Create PO] │
└────────────────────────────────────────────────────────┘

Result: PO-00567 created for 2,000 units at $20.00/unit

BPO Tracking

Status Tracking

BLANKET PO STATUS VIEW
───────────────────────────────────────────────────────────

BPO-00042: 2026 Widget Supply

┌────────────────────────────────────────────────────────┐
│ Status: Open │
│ Effectivity: 01/01/2026 - 12/31/2026 │
├────────────────────────────────────────────────────────┤
│ Item Committed Released Available % │
│ ──── ───────── ──────── ───────── ─ │
│ WIDGET-100 10,000 7,000 3,000 70% │
│ SUPPLY-001 5,000 2,500 2,500 50% │
├────────────────────────────────────────────────────────┤
│ Total Value: $225,000 │
│ Released: $152,500 │
│ Remaining: $72,500 │
└────────────────────────────────────────────────────────┘

Linked Transactions

BPO RELATED TRANSACTIONS
───────────────────────────────────────────────────────────

BPO-00042: Related Records

Release Orders (Purchase Orders):
├── PO-00501 2,000 units $40,000 01/15/2026 Received
├── PO-00523 3,000 units $60,000 02/20/2026 Received
├── PO-00567 2,000 units $40,000 03/15/2026 Pending
└── Total: 7,000 units $140,000

Related Bills:
├── BILL-001 2,000 units $40,000 01/25/2026 Paid
└── BILL-002 3,000 units $60,000 03/01/2026 Open

Scheduled Deliveries

Delivery Schedule Setup

SCHEDULED DELIVERIES
───────────────────────────────────────────────────────────

For predictable delivery needs, set up schedule:

BPO-00042 Delivery Schedule:
┌────────────────────────────────────────────────────────┐
│ Item: WIDGET-100 │
│ Total Qty: 10,000 │
│ │
│ Schedule: │
│ Q1 (Jan-Mar): 2,500 units │
│ Q2 (Apr-Jun): 2,500 units │
│ Q3 (Jul-Sep): 2,500 units │
│ Q4 (Oct-Dec): 2,500 units │
│ │
│ Create release orders according to schedule │
└────────────────────────────────────────────────────────┘

Note: NetSuite doesn't auto-create releases.
Use saved search/workflow for reminders.

BPO Statuses

StatusDescriptionCan Release?
Pending ApprovalAwaiting approvalNo
OpenActive, within datesYes
Fully ReleasedAll quantity releasedNo
ClosedManually closedNo
ExpiredPast end dateNo

Status Transitions

BPO STATUS FLOW
───────────────────────────────────────────────────────────

Pending Approval ──► Open ──┬──► Fully Released

├──► Closed (manual)

└──► Expired (date passed)

Quantity Enforcement

Over-Release Prevention

QUANTITY ENFORCEMENT
───────────────────────────────────────────────────────────

Scenario: Attempt to release more than available

BPO Available: 3,000 units
Release Request: 5,000 units

Options (configurable):
1. BLOCK: Cannot create release order
Error: "Release quantity exceeds available"

2. WARN: Warning but allow override
Warning: "Requested qty exceeds available"
Proceed? [Yes] [No]

3. ALLOW: No restriction
Release created (BPO shows negative available)

Reporting

BPO Status Report

BLANKET PO STATUS REPORT
───────────────────────────────────────────────────────────

Navigation: Reports > Purchases > Blanket PO Status

Sample Report:
┌────────────────────────────────────────────────────────────────┐
│ BPO# Vendor Item Committed Released % │
│ ──── ────── ──── ───────── ──────── ─ │
│ BPO-00042 ABC Supplies WIDGET-100 10,000 7,000 70 │
│ BPO-00043 XYZ Parts PART-200 5,000 5,000 100 │
│ BPO-00044 Global Co. SERVICE-01 12 8 67 │
└────────────────────────────────────────────────────────────────┘

Best Practices

BPO Management

PracticeRecommendation
QuantitySet realistic annual quantities
PricingDocument price negotiation
DatesAlign with fiscal year
TrackingReview utilization monthly
RenewalStart renewal 60 days before expiry

Common Issues

IssueCauseResolution
Can't releaseBPO expiredExtend or create new BPO
Wrong price on releaseBPO not selectedLink PO to BPO
Over-releasedNo enforcementEnable quantity check
BPO not foundSearch filterCheck date/status filters