wiki/knowledge/ecommerce-strategy/doudlah-farms-b2b-woocommerce-workflow.md Layer 2 article 1063 words Updated: 2026-04-05
↓ MD ↓ PDF
doudlah-farms b2b woocommerce shipstation ecommerce wholesale payment-tracking

Doudlah Farms B2B WooCommerce Workflow

Technical documentation of the B2B WooCommerce site built for Doudlah Farms, covering ShipStation integration, custom carrier configuration, Net 30 payment tracking, subscription requirements, and order fulfillment process. Decisions and requirements captured from the December 2025 review call.

Overview

The B2B site allows wholesale customers (restaurants, co-ops, food hubs, etc.) to log in, browse the product catalog with account-specific pricing, and place orders. Orders flow automatically into ShipStation. The primary operational challenges are (1) marking manual/non-carrier shipments as fulfilled without a tracking number, and (2) tracking payment status for Net 30 accounts.

Related client: [1]


Site Architecture


Product Catalog & Pricing Notes

Format Case Size Notes
1 lb / 1.5 lb bags 12 units Standard case
5 lb bags 6 units Short case
25 lb bags Variable (max 80/pallet) Pallet pricing available on request

Pallet pricing (25 lb bags only): The 25 lb bag is the only SKU where pallet volume meaningfully reduces per-unit handling cost. Smaller bag sizes carry the same cost of goods regardless of quantity. Pallet max is 80 bags (≈ 2,000 lbs) due to weight and height constraints. Pallet pricing is not yet built into the site — customers should call to arrange. Consider adding a note on the 25 lb product page directing customers to call for pallet quotes.


ShipStation Integration

How Orders Flow

  1. Customer places order on B2B WooCommerce site
  2. Order appears automatically in ShipStation (no manual import needed)
  3. Sherry or Jason fulfills the order and marks it as shipped in ShipStation
  4. ShipStation sends a shipment confirmation to the customer

The Carrier Problem

ShipStation requires a tracking number when marking an order as shipped. Doudlah Farms uses two fulfillment methods that do not generate a ShipStation-native tracking number:

Method Abbreviation Description
Doudlah Farms Transport DFT Farm's own truck fleet (separate LLC); delivers to Madison-area accounts every Tuesday
Amazon Multi-Channel Fulfillment MCF Orders placed manually in Amazon Seller Central; tracking not automatically passed back

Interim Workaround

When marking an order as shipped via Other Actions → Mark as Shipped, select "Other" as the carrier. ShipStation will accept the shipment without requiring a tracking number.

⚠️ Do not archive orders to clear them — archiving makes them harder to locate if a payment dispute arises later.

Long-Term Goal: Custom Carriers

Add DFT and MCF (or AMZ) as named custom carriers in ShipStation settings. This provides clarity for Jason in the warehouse (distinguishing fulfilled-by-truck from fulfilled-by-Amazon) and eliminates ambiguity in the shipped-orders view.

Action owner: Karly — investigate ShipStation's "Add Carrier" or custom carrier settings; confirm whether named custom carriers bypass the tracking number requirement.


Payment Tracking (Net 30)

The Problem

Wholesale customers operate on Net 30 terms. Some pay by ACH (automatic, with email confirmation), some by check (manual, delayed). Without a system to track payment status, invoices can go unpaid for months — as happened with Wisconsin Food Hub (7-month payment gap discovered only after manual reconciliation of bank statements and invoices).

Solution: WooCommerce Order Statuses

WooCommerce order statuses serve as the payment ledger for B2B orders. Sherry manually updates the status when payment is received.

Relevant statuses:
- Pending Payment — order placed, payment not yet received
- Processing — order being fulfilled
- Completed — fulfilled and paid
- Custom status Paid can be added if needed

Workflow:
1. Order placed → status defaults to Pending Payment
2. Order fulfilled → Sherry (or Jason) marks shipped in ShipStation; status updated to Processing
3. Payment received (check, ACH notification, or online) → Sherry manually updates status to Completed / Paid in WooCommerce

Partial payments: Handle on a case-by-case basis. No automated partial-payment tracking is in scope at this time.

What Was Ruled Out


Subscription / Recurring Orders

Some wholesale customers (e.g., Oak Crepes Cafe) want standing recurring orders (e.g., first Tuesday of every month). Currently Sherry tracks these manually, which creates risk of missed shipments.

Desired behavior: Customers can set a recurring order interval (weekly, bi-weekly, monthly, custom), skip a delivery, or modify quantities — similar to Chewy's subscription model.

Status: Developer was consulted previously; outcome unclear. Karly to follow up with developer to confirm feasibility and implementation path.

Action owner: Karly — confirm subscription feature availability with developer; update Sherry on timeline.


Testing & Rollout

Test User Setup

A dedicated test login should be created so Sherry can walk through the full ordering experience as a wholesale customer. Initial plan: Sherry places a test order on behalf of Outposts to validate the end-to-end flow.

Action owner: Karly — create test login and send credentials to Sherry.

Initial Test Accounts

The following accounts were invited to test the site during the Q4 2025 soft launch. None placed orders, likely due to holiday season priorities. Expect real usage to begin January 2026.


Open Action Items

Action Owner Status
Create test login for Sherry; Sherry places Outposts test order Karly Open
Confirm B2B → ShipStation order flow is correctly configured Karly Open
Investigate adding DFT and MCF as custom carriers in ShipStation Karly Open
Confirm subscription/recurring order feature with developer Karly Open
Update B2B site bag image (new bag design) Karly Open