NetSuite offers two systems for controlling what a customer pays. Many teams use both at the same time without fully understanding the boundary between them.
Price Levels are permanent pricing tiers attached directly to item records. A single item might carry a List Price, a Wholesale Price, and a Distributor Price. When a customer places an order, NetSuite reads the price level assigned to their customer record and surfaces the correct price automatically. No time limit, no code required. Price levels are configured at Lists > Accounting > Price Levels.
SuitePromotions are campaign-driven discount rules with a start date, an end date, and qualification conditions. They apply on top of existing price levels. A wholesale customer might already get the Wholesale Price through their price level, and then also qualify for a promotional 15% off their first order of the quarter through a SuitePromotion.
Understanding this distinction prevents a common configuration error: using SuitePromotions to replicate what price levels already handle, or vice versa, leading to double discounting.
Use this decision guide:
For a broader look at how the NetSuite modules overview covers pricing, order management, and revenue recognition together, that page is a useful starting point.
Before configuring NetSuite promotions, confirm the following:
For faster navigation while building out your promotions setup, download Anchor's NetSuite keyboard shortcuts reference, a free resource for administrators and power users.
Go to Lists > Marketing > Promotions > New.
If Promotions does not appear in your Lists > Marketing navigation, the feature is not enabled. Return to Prerequisites above.
You'll land on the Promotion record form. This is where all of the campaign's logic is defined: its name, type, discount structure, qualification rules, and scheduling.
Fill in the following fields at the top of the Promotion record:
Oracle's SuitePromotions documentation covers five broad promotion categories. Choose the one that matches your campaign objective.
Select the type from the Promotion Type dropdown. The form will dynamically show or hide fields depending on your selection.
After selecting a promotion type, configure the discount parameters.
For Item Discount and Order Discount:
For Fixed Price Items:
For Free Shipping:
For Free Gift:
For a step-by-step walkthrough with screenshots of the item discount setup flow, see Anchor's item discount promotion guide.
Qualification rules determine which transactions are eligible for the promotion. This is where promotions become targeted rather than blanket discounts.
Navigate to the Qualifications subtab on the Promotion record.
Order-level qualifications:
Item-level qualifications:
For BOGO (Buy One Get One) logic: create two qualification lines. The first defines the "buy" condition (e.g. Buy Qty 1 of Item A). The second (under the Get Conditions subtab) defines the "get" reward (e.g. Get Qty 1 of Item A at 100% discount). Both must be configured for the BOGO to fire correctly.
SuitePromotions Examples in Oracle's documentation provides additional templates for quantity-based and free gift promotion configurations.
Coupon codes make a promotion code-gated: the discount only applies when a customer enters the code at checkout.
On the Coupon Codes subtab:
If your business uses SuiteCommerce as its ecommerce storefront, the promo code entry field must also be enabled in your SuiteCommerce checkout configuration. A SuiteCommerce consultant can confirm the correct checkout extension settings if the field is not appearing for customers.
Quick fix tip: If promo codes are not surfacing for the right transactions, the most common culprit is a mismatched subsidiary or a qualification rule that is more restrictive than intended. Start troubleshooting by checking the Promotions subtab on the transaction, which shows promotion status information and reasons a promotion did not apply.
Anchor's guide to creating SuiteCommerce coupon codes covers the full checkout extension configuration, including how to enable the promo code entry field and troubleshoot display issues.
SuitePromotions can allow multiple promotions to apply on a single transaction. For most businesses, this needs to be managed deliberately.
Combining:
Auto-Apply:
If auto-apply is configured but not evaluating as expected, Anchor's auto-apply troubleshooting guide covers the most common root causes.
Tiered pricing (also called quantity-break pricing) is a separate but related feature managed through NetSuite's Price Levels and Quantity Pricing schedule, not through SuitePromotions.
To configure quantity-break pricing on an item:
Example of a tiered pricing table for a wholesale distributor:
Tiered pricing fires automatically on sales orders when the customer's price level matches the tier. No promotion code is required. This is the right tool when your discount structure is a standing pricing policy, not a campaign.
If you manage large item catalogs, Anchor's guide to importing price levels via CSV explains how to bulk-update pricing tiers without editing each item record individually.
Every promotion should be validated on a test transaction before going live. Skipping this step is the single most common cause of promotion-related revenue leakage.
Test checklist:
Record the test transaction number and the result. If the promotion does not apply as expected, review the Promotions subtab on the transaction to see the eligibility status and reasons the promotion was not applied. For persistent configuration issues, schedule a FREE 30-minute NetSuite fix session to get a diagnosis and resolution plan from a certified consultant.
This is the most common support question we get about SuitePromotions. Here are the five most likely causes, in order of frequency.
For auto-apply issues specifically, Anchor's auto-apply troubleshooting guide walks through the full diagnostic process. For broader NetSuite optimization questions, including promotion audits, our team handles those regularly.
The mechanics of SuitePromotions are the same across industries. How you configure them depends on your business model and customer structure.
Wholesale distributor: A wholesale distributor running a Q4 incentive program sets up an auto-apply Free Shipping promotion restricted to the Wholesale customer category. Orders over $500 automatically get free UPS Ground shipping with no code required. The promotion is set to Exclusive so it doesn't stack with any other active promotions during the same window.
Retail brand on SuiteCommerce: A retail client running a Black Friday campaign creates an Order Discount promotion for 20% off sitewide. Single-use codes are generated in bulk and distributed via email. The promotion has a 30-day window, a usage limit per customer, and is set to Exclusive to prevent stacking with clearance item discounts.
Manufacturing company: A manufacturer needs to move a slow-moving SKU before year-end. They configure a Free Gift promotion with a Buy Qty 1 qualification on the target item and a Get Qty 1 of the same item at 100% discount as the reward condition. The BOGO fires automatically at checkout for any customer who adds the qualifying item. No code required, no manual intervention.
SuiteCommerce handles promotions differently than backend sales orders in a few important ways. If you're running a SuiteCommerce storefront, these configuration details matter.
Enabling the promo code entry field. The coupon code input at checkout is not enabled by default on all SuiteCommerce configurations. It must be turned on in the checkout extension settings. If customers are reporting that they can't find the promo code field, this is almost always the cause.
Auto-apply behavior on storefronts. Auto-apply promotions evaluate at checkout in SuiteCommerce the same way they do on backend sales orders, but the checkout flow must be configured to surface the applied discount to the customer before order submission. If the discount is applying in NetSuite but not displaying in the cart, the checkout extension needs a configuration update.
Checkout extension flags. Several SuiteCommerce checkout extension flags control how promotions display, stack, and interact with free gift inventory checks. These are not always documented clearly, and misconfigured flags are the most common cause of promotions that "work in NetSuite but not on the website."
Anchor's guide to creating SuiteCommerce coupon codes covers the full checkout extension configuration. For more complex storefront promotion setups, Anchor's SuiteCommerce Services team handles these configurations regularly for mid-market retail and wholesale clients.
1. Conflating Price Levels with SuitePromotions. Price levels are permanent. Promotions are temporary. Building "wholesale pricing" as a SuitePromotion with no end date will create an unmanageable backlog of expired promotions and make reporting unreliable.
2. Not setting an end date. Promotions without an end date remain active indefinitely. This is almost never the intent. Always set an end date, even if it's five years out as a safeguard.
3. Missing subsidiary or location assignment. In multi-entity accounts, a promotion assigned to Subsidiary A will not apply to transactions in Subsidiary B, even if the same customer places orders through both. This causes confusion on the customer side and requires manual correction.
4. Coupon code characters. Codes that include the letters I, L, or O, or the numbers 1 and 0, can confuse customers. Codes with spaces can also create checkout issues, especially when copied from emails or ads.
5. Ignoring the 30-promotion auto-apply limit. If your account already has 30 active auto-applied promotions for the same date range and location, NetSuite will prevent you from saving another one in that same overlap. Audit active promotions regularly and deactivate expired ones.
6. Skipping GL account mapping. Discount amounts must be routed to a dedicated GL account for accurate financial reporting. If this is not configured on the Discount item linked to the promotion, discounts reduce gross revenue instead of appearing as a separate line, making margin analysis impossible in NetSuite accounting reports.
NetSuite promotions are a powerful lever for revenue management, but they need to be configured carefully to avoid discount leakage, incorrect GL entries, and customer-facing errors.
Anchor Group is a certified NetSuite implementation partner specializing in ERP implementations, integrations, and SuiteCommerce. If your promotions setup has grown complex, with legacy rules, expired campaigns, or multi-subsidiary configurations that are hard to audit, Anchor's NetSuite Managed Services team can do a full promotions audit and remediate configuration issues. Our certified NetSuite implementation partners have implemented promotions across manufacturing, wholesale distribution, and retail clients, and we know exactly where the edge cases live.
Ready to get a specific issue diagnosed? Get a Free NetSuite Consultation
NetSuite promotions apply time-limited, rules-based discounts to sales transactions. They support percentage discounts, fixed-amount discounts, free shipping, BOGO offers, and free gift campaigns, all with configurable qualification rules and optional coupon codes.
SuitePromotions is NetSuite's advanced campaign-driven promotion engine. It supports auto-apply, combinable and exclusive promotion logic, and qualification rules based on customer segments and order totals. Oracle recommends using SuitePromotions over the legacy Promotion Codes feature for access to the latest enhancements.
Price Levels are permanent tiered prices attached to item records and assigned to customers. Promotions are campaign-driven discounts with start and end dates. Both can apply to the same transaction: a customer's price level sets the base price, and a promotion applies a further discount on top of it.
Go to Setup > Company > Enable Features > Transactions tab and, under Sales, enable Promotion Codes, then SuitePromotions, then Auto-Apply Promotions if needed. Administrator access is required. The Promotions option will then appear under Lists > Marketing.
Tiered pricing is configured on the item record under the Pricing subtab, not through SuitePromotions. Add quantity-break rows with the minimum unit threshold and the corresponding unit price for each tier. The correct tier activates automatically based on line item quantity when the order is saved.
Auto-apply is a setting on the Promotion record that lets NetSuite evaluate a transaction's eligibility and apply the promotion automatically, without requiring a code. It works best for segment-based promotions where all qualifying customers should receive the discount with no friction.
Navigate to Lists > Marketing > Promotions > New and select a Free Gift promotion type. On the Qualifications subtab, add the Buy condition (e.g. Buy Qty 1 of Item A). On the Get Conditions subtab, add the reward condition (e.g. Get Qty 1 of Item A at 100% discount). Both conditions must be saved and the promotion must be Active for the BOGO logic to fire. See Step 5 above for the full configuration walkthrough.
The five most common causes are: subsidiary mismatch, a qualification rule the order doesn't meet, the auto-apply limit of 30 active promotions being reached, the promotion status being set to Inactive, and a missing SuiteCommerce checkout extension configuration. Check the Promotions subtab on the transaction to see exactly which condition failed.
Related Articles