Back to Top

Laravel eCommerce Multi Tenant SaaS PreOrder

Updated 23 July 2026

The Laravel eCommerce PreOrder SaaS module lets every store on your Bagisto SaaS platform sell out-of-stock or unreleased products.

It allows customers to reserve these products in advance through a preorder, so they never miss items they want.

The admin of each company can offer the preorder as a Partial Payment or a Complete Payment. Buyers either pay a percentage now and the rest later, or pay the full amount up front.

Moreover, the Laravel eCommerce PreOrder SaaS module notifies the customer via email once the preordered product is back in stock.

They can then come back and complete the remaining payment for their order.

Being a true multi-tenant (SaaS) extension, every company gets its own preorder attributes and its own preorder records.

All data is kept completely isolated from other tenants on the platform.

Please Note – To use this extension, you must have the Bagisto SaaS (Multi-Tenant) platform installed first.

This module is built on top of the base Laravel PreOrder module, which is bundled and installed together with it.

Feature List of Laravel eCommerce PreOrder SaaS 

  • Allows the preorder feature for out-of-stock Simple and Configurable products.
  • Each tenant (company) can enable or disable preorder independently from its own admin panel.
  • Two preorder types set by the admin – Partial Payment and Complete Payment.
  • Admin can set the preorder percentage that the customer must pay in advance for Partial Payment.
  • Admin can add a custom preorder message (channel and locale based) shown to customers on the product page.
  • Per-product settings – Allow Preorder, Preorder Qty and Product Availability date.
  • The storefront automatically shows a “Preorder” button in place of “Add To Cart” when a product is out of stock and preorderable.
  • Product page shows the amount/percentage to pay and the expected availability date.
  • Customers are notified by email automatically when the product comes back in stock (if enabled).
  • Admin can also manually notify customers from the preorder listing using the “Notify Customer” mass action.
  • Customer can complete the remaining preorder payment from their account order view.
  • Complete preorder details – type, status, paid amount, remaining amount, reference order and payment order – are tracked for admin and customer.
  • Dedicated “Preorder” datagrid in the admin panel with search, filter and export.
  • ACL controlled – access to preorder management and the notify-customer action can be restricted by role.
  • Multi-tenant ready – preorder attributes are auto-provisioned per company and all preorder data is company-scoped.

Installation of Laravel eCommerce PreOrder SaaS

  • Unzip the extension package and merge the “packages” folder into your project root directory.
  • Goto composer.json file and add the following lines under ‘psr-4’
"Webkul\\PreOrderSaas\\": "packages/Webkul/PreOrderSaas/src"
  • Run the following commands
composer dump-autoload
  • Goto bootstrap/providers.php file and add following line under ‘providers’
Webkul\PreOrderSaas\Providers\PreOrderSaasServiceProvider::class
  • Run the following commands to complete the setup
php artisan pre-order-saas:install
php artisan optimize:clear

The pre-order-saas:install command runs the base PreOrder and PreOrderSaas migrations, seeds the preorder attributes, publishes the module assets and clears the cache in a single step.

That’s it, now just execute the project on your specified domain.

Note:  This module is an add-on of the Bagisto SaaS (Multi-Tenant) platform.You must install the main platform before using this module.

Admin Configuration of Laravel eCommerce PreOrder SaaS

After the successful installation of the module, the admin of each company can navigate to Configure>>Preorder>>Settings>>General.

The admin has an option to enable and disable the Preorder module on the Bagisto SaaS platform. Once enabled, they can set the following options from the general settings:-

Multi-Tenant PreOrder configuration
  • Enable PreOrder – Turn the preorder feature on or off for the store.
  • Preorder Type – Choose between Partial Payment and Complete Payment (channel based).
  • Preorder Percent – The percentage to be paid in advance (used only when the type is Partial Payment; accepts a value between 0.01 and 99.9).
  • Message – A custom message (max 150 characters, channel and locale based) displayed to the customer on the product page.
  • Enable Automatic Mail – Automatically send the stock-notification email to customers when the product is back in stock.

Preorder Type in Laravel eCommerce PreOrder SaaS

The admin can select how the customer pays for a preordered product using the Preorder Type option.

Partial Payment

In Partial Payment, the customer pays only the configured percentage of the product price to reserve it. The remaining amount is paid later, once the product is available in stock.

Now brief explanation with example.

Product PricePreorder PercentPaid Now (Advance)Remaining Amount
$10020%$20$80
$50030%$150$350
$100050%$500$500

The customer pays the advance amount at the time of placing the preorder and the remaining amount when they complete the preorder after the product is back in stock.

Complete Payment

In Complete Payment, the customer pays the full amount up front while placing the preorder.

Nothing remains to be paid later. The order is fulfilled once the product is available in stock.

Product Preorder Settings in Laravel eCommerce PreOrder SaaS

When preorder is enabled, three additional attributes become available on the product edit page (for Simple and Configurable products) under the General group:-

These attributes are part of the Laravel eCommerce PreOrder SaaS module and are ready to configure.

