Dprime Woo Vendor Pricing v1.0.0 Pro WooCommerce
Category-level discounts, per-product price overrides, and a dedicated Vendor role. Vendors see their prices everywhere in WooCommerce — product pages, cart, and checkout.
Installation
- Install and activate WooCommerce.
- Download Dprime Woo Vendor Pricing from your account at my.dprime.au.
- Install and activate it. It appears under Dprime → Vendor Pricing.
- Go to Category Rules and set up your first discount rule.
- Go to Vendors and assign the Vendor role to a user. They will see discounted prices immediately when logged in.
Vendor role
The plugin creates a dprime_vendor WordPress role on activation. It has only the read capability — vendors have no wp-admin access and cannot publish content.
Vendors use your WooCommerce store exactly like regular customers: they browse, add to cart, and check out. The only difference is the prices they see and pay.
Assigning the Vendor role
- Go to Dprime → Vendor Pricing → Vendors tab.
- Select a WordPress user from the dropdown and click Add vendor. The role is assigned immediately.
- To remove the role, click Remove on any row in the vendor table.
You can also assign the role from Users → Edit User in the standard WordPress admin — set the role to Vendor in the Role dropdown.
Category rules
A category rule applies a discount to every product in a WooCommerce category. Rules are set on the Category Rules tab.
| Setting | Description |
|---|---|
| Category | Any WooCommerce product category. Select from the dropdown. |
| Type | % off — deduct a percentage from the regular price. Fixed amount off — deduct a fixed currency amount from the regular price. |
| Value | The discount amount. For percent: 0–100. For fixed: any positive number. The resulting vendor price is always floored at zero. |
Adding, editing, and removing rules
- Click + Add rule to add a new row. Select the category, type, and value.
- To edit an existing rule, change any field directly in the row.
- To remove a rule, click Remove on that row.
- Click Save category rules to apply all changes at once.
If a product belongs to multiple categories that both have rules, the rule that produces the lowest vendor price is used.
Product overrides
A product override sets a fixed vendor price for one product, bypassing any category rule. Set overrides from the Products tab.
- Find the product using the category filter or the search field at the top of the Products tab.
- Enable the Override on toggle for that product row.
- Enter the vendor price in the price field. This is the exact price the vendor will pay — not a discount, but the final price.
- Click Save product prices at the bottom of the table.
Disabling an override
Turn the Override toggle off and save. The product reverts to its category rule price (or the regular price if no category rule applies).
How pricing works
Vendor prices are applied via WooCommerce's standard price filter hooks. This means they work correctly with:
- Product listing pages — the vendor sees their price in the shop grid.
- Single product pages — price shown in the buy box.
- Cart and checkout — line totals calculated using vendor prices.
- WooCommerce tax calculation — tax is calculated on the vendor price, not the regular price.
- Coupon codes — coupons are applied on top of vendor prices as expected.
Price priority
| Priority | Condition | Price used |
|---|---|---|
| 1 | Product has Override enabled and a price entered | The override price |
| 2 | Product belongs to a category with a rule | Category rule applied to regular price (lowest if multiple categories match) |
| 3 | No override, no matching category rule | Regular WooCommerce price |
Non-vendor users (customers, admins) always see the standard WooCommerce price regardless of any rules. The plugin's price filters check the current user's role before modifying any price.
Variable products
Variable products are supported. The price filter applies to each variation individually. The variation price cache in WooCommerce is salted with a vendor identifier so cached variation prices do not bleed across user types.
FAQ
Can different vendors have different prices?
Not in the current version. All users with the dprime_vendor role see the same vendor prices. Prices are set per-category and per-product, not per-user.
Can vendors see their discount on the product page?
Yes. Because the price filters modify the value WooCommerce passes to the price display HTML, vendors see their discounted price wherever WooCommerce renders a price. You can optionally show both the regular and vendor price using WooCommerce's sale price display.
Does it work with WooCommerce subscriptions or bookings?
Standard WooCommerce simple and variable products are fully supported. Subscriptions and bookings use their own pricing extensions — compatibility depends on whether those extensions use the standard WooCommerce price filter hooks.
What if I delete a category that has a rule?
The rule entry for that category remains in the database but has no effect since no products belong to a deleted category. Clean it up by opening the Category Rules tab and removing the orphaned row.
Can I use this with WooCommerce sale prices?
Yes. The vendor price replaces both the regular and sale price filters, so if a product is on sale the vendor still sees the vendor price rather than the sale price. The intent is that the vendor price is the negotiated floor — you would not typically want a vendor to benefit from a public sale on top of their already-discounted price.