mkc_b2b
No security coverage
MonkeysCommerce: B2B Suite
Enterprise B2B functionality for MonkeysCommerce — company accounts, corporate hierarchies, purchase orders, request-for-quote workflows, contract pricing, and cXML/OCI PunchOut integration.
Entities
Entity Description Company Corporate account with billing info, tax exemption status, and credit limits CompanyUser Maps Drupal users to companies with roles (buyer, manager, admin) Quote Price-negotiable carts submitted by buyers for sales team review PurchaseOrder PO-based checkout for approved companies ContractPriceList Customer-specific or tier-based pricing overrides ApprovalPolicy Configurable approval chains with spending thresholdsServices
Service ID Descriptionmkc_b2b.company_manager
Company CRUD, user assignment, hierarchy management
mkc_b2b.approval_service
Multi-level approval workflows with configurable spending thresholds
mkc_b2b.quote_service
Quote lifecycle: request → review → counter → accept/reject
mkc_b2b.contract_price_resolver
Resolves contract or tiered pricing for the logged-in company
mkc_b2b.punchout_session_manager
Manages cXML and OCI PunchOut sessions
mkc_b2b.cxml_handler
Parses and responds to cXML PunchOutSetupRequest messages
mkc_b2b.oci_handler
Handles OCI (SAP SRM) PunchOut callbacks
Admin Pages
/admin/commerce/b2b— B2B dashboard overview/admin/commerce/b2b/settings— Module configuration
Customer Portal
/account/company— Company profile and users/account/company/quotes— View and manage quotes/account/company/quotes/{id}— Quote detail
API Endpoints (17)
Method Path Description GET/api/v1/b2b/company
Current user's company
GET
/api/v1/b2b/company/users
Company user roster
GET
/api/v1/b2b/quotes
List quotes
POST
/api/v1/b2b/quotes
Submit a new quote request
POST
/api/v1/b2b/quotes/{id}/accept
Accept a quote
POST
/api/v1/b2b/quotes/{id}/reject
Reject a quote
GET
/api/v1/b2b/approvals
Pending approval requests
POST
/api/v1/b2b/approvals/{id}/approve
Approve a purchase
POST
/api/v1/b2b/quick-order
Bulk SKU-based cart creation
POST
/api/v1/b2b/reorder/{order_id}
Reorder from a previous order
PunchOut Integration
POST /mkc/punchout/cxml— cXML PunchOutSetupRequest handlerPOST /mkc/punchout/oci— OCI (SAP SRM) callback handlerPOST /mkc/punchout/complete— Cart transfer back to procurement system
Features
- Company Accounts & Roles: Multi-user companies with buyers, managers, and admins — each with configurable spending limits.
- Tiered & Contract Pricing: Assign price lists to specific companies or customer tiers. Prices resolve automatically at cart time.
- Purchase Orders: Allow vetted B2B customers to checkout with PO numbers instead of credit cards.
- Request for Quote (RFQ): Buyers submit carts as quotes; sales teams counter-offer or approve directly from admin.
- Approval Workflows: Configure spending thresholds — orders exceeding limits are routed to managers for approval.
- Quick Order: Paste SKU lists for fast bulk ordering — no catalog browsing needed.
- Reorder: One-click reorder from order history.
- cXML/OCI PunchOut: Integrate with SAP Ariba, Coupa, and other e-procurement platforms.
Installation
composer require drupal/mkc_b2b drush en mkc_b2b -y
Requirements
- Drupal 11.3+ or 12, PHP 8.2+
- MonkeysCommerce with mkc_core, mkc_catalog, mkc_cart, mkc_order enabled
Built with ❤️ by MonkeysCloud — empowering next-generation digital experiences.