Action & Filter Hooks
The suite fires prefixed hooks so you can extend its behaviour. Actions:
| Hook | Arguments | Fired when |
|---|---|---|
catoz_b2b_loaded | $suite | The suite has finished bootstrapping. |
catoz_b2b_quote_submitted | $quote_id, $user_id | A customer submits a quote request. |
catoz_b2b_quote_status_changed | $quote_id, $status | A quote’s status changes (e.g. expired, accepted). |
catoz_b2b_quote_items_updated | $quote_id, $totals | A quote’s line items are saved/recalculated. |
catoz_b2b_quote_accepted | $quote_id | A quote is accepted. |
catoz_b2b_quote_converted | $quote_id, $order_id | A quote is converted to a WooCommerce order. |
catoz_b2b_order_payment_link_sent | $order_id | The native Pay-for-Order email is sent. |
catoz_b2b_registration_approved | $user_id, $reg_id | A registration is approved. |
catoz_b2b_registration_rejected | $user_id, $reg_id | A registration is rejected. |
Filters:
| Filter | Default | Purpose |
|---|---|---|
catoz_b2b_pro_active | false | Whether the Pro add-on is active; the Pro plugin returns true. |
Database Tables
Core tables created on activation (all prefixed with your WordPress table prefix):
{prefix}b2b_quotes— quote records{prefix}b2b_quote_items— quote line items{prefix}b2b_quote_notes— notes attached to quotes{prefix}b2b_pricing_rules— wholesale pricing rules{prefix}b2b_registrations— B2B registration applications{prefix}b2b_analytics_events— tracked analytics events{prefix}b2b_automation_logs— automation action log
Additional tables (leads, saved carts, sales reps, notifications, price books, credit accounts, companies, visibility rules, invoices, and more) are pre-created for the Pro add-on. They remain empty unless Pro is active.
Useful DB Helpers
The Catoz_B2B_DB class exposes helpers for working with quotes, including update_quote_item(), delete_quote_item(), get_quote_item(), and recalculate_quote_totals().
Prefixed Product Meta
_catoz_b2b_moq— per-product minimum order quantity_catoz_b2b_wholesale_price— per-product wholesale price
Overriding Templates
Frontend and email templates live in the plugin’s templates/ directory. To override one, copy it to your theme, preserving the same folder structure:
/wp-content/plugins/codeatoz-b2b-suite-for-woocommerce/templates/rfq/quote-cart.php
→ /wp-content/themes/your-theme/codeatoz-b2b-suite-for-woocommerce/rfq/quote-cart.phpEdit the copy in your theme; the plugin loads it in place of its own version.
JavaScript Data Objects
Localized script objects follow the plugin prefix convention — for example catoz_b2b_front (frontend) and catoz_b2b_analytics (analytics dashboard) — should you need to read AJAX endpoints or nonces from custom scripts.