Back to Top

Laravel Multi Tenant SaaS GST Module User Guide

Updated 29 July 2026

Laravel eCommerce SaaS GST extension adds the Indian Goods and Services Tax structure to a multi‑tenant Bagisto SaaS setup.

Using it, every tenant of the SaaS platform can add the GST to the products of their own store. Each tenant keeps their own GSTIN, production state, GST rates, HSN codes and price type, and the setup of one tenant never affects the setup of another tenant.

This extension enhances the efficiency of the business operations of every tenant store and ensures compliance with GST regulations. It assists in identifying the relevant product taxes based on the production state.

This addon does not work on its own. Your project must already run the Laravel eCommerce GST extension and the Laravel eCommerce SaaS extension before you install it.

Features

The extension brings the following features to the platform and to its tenant stores.

Multi-Tenant Features

  • Every tenant configures the GST of their store on their own, from their own admin panel.
  • The extension keeps every product GST record and every order GST record against the tenant it belongs to, so the data of the tenants stays separate.
  • Deleting a tenant from the platform also clears the GST records of that tenant.
  • The extension adds a GST section to the configuration of the super admin, which describes the GST facility that the platform offers to its tenant stores.

Configuration and Product Features

  • The tenant enters their preferred GSTIN Number.
  • They also choose the State for tax purposes.
  • The tenant sets the GST rate from the backend and enters multiple GST rates at once.
  • The tenant decides the product price by including GST, by excluding GST, or by choosing the behaviour while adding or editing the product.
  • The tenant includes or excludes GST for each product individually.
  • A field in the product editing settings takes the HSN code of the product.
  • The tenant also sets or modifies a specific GST rate while adding or editing a product.
  • A dedicated Settings>GST section lists the products that carry GST, with search, filter, sort and export options.
  • The tenant assigns the GST rate, HSN code and GST type to many products at once through a CSV import, and downloads a sample CSV file for the format.
  • The tenant clears the GST details of a single product, or of several products together through the mass action.

Checkout, Order and Access Features

  • The extension distinguishes automatically between IGST, CGST and SGST, depending on whether the transaction stays within the home state or crosses it.
  • It charges SGST and CGST on intra-state transactions and IGST on inter-state transactions, going by the address that the customer provides.
  • It charges GST only when the billing address belongs to India, so international orders remain unaffected.
  • A button shows or hides the GST inclusion details on the storefront.
  • An option prints the GSTIN of the store on the orders that the customers place.
  • The order, invoice, refund, order PDF and order emails carry the HSN code along with the SGST, CGST and IGST break-up.
  • Separate access permissions cover the viewing, the import and the deletion of the GST records.

Installation

Bagisto Version: v2.4.x

Required Extensions: Laravel eCommerce SaaS extension and Laravel eCommerce GST extension.

Step 1: Extract Package

Unzip the extension package and merge the packages folder into your project root.

Step 2: Update the composer.json File

Open the composer.json file and add the following lines under the ‘psr-4’ section:

 "Webkul\\GST\\": "packages/Webkul/GST/src",
 "Webkul\\GSTSaas\\": "packages/Webkul/GSTSaas/src",

In the config/concord.php files, add the following line under the ‘modules’ section:

 "Webkul\\GST\\": "packages/Webkul/GST/src",
 \Webkul\GST\Providers\ModuleServiceProvider::class,,

Step 4: Register Service Provider

Go to: bootstrap/providers.php file and add the following lines under ‘providers’

use Webkul\GST\Providers\GSTServiceProvider;
use Webkul\GSTSaas\Providers\GSTSaasServiceProvider;

 return [
     GSTServiceProvider::class,
     GSTSaasServiceProvider::class,
 ]

Keep the GSTSaasServiceProvider after the GSTServiceProvider, because it swaps the models of the GST extension with the tenant aware ones.

Step 4: Run the Commands

Run the following command to refresh the autoload files:

composer dump-autoload

Run the following command to complete the setup:

php artisan gst-saas:install

The above command pulls the required league/csv package, runs the migrations of the GST extension and of this addon, publishes the sample CSV file of the bulk import and clears the cache of the application.

The migration of the addon adds the tenant reference to the gst and gst_order tables, so the platform keeps the GST data of every tenant identifiable and clears it along with the tenant.

These steps complete the setup, and the SaaS GST extension is ready to use in your Bagisto SaaS v2.4.x project.

GST Section in the Super Admin

Once the installation finishes, the super admin finds a GST section in the Configuration, under GST>GST Details.

This section explains the GST facility that the platform offers to its tenant stores, that is, the GSTIN details, the production state, the GST rates, the pricing type of the products, the HSN codes and the visibility of the tax on the storefront. It also states that every tenant keeps these settings separately.

The super admin does not enter the GST values here. Every tenant enters them from their own admin panel, as the next section explains.

Configuration of the Tenant Store

The tenant navigates to Configure>Sales>Goods and Services Tax of their admin panel to reach the configuration settings. The image below shows them,

