{"id":302372,"date":"2021-08-23T15:23:57","date_gmt":"2021-08-23T15:23:57","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=302372"},"modified":"2026-09-15T08:28:50","modified_gmt":"2026-09-15T08:28:50","slug":"laravel-ecommerce-saas-table-rate-shipping","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/","title":{"rendered":"Laravel eCommerce SaaS Table Rate Shipping"},"content":{"rendered":"\n<p>Bagisto <a href=\"https:\/\/store.webkul.com\/laravel-ecommerce-saas-table-rate-shipping.html\" target=\"_blank\" rel=\"noreferrer noopener\">SaaS Table Rate Shipping<\/a> gives every tenant its own table rate shipping rules inside a single multi-tenant store.<\/p>\n\n\n\n<p>Each company builds its supersets, superset rates and shipping rates from its own back-end. Moreover, one tenant never sees another tenant\u2019s shipping data.<\/p>\n\n\n\n<p>Tenants can also import rates from CSV files. Consequently, product weight, zip code ranges and alphanumeric postcodes all become usable shipping conditions.<\/p>\n\n\n\n<p>This module layers multi-tenancy on top of Bagisto Table Rate Shipping. Therefore, the base extension supplies the screens while this package scopes the data.<\/p>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Features<\/h3>\n<\/div><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tenants add shipping rates in bulk using a CSV file for table rates.<\/li>\n\n\n\n<li>Furthermore, each tenant creates sub-methods for Table Rate Shipping.<\/li>\n\n\n\n<li>Tenants build their own Super Shipping Sets from the tenant panel.<\/li>\n\n\n\n<li><strong>Superset codes stay unique per company<\/strong>, so two tenants may safely reuse the same code.<\/li>\n\n\n\n<li>A priority setting decides whether Shipping Rates or Superset Rates take precedence.<\/li>\n\n\n\n<li>Shipping cost is calculated from the cart price through Superset Rates.<\/li>\n\n\n\n<li>Additionally, shipping can be calculated from the postcode and the product weight.<\/li>\n\n\n\n<li><strong>Ship to Applicable Countries<\/strong> restricts the method to selected countries only.<\/li>\n\n\n\n<li>Shipping rates populate automatically during the checkout step.<\/li>\n\n\n\n<li>Moreover, tenants export a sample shipping CSV file from the back-end.<\/li>\n\n\n\n<li>Table Rate Shipping supports alphanumeric zip codes as well as numeric ranges.<\/li>\n\n\n\n<li>Tenants confirm orders and record a tracking number while creating a shipment.<\/li>\n\n\n\n<li>Finally, invoices and shipment records open directly from the order view.<\/li>\n<\/ul>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Installation <\/h3>\n<\/div><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Note:<\/h4>\n\n\n\n<p>Please follow the Bagisto SaaS Table Rate Shipping README for the installation process exclusively. Do not follow the base Table Rate Shipping README.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Requirements:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Bagisto<\/strong>: v2.4.9<\/li>\n\n\n\n<li><strong>Bagisto Saas<\/strong>: v2.4.9.1<\/li>\n\n\n\n<li><strong>Bagisto Table Rate Shipping<\/strong>: v2.4.9.0<\/li>\n<\/ul>\n\n\n\n<p>First, unzip the respective extension zip. Then merge the \u201cpackages\u201d folder into the project root directory.<\/p>\n\n\n\n<p>Next, go to the <strong>composer.json<\/strong> file in the root directory and add these lines under \u2018<strong>psr-4<\/strong>\u2019:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">&quot;Webkul\\\\TableRate\\\\&quot;: &quot;packages\/Webkul\/TableRate\/src&quot;,\n&quot;Webkul\\\\TableRateSaas\\\\&quot;: &quot;packages\/Webkul\/TableRateSaas\/src&quot;<\/pre>\n\n\n\n<p>After that, open <strong>bootstrap\/providers.php<\/strong> and register both service providers:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">Webkul\\TableRate\\Providers\\TableRateServiceProvider::class,\nWebkul\\TableRateSaas\\Providers\\TableRateSaasServiceProvider::class,<\/pre>\n\n\n\n<p><strong>Order matters here.<\/strong> Both entries must sit <strong>after<\/strong> <code>SAASCustomizerServiceProvider<\/code>, and the SaaS provider must follow the base one.<\/p>\n\n\n\n<p>Note: modern Bagisto versions handle the Vite configuration automatically. Finally, run the commands below to complete the setup:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">composer dump-autoload<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\">php artisan tablerate-saas:install<\/pre>\n\n\n\n<p>The installer runs the base Table Rate migrations first, then this module\u2019s migration, and clears the caches afterwards.<\/p>\n\n\n\n<p>-&gt; now execute the project on your specified domain.<\/p>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Multi-Tenancy and Data Isolation<\/h3>\n<\/div><\/div>\n\n\n\n<p>This module exists for one reason: keeping every tenant\u2019s table rate data private. Therefore, isolation runs at the database level rather than in the interface.<\/p>\n\n\n\n<p>During installation the migration adds a <strong>company_id<\/strong> column to the three Table Rate tables. Consequently, every superset and every rate belongs to exactly one company.<\/p>\n\n\n\n<p>Each record is stamped with the current company as it is created. Similarly, every read is filtered back to that same company automatically.<\/p>\n\n\n\n<p>The grids follow the same rule. As a result, a tenant opening <strong>Supersets<\/strong> sees only its own rows, never the rows of a neighbouring store.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Per-Company Superset Codes<\/h4>\n\n\n\n<p>On a single-tenant store a superset code must be globally unique. However, that rule breaks down once many companies share one installation.<\/p>\n\n\n\n<p>This module replaces the global unique index with a composite one on code and company. Two tenants may therefore both use a code such as <strong>EXPRESS<\/strong> without any clash.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step-by-Step: Confirm Tenant Isolation<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sign in to the first tenant\u2019s admin panel with that company\u2019s admin account.<\/li>\n\n\n\n<li>Navigate to <strong>Table Rate Shipping &gt;&gt; Supersets<\/strong> and create a superset.<\/li>\n\n\n\n<li>Next, sign out and sign in to a second tenant\u2019s admin panel.<\/li>\n\n\n\n<li>Open the same <strong>Supersets<\/strong> grid on that second tenant.<\/li>\n\n\n\n<li>Notice that the first tenant\u2019s superset never appears in the list.<\/li>\n\n\n\n<li>Finally, create a superset there using the same code to confirm codes are per company.<\/li>\n<\/ol>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Super Admin: Module Information<\/h3>\n<\/div><\/div>\n\n\n\n<p>The super admin panel also lists this module. Specifically, it appears under <strong>Configure &gt;&gt; Sales &gt;&gt; Shipping Methods<\/strong> on the super side.<\/p>\n\n\n\n<p>The screen below shows exactly what the super admin sees after installation:-<\/p>\n\n\n\n<figure class=\"wp-block-image size-large wp-duotone-unset-1\"><img decoding=\"async\" width=\"1200\" height=\"600\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/blog-tableratesaas-super-admin-configuration-1-1200x600.webp\" alt=\"Bagisto SaaS Table Rate Shipping module information panel in the super admin configuration\" class=\"wp-image-557498\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/blog-tableratesaas-super-admin-configuration-1-1200x600.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/blog-tableratesaas-super-admin-configuration-1-300x150.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/blog-tableratesaas-super-admin-configuration-1-250x125.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/blog-tableratesaas-super-admin-configuration-1-768x384.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/blog-tableratesaas-super-admin-configuration-1.webp 1440w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>That panel stays read-only by design. Moreover, it carries no input fields at all, so the Save Configuration button changes nothing here.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">What the Panel Shows<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Module<\/strong>&nbsp;\u2013 the display name of the installed extension.<\/li>\n\n\n\n<li><strong>Package<\/strong>&nbsp;\u2013 the composer package name, useful while auditing an installation.<\/li>\n\n\n\n<li><strong>Version<\/strong>&nbsp;\u2013 the installed module version.<\/li>\n\n\n\n<li><strong>Status<\/strong>&nbsp;\u2013 a badge confirming the module booted correctly.<\/li>\n\n\n\n<li><strong>Data Scope<\/strong>&nbsp;\u2013 a reminder that every record belongs to one company.<\/li>\n\n\n\n<li><strong>Configured By<\/strong>&nbsp;\u2013 the exact place where the real settings live.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Why There Are No Fields Here<\/h4>\n\n\n\n<p>The super admin configuration stores its values globally, without any company attached to them.<\/p>\n\n\n\n<p>Table Rate settings work the other way round. Each value belongs to one company and is written against that company only.<\/p>\n\n\n\n<p>Editable fields on this screen would therefore shadow tenant data that nothing ever reads back.<\/p>\n\n\n\n<p>Consequently, the panel simply documents the module and points the super admin towards the tenant panel.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step-by-Step: Open the Module Information Panel<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sign in to the super admin panel on the primary SaaS domain.<\/li>\n\n\n\n<li>Navigate to <strong>Configure &gt;&gt; Sales &gt;&gt; Shipping Methods<\/strong>.<\/li>\n\n\n\n<li>Locate the <strong>Table Rate Shipping<\/strong> entry in that group.<\/li>\n\n\n\n<li>Review the module name, package, version and status shown there.<\/li>\n\n\n\n<li>Finally, switch to a tenant panel whenever a value actually needs changing.<\/li>\n<\/ol>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Laravel eCommerce SaaS Table Rate Shipping:-Tenant Management<\/h3>\n<\/div><\/div>\n\n\n\n<p>After a successful installation, the tenant finds Table Rate Shipping under <strong>Configure &gt;&gt; Sales &gt;&gt; Shipping Methods<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/tableconfig.webp\" alt=\"configure-table-rate-shipping\" class=\"wp-image-542626\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/tableconfig.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/tableconfig-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/tableconfig-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/tableconfig-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p><strong>Title:-<\/strong>&nbsp;Provide the name for the shipping method.<\/p>\n\n\n\n<p><strong>Description:-<\/strong>&nbsp;Provide the description shown on the checkout page.<\/p>\n\n\n\n<p><strong>Type:-<\/strong>&nbsp;The tenant selects between <strong>Per Unit<\/strong> and <strong>Per Order<\/strong>.<\/p>\n\n\n\n<p><strong>Priority:-<\/strong>&nbsp;This field decides whether Shipping Rates or Superset Rates take precedence.<\/p>\n\n\n\n<p><strong>Ship to Applicable Countries:-<\/strong>&nbsp;The tenant picks the countries where this method stays available.<\/p>\n\n\n\n<p><strong>Status:-<\/strong>&nbsp;The tenant activates or deactivates the method from this field.<\/p>\n\n\n\n<p><strong>Note:<\/strong> Table Rate Shipping cannot be enabled alone. Therefore, keep Flat Rate or Free Shipping enabled as well.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step-by-Step: Configure Table Rate Shipping<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log in to the tenant admin panel.<\/li>\n\n\n\n<li>Go to <strong>Configure &gt;&gt; Sales &gt;&gt; Shipping Methods<\/strong>.<\/li>\n\n\n\n<li>Open the <strong>Table Rate Shipping<\/strong> section.<\/li>\n\n\n\n<li>Enter the <strong>Title<\/strong> and <strong>Description<\/strong> shown at checkout.<\/li>\n\n\n\n<li>Choose the <strong>Type<\/strong> and then the <strong>Priority<\/strong>.<\/li>\n\n\n\n<li>Select the countries under <strong>Ship to Applicable Countries<\/strong>.<\/li>\n\n\n\n<li>Switch <strong>Status<\/strong> on, keeping Flat Rate or Free Shipping enabled too.<\/li>\n\n\n\n<li>Finally, click <strong>Save Configuration<\/strong>.<\/li>\n<\/ol>\n\n\n\n<p>Afterwards, the tenant manages the rates through the <strong>Table Rate Shipping<\/strong> menu, as shown below:-<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-2.webp\" alt=\"add-superset\" class=\"wp-image-466499\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-2.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-2-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-2-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-2-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Add Super Set<\/h4>\n\n\n\n<p>To begin, the tenant clicks the <strong>Add SuperSet<\/strong> button.<\/p>\n\n\n\n<p>Consequently, the following page appears:-<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-3.webp\" alt=\"add-superset-option\" class=\"wp-image-466501\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-3.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-3-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-3-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-3-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Here the tenant fills in the general settings:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Code:<\/strong>&nbsp;Set the code of the superset. Notably, this code only needs to be unique inside the tenant\u2019s own store.<\/li>\n\n\n\n<li><strong>Name<\/strong>: Enter the name of the superset.<\/li>\n\n\n\n<li><strong>Status<\/strong>: Select to activate the superset.<\/li>\n<\/ul>\n\n\n\n<p>Lastly, the tenant saves the record with the <strong>Save SuperSet<\/strong> button.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step-by-Step: Add a Superset<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open <strong>Table Rate Shipping &gt;&gt; Supersets<\/strong> in the tenant panel.<\/li>\n\n\n\n<li>Click the <strong>Add SuperSet<\/strong> button.<\/li>\n\n\n\n<li>Enter a <strong>Code<\/strong> and a <strong>Name<\/strong> for the set.<\/li>\n\n\n\n<li>Then set <strong>Status<\/strong> to active.<\/li>\n\n\n\n<li>Click <strong>Save SuperSet<\/strong> to store the record.<\/li>\n\n\n\n<li>The new superset appears in the grid, already tied to the current company.<\/li>\n<\/ol>\n\n\n\n<p>The grid below lists every superset. Moreover, selecting one lets the tenant <strong>update or delete<\/strong> it from the drop-down.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-4.webp\" alt=\"view-superset\" class=\"wp-image-466504\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-4.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-4-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-4-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-4-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Superset Rates<\/h4>\n\n\n\n<p>After adding the <strong>Superset Methods<\/strong>, the tenant adds <strong>Superset Rates<\/strong> under the matching section.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-5.webp\" alt=\"superset-rate\" class=\"wp-image-466505\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-5.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-5-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-5-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-5-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Clicking the <strong>Add Superset Rate<\/strong> button opens the following page.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-6.webp\" alt=\"add-superset-rate\" class=\"wp-image-466506\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-6.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-6-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-6-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-6-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Here the tenant fills in the superset rate details:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Price From<\/strong>&nbsp;\u2013 Set the minimum cart price for this shipping set.<\/li>\n\n\n\n<li><strong>Price To<\/strong>&nbsp;\u2013 Set the maximum cart price for this shipping set.<\/li>\n\n\n\n<li><strong>Shipping Type<\/strong>&nbsp;\u2013 Choose Fixed to enter a price, or Free to allow free shipping.<\/li>\n\n\n\n<li><strong>Superset Methods<\/strong>&nbsp;\u2013 Select the superset from the drop-down.<\/li>\n\n\n\n<li><strong>Status<\/strong>&nbsp;\u2013 Activate or deactivate this individual rate.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Step-by-Step: Add a Superset Rate<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Table Rate Shipping &gt;&gt; Superset Rates<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Add Superset Rate<\/strong>.<\/li>\n\n\n\n<li>Enter <strong>Price From<\/strong> and <strong>Price To<\/strong> for the cart range.<\/li>\n\n\n\n<li>Pick the <strong>Shipping Type<\/strong>, then enter a price for Fixed.<\/li>\n\n\n\n<li>Select the parent superset under <strong>Superset Methods<\/strong>.<\/li>\n\n\n\n<li>Finally, save the rate and confirm it in the grid.<\/li>\n<\/ol>\n\n\n\n<p><strong>Example of Table rate Super-set:-<\/strong><\/p>\n\n\n\n<p>Consider two sellers, X and Y, holding products P1 and P2 respectively.<\/p>\n\n\n\n<p>Both sellers keep a superset named \u201cQuick delivery\u201d. Additionally, both products fall inside the configured shipping price range.<\/p>\n\n\n\n<p>A customer now adds P1 and P2 to the cart and moves to checkout. Consequently, \u201cQuick delivery\u201d appears as one shipping method.<\/p>\n\n\n\n<p>The shipping cost is then the sum of the shipping price of P1 and P2.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Shipping Rate<\/h4>\n\n\n\n<p>The tenant can upload Table Rate Shipping rows as <strong>CSV<\/strong>. First, download the sample file from the <strong>Import<\/strong> button.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-7.webp\" alt=\"shipping-rate\" class=\"wp-image-466507\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-7.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-7-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-7-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-7-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>After clicking <strong>Import<\/strong>, the pop-up below appears.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-8.webp\" alt=\"upload-shipping-rate-csv\" class=\"wp-image-466508\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-8.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-8-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-8-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-8-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>The CSV below drives the shipping rates. Every field is mandatory, and the grid above mirrors the file as a table matrix.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"797\" height=\"124\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-9.webp\" alt=\"csv-file\" class=\"wp-image-466509\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-9.webp 797w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-9-300x47.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-9-250x39.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-9-768x119.webp 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p><strong>IS Zip Range<\/strong> (<strong>Numeric Zip Code<\/strong>)&nbsp;\u2013 Select \u201c1\u201d for a numeric zip range, otherwise select \u201c0\u201d for an alphanumeric code.<\/p>\n\n\n\n<p><strong>Zip Code<\/strong> (<strong>Alphanumeric Zip Code<\/strong>)&nbsp;\u2013 Enter the alphanumeric code when the numeric option stays off.<\/p>\n\n\n\n<p>Conversely, enter the numeric zip code whenever the \u201cNumeric zip code\u201d option is enabled.<\/p>\n\n\n\n<p><strong>Note:<\/strong>&nbsp;Country Code must follow the official ISO-2 (alpha-2) two-letter country codes.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step-by-Step: Import Shipping Rates<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open <strong>Table Rate Shipping &gt;&gt; Shipping Rates<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Import<\/strong>, then download the sample CSV file.<\/li>\n\n\n\n<li>Fill every column, using ISO-2 codes in the country column.<\/li>\n\n\n\n<li>Set <strong>IS Zip Range<\/strong> to 1 for numeric ranges, or 0 for alphanumeric codes.<\/li>\n\n\n\n<li>Upload the finished file through the same <strong>Import<\/strong> pop-up.<\/li>\n\n\n\n<li>Finally, review the imported rows in the grid.<\/li>\n<\/ol>\n\n\n\n<p>Each imported row is stamped with the current company. Therefore, a CSV upload never leaks rates into another tenant\u2019s store.<\/p>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Table Rate Shipping:- Customer Management<\/h3>\n<\/div><\/div>\n\n\n\n<p>Once the tenant finishes the configuration, the customer can <strong>select the Table Rate Shipping method<\/strong> during checkout:-<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/table.webp\" alt=\"table-rate-checkout\" class=\"wp-image-542628\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/table.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/table-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/table-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/table-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p><strong>Note:<\/strong>&nbsp;In <strong>Laravel eCommerce Table Rate Shipping<\/strong>, the rate is calculated from the product weight and the delivery zipcode.<\/p>\n\n\n\n<p>Next, the customer clicks the <strong>Place Order<\/strong> button.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/checkout-3.webp\" alt=\"order-placed\" class=\"wp-image-466585\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/checkout-3.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/checkout-3-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/checkout-3-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/checkout-3-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>The order is now placed successfully, as the image above shows.<\/p>\n\n\n\n<p>Afterwards, the <strong>customer<\/strong> can review <strong>their order details<\/strong> inside their account, together with the total shipping charges.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/checkout-4.webp\" alt=\"order-detail\" class=\"wp-image-466591\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/checkout-4.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/checkout-4-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/checkout-4-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/checkout-4-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Step-by-Step: Checkout with Table Rate Shipping<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Add a shippable product to the cart on the tenant storefront.<\/li>\n\n\n\n<li>Proceed to checkout and enter the shipping address.<\/li>\n\n\n\n<li>Then choose <strong>Table Rate Shipping<\/strong> from the shipping methods.<\/li>\n\n\n\n<li>Review the calculated rate for the entered postcode and weight.<\/li>\n\n\n\n<li>Select a payment method and click <strong>Place Order<\/strong>.<\/li>\n\n\n\n<li>Finally, open <strong>My Account &gt;&gt; Orders<\/strong> to see the shipping charge.<\/li>\n<\/ol>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Tenant Orders Management<\/h3>\n<\/div><\/div>\n\n\n\n<p>The tenant manages orders from the tenant panel under <strong>Sales &gt;&gt; Orders<\/strong>, where every order is listed:-<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-10.webp\" alt=\"view-orders\n\" class=\"wp-image-466511\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-10.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-10-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-10-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-10-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Clicking the arrow icon opens the details of any order:-<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-12-1.webp\" alt=\"saas-table-rate-shipping-12\" class=\"wp-image-466665\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-12-1.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-12-1-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-12-1-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-12-1-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Moreover, clicking the <strong>Invoice<\/strong> button generates the page shown below:-<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-13.webp\" alt=\"create-invoice\" class=\"wp-image-466514\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-13.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-13-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-13-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-13-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Enter the quantity to invoice, then click the <strong>Create Invoice<\/strong> button.<\/p>\n\n\n\n<p>Next, the tenant clicks the <strong>Ship<\/strong> button to create a shipment.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-14.webp\" alt=\"create-shipment\" class=\"wp-image-466516\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-14.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-14-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-14-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-14-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>While creating the shipment, the tenant enters the <strong>Carrier Name<\/strong> and <strong>Tracking Number<\/strong>.<\/p>\n\n\n\n<p>Additionally, the tenant selects the inventory source and enters the quantity to ship.<\/p>\n\n\n\n<p>Then click the <strong>Create Shipment<\/strong> button.<\/p>\n\n\n\n<p>Now the tenant can see the status of all orders, as the image below shows.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-15.webp\" alt=\"view-order-invoice-and-shipment\" class=\"wp-image-466518\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-15.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-15-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-15-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-15-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>The tenant reviews every invoice by clicking the Invoices option shown below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-16.webp\" alt=\"View-all-invoices\" class=\"wp-image-466526\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-16.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-16-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-16-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-16-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Similarly, the Shipments option lists every shipment raised by that tenant.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-17.webp\" alt=\"view-al-shipments\" class=\"wp-image-466527\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-17.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-17-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-17-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/saas-table-rate-shipping-17-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Step-by-Step: Invoice and Ship an Order<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open <strong>Sales &gt;&gt; Orders<\/strong> in the tenant panel.<\/li>\n\n\n\n<li>Click the arrow icon on the order you want to process.<\/li>\n\n\n\n<li>Click <strong>Invoice<\/strong>, enter the quantity, then click <strong>Create Invoice<\/strong>.<\/li>\n\n\n\n<li>Next, click <strong>Ship<\/strong> on the same order.<\/li>\n\n\n\n<li>Enter the <strong>Carrier Name<\/strong> and <strong>Tracking Number<\/strong>.<\/li>\n\n\n\n<li>Select the inventory source and the quantity to ship.<\/li>\n\n\n\n<li>Finally, click <strong>Create Shipment<\/strong> and check the updated status.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Support<\/h2>\n\n\n\n<p>That covers the user guide for Laravel eCommerce SaaS Table Rate Shipping in Bagisto.<\/p>\n\n\n\n<p>For any queries or doubts, reach out to us at <strong><a href=\"mailto:support@webkul.com\" target=\"_blank\" rel=\"noreferrer noopener\">support@webkul.com<\/a><\/strong>.<\/p>\n\n\n\n<p>You can also raise a ticket at our <a href=\"https:\/\/bagisto.uvdesk.com\/en\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>HelpDesk System<\/strong><\/a>.<\/p>\n\n\n\n<p>Additionally, the official <a href=\"https:\/\/devdocs.bagisto.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Bagisto developer documentation<\/a> covers the core shipping concepts in depth.<\/p>\n\n\n\n<p>Please explore our <strong><a href=\"https:\/\/webkul.com\/laravel-development\/\">Laravel Development Services<\/a><\/strong> and quality <strong><a href=\"https:\/\/store.webkul.com\/catalogsearch\/result\/index\/?cat=171&amp;q=laravel\">Bagisto Extensions<\/a><\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bagisto SaaS Table Rate Shipping gives every tenant its own table rate shipping rules inside a single multi-tenant store. Each company builds its supersets, superset rates and shipping rates from its own back-end. Moreover, one tenant never sees another tenant\u2019s shipping data. Tenants can also import rates from CSV files. Consequently, product weight, zip code <a href=\"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":267,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8396,2032],"tags":[8055,8678,8054,9595,2355],"class_list":["post-302372","post","type-post","status-publish","format-standard","hentry","category-bagisto","category-e-commerce-2","tag-bagisto","tag-laravel","tag-laravel-ecommerce","tag-laravel-ecommerce-platform","tag-shipping-method"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Laravel eCommerce SaaS Table Rate Shipping - Webkul Blog<\/title>\n<meta name=\"description\" content=\"With the help of Laravel SaaS Table Rate Shipping module, the tenants can add custom shipping modules accordingly by using CSV files\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Laravel eCommerce SaaS Table Rate Shipping - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"With the help of Laravel SaaS Table Rate Shipping module, the tenants can add custom shipping modules accordingly by using CSV files\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-23T15:23:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-15T08:28:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2021\/08\/blog-tableratesaas-super-admin-configuration-1-1200x600.webp\" \/>\n<meta name=\"author\" content=\"Simant Verma\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Simant Verma\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/laravel-ecommerce-saas-table-rate-shipping\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/laravel-ecommerce-saas-table-rate-shipping\\\/\"},\"author\":{\"name\":\"Simant Verma\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#\\\/schema\\\/person\\\/63f64723fe98f166757f7903d1f7e7e0\"},\"headline\":\"Laravel eCommerce SaaS Table Rate Shipping\",\"datePublished\":\"2021-08-23T15:23:57+00:00\",\"dateModified\":\"2026-09-15T08:28:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/laravel-ecommerce-saas-table-rate-shipping\\\/\"},\"wordCount\":2049,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/laravel-ecommerce-saas-table-rate-shipping\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/webkul.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/blog-tableratesaas-super-admin-configuration-1-1200x600.webp\",\"keywords\":[\"Bagisto\",\"laravel\",\"Laravel eCommerce\",\"laravel eCommerce platform\",\"shipping method\"],\"articleSection\":[\"Bagisto\",\"E-commerce\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/webkul.com\\\/blog\\\/laravel-ecommerce-saas-table-rate-shipping\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/laravel-ecommerce-saas-table-rate-shipping\\\/\",\"url\":\"https:\\\/\\\/webkul.com\\\/blog\\\/laravel-ecommerce-saas-table-rate-shipping\\\/\",\"name\":\"Laravel eCommerce SaaS Table Rate Shipping - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/laravel-ecommerce-saas-table-rate-shipping\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/laravel-ecommerce-saas-table-rate-shipping\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/webkul.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/blog-tableratesaas-super-admin-configuration-1-1200x600.webp\",\"datePublished\":\"2021-08-23T15:23:57+00:00\",\"dateModified\":\"2026-09-15T08:28:50+00:00\",\"description\":\"With the help of Laravel SaaS Table Rate Shipping module, the tenants can add custom shipping modules accordingly by using CSV files\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/laravel-ecommerce-saas-table-rate-shipping\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/webkul.com\\\/blog\\\/laravel-ecommerce-saas-table-rate-shipping\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/laravel-ecommerce-saas-table-rate-shipping\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdnblog.webkul.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/blog-tableratesaas-super-admin-configuration-1.webp\",\"contentUrl\":\"https:\\\/\\\/cdnblog.webkul.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/blog-tableratesaas-super-admin-configuration-1.webp\",\"width\":1440,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/laravel-ecommerce-saas-table-rate-shipping\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/webkul.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel eCommerce SaaS Table Rate Shipping\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/webkul.com\\\/blog\\\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/webkul.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\\\/\\\/webkul.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/cdnblog.webkul.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\\\/\\\/cdnblog.webkul.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/webkul\\\/\",\"https:\\\/\\\/x.com\\\/webkul\",\"https:\\\/\\\/www.instagram.com\\\/webkul\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/webkul\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/webkul\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/webkul.com\\\/blog\\\/#\\\/schema\\\/person\\\/63f64723fe98f166757f7903d1f7e7e0\",\"name\":\"Simant Verma\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7d1724606c049d771b8373de3119b9fde5f988195eb2e7d951f4acafa583388c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7d1724606c049d771b8373de3119b9fde5f988195eb2e7d951f4acafa583388c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7d1724606c049d771b8373de3119b9fde5f988195eb2e7d951f4acafa583388c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Simant Verma\"},\"url\":\"https:\\\/\\\/webkul.com\\\/blog\\\/author\\\/simantverma-bd183\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Laravel eCommerce SaaS Table Rate Shipping - Webkul Blog","description":"With the help of Laravel SaaS Table Rate Shipping module, the tenants can add custom shipping modules accordingly by using CSV files","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/","og_locale":"en_US","og_type":"article","og_title":"Laravel eCommerce SaaS Table Rate Shipping - Webkul Blog","og_description":"With the help of Laravel SaaS Table Rate Shipping module, the tenants can add custom shipping modules accordingly by using CSV files","og_url":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2021-08-23T15:23:57+00:00","article_modified_time":"2026-09-15T08:28:50+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2021\/08\/blog-tableratesaas-super-admin-configuration-1-1200x600.webp","type":"","width":"","height":""}],"author":"Simant Verma","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Simant Verma","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/"},"author":{"name":"Simant Verma","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/63f64723fe98f166757f7903d1f7e7e0"},"headline":"Laravel eCommerce SaaS Table Rate Shipping","datePublished":"2021-08-23T15:23:57+00:00","dateModified":"2026-09-15T08:28:50+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/"},"wordCount":2049,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2021\/08\/blog-tableratesaas-super-admin-configuration-1-1200x600.webp","keywords":["Bagisto","laravel","Laravel eCommerce","laravel eCommerce platform","shipping method"],"articleSection":["Bagisto","E-commerce"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/","url":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/","name":"Laravel eCommerce SaaS Table Rate Shipping - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2021\/08\/blog-tableratesaas-super-admin-configuration-1-1200x600.webp","datePublished":"2021-08-23T15:23:57+00:00","dateModified":"2026-09-15T08:28:50+00:00","description":"With the help of Laravel SaaS Table Rate Shipping module, the tenants can add custom shipping modules accordingly by using CSV files","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/blog-tableratesaas-super-admin-configuration-1.webp","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/blog-tableratesaas-super-admin-configuration-1.webp","width":1440,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-saas-table-rate-shipping\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Laravel eCommerce SaaS Table Rate Shipping"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/63f64723fe98f166757f7903d1f7e7e0","name":"Simant Verma","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7d1724606c049d771b8373de3119b9fde5f988195eb2e7d951f4acafa583388c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7d1724606c049d771b8373de3119b9fde5f988195eb2e7d951f4acafa583388c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7d1724606c049d771b8373de3119b9fde5f988195eb2e7d951f4acafa583388c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Simant Verma"},"url":"https:\/\/webkul.com\/blog\/author\/simantverma-bd183\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/302372","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/267"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=302372"}],"version-history":[{"count":19,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/302372\/revisions"}],"predecessor-version":[{"id":557499,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/302372\/revisions\/557499"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=302372"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=302372"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=302372"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}