Thanks for reaching out with this! I think B2BKing can handle it with some minimal custom code.
Here's how I'd suggest tackling this:
1) Product Visibility
Rather than using groups for visibility, I'd recommend using product categories. Create a category for each analyzer type, then place the relevant consumables in each category.
For visibility control, edit each category and add the specific B2B customers who have access to that analyzer here: https://prnt.sc/Qpktp2Ns0bqe
This way each customer only sees products for the analyzers they have access to.
If manually editing each analyzer category becomes too time-consuming at your scale, you could import this data via CSV or create a small custom tool with checkboxes to manage analyzer access per customer - shouldn't be too complex to implement.
2) Ownership-Based Pricing (Owned vs Rented)
For pricing, create 2 groups in B2BKing → Groups: "Owned" and "Rented". When editing each product, you can enter both prices.
Then use a bit of custom code hooking into this filter:
This filter controls which price group a user gets for a specific product. You could store ownership/rental status as user meta (e.g. using ACF to create custom fields per analyzer), and then the code snippet pulls that info to automatically apply the correct price.
3) Global Discount (-10%)
This works nicely on top of the group prices - just set up a simple Dynamic Rule discount that applies the 10% reduction and add specific users to the rule.
Overall I believe this is achievable, though you'll likely want some custom code here and there to make it manageable at your scale. We're happy to support you with technical info, point you in the right direction, or provide small code snippets. However, please note we don't provide custom coding services as a company - if you're working with a developer, I believe this setup shouldn't be too difficult to implement.
Hello,
I’m currently looking for a WooCommerce B2B project using B2BKing Pro, and I’m running into a structural limitation that I’m trying to solve.
For the same consumable:
Additionally:
From what I understand:
This becomes an issue because:
Conceptually, I’m looking for something like:
All of this without:
Thanks in advance for your guidance.
Hi Damien,
Thanks for reaching out with this! I think B2BKing can handle it with some minimal custom code.
Here's how I'd suggest tackling this:
1) Product Visibility
Rather than using groups for visibility, I'd recommend using product categories. Create a category for each analyzer type, then place the relevant consumables in each category.
For visibility control, edit each category and add the specific B2B customers who have access to that analyzer here: https://prnt.sc/Qpktp2Ns0bqe
This way each customer only sees products for the analyzers they have access to.
If manually editing each analyzer category becomes too time-consuming at your scale, you could import this data via CSV or create a small custom tool with checkboxes to manage analyzer access per customer - shouldn't be too complex to implement.
2) Ownership-Based Pricing (Owned vs Rented)
For pricing, create 2 groups in B2BKing → Groups: "Owned" and "Rented". When editing each product, you can enter both prices.
Then use a bit of custom code hooking into this filter:
This filter controls which price group a user gets for a specific product. You could store ownership/rental status as user meta (e.g. using ACF to create custom fields per analyzer), and then the code snippet pulls that info to automatically apply the correct price.
3) Global Discount (-10%)
This works nicely on top of the group prices - just set up a simple Dynamic Rule discount that applies the 10% reduction and add specific users to the rule.
Overall I believe this is achievable, though you'll likely want some custom code here and there to make it manageable at your scale. We're happy to support you with technical info, point you in the right direction, or provide small code snippets. However, please note we don't provide custom coding services as a company - if you're working with a developer, I believe this setup shouldn't be too difficult to implement.
Let me know if you have any questions,
Kind regards,
Stefan