Much has been written about SaaS and multi-tenancy. I have posted related blogs on this before, specifically SaaS and WMS, is SaaS enough? and So What if my Vendor isn’t a True SaaS Provider.
What I want to address in this blog is that multi-tenancy is not enough if the customer’s business model includes multiple physical sites or if the customer of the SaaS solution is a 3PL (third party logistics services provider). This is especially true if the SaaS solution is a WMS (warehouse management system) or a TMS (transportation management system).
Multi-tenancy is an attribute of the SaaS solution provided by the SaaS vendor. This allows one instance of their application to support multiple “tenants” where each tenant is a separate customer and it is essential to keep their data separate and secure from the data of all other tenants of the same instance.
Multi-site is an attribute of the tenant of the SaaS solution. This attribute exists when the tenant has more than one physical site and the data about that site, within the overall enterprise, needs to be segregated for operational, financial, and/or security reasons.
Finally, if the tenant is a 3PL, then they will be providing their services to multiple clients. Each client may be at one or more of the 3PL’s sites and each client’s data must be segregated by site from every other client while allowing it to be rolled up to the overall 3PL client level. The following diagram shows these relationships.
Essentially, each tenant can have one or more sites. Further, each tenant can have one or more clients. Each client will have one or more customers. For a SaaS solution in support of a 3PL or 4PL tenant, the solution has tenants, the tenants have clients, and the clients have customers.
This hierarchical relationship affects virtually every data set supported by the SaaS solution. For example within the catalog or SKU data, each data record that describes the attributes for a SKU must include the tenant and the client. When looking at inventory, each record would need to specify the tenant, the site, the client, and possibly the customer. The same would be true when tracking transactions – it is important for a 3PL to know for each transaction executed the site, the client, and the customer it was executed for.
This level of complexity and tracking must be designed into the product from the beginning, it is not a simple customization to add later. Insure that when you are looking for a SaaS WMS or TMS that if you need these levels of tracking that it is in there already – don’t believe claims it can be simply added on.