Procure-to-Pay in NetSuite for Ecommerce
Your supply chain is only as efficient as your procure-to-pay process. I've watched $20M ecommerce brands operate with procurement workflows held together by email threads and spreadsheets—purchase...
Disclosure: NetSuiteForge may earn a commission through affiliate links in this article. We only recommend solutions we've personally implemented for ecommerce clients. Our editorial process is independent, and our recommendations are based on hands-on experience.
Procure-to-Pay in NetSuite for Ecommerce
Your supply chain is only as efficient as your procure-to-pay process. I've watched $20M ecommerce brands operate with procurement workflows held together by email threads and spreadsheets—purchase orders created manually, vendor invoices sitting in inboxes for weeks, and payment terms missed because nobody tracked the due dates.
NetSuite's procure-to-pay (P2P) cycle fixes this, but only if you configure it for the specific realities of ecommerce procurement. Buying inventory for a DTC brand is nothing like procuring office supplies for a services company. You're dealing with international suppliers, ocean freight timelines, landed cost calculations, multi-currency purchase orders, and the constant pressure to maintain stock levels without overbuying.
This guide covers the complete P2P workflow in NetSuite from the ecommerce perspective—every step from identifying what you need to buy through paying your vendors and reconciling the expense.
Key Takeaways
- The P2P cycle in NetSuite has 6 core stages: requisition → purchase order → item receipt → vendor bill → payment → reconciliation
- Ecommerce-specific complexity comes from international suppliers, landed cost calculations, duty/tariff handling, and multi-currency purchase orders
- Approval workflows prevent unauthorized spending and can be configured with dollar thresholds, department routing, and escalation rules
- Three-way matching (PO → receipt → bill) catches pricing discrepancies before you pay vendors—essential for brands with 50+ SKUs
- Proper landed cost allocation changes your true COGS by 8-15%, dramatically affecting margin calculations and pricing decisions
What Are the Steps in NetSuite's Procure-to-Pay Cycle?
The P2P cycle in NetSuite follows a logical chain of transactions, each linked to the previous one:
Purchase Requisition → Purchase Order → Item Receipt → Vendor Bill → Vendor Payment → Bank Reconciliation
For ecommerce, this process often starts long before the requisition—with demand planning and reorder point calculations. But in NetSuite transaction terms, the cycle begins when someone formally requests a purchase.
Why P2P Matters More for Ecommerce
Unlike service businesses where procurement is occasional, ecommerce brands purchase constantly. You're buying inventory, packaging materials, shipping supplies, marketing services, and warehouse equipment on a regular cadence. Without a structured P2P process:
- Inventory stockouts cost you 5-10% of monthly revenue
- Overpurchasing ties up cash that could fund growth
- Missing vendor payment terms costs you early-pay discounts (2-3% is standard)
- Uncontrolled spending across departments creates budget chaos
How Do Purchase Requisitions Work in NetSuite?
Purchase requisitions are the formal "request to buy" that kicks off the P2P cycle. Not every NetSuite implementation uses them—smaller ecommerce brands often skip straight to purchase orders. But as you scale past $5M in revenue with multiple departments placing orders, requisitions become essential for spend control.
When to Use Requisitions vs. Skip Them
Skip requisitions if:
- You have fewer than 5 people who place orders
- All purchasing is handled by one procurement person
- Your inventory purchases are driven entirely by reorder points
Use requisitions if:
- Multiple departments request purchases (marketing wants branded boxes, warehouse needs shelving, etc.)
- You need budget approval before committing to a PO
- Audit compliance requires separation of duties (requester ≠ approver ≠ purchaser)
Configuring the Requisition Process
- Enable requisitions: Setup → Company → Enable Features → Transactions → Purchase Requisitions
- Create requisition forms: Customize the requisition form to capture ecommerce-specific fields (vendor lead time, preferred shipping method, incoterms)
- Set up approval routing: Define who approves requisitions based on amount, department, or item category
- Configure auto-conversion: Once approved, requisitions can automatically convert to purchase orders
Ecommerce Requisition Example
Your warehouse manager notices safety stock for your top-selling SKU is approaching the reorder point. They create a requisition:
- Item: Widget Pro - Black (SKU: WP-BLK-001)
- Quantity: 5,000 units
- Vendor: Shenzhen Manufacturing Co.
- Estimated Cost: $4.50/unit ($22,500 total)
- Lead Time: 45 days (ocean freight)
- Needed By: May 15, 2026
This requisition routes to the Director of Operations for approval because it exceeds the $10,000 threshold. Once approved, it converts to a purchase order automatically.
How Do You Create Purchase Orders for International Suppliers?
Purchase orders are the heart of the P2P cycle—they're your commitment to buy from a vendor at agreed terms. For ecommerce brands sourcing from international suppliers, POs require additional configuration that domestic-only businesses never deal with.
Standard PO Creation
The basic PO workflow in NetSuite:
- Navigate to Transactions → Purchases → Enter Purchase Orders
- Select the vendor
- Add line items with quantities and rates
- Set terms (Net 30, Net 60, etc.)
- Add shipping details
- Submit for approval (if approval workflows are configured)
- Save and email/fax to vendor
Multi-Currency Purchase Orders
When buying from international suppliers, you'll need multi-currency POs. Enable this under Setup → Company → Enable Features → Multi-Currency.
Configuration steps for international POs:
- Set vendor currency: On the vendor record, specify their primary transaction currency (CNY, EUR, GBP, etc.)
- Exchange rate source: Use NetSuite's built-in exchange rate feed or manually set rates
- PO records both currencies: The PO shows the vendor's currency amount and your base currency equivalent
- Gain/loss tracking: When the actual payment exchange rate differs from the PO rate, NetSuite books the currency gain or loss automatically
Ecommerce example: You create a PO for ¥157,500 CNY to your Shenzhen supplier. At the time of PO creation, the exchange rate is ¥7.00/USD, so the PO shows $22,500 USD equivalent. By the time you pay 30 days later, the rate has moved to ¥7.10/USD, so you actually pay $22,183. NetSuite books the $317 as a currency gain.
Incoterms and Shipping Terms
International POs need incoterms to clarify responsibility boundaries:
- FOB (Free on Board): You're responsible for freight from the port of origin. Most common for ecommerce.
- CIF (Cost, Insurance, Freight): Vendor covers freight to your port. Higher unit cost but simpler logistics.
- DDP (Delivered Duty Paid): Vendor handles everything including customs. Highest unit cost but zero logistics burden.
- EXW (Ex Works): You handle everything from the factory. Lowest unit cost but maximum logistics complexity.
Configure incoterms as a custom field on PO records so they're tracked for each transaction.
Blanket Purchase Orders
For ecommerce brands with recurring purchases from the same vendors, blanket POs reduce administrative overhead:
- Create a blanket PO for the estimated annual quantity
- Release portions of the blanket PO as needed throughout the year
- Track remaining commitment against the original blanket quantity
- Negotiate better pricing by committing to volume upfront
Example: You know you'll need 50,000 units of your core product this year. Create a blanket PO for 50,000 units, then release 5,000-unit orders monthly. Your vendor gives you a 5% volume discount for the commitment.
How Does Landed Cost Work in NetSuite?
Landed cost is the total cost of getting inventory from your supplier to your warehouse—including freight, customs duty, tariffs, insurance, brokerage fees, and local delivery. For ecommerce brands importing products, landed cost calculation is critical because it determines your true COGS.
Why Landed Cost Matters for Ecommerce
Without landed cost, your books show product cost as just the vendor's unit price. But the actual cost to get that product to your warehouse is typically 15-30% higher:
| Cost Component | Percentage of Product Cost |
|---|---|
| Product cost (vendor price) | 100% |
| Ocean freight | 5-12% |
| Customs duty | 0-25% (varies by HTS code) |
| Customs brokerage | 1-2% |
| Insurance | 0.5-1% |
| Local drayage | 1-3% |
| Total landed cost | 108-143% |
If your product costs $10 from the vendor but your landed cost is $13.20, you need to price based on $13.20—not $10—to maintain margins.
Configuring Landed Cost in NetSuite
- Enable Landed Cost: Setup → Accounting → Accounting Preferences → Landed Cost
- Create landed cost categories: Freight, Duty, Insurance, Brokerage, etc.
- Set allocation methods: By weight, quantity, value, or a custom allocation
- Create landed cost items: These are non-inventory items (service or other charge type) that represent each cost component
Allocating Landed Costs to Item Receipts
When your shipment arrives and you create an item receipt:
- Receive the items against the original PO
- On the Landed Cost tab, add the individual cost components
- Allocate costs across the received items using your configured method
- NetSuite adjusts the inventory cost of each item accordingly
Practical example: You receive 5,000 units across 3 SKUs. Ocean freight was $2,500, duty was $1,800, and brokerage was $400. You allocate by value:
- SKU A (2,000 units × $5 = $10,000) gets 40% of costs = $1,880
- SKU B (2,000 units × $4 = $8,000) gets 32% of costs = $1,504
- SKU C (1,000 units × $7 = $7,000) gets 28% of costs = $1,316
Each SKU's per-unit cost now includes its share of freight, duty, and brokerage.
Duty and Tariff Handling
US import duties are based on Harmonized Tariff Schedule (HTS) codes. Each product gets an HTS classification that determines its duty rate.
NetSuite configuration:
- Add a custom field to item records for HTS Code
- Add a custom field for Duty Rate (percentage)
- Create a saved search that calculates estimated duty for incoming shipments
- Use this to accrue duty costs before the actual customs bill arrives
Ecommerce gotcha: HTS codes can be ambiguous. A "silicone phone case" might be classified under silicone articles (2.4% duty) or phone accessories (free). Get a customs broker's classification before importing—misclassification can result in penalties and retroactive duty collection.
How Do Approval Workflows Control Spending?
NetSuite's SuiteFlow engine lets you create sophisticated approval workflows that match your organizational hierarchy. For ecommerce brands, this is critical as you scale—you can't have every team member placing unlimited purchase orders.
Designing Your Approval Matrix
A typical ecommerce approval matrix:
| PO Amount | Approver | Turnaround |
|---|---|---|
| Under $1,000 | Auto-approved | Immediate |
| $1,000 - $5,000 | Department manager | 24 hours |
| $5,000 - $25,000 | Director of Operations | 48 hours |
| $25,000 - $100,000 | VP/COO | 48 hours |
| Over $100,000 | CEO | As needed |
Implementing Approval Workflows
- Navigate to Customization → Workflow → New
- Set the record type to Purchase Order
- Create states: Draft → Pending Approval → Approved → Rejected
- Add transitions with conditions (e.g., if total > $5,000, route to Director)
- Configure email notifications for each state change
- Add escalation: if not approved within 48 hours, escalate to next level
Delegation and Out-of-Office
Configure delegation for when approvers are unavailable:
- Each approver can designate a backup
- Set date ranges for delegation (e.g., "From March 15-22, route my approvals to Jane")
- Emergency override: allow CEO or CFO to approve anything regardless of normal routing
Expense Approval Workflows
Beyond POs, apply similar approval logic to expense reports. Common ecommerce expense categories:
- Marketing spend (Google Ads, Facebook, influencer payments)
- Software subscriptions (Shopify, Klaviyo, shipping platforms)
- Warehouse supplies (boxes, tape, dunnage)
- Travel (trade shows, vendor visits)
Example rule: Any marketing expense over $500 requires the Marketing Director's approval. Any software subscription (recurring) over $200/month requires the CFO's approval.
How Does Three-Way Matching Prevent Overpayment?
Three-way matching compares three documents before authorizing payment:
- Purchase Order — what you agreed to buy (quantity and price)
- Item Receipt — what you actually received
- Vendor Bill — what the vendor is charging you
If all three match, payment proceeds. If they don't match, the discrepancy is flagged for review.
Why This Matters for Ecommerce
Vendor billing errors are more common than you'd think. In my experience implementing NetSuite for ecommerce brands, about 5-8% of vendor bills have discrepancies:
- Vendor ships 4,800 units but bills for 5,000
- Vendor increases price without notice
- Vendor adds charges not on the original PO
- Short shipments where the vendor bills for the full quantity
Without three-way matching, these discrepancies flow straight through to payment. On a $50K vendor bill, a 3% error is $1,500 you're overpaying.
Configuring Three-Way Match in NetSuite
- Enable on vendor record: Check "Three-Way Match" on each vendor where you want matching enabled
- Set tolerance thresholds: Allow minor variances (1-2% or $50) to avoid flagging trivial differences
- Configure exception handling: What happens when a match fails—hold payment? Notify procurement? Create a variance journal?
Handling Match Exceptions
When a match fails, the most common resolution paths:
- Quantity variance: Contact vendor for credit memo or wait for backorder shipment
- Price variance: Review PO terms, negotiate with vendor, or accept the new price and update future POs
- Additional charges: Verify legitimacy (surprise freight charges are common), then either accept or dispute
How Do You Process Vendor Payments Efficiently?
Once vendor bills pass matching, they enter the payment queue. NetSuite offers several payment methods, each with ecommerce-specific considerations.
Payment Methods
- ACH/Electronic transfer: Fastest, cheapest, most common for domestic vendors. NetSuite can generate NACHA files for batch ACH processing.
- Wire transfer: Required for international vendors. Higher fees ($25-50/wire) but necessary for overseas suppliers.
- Check: Increasingly rare but some vendors still require it. NetSuite prints checks with MICR encoding.
- Credit card/virtual card: Great for earning rewards on vendor payments. Some vendors accept credit card for small orders.
Batch Payment Processing
For ecommerce brands paying dozens of vendors monthly:
- Navigate to Transactions → Purchases → Pay Bills
- Filter by due date, vendor, or payment terms
- Select bills to pay in this batch
- Choose payment method and bank account
- Process the payment batch
Pro tip: Run payment batches weekly. Pay vendors due within the next 7 days in each batch. This gives you maximum cash flow flexibility while never missing terms.
Early Payment Discounts
Many vendors offer 2/10 Net 30 terms (2% discount if paid within 10 days, otherwise full amount due in 30 days). On a $50,000 monthly vendor spend, that 2% discount saves $12,000 annually. Configure NetSuite to flag POs with early payment terms and prioritize them in your payment queue.
Frequently Asked Questions
How long does it take to set up the P2P cycle in NetSuite?
For a standard ecommerce implementation with domestic vendors only, plan for 4-6 weeks. If you're importing internationally with landed cost, duty tracking, and multi-currency, budget 8-12 weeks. The complexity multiplier is the number of vendor relationships and the variety of purchase types.
Can NetSuite handle purchase orders in multiple currencies simultaneously?
Yes. Each purchase order records the vendor's currency and your base currency. You can have POs in CNY, EUR, GBP, and USD all in the same system. NetSuite manages the exchange rates and books currency gains/losses when payments are made at different rates than the PO.
What's the difference between a vendor bill and a vendor credit?
A vendor bill is what the vendor charges you—it increases your accounts payable. A vendor credit is a reduction—the vendor owes you money back (usually for returned goods, pricing adjustments, or billing errors). Vendor credits can be applied against future bills or requested as refunds.
How do I handle vendor returns in NetSuite?
Create a Return Authorization (vendor side), then a Vendor Return Authorization transaction. When you ship goods back to the vendor, create an Item Return record. The vendor then issues a credit memo, which you enter as a Vendor Credit in NetSuite.
Should I use purchase requisitions or just purchase orders?
If your company has fewer than 10 employees making purchasing decisions, you can skip requisitions. Once you have multiple departments with independent budgets, requisitions add necessary control. They also create an audit trail showing who requested what and who approved it.
How do I track vendor performance in NetSuite?
Create saved searches that measure vendor KPIs: on-time delivery rate, fill rate (ordered vs. received quantities), quality return rate, and pricing consistency. Store these metrics in custom fields on vendor records and review them quarterly when negotiating terms.
Ready to Streamline Your Procurement Process?
A well-configured P2P cycle in NetSuite eliminates the procurement chaos that holds ecommerce brands back. Automated requisitions, multi-currency POs, landed cost tracking, and three-way matching give you control over your supply chain spending while freeing your team from manual data entry.
The key is configuring it for ecommerce realities from the start—international suppliers, landed cost, duty calculations, and high-frequency purchasing cycles.
Take our free NetSuite readiness assessment → to evaluate your current procurement process and get a customized P2P implementation plan for your ecommerce operation.