laravel ecommerce saas gst extension configuration

The tenant configures the following options,

  • Status: Enable or Disable the GST module.
  • GSTIN: Field to enter the GSTIN Number.
  • Production State: Select the Production state from dropdown menu.
  • GST Rates: Enter the required GST Rates as percentages, with a comma between them (e.g., 0, 5, 12, 18).
  • Catalog Product Price: Dropdown menu that decides whether the prices of the tenant include GST, exclude GST, or wait for a choice while adding or editing a product.
  • Display Inclusive/Exclusive Info: Button to enable or disable the displaying of GST exclusive/inclusive information on storefront.
  • Show GSTIN on Order: Button to enable or disable the printing of the store’s GSTIN on the orders, invoices and order emails.

The platform holds these settings against the tenant, so every tenant runs their own GST setup. The settings stay channel based as well, therefore a tenant with more than one channel keeps a different GST setup for each of their channels.

The Settings>GST section of the admin panel appears once the tenant enables the Status and saves the configuration.

Add GST to Products

Once the tenant configures the extension, they add the Goods and Services Tax to the products of their store individually.

For this, they navigate to Catalog>Products and then add or edit their required product. Next, they open the GST section. The image below shows it,

gst configuration in products

The tenant configures the following options for every product,

  • Button to enable or disable GST on product.
  • Product Price: Dropdown menu that keeps GST inside the price or outside the price. This dropdown appears only when the Catalog Product Price configuration holds Select when initialize, otherwise the product follows the value of that configuration.
  • GST Rate: Select the GST rate for the product. The dropdown lists the rates that the tenant entered in the GST Rates configuration.
  • HSN Code: Enter the HSN Code of product.

The extension ties this GST record to the tenant who owns the product, so the record stays with that tenant only.

The GST section covers every product type except the Grouped and Bundle products, because those carry the GST of the products that they hold.

Manage and Import GST in Bulk

Setting the GST product by product suits a few products, but not a large catalog. For that, the tenant navigates to Settings>GST, where the listing shows the products carrying GST along with the GST rate, HSN code, GST type, product image, name, SKU, price and the creation date of the record.

The tenant searches, filters, sorts and exports this listing, which makes a quick review of the GST across the catalog easy.

Import GST Through a CSV File

To assign the GST to several products together, the tenant downloads the sample CSV file through the CSV Demo button, fills it with their data, uploads it through the Import CSV file field and then clicks on the Import button.

The CSV file follows the format given below,

product_id,gst_rate,hsn_code,type
1,18,96081001,internal
2,5,96081001,external

Here is what every column of the CSV file holds,

  • product_id: The Id of a product of the store.
  • gst_rate: The GST rate for the product. It matches one of the rates that the tenant entered in the GST Rates configuration.
  • hsn_code: The HSN code of the product.
  • type: Either internal for the prices that already include GST, or external for the prices that carry GST separately.

The extension validates the whole file before it saves anything. A wrong row stops the import and throws the error on the screen, so a half imported file never stays behind. For the products that already carry GST, the imported values replace the earlier ones.

Delete GST and Control the Access

The tenant also clears the GST of a product through the delete action of the listing, or clears it from several products together by selecting the records and using the mass delete action.

The roles of the tenant store control the access to this section. From Settings>Roles, the tenant allows or restricts the GST, Import and Delete permissions of their sub admins.

GST Information on Storefront

The storefront of the tenant shows the GST information when the tenant enables the Display Inclusive/Exclusive Info in the configuration. Turning it off hides this information.

The storefront carries the GST information in the 2 ways below,

1) GST inside the price

GST information displayed on the storefront

2) GST outside the price

gst excluded from price

GST Application on Checkout

The extension detects automatically when to charge IGST and when to charge SGST and CGST. It follows the conditions below,

1) An interstate transaction takes IGST, as the below image shows,

IGST applied on interstate transactions

2) An intrastate transaction takes CGST and SGST, as the below image shows,

cgst sgst applied

The extension compares the state of the billing address of the customer with the Production State that the tenant selected in the configuration. GST reaches the order only when the billing address belongs to India, therefore the orders going to the other countries follow the default tax setup of the store.

GST Details on Orders and Invoices

Once the customer places the order, the extension keeps the GST of that order along with the reference of the tenant, so the details stay the same even after a later change in the GST setup.

The summary of the order, invoice and refund of the admin panel carries the SGST, CGST and IGST break-up, and so do the order view of the My Account section of the customer, the order and invoice PDF, and the order emails of both the admin and the customer.

Every ordered item also carries the HSN code of the product, and the order shows the GSTIN of the tenant store as the GST Registration No. once the tenant enables the Show GSTIN on Order configuration.

Support

So that is much about the Laravel eCommerce SaaS GST Extension.

If you require any further assistance, you can email us directly on [email protected] or raise a ticket.

Current Product Version - v2.4.x

Supported Framework Version - v2.4.x

. . .

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 Multi Tenant SaaS GST Module User Guide