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
- Connect Stripe (set as top/default) and PayPal using Lucy's credentials
- Enable offline methods: Cash on Delivery and Check Payments with customized instructions
- Direct Bank Transfer: Ask Lucy if she wants this; requires routing/account number from a check
- Do not use WooCommerce Payments
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
- Install the ShipStation WooCommerce plugin and connect via API keys (Lucy's credentials needed)
- B2B orders will be identifiable in ShipStation by the
.bizsite URL and by unusually large order quantities - No separate ShipStation account needed; the site URL in the API integration serves as the identifier
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:
- User Role Manager (create, clone, assign roles)
- B2B Registration Form with custom fields
- Approve New Users workflow + email templates (pending / approved / disapproved)
- Role-Based Product Pricing (fixed price, % discount, tiered/quantity-based)
- Role-Based Shipping Method Restrictions
- Role-Based Payment Method Restrictions
- Product Visibility by User Role
- Order Quantity Min/Max Limits
- Tax Exemption system (certificate upload via custom field)
- Cart Discount Rules
- Quote Management System
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]
Related
- [1]
- [2]
- [3]