Category: Uncategorized

  • How to Migrate from B2BKing to B2B Suite (Free, Step by Step)

    How to Migrate from B2BKing to B2B Suite (Free, Step by Step)

    B2BKing is one of the most complete B2B plugins for WooCommerce — groups, rules, companies, credit, quotes. That completeness is exactly why switching feels risky: there’s a lot of data, and nobody wants to rebuild a season’s worth of pricing and accounts by hand.

    Good news: you don’t have to. B2B Suite has an importer built specifically to bring a B2BKing store across — groups, buyers, every kind of price rule, quantity rules, tax exemptions, catalogue visibility, companies, credit balances and offers — and it does it as a dry run first, never writing to B2BKing’s own data, and safe to run twice.

    This guide walks the whole move, step by step, using the importer in the free B2B Suite plugin. You can migrate and check your pricing before spending anything.

    TL;DR

    • The importer is in the free plugin: B2B Suite → Settings → Import. Pick B2BKing as the source.
    • It reads B2BKing straight from WordPress storage — its group/rule/offer post types, user meta and post meta — so B2BKing doesn’t need to be active and nothing is ever written back to it.
    • Groups, buyers, approval, all three rule types (percentage / fixed amount / fixed price), per-group product prices and quantity tiers, min/max/multiple quantity rules, tax exemptions, catalogue visibility, payment gating, companies & sub-accounts, credit limits & balances, and active offers all come across automatically.
    • Per-user product prices, shipping-method gating, max-spend caps, custom registration fields and RFQ chat history need a manual step — each is called out by name in the report.
    • Every import is a dry run first; nothing is written until you confirm. Running it again updates instead of duplicating.
    • The free plugin includes one customer group. B2BKing stores usually have several, so run the import with Pro active to bring every group across — and Pro-domain data (companies, credit, quotes, tax) imports now and switches on when you upgrade.

    What the importer actually does

    B2BKing keeps its groups and rules as custom post types, a user’s group on user meta, and its per-product prices on product meta. The importer reads all of it directly from those WordPress tables — which is what makes the move safe:

    It reads, it doesn’t rewrite. The importer only writes into B2B Suite’s own groups, rules and tables. B2BKing’s data is never touched.

    B2BKing doesn’t need to be active. Because everything lives in WordPress storage, the import works whether the B2BKing plugin is switched on or off.

    Every run is a preview by default. You see the groups, customers, rules, companies, credit accounts and quotes it would create, plus a warning for every record it can’t map cleanly. Nothing is written until you confirm.

    Running it twice is safe. The importer records a map of “this B2BKing record became this B2B Suite record,” so a second run updates those records instead of duplicating them — import early, keep selling on B2BKing, re-import at switchover.

    What comes across automatically

    B2BKing is the incumbent B2B Suite maps most completely. In one pass:

    • Customer groups → customer groups. Each B2BKing group becomes a B2B Suite customer group.
    • Buyers, their group and approval state. Every user is placed into the right group, approved or pending as they were.
    • Price rules — all three types. Percentage off, fixed amount off and fixed price, across B2BKing’s who (group / everyone) and what (all products / product / category) dimensions.
    • Per-group product prices & quantity tiers. The prices B2BKing stores on the product itself — including tiered “buy more, pay less” breaks — come across as product rules.
    • Quantity rules. Minimum, maximum and multiple (pack-size) rules, including product-level min/max/step.
    • Group tax exemption → tax-exempt groups.
    • Catalogue visibility. Hide-prices-from-guests, a fully private “B2B mode” catalogue, and per-group hidden categories.
    • Payment method gating → method gating. Which payment methods a group is allowed.
    • Companies & sub-accounts. A parent account becomes the company admin; its sub-accounts become company buyers.
    • Company credit. Credit limits and consumed balances become a credit account with an opening ledger entry.
    • Active offers → quotes. A live B2BKing offer to a customer imports as a quote they can still accept.

    What needs a manual step (and why)

    A short list can’t be mapped automatically — usually because the two plugins model something differently and a blind copy would be wrong. The importer flags each one in the dry-run report:

    • Per-user product prices. B2BKing can price a single product for a single user; B2B Suite’s customer pricing is store-wide (a customer sees their price on everything). Rather than guess, single-user product prices are flagged.
    • Shipping-method gating. B2B Suite gates shipping too, but WooCommerce shipping method ids differ between installs, so the importer asks you to set the shipping allow-lists by hand rather than map ids it can’t be sure of.
    • Maximum order value caps. B2B Suite caps order quantity, not spend, so a max-spend limit is flagged.
    • Standalone credit users. A user with a credit limit but no company has nowhere to attach in B2B Suite’s per-company credit model — flagged so you can create the company first.
    • Custom registration fields. Recreate any extra fields you added to the B2BKing sign-up form.
    • RFQ conversation history. The active offer imports as a quote; the back-and-forth chat behind it doesn’t (low value once the offer itself is across).

    Everything here is surfaced as a named warning with a note on how to finish it — that list is your manual to-do list.

    Where each B2BKing thing lands

    If you think in B2BKing terms, here’s the quick translation. Items marked Pro are Pro features — but the importer still writes them on the free plugin now, and they switch on when you upgrade.

    In B2BKing In B2B Suite How
    Customer groups Customer groups Automatic
    Rules (%, fixed amount, fixed price) Price rules Automatic
    Per-group product prices & tiers Price rules Automatic
    Min / max / multiple quantity rules Quantity rules Automatic
    Group tax exemption Tax-exempt groups Automatic · Pro
    Hidden prices / B2B-mode / hidden categories Catalogue visibility Automatic · Pro
    Payment method restrictions Method gating Automatic · Pro
    Companies & sub-accounts Company accounts & users Automatic · Pro
    Credit limits & balances Net terms & credit Automatic · Pro
    Offers Quotes Automatic · Pro
    Per-user product prices Customer pricing Manual
    Shipping-method restrictions Method gating (shipping) Manual

    One heads-up: full B2B mode

    If your B2BKing store runs in full B2B mode — the whole catalogue hidden from anyone who isn’t a logged-in, approved trade customer — the importer will faithfully carry that across and make your B2B Suite catalogue private too.

    That’s correct, but it’s dramatic, so the dry run calls it out as a heads-up notice (separate from the “couldn’t migrate” warnings) before you commit. If you’d rather open the catalogue up after switching, you can change it under Settings → Access & visibility once the import is done.

    Migrate step by step

    Seven steps, and steps 4–6 are the whole of it.

    Step 1: Install B2B Suite (free)

    Add B2B Suite for WooCommerce from WordPress.org alongside your existing setup. It won’t fight B2BKing yet — you’re only reading data.

    Step 2: Activate Pro (most B2BKing stores will want it)

    The free plugin ships with a single customer group, and much of what makes B2BKing worth migrating — companies, credit, quotes, tax exemptions, catalogue visibility — is Pro-domain. Run the import with Pro active so all of it comes across in one pass. The dry run tells you what it found either way, so you can decide before paying.

    Step 3: Open Settings → Import and choose B2BKing

    Go to B2B Suite → Settings → Import. The importer detects B2BKing’s stored data automatically. Choose it as the source.

    Settings → Import: B2B Suite detects B2BKing and marks it “Ready to import.”

    Step 4: Run the dry run

    This writes nothing. You get a full report: the groups, customers, rules, companies, credit accounts and quotes it will create, plus a warning for every record it can’t map cleanly.

    Step 5: Read the report — the heads-up and the warnings

    Skim the counts to confirm they match your store. Then read the heads-up notices (like a private catalogue) and the couldn’t-migrate list — that’s your short manual to-do list.

    The dry run reports exactly what it will create — and names anything it can’t map.

    Step 6: Commit

    Happy with the preview? Confirm, and the same import runs for real. Because it records a source-to-created map, you can safely re-run it later to pick up anything that changed on B2BKing in the meantime.

    Step 7: Switch the storefront over

    Once your prices check out (next section), deactivate B2BKing so only one plugin is resolving prices. Keep it installed-but-off for a while — that’s still your instant rollback.

    Check your prices before you switch

    Three checks, about five minutes, and you’ll know the migration is right before a real buyer does.

    1. Check a price. In Pricing → Check a price, enter a product whose trade price you already know and a customer from an imported group. The tool shows the full precedence trail — which rule won and why — so you can watch the imported rule do its job.
    2. View as customer. Use view-as-customer on a real imported buyer and walk the shop, cart and checkout. Confirm all three agree on the number. (B2B Suite resolves prices through one pipeline covering both the classic checkout and Cart & Checkout Blocks, so a correct price is correct everywhere.)
    3. Clear the warnings. Work down the dry-run warning list and recreate the handful of items that needed a manual step.

    Rolling back

    Because nothing was ever written back to B2BKing, rollback is simple: deactivate B2B Suite, reactivate B2BKing. Your old store is exactly as you left it — which is why it’s safe to run the import, even the real committed one, on a live store.

    FAQ

    Does B2BKing have to stay active during the import?

    No. The importer reads B2BKing’s data from WordPress storage directly, so it works whether the plugin is active or not. Most people leave it on until they’ve verified prices, then switch it off.

    Will importing change or delete anything in B2BKing?

    Never. The importer is read-only towards B2BKing — it only writes into B2B Suite’s own tables. That’s exactly why deactivating B2B Suite restores your previous setup.

    Does it really bring across companies and credit?

    Yes. Company accounts and their sub-users come across, and each company’s credit limit and current balance become a B2B Suite credit account with an opening ledger entry. (A user with credit but no company is flagged, since B2B Suite’s credit is per-company.) These are Pro features, so run the import with Pro active to bring them over.

    Do I need Pro to migrate?

    You can migrate and verify basic pricing on the free plugin. But B2BKing stores usually have several groups and lean on Pro-domain features (companies, credit, quotes, tax, visibility), so most will want Pro active during the import. Even then, everything imports on the free plugin and simply activates when you upgrade.

    My whole B2BKing catalogue is hidden from the public. What happens?

    The importer carries that across and makes your B2B Suite catalogue private too, and it warns you before committing. You can reopen the catalogue afterwards under Settings → Access & visibility.

    Can I import, keep selling, and re-import later?

    Yes — that’s the recommended way to switch a busy store. The importer maps each source record to what it created, so a second run updates instead of duplicating. Import early, keep taking orders on B2BKing, then re-import right before you flip the storefront over.

    Conclusion

    B2BKing holds a lot — groups, rules, product prices, companies, credit, offers — and the reason migrations feel scary is the fear of leaving some of it behind. The B2B Suite importer is built precisely so you don’t: it reads all of it, shows you exactly what will land in a preview you approve, names the few things it can’t map, and never touches B2BKing so the door back stays open.

    Get B2B Suite free on WordPress.org and run the dry run on your own store today. Need help? The docs cover every setting, and support is here if you get stuck.

  • How to Hide Prices in WooCommerce Until Login (Free, Step by Step)

    How to Hide Prices in WooCommerce Until Login (Free, Step by Step)

    Many B2B and wholesale stores don’t want the public to see their prices. Maybe your wholesale prices are private. Maybe you only want approved trade buyers to order. Either way, the goal is the same: hide the price and the “add to cart” button until a buyer logs in.

    WooCommerce can’t do this on its own. Every product shows a public price and a public buy button by default. So you need to add a gate: hide prices from visitors, let businesses apply for a trade account, approve the ones you want, and give approved buyers their wholesale pricing.

    This guide shows you how to hide prices in WooCommerce until login — step by step, using the free B2B Suite plugin. You don’t need Pro for any of it.

    TL;DR

    • WooCommerce shows all prices in public by default. To hide them, go to B2B Suite → Settings → General and turn on “Hide prices from people who aren’t logged in.”
    • Also tick “Also hide the add-to-cart button” so visitors can’t order at a price they never saw. This is WooCommerce catalog mode.
    • Prices are hidden everywhere — shop pages, search results, the product API, and the structured data search engines read. Not just the shop page.
    • Turn on “Let businesses apply for a trade account,” paste the registration shortcode [smb2b_registration] on a page, and choose which group approved buyers join.
    • New applicants see normal retail prices until you approve them under Customers → Applications. Approve by hand (the safe default) or auto-approve. Approved buyers then get your wholesale pricing.
    • All of this is free on WordPress.org. You do not need Pro to run a login-to-see-prices store.

    How the price gate works

    Before you touch a setting, it helps to know how B2B Suite decides who sees what. There are three kinds of visitor:

    1. Not logged in (the public). If you turn the setting on, they see no price and no buy button — just a message you write.
    2. Logged in, not yet approved. They have an account, so they see your normal retail price. They don’t get wholesale pricing until you approve them.
    3. Logged in and approved. They’re in a B2B group, so they see your wholesale pricing.

    So “hide prices until login” and “wholesale pricing after approval” are two separate layers. This guide sets up both. Everything is in one place: B2B Suite → Settings → General.

    The two cards you’ll use: “Prices for visitors” and “B2B registration,” both on Settings → General.

    Step 1: Hide prices from visitors

    In your WordPress admin, go to B2B Suite → Settings → General and find the Prices for visitors card.

    Turn on these two options:

    Hide prices from people who aren’t logged in. This is the main switch. Trade prices stay private until someone has an account. (Remember: any logged-in customer still sees a price, so this hides prices from the public, not from your buyers.)

    Also hide the add-to-cart button. Tick this too. It stops visitors adding items they can’t see a price for. Hiding the price but leaving the buy button is a classic mistake that creates support tickets.

    One thing that makes this safe: prices are hidden everywhere, not just on shop pages. Search results, the product API, and the structured data that search engines read are all covered — so a hidden price doesn’t leak out a side door.

    Save your changes. Then open your shop in a private or incognito window so you see it as a guest. The prices and buy buttons should be gone, replaced by the message you’ll set in Step 4.

    Tip: Want to hide prices for only some products or categories, not the whole store? Look under Settings → Access & visibility. (Hiding whole categories from certain buyers — a private catalogue — is a Pro feature. Hiding prices is free.)

    Step 2: Turn on trade registration and add the form

    Hiding prices only works if buyers have a way to apply. On the same Settings → General page, find the B2B registration card.

    Let businesses apply for a trade account. Turn this on. Applicants see your normal retail prices until you approve them.

    Approve new applicants automatically. Leave this off unless you really want open access. Off means every application waits for you to review it by hand — which is the whole point of a gated trade store.

    Group new applicants join when approved. Pick the B2B group approved buyers land in — for example, “Wholesale.” That group is where their wholesale pricing comes from. (You can still change the group per applicant when you approve.)

    Add the form to a page. B2B Suite gives you a shortcode:

    [smb2b_registration]

    Create a “Trade Account” or “Apply for Wholesale” page, paste the shortcode, and publish. Link that page from your menu and from the “log in to see price” message. Paste the shortcode into a Shortcode block (or a Custom HTML block) and it renders the full application form.

    Keep the form short — every extra field loses you some real applicants. For most trade stores, company name, VAT or tax ID, phone and address are enough.

    Turn on trade registration, choose the approved group, and copy the shortcode.

    Step 3: Approve or reject applications

    This step turns your shop into a real gate, not an open door.

    When someone applies, their account is created but stays unapproved, so they only see retail prices. Their application shows up under Customers → Applications on the Trade applications screen, sorted into Waiting, Approved and Rejected tabs. New ones sit in Waiting.

    Each row shows the applicant and the business details they sent — company name, VAT or tax ID, phone and address — so you can decide at a glance. For each one:

    • Approve — this adds them to the B2B group you chose in Step 2, and from that moment they see your wholesale pricing.
    • Reject — for the ones that aren’t a fit.

    Here’s the full journey: a visitor lands on your shop, sees no prices, applies with their business details, waits for you to approve, and then sees your wholesale prices and can order. That’s a proper login-to-see-prices B2B store — built with the free plugin.

    Approving a new trade account moves the buyer into your wholesale group.

    Step 4: Write the message visitors see

    Don’t skip this. It’s the difference between a shop that looks locked and one that looks broken.

    Back in the Prices for visitors card (Step 1), there’s a field: “What visitors see instead of the price.” This is what shows up where the price used to be.

    If you leave it empty, B2B Suite shows “Log in to see prices,” already linked to the account page. Or write your own. Basic HTML is allowed, so you can link straight to your trade-account page:

    Log in to your trade account to see wholesale pricing.

    A good message tells the visitor exactly what to do next, so a hidden price becomes a reason to register instead of a dead end.

    Now test the whole thing end to end in an incognito window: land as a guest → see the message → click through to apply → submit the form → approve yourself in the admin → refresh and check that prices now show. Five minutes, and you’ll catch any problem before a real buyer does.

    What a guest sees instead of a price.

    Common mistakes to avoid

    • Hiding the price but not the buy button. Buyers order at a price they never saw. Tick “Also hide the add-to-cart button” too.
    • Leaving the message empty (or blank). “Log in to see prices” is fine, but a message linked to your registration page converts far better than a dead end.
    • Auto-approving everyone. If every sign-up is approved instantly, you don’t have a gate. Keep “Approve new applicants automatically” off unless you want open access.
    • A long registration form. Every field you don’t need loses real buyers. Ask only for what you need to approve them.
    • Never testing as a guest. What you see as an admin is not what the public sees. Always check in a private window.

    FAQ

    Does “hide prices from people who aren’t logged in” also hide them in search and the API?

    Yes. B2B Suite hides prices everywhere — shop pages, search results, the product API, and the structured data search engines read — so a hidden price doesn’t leak out a side door.

    Do logged-in customers still see a price before I approve them?

    Yes. Any logged-in customer sees your normal retail price. Approval doesn’t unlock a price — it moves the buyer into a B2B group so they see your wholesale price.

    Do I need Pro to hide prices until login?

    No. Hiding prices, the “also hide add-to-cart” option, the trade registration form, and approving applicants are all in the free plugin on WordPress.org. Pro adds extras like a fully private catalogue and multiple customer groups.

    Does this hide prices in the block checkout too?

    Yes. B2B Suite controls prices and visibility through one pipeline that covers both the classic checkout and Cart & Checkout Blocks. A gated product stays gated everywhere.

    Can I hide prices for only some products or categories?

    Yes — look under Settings → Access & visibility. Hiding whole categories from certain buyers (a private catalogue) is a Pro feature; hiding prices is free.

    Where do I put the registration form?

    Paste the [smb2b_registration] shortcode onto any page — a “Trade Account” or “Apply for Wholesale” page works well. It renders the full application form.

    Conclusion

    Hiding prices in WooCommerce isn’t one switch. It’s a small, simple system: hide the numbers from the public, let businesses apply, approve the buyers you want, and give approved accounts your wholesale pricing. Done right, a hidden price stops being a wall and becomes a reason to register.

    Every step here runs on the free B2B Suite plugin. And if you’re hiding prices, you’re building a trade channel. When your buyers start needing more price tiers, company accounts, or pay-on-account terms, Pro picks up where the free plugin leaves off — same data, same pricing pipeline.

    Get B2B Suite free on WordPress.org and set up your login-to-see-prices store today. Need help? The docs cover every setting, and support is here if you get stuck.