What Are Offers? #

B2BKing introduces an "Offers" functionality, through which you can create Bundles / Quotes, selling specific items and quantities at specific prices. These offers can be made available to specific users, email addresses, or customer groups.

Offers can be emailed or downloaded as PDF files with your company's logo. Once a customer has received an offer, they can simply add it to their cart and check out directly.

Usage Examples

  • When a B2B customer sends a quote request, you can respond with an offer.
  • You can create a "Halloween" bundle offer of 1,000 masks at $0.50 per unit and 2,000 costumes at $2.00 per unit. You can make this available to all users in the "Resellers" customer group.
  • You can negotiate prices with a specific customer and make an offer for them: 5,000 boxes at $0.10 per unit. You can make this offer available exclusively to that customer, who will be able to see the offer in their "My Account" section.
Offer in My Account Section

How to Create an Offer #

Offers can be created in the admin backend under B2BKing -> Offers. There you can add individual items, quantities, and unit prices, and then save the offer:

Creating an offer in B2BKing's Offers admin backend

For each offer, it is possible to configure:

  • Items and prices
  • Group visibility (which customer groups can see the offer)
  • User visibility (which users or email addresses can see the offer)
  • Offer custom text (a description of the offer)

When creating an offer, you can enable the "Send this offer by email" checkbox so that customers receive an email copy of the offer.

Enable the checkbox to also send the offer by email.

When enabled, customers will receive an email such as the following:

New Offer Email

Offer Products Dropdown / Text #

By default, you will see a product selector dropdown when configuring an offer:

It is possible to replace this with a text box by disabling the setting in B2BKing -> Settings -> Quotes & Offers -> "Show products selector in offers".

Replace the product dropdown with a text box.

Once this has been set, you can enter text instead of selecting products from a dropdown:

Custom text entries in offers

You can enter any text and price, making this a good way to add custom fees, services, shipping costs, etc.

If you want to use text boxes but still connect specific products (e.g., so that they are automatically retrieved and their stock quantities are synced), you can enter them as "product_1234" where 1234 is the product ID:

Connecting a product ID while using text fields for offers

How Customers View Offers #

Once an offer has been created, users with permission to see it (either manually selected or part of a group that has permission) will see the offer in their "My Account" section. B2BKing introduces a dedicated "Offers" section in "My Account."

How an individual offer appears to a user in the "Offers" section of their account

Offers can be added to the cart and purchased directly:

How an offer appears in the cart.

Responding to Quote Requests #

When a customer sends a quote request, you can respond to it by using the "Make Offer" button:

This will convert the quote request into an offer, and you can then enter prices for each item requested.

Offer PDF Documents #

Users can download PDF files of your offers, and the documents can also include your company's logo in the header.

PDF Document of an Offer

The logo can be configured through the offer settings in B2BKing -> Settings -> Quotes & Offers:

Offers PDF Logo Setting

Offer Shortcodes #

[b2bking_offers] – Adds the offers page anywhere.

[b2bking_offers id=1234] – Adds an individual offer anywhere on the site. For example, you can use this to add an offer to a product's description, advertising a bundle that the product is part of.

To get an offer's ID, go to B2BKing -> Offers in the backend and click on the offer. The number in the URL (e.g., ?post=1234) is the ID of the offer.

Add a Custom Header to Offer PDFs #

It is possible to add a custom header row to the offer PDFs by using one of the following code snippets:

Center-Aligned Line 1

add_filter('b2bking_custom_content_offer_pdf_center_1', function($text){
	$text = 'Your custom content and text here';
        return $text;
}, 10, 1);

This can be used to display a header like this one:

Center-Aligned Line 2:

add_filter('b2bking_custom_content_offer_pdf_center_2', function($text){
	$text = 'Your custom content and text here';
        return $text;
}, 10, 1);

Left-Aligned Line 1:

add_filter('b2bking_custom_content_offer_pdf_left_1', function($text){
	$text = 'Your custom content and text here';
        return $text;
}, 10, 1);

Left-Aligned Line 2:

add_filter('b2bking_custom_content_offer_pdf_left_2', function($text){
	$text = 'Your custom content and text here';
        return $text;
}, 10, 1);

Issues with Japanese, Korean, Chinese, Thai, Arabic, etc. Text in PDFs #

If you use text with a non-Latin script, you may see that characters appear like this in PDF documents:

This happens because the PDF generation library does not include all fonts by default. Such fonts can be very large (e.g., 20+ MB), which is why we cannot include them directly with the B2BKing plugin.

To solve this, you can use a PHP code snippet to link to a custom font.

We recommend trying the Sun-ExtA.ttf font, as it resolves the vast majority of issues with Arabic, Korean, Thai, Japanese, etc.

After downloading the above font, upload it to your site (or any other accessible location).

Then add this PHP code snippet to your site:

add_filter('b2bking_pdf_downloads_font', function($font_url){
    $font_url = 'http://site.com/wp-content/uploads/2023/11/Sun-ExtA.ttf';
    return $font_url;
}, 10, 1);

You need to set the $font_url variable to your own font link.

It should then work to display the custom scripts in PDFs:

Powered by BetterDocs