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, emails, 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 cart and checkout 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 1000 masks at $0.5 price per unit, and 2000 costumes at $2 price 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: 5000 boxes at $0.1 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, in 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 checkbox to also send the offer by email.

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

New Offer Email

Offer Products Dropdown / Text #

By default, you can see 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 product dropdown with textbox.

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

Custom text entries in offers

You can enter any text and price, therefore this is a good way to add any custom fees, services, shipping cost, 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 the permission to see it (they were manually selected, or they are part of a group which has permission), will see the offer in their "My account" sections. B2BKing introduces a dedicated "Offers" section in "My account".

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

Offers can be added to 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 to an offer and you can then enter prices for each item requested.

Offer PDF Documents #

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

PDF Document of an Offer

The logo can be configured through 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 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 Custom Header to Offers PDF #

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 test 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 test 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 test 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 test 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 have a very large size (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 you try 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 link).

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