wiki/clients/current/doudlah-farms/2025-11-07-b2b-site-backend-working-call.md Layer 2 article Client: Doudlah Farms 1029 words Updated: 2025-11-07
↓ MD ↓ PDF
doudlah woocommerce b2b ecommerce stripe paypal shipstation quickbooks role-based-pricing meeting

B2B Site Backend — Working Call (2025-11-07)

Overview

Working session with Mark, Karly, and Isahaque to finalize the backend configuration of the Doudlah Farms B2B WooCommerce site before soft launch. The session covered payment gateway setup, QuickBooks Online sync, ShipStation integration, role-based management strategy, and a critical decision to rebuild the registration form inside the B2B plugin.

Attendees: Mark Hope, Karly Oykhman, Isahaque Mahmud
Client contact: Lucy (Doudlah Farms)


Key Decisions

1. Registration Form Must Be Rebuilt Inside the B2B Plugin

A custom registration form had been built outside the WooCommerce B2B plugin. This breaks the plugin's core features (role-based pricing, shipping restrictions, approval workflow, email templates). The form must be rebuilt using the plugin's native registration tools.

"If you create something new, it's not going to work. Use the B2B tool because it's got all these features." — Mark

Rebuild process:
1. Use the plugin's default registration fields as the base
2. Add custom fields as needed (e.g., tax exemption certificate upload)
3. Disable user-selectable role during sign-up
4. Enable Approve New Users setting to gate wholesale pricing access
5. Customize the plugin's automated email templates (pending, approved, disapproved)

2. Role-Per-Client Strategy for B2B Management

Rather than managing rules at the individual user level, create a unique WooCommerce user role for each client. This provides granular control over pricing, shipping, and payment terms per account.

Rationale:
- Roles can be cloned for new clients with similar terms
- If a contact leaves a company, the new contact inherits the same role
- Consolidation into broader role tiers is possible later once patterns emerge

Per-role configuration covers:
- Pricing: Unique product prices or tiered/quantity-based discounts
- Shipping: Restrict available methods (e.g., free delivery for local Madison clients)
- Payment: Restrict options (e.g., require prepayment for some accounts)
- Order limits: Enforce minimum/maximum order quantities

Implementation order: Create roles first → configure rules → create user accounts → assign roles → test.

3. Payment Gateways: Stripe + PayPal + Offline Methods

4. QuickBooks Online Sync: MyWorks Sync (~$20–$50/mo)

Lucy uses QuickBooks Online. A 2-way sync plugin is needed to automate accounting. The recommended plugin is MyWorks Sync, selected for:
- Strong review volume (hundreds of 5-star reviews)
- 2-way sync (WooCommerce ↔ QuickBooks Online)
- Features: automatic sync every 5 minutes, product/inventory sync, payment sync, transaction fees, bank deposit sync

Cost: ~$20–$50/month. Requires Lucy's approval and her QuickBooks Online credentials.

5. ShipStation Integration


Soft Launch Plan

Mark Doudlah (client-side) wants to start with ~3 trusted accounts to test the system before broader rollout.

Sequence:
1. Configure all backend systems (payments, ShipStation, QB sync)
2. Clean up Lucy's client spreadsheet (Karly)
3. Create all client-specific user roles (Isahaque)
4. Configure role-based pricing, shipping, and payment rules per role
5. Create user accounts, assign roles, test registration + email flow
6. Invite the 3 soft-launch accounts


Action Items

Owner Task
Karly Connect Stripe + PayPal using Lucy's credentials; set Stripe as default; enable and customize offline payment methods; ask Lucy about Direct Bank Transfer
Karly Evaluate WooCommerce–QuickBooks Online sync plugins; recommend MyWorks Sync to Lucy; obtain QBO credentials
Karly Install ShipStation plugin; obtain Lucy's ShipStation API keys; complete connection
Karly Clean up Lucy's customer spreadsheet (shipping, pricing, payment terms per account)
Karly Read WooCommerce B2B plugin documentation end-to-end
Isahaque Rebuild registration form using B2B plugin native tools (not custom code)
Isahaque Fix SMTP warning in B2B plugin email settings — configure it to use the existing SMTP plugin already installed on the site
Isahaque Read WooCommerce B2B plugin documentation end-to-end
Isahaque Create client-specific user roles from cleaned spreadsheet; configure role-based pricing, shipping, and payment rules; assign users; test

B2B Plugin Feature Reference

Key features confirmed available in the installed WooCommerce B2B plugin:


Relevant Transcript Excerpts

On why the custom registration form must be replaced:

"I think you need to do it all in the B2B Plugin, because all of these features are connected to the plugin. If you create something new, it's not going to work." — Mark [~49:00]

On the role-per-client approach:

"For now, you can set up a user role for each customer if you wanted to, right? … And then what you can do is, I think once you create a user role, you can clone it. So then if you get a new customer that has the same deal, you just clone it and then change the name." — Mark [~27:19]

On preventing unauthorized wholesale price access:

"I don't recommend that [approving at checkout], because if you do that, they can see all the wholesale pricing before they're signed up." — Mark [~36:48]

On ShipStation B2B order identification:

"I see where it says site URL. It says .biz. That's going to be visible in ShipStation. So that's how they're going to know." — Mark [~43:02]