Skip to main content

Purchase Contracts

Comprehensive guide to Purchase Contracts and Blanket Purchase Orders in NetSuite.


Overview

PURCHASE CONTRACT LIFECYCLE
═══════════════════════════════════════════════════════════════════

SOURCING CONTRACTING PURCHASING
──────── ─────────── ──────────

┌──────────┐ ┌──────────┐ ┌──────────┐
│ RFQ │ │ Purchase │ │ Purchase │
│ Request │────────►│ Contract │─────────►│ Order │
│ Quote │ │ │ │ │
└──────────┘ └──────────┘ └──────────┘
│ │ │
▼ ▼ ▼
Vendor Quotes Agreed Terms Fulfillment
Pricing Receiving
Approval Invoice

What is a Purchase Contract?

A Purchase Contract is an agreement with a vendor that establishes:

  • Pre-negotiated pricing for specific items
  • Terms and conditions for purchases
  • Quantity commitments (minimum/maximum)
  • Effectivity period (start and end dates)

When you create purchase orders linked to a contract, the agreed pricing and terms are automatically applied.


Purchase Contract vs Blanket PO vs Standard PO

FeaturePurchase ContractBlanket POStandard PO
PurposePrice/terms agreementVolume commitmentSingle purchase
PricingTiered/quantity pricingFixed pricePer-order price
DurationDate rangeDate rangeOne-time
CommitmentMin/max amountsQuantity commitmentOrder quantity
Linked OrdersMultiple POsRelease ordersN/A
Use CaseOngoing purchasingBulk buyingAd-hoc purchase

When to Use Each

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

Question: Do you have a negotiated agreement with vendor?

├── YES: Question: Is it quantity-based or price-based?
│ │
│ ├── Price-based (tiered pricing) ────► Purchase Contract
│ │
│ └── Quantity-based (bulk buy) ───────► Blanket PO

└── NO: ──────────────────────────────────────► Standard PO

Key Benefits

BenefitDescription
Price LockGuaranteed pricing throughout contract period
Auto-ApplyTerms automatically apply to linked POs
ComplianceEnsures purchases follow agreed terms
TrackingMonitor spending against commitments
EfficiencyReduced negotiation per purchase
AlertsNotifications for expiring contracts

Prerequisites

Feature Enablement

ENABLE PURCHASE CONTRACTS
───────────────────────────────────────────────────────────

Navigation: Setup > Company > Enable Features

Transactions Tab:
☑ Purchase Orders (Required)
☑ Purchase Contracts (Required)
☑ Blanket Purchase Orders (If using BPOs)
☑ Request for Quote (Optional, for RFQ workflow)

Required Permissions

PermissionLevelPurpose
Purchase ContractCreate/EditManage contracts
Purchase OrderCreate/EditCreate linked POs
VendorViewAssociate vendor
ItemViewAdd items to contract

Contract Statuses

CONTRACT STATUS FLOW
───────────────────────────────────────────────────────────

┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Pending │────────►│ Approved │────────►│ Active │
│ Approval │ │ │ │ │
└─────────────┘ └─────────────┘ └─────────────┘


┌─────────────┐
│ Expired │
│ │
└─────────────┘

Status Descriptions:
Pending Approval - Awaiting approval workflow
Approved - Approved but not yet effective
Active - Within effectivity dates, usable
Expired - Past end date

TaskPath
View ContractsTransactions > Purchases > Purchase Contracts > List
New ContractTransactions > Purchases > Enter Purchase Contract
New BPOTransactions > Purchases > Enter Blanket Purchase Order
Contract from RFQTransactions > Purchases > Request for Quote