Multi-Tenant PreOrder product attributes
  • Allow Preorder – Enables the preorder option for that particular product.
  • Preorder Qty – The maximum quantity a customer is allowed to preorder for the product.
  • Product Availability – The date on which the product is expected to be available in stock, shown to customers on the storefront.

Note – These attributes only appear when the preorder module is enabled and the product type is Simple or Configurable.

In the SaaS setup, these attributes are automatically created for each company (tenant) and attached to the General attribute group of every family.

They are ready to use as soon as a store is registered.

Front-end view of Laravel eCommerce PreOrder SaaS:-

When a preorderable product is out of stock, the Laravel eCommerce PreOrder SaaS storefront replaces the “Add To Cart” button with a “Preorder” button.

Customers can reserve the product in advance and complete the purchase when it becomes available.

PreOrder product front view

Along with the Preorder button, an information box is shown on the product page which includes:-

  • The percentage of the amount to be paid as preorder (for Partial Payment).
  • The custom preorder message set by the admin.
  • The expected availability date of the product.

The customer can then add the preordered product to the cart and checkout like a normal order.

The quantity a customer can preorder is validated against the “Preorder Qty” set for the product. A preorder payment cannot be mixed with other products in the same cart.

Stock Notification in Laravel eCommerce PreOrder SaaS

Once the preordered product arrives back in stock, the Laravel eCommerce PreOrder SaaS module informs the customer by email so they can return to complete their preorder.

If Enable Automatic Mail is turned on, the stock-notification email is sent automatically when the product is back in stock.

The admin can also send it manually from the preorder listing using the Notify Customer mass action.

The email contains a direct link that takes the customer to complete their preorder.

Logged-in customers are taken to the order view, while guest customers are taken to a secure token-based complete-preorder page.

Completing the Preorder in Laravel eCommerce PreOrder SaaS

The customer can view and complete their preorder from My Account>>Orders. The order view shows a “Preorder Information” section along with the item-wise remaining amount.

customer order view

The Preorder Information section displays:-

  • Type – Partial or Complete payment.
  • Status – Pending, Processing or Completed.
  • Payment Order – The order created for the remaining payment (for a partial preorder).
  • Reference Order – The original preorder that a payment order refers to.
  • Remaining Amount – The amount still to be paid to complete the preorder.

When the product is in stock, a Complete Preorder button is available so the customer can pay the remaining amount.

If the product is not yet in stock, an Available soon label is shown instead.

After the remaining amount is paid, the preorder status is marked as Completed and the remaining amount becomes zero.

Admin Order View for Laravel eCommerce PreOrder SaaS

On the admin order view, orders that contain preorder items are clearly marked and a preorder summary is shown.

To keep the flow consistent, actions like shipment and refund are restricted for a partial preorder order until the remaining payment has been completed.

Manage Preorders in Laravel eCommerce PreOrder SaaS

The admin can manage all preorders from the dedicated Preorder menu in the admin panel. The listing provides a datagrid with search, filter and export options.

Multi-Tenant PreOrder admin listing

The preorder datagrid shows the following columns:-

ColumnDescription
IdThe preorder item id.
Order IdThe original order in which the preorder was placed.
Payment Order IdThe order created for the remaining payment (N/A if not applicable).
Product NameThe name of the preordered product.
Customer NameThe name of the customer.
Customer EmailThe email of the customer.
Paid AmountThe amount already paid by the customer.
RemainingThe amount still to be paid (0 once completed).
Preorder TypePartial Payment or Complete Payment.
StatusPending, Processing or Completed.
Email SentWhether the stock-notification email has been sent.

The admin can filter and search the grid by these columns. Use the Notify Customer mass action to email selected customers that their preordered products are back in stock.

Access to the preorder listing and the notify-customer action is controlled through ACL, so it can be restricted per role.

Multi-Tenant Capabilities of Laravel eCommerce PreOrder SaaS

The Laravel eCommerce PreOrder SaaS module extends the base preorder feature to work seamlessly across every tenant on your Bagisto SaaS platform.

  • Automatic attribute provisioning – When a company is registered (or its configuration is saved), the Allow Preorder, Preorder Qty and Product Availability attributes are automatically created for that company and attached to the General group of each of its attribute families.
  • Per-tenant configuration – Every store enables preorder and sets its own preorder type, percentage and message independently.
  • Company-scoped data – All preorder records are tagged with the company and every query is automatically scoped to the current tenant, so a store only ever sees its own preorders.
  • Tenant isolation – One company can never access another company’s preorder attributes or preorder data, while the super-admin retains a full, unscoped view across all tenants.

Support for Laravel eCommerce PreOrder SaaS

That’s all about the Laravel eCommerce PreOrder SaaS.

If you have any issues please feel free to add a ticket and also let us know your views to make the module better https://bagisto.uvdesk.com/en/

Thanks for reading the blog.

Current Product Version - v2.4.8

Supported Framework Version - v2.4.8

. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


Be the first to comment.

Back to Top

Message Sent!

If you have more details or questions, you can reply to the received confirmation email.

Back to Home

Laravel eCommerce Multi Tenant SaaS PreOrder