Developer Reference

Action & Filter Hooks

The suite fires prefixed hooks so you can extend its behaviour. Actions:

HookArgumentsFired when
catoz_b2b_loaded$suiteThe suite has finished bootstrapping.
catoz_b2b_quote_submitted$quote_id, $user_idA customer submits a quote request.
catoz_b2b_quote_status_changed$quote_id, $statusA quote’s status changes (e.g. expired, accepted).
catoz_b2b_quote_items_updated$quote_id, $totalsA quote’s line items are saved/recalculated.
catoz_b2b_quote_accepted$quote_idA quote is accepted.
catoz_b2b_quote_converted$quote_id, $order_idA quote is converted to a WooCommerce order.
catoz_b2b_order_payment_link_sent$order_idThe native Pay-for-Order email is sent.
catoz_b2b_registration_approved$user_id, $reg_idA registration is approved.
catoz_b2b_registration_rejected$user_id, $reg_idA registration is rejected.

Filters:

FilterDefaultPurpose
catoz_b2b_pro_activefalseWhether 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.php

Edit 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.

Was this article helpful?