Going further

Advanced Usage

Once the basics are working, these are the settings that let you tune CrewCommerce to how a specific company or store actually operates.

Different approval terms per company Pro

Your site-wide order value threshold (in Settings) is a default, not a rule every company has to follow. From a company's detail page in WP Admin, you can set a custom threshold just for that company — useful for a long-standing account you trust with a higher limit, or a new account you want to keep on a tighter one.

Company detail page showing an approval threshold override field
Clear the override any time to fall back to the site-wide default.

Requiring two levels of approval Pro

For higher-stakes purchases, turn on Multi-Level Approval in Settings. Instead of the first available Manager or Admin approving an order, it requires a Manager to approve first, then an Admin to approve after — a genuine second sign-off, not just a formality.

Extending approval rules to Managers

By default, only Requesters' orders are checked against your approval rules. If you want Managers held to the same standard — for example, a Manager shouldn't be able to place a huge order without their own Admin knowing — add "Manager" under Apply Rules To in Settings. Admins can never be included; they're always exempt. A Manager's order goes to another Manager, or to the company Admin if there isn't one — never back to them.

Writing your own "held for approval" message

When a Requester places an order that needs approval, the order confirmation page tells them it's waiting and names their approver. You can replace that wording in Settings under Checkout Notice (Requester) — useful if you want to set expectations ("approvals usually take a day") or point customers to a specific contact.

Mapping your own offline payment gateway

After approval, an order paid by cash on delivery, bank transfer or check moves on the way it would have at checkout, and anything else is treated as an online payment: it waits in Pending payment and the Requester is sent a link to pay (see Payment after approval). If you use another offline gateway — a purchase-order or pay-by-invoice plugin, say — a developer can tell CrewCommerce which status its orders should go to instead:

add_filter('crewcommerce_status_after_approval', function ($status, $order) {
    if ($order->get_payment_method() === 'your_gateway_id') {
        return 'on-hold'; // or 'processing'
    }
    return $status;
}, 10, 2);

Tuning escalation reminders Pro

The number of hours before an untouched approval gets a reminder email (and, after twice that long, copies in the store owner) is set in Settings under Reminder for Stale Approvals. Shorten it for a store where fast turnaround matters; lengthen it — or set it to 0 to disable reminders — for lower-volume stores where they'd just add noise.

Restricting specific product categories Pro

Categories you check under Restricted Product Categories always require approval, no matter the order total. Use this for anything that needs a second pair of eyes regardless of price — controlled inventory, high-liability items, or anything you simply want tracked more closely than the rest of your catalog.

Auditing what's happened Pro

The Activity Log filters by company, action type, and date range — useful for pulling together a record if a customer disputes who changed what, or when a particular role change happened.

Activity Log filtered by company, action and date
Multisite stores If your WordPress install is a multisite network, companies and team memberships are separate per site — a customer's business account on one site doesn't carry over to another, even under the same network login.