B2B Essentials Pack: setup and help

Quick start

  1. Install the five component ZIPs on PrestaShop 1.7 or later and open each Configure screen.
  2. Create customer groups for trade approval, invoice-term access and optional VAT segmentation.
  3. Select Trade Customer Group and submit then approve a test application.
  4. Configure EU VAT Checker, including When VIES is unavailable and Exempt domestic VAT, and verify a test cart tax decision.
  5. Assign the approved group to an active Payment Terms record and save Credit Limits per Group.
  6. Configure Tax Display Switcher labels and test both display methods.
  7. Create a loyalty tier with a qualification rule and benefit, rebuild prices and configure its Scheduled maintenance URL.
  8. Place a controlled invoice order and confirm due date, credit balance, tax amounts and loyalty processing.

Requires PrestaShop 1.7 or later and PHP 7.1 or later.

Setup manual

Install and prepare the workflow

Install the five component ZIPs separately through Modules > Module Manager > Upload a module. The pack includes EU VAT Number Checker, Trade Account, Payment Terms, Tax Display Switcher and Loyalty Discounts. Open each module with Configure. Payment Terms requires PrestaShop 1.7 or later.

Create customer groups for trade approval, optional VAT segmentation and invoice-term access. Use your actual group IDs. A trade application, a valid VAT decision, invoice eligibility and a loyalty tier are separate decisions. Configure and test each one before combining them.

Configure EU VAT validation and exemption

Open EU VAT Checker's configuration page.

Setting Default What you do
Enable module Yes Enable validation and the module tax workflow.
Live AJAX validation Yes Check numbers in supported address/account/checkout forms.
Cache duration (hours) 24 How long a VIES result is reused. Use 0 to validate on each checkout request; payment uses the decision saved for the cart.
When VIES is unavailable Accept the VAT number (re-check later) Accept and Skip apply only when VIES failed on a recent attempt and the number passed an earlier check within the retention limit. Reject removes the exemption.
Maximum outage retention (days) 30 How long, from 1 to 365 days, an earlier successful VIES check can be reused during an outage.
Require VAT for companies No Require VAT when the company field is filled.
Show company info from VIES Yes Show returned company name/address.
Exempt domestic VAT No Leave off unless you deliberately permit domestic exemption.
Assign validated customers to a group No Optional segmentation; this does not decide tax exemption.
Validated B2B customer group 0 Select an existing customer group if segmentation is enabled.

Use country-prefixed numbers such as DE123456789 or FR12345678901 as format examples only; they are not valid test credentials.

The module applies the VAT exemption through a tax manager when the address, cart and country rules allow it. Eligibility depends on the tax address PrestaShop selects, the seller and delivery countries and a valid VAT number. Non-EU deliveries and multi-address carts remain taxable. Native VAT management (VATNUMBER_MANAGEMENT) blocks the module's exemption and shows a warning; follow its Repair guidance instead of using the native exemption, which applies without a VIES check.

Validation depends on VIES being available. Even with the outage setting on Accept, a first-time customer whose number has never passed a VIES check does not get the exemption. Check the module's validation and order diagnostics and the actual tax amounts on the order.

Configure trade account applications

Open Trade Account Configuration. General contains the group and policy switches, Requirements contains required-field switches, and Notifications contains email preferences.

  • Enable Module. Turns the customer account link and application page on or off; default: 1.
  • Trade Customer Group. Selects the customer group assigned after approval; default: 0. Create your wholesale group in PrestaShop first, then select it in the module's General tab.
  • Auto-Approve Applications. Approves new applications immediately after submission instead of leaving them pending; default: 0.
  • Tax Exempt for Trade Customers. Stores a tax-exempt preference for trade customers; default: 0. Saving this setting does not change storefront taxes.
  • Minimum Order Amount. Stores a minimum order value for trade customers; default: 0. Saving this setting does not enforce a minimum during checkout.
  • Require Company Name. Shows the company name field on the application form and makes it mandatory; default: 1. When disabled, the built-in storefront template does not show a company name field.
  • Require VAT Number. Makes the VAT number mandatory on the application form; default: 0.
  • Require Trade References. Shows the trade references field on the application form and makes it mandatory; default: 0. When disabled, the built-in storefront template does not show a trade references field.
  • Email Admin on New Application. Stores whether admins should be notified about new applications; default: 1. The module sends these notifications when the option is enabled.
  • Email Customer on Status Change. Stores whether customers should be notified after approval or rejection; default: 1. The module sends these notifications when the option is enabled.

