Doudlah Farms operates a B2B wholesale site (WooCommerce) serving grocery co-ops, restaurants, and specialty retailers. Because their customer base spans local Madison-area accounts (delivered by farm truck) to distant buyers requiring freight carriers, a single shipping rule cannot cover all cases. The team settled on a hybrid model with three tiers, configured at the account level in WooCommerce.
This strategy was defined during the [1] November 2025 working session and is being implemented alongside the broader [2].
Accounts that fall on existing delivery routes receive free delivery. No shipping is calculated at checkout; the option is simply set to $0 for those accounts.
Current free-delivery accounts include:
- Metcalfe's (multiple locations)
- Willie Street Co-op
- Epic (multiple contacts)
- Outpost
- Seasonal Harvest
How it works in WooCommerce: Each account is provisioned manually when their wholesale application is approved. The free-delivery flag is set per account, so it cannot be gamed by new customers who happen to share a zip code.
Minimum order for free delivery: ~$200–$300 (to be confirmed with Lucy). Orders below this threshold should be directed to the B2C site.
New wholesale customers who are outside existing delivery routes are assigned a carrier plugin at checkout. Shipping is calculated automatically by weight and destination zip code.
Carrier options under evaluation:
- UPS — has a native WooCommerce plugin; currently experiencing service quality issues (lost shipments, poor claims resolution)
- FedEx — recommended by a UPS employee as a more reliable alternative; plugin availability to be confirmed
- Unishippers — covers both UPS and FedEx under one account; reviews are mixed, but worth evaluating for plugin support
- Speedy (SPEEDEE) — regional Midwest LTL carrier; significantly cheaper than UPS/FedEx for heavier shipments but limited geographic coverage
Action: Karly to research WooCommerce plugins for UPS, FedEx, Speedy, and Unishippers to determine which support real-time rate calculation at checkout.
Special case — The Root Seller (Sun Prairie): Assigned a $50 flat-rate delivery fee. They receive Tuesday delivery but are outside the free-delivery zone.
Orders above roughly 300–800 lbs are too large and variable for automated rate calculation. These are handled manually:
Real example: A 335 lb order to Oak Crepes — UPS quote was $200–$300; Speedy quote was $120, using 12 boxes (2 bags each) on a pallet.
Speedy coverage: Midwest only; does not serve all states. Mark to verify zip code coverage via the Speedy website (speedee.com → service map).
When a new wholesale application is received:
Accounts selected for pre-launch user testing: Seasonal Harvest, Outpost, Truvian.
| Decision | Outcome |
|---|---|
| Free delivery threshold | ~$200 minimum order; below that, redirect to B2C site |
| Shipping plugin carrier | UPS plugin as baseline; FedEx/Unishippers/Speedy to be evaluated |
| LTL carrier preference | Speedy for Midwest; manual quote process |
| FAIR marketplace accounts | Not migrated to B2B site proactively; added only when they request it |
| PayPal auto-transfer | Set to daily to simplify accounting reconciliation |
| Stripe payout cadence | To be confirmed with Mark Hope |