Tax Exempt for Trade Customers and Minimum Order Amount do not change taxes or enforce a checkout minimum. EU VAT Checker handles tax exemption separately. The two email preferences control application notifications.

Ask the customer to sign in and open Trade Account in My Account. Company and trade-reference fields are hidden when their respective required switches are off. VAT remains available when optional. The fixed business types are retailer, wholesaler, distributor, manufacturer and other. No custom fields or document uploads are provided.

Open Trade Account Applications to review details, add admin notes and approve/reject, individually or in bulk. A configured positive group ID is added on approval and becomes the customer default group. Any existing application, including a rejected one, causes the built-in page to show status instead of a fresh form. Rejection does not reverse previous group membership.

Configure invoice payment terms

Open Payment Terms Configuration. Enable Module, Show Due Date and Show in Customer Account all default to Yes.

Open Payment Terms > Terms. Install creates Due on Receipt, Net 15, Net 30, Net 60 and Net 90. Edit a term's Name, Description, Payment Days, Color, Customer Groups and Active. Payment Days 0 means due on receipt. Select the groups allowed to use each active term.

Open Customers and set Credit Limits per Group. A missing/zero limit means unlimited only when the calculated maximum across the customer's group rows is zero. The current service uses the highest numeric group limit; a zero in one group does not override a positive limit in another. Click Save Credit Limits.

At checkout, an eligible customer sees Pay by Invoice and selects a payment term. The module checks the customer’s allowed groups and compares unpaid deferred orders plus the new cart total with the credit limit. It creates an order in Awaiting Deferred Payment, records the amount and due date, and opens the order confirmation.

Use Pending Payments to review due dates and mark received payments. Deferred records include amount, paid status/date and notes. Recording a payment here matters for the outstanding-credit calculation. Test your shop's currencies and group memberships before using a credit limit as a commercial control.

Configure tax display

Open Tax Display Switcher Configuration.

  • Enable Tax Switcher. Enables the front-office switcher; default: 1. Set in Tax Display Switcher settings.
  • Widget Style. Chooses toggle, buttons, or dropdown; default: toggle.
  • Default Display. Uses group, incl, or excl when no visitor preference exists; default: group.
  • Cookie Expiry (days). Controls how long the visitor preference is remembered in mpr_tax_display; default: 90.
  • Show Price Suffix. Shows labels such as incl. VAT or excl. VAT next to prices; default: 1.
  • Incl. VAT label. Multilingual label for tax-included display; default: Incl. VAT.
  • Excl. VAT label. Multilingual label for tax-excluded display; default: Excl. VAT.
  • Incl. VAT suffix. Multilingual price suffix for tax-included prices; default: incl. VAT.
  • Excl. VAT suffix. Multilingual price suffix for tax-excluded prices; default: excl. VAT.

Choose the desired shop/group/all-shops configuration context before saving. Labels are multilingual. The widget renders through navigation/top hooks and supports toggle, buttons and dropdown. Its mpr_tax_display cookie records the visitor choice for the configured lifetime. Display switching changes the presentation method; it does not itself establish VAT exemption.

Theme hooks include displayNav1, displayNav2, displayTop, displayHeader and displayProductPriceBlock. Style .mprtaxswitch and .mprtaxswitch--buttons .mprtaxswitch__btn--active in your theme. .mpr-tax-prices is support markup used by the price display logic.

Configure loyalty tiers

Open Loyalty Discounts > Tiers and select one shop. This version uses a shared tier programme, qualification rules and benefits. The old flat Enable Module/Valid Order States/min_spending settings are not the current setup screen. Loyalty Discounts manages the consumer programme even when used alongside these B2B modules. Do not assume Trade Account approval is automatically a qualification rule here.

Use Add Tier to create the tier name, color, icon and active state. Add qualification rules using a metric, operator and value. Rules within one group must all match; alternative groups provide alternatives. For a spending tier, choose Total turnover, At least and your threshold. Add a Discount benefit and configure its amount/type and product scope. Use the displayed price preview to check the result with existing promotions. Reorder tiers deliberately.

Open Settings in the Tiers screen:

Setting Default Use
Counted order states Empty Empty counts every valid order; select states to narrow eligibility.
Deduct refunds Yes Subtract refunds from turnover.
Include tax Yes Count tax in spending.
Include shipping No Include delivery charges only when intended.
Evaluation window Lifetime Choose a bounded window when tiers should reflect recent activity.
Rolling window days / Rolling window months 365 / 12 Set the selected rolling window.
Minimum months for averages 3 Use this minimum divisor for monthly averages.
Evaluation frequency On order Choose the available evaluation schedule.
Immediate upgrade Yes Permit immediate upgrade from an order.
Initial tier None, 0 Choose a fallback tier if desired.
Protection months / Grace days 0 / 0 Set protection or extra requalification time before downgrades.
Automatic downgrade Yes Move customers down when they no longer qualify.
Notify on upgrade Yes Send an upgrade email for an applicable recorded transition.
Notify on downgrade / Notify before downgrade No / No Enable the corresponding notices if required.
Warning days 7 Set the warning lead time before the grace period ends.
Show progress Yes Show customer progress in the account area.

Discount source defaults to module pricing. Review this choice and run Rebuild prices after pricing changes. Inspect the reported ready/error state. On versions before PrestaShop 9, shipping benefits need Carriers priced by loyalty; it defaults to none. Do not assume a displayed shipping benefit applies to a carrier that the module cannot price.

Settings > Configuration is now Loyalty integrations. Enable edrone is off unless configured; enter edrone app ID before enabling it. Qualification/pricing/notification settings belong to the Tiers dialog. The Scheduled maintenance panel provides a shop-specific token URL. Call it every minute for due evaluations, batch continuation, pricing reconciliation and notification retries. If the suite is active, its scheduler owns these jobs. Keep the token private.

Use Customers and Dashboard to inspect tiers and processing. Loyalty notifications send emails using English and Polish templates, with English as the fallback language. This is a tier/benefit programme, not a points wallet.

Verify and troubleshoot the combined setup

  1. Submit a trade application with a test account, approve it and check its default and additional groups.
  2. Enter a VAT number you are allowed to test with. Check the VIES result and the actual cart and order taxes for the delivery and tax-address case you want. Test an invalid number and the outage setting separately.
  3. Assign the trade group to one active invoice term. Confirm Pay by Invoice appears for that account and is absent for an unassigned account.
  4. Place a controlled test invoice order. Check its deferred record, due date and credit balance. Mark payment received and verify the balance changes.
  5. Switch tax display and reload. Check product, listing and cart values with your theme.
  6. Create a qualifying test loyalty history, evaluate/rebuild, and verify the tier, visible price and account progress. Inspect processing errors and mail delivery if expected notifications are absent.
  7. If a setting save is refused, select the required single-shop context and check employee edit rights and the form token. Use each module's Integrity page for installation faults.

Disable or uninstall

Disable the relevant component in Module Manager when you need a temporary stop. Remove external maintenance schedules when retiring a component. Back up applications, terms, deferred payments and loyalty data first.

Trade Account removes its schema/settings but leaves assigned customer groups. Payment Terms removes its terms/deferred-order schema and configuration; it does not erase the core orders. EU VAT Checker removes its module data/settings; review tax behavior after disabling it. Tax Display Switcher removes its settings. Loyalty Discounts retains shared tier definitions and history while its runtime handles release of module-owned pricing/group/carrier effects. Check the actual resulting prices, memberships and carrier settings after removal.

Compatibility

Requires PrestaShop 1.7 or later and PHP 7.1 or later.

Questions

2

What is included in the B2B Essentials Pack?

B2B Essentials Pack contains five separately configured modules.

Included modules:

  1. EU VAT Number Checker validates VAT numbers through VIES.
  2. B2B Deferred Payment Terms provides invoice terms, due dates and group credit limits.
  3. Tax Display Switcher switches tax-inclusive and tax-exclusive price display.
  4. Trade Account handles applications and approved customer groups.
  5. Loyalty Discounts provides qualification tiers and benefits.

Configure each component independently. See the B2B Essentials Pack page.

Does Credit Account include a purchase-order approval workflow?

Checkout Revolution provides quote requests and a Credit Account payment option. Credit eligibility is resolved through the credit-provider integration; enabling that payment option does not add an approve, submit and invoice purchase-order sequence. Review your credit integration separately for trade-account approval requirements.

Known Issues

No known issues

There are currently no open or resolved issues registered for this module.

Feature Requests

No feature requests for this module yet

Missing something? Suggest it, and follow its progress here.

Loading...
Back to top