Subsidiaries
Shaari's multi-tenant architecture lets businesses with multiple legal entities, branches, or subsidiaries manage them all from a single account. Each subsidiary operates as an independent tenant with its own data, settings, and team --- while you switch between them seamlessly from one login.
Multi-Tenant Architecture Overview
In Shaari, a tenant represents a single business entity. Every piece of data --- invoices, customers, employees, settings --- belongs to exactly one tenant. Tenants are fully isolated from each other at the database level, meaning one tenant's data is never visible to or accessible by another.
When you create your Shaari account, a single tenant is created for your primary business. If your organization has subsidiaries, branches, or separate legal entities that need their own invoice management, you can create additional tenants linked to your account.
Multi-tenancy with subsidiaries is available exclusively on the Enterprise plan. Basic and Plus plan users operate within a single tenant.
Parent Company and Subsidiary Relationship
Shaari uses a parent-child model for multi-tenant organizations:
- The parent tenant is your primary business entity --- the one created when you first registered.
- Subsidiary tenants are additional business entities linked to the parent.
Each subsidiary is a full-featured, independent tenant. The parent-child relationship exists for organizational purposes and for user access management, but it does not create any data sharing between tenants. A purchase invoice in the parent tenant is not visible from a subsidiary, and vice versa.
What Subsidiaries Share
- User accounts --- A user can belong to multiple tenants without needing separate login credentials. They sign in once and switch between tenants.
- Billing --- Subsidiaries are covered under the parent tenant's Enterprise subscription.
What Subsidiaries Do NOT Share
- Data --- Invoices, customers, suppliers, products, employees, projects, and all other records are completely separate per tenant.
- Settings --- Company name, logo, VAT number, CR number, tax configuration, and all other settings are configured independently.
- Team members --- Each subsidiary has its own team roster. A user must be explicitly added to a subsidiary to access it.
- Permissions --- A user's role and permissions can differ between tenants. You might be an Admin in the parent company but a Member with limited access in a subsidiary.
- Storage --- Each tenant has its own storage quota and file space.
Creating Subsidiaries
To create a subsidiary:
- Navigate to Settings > Organization.
- Click Create Subsidiary.
- Fill in the subsidiary's details:
- Company Name (Arabic and English)
- Commercial Registration (CR) Number
- VAT Registration Number
- Country and City
- Address (including Saudi National Address fields if applicable)
- Click Create.
The new subsidiary appears in your tenant switcher immediately. You can then switch to it and begin configuring its settings, inviting team members, and entering data.
Creating a subsidiary requires the Enterprise plan and the Admin role in the parent tenant. Only parent-level Admins can create new subsidiaries.
Independent Configurations per Subsidiary
Each subsidiary is configured independently, allowing you to tailor it to the specific needs of that business entity:
Company Information
Set the subsidiary's legal name, trade name, logos, and contact details. These appear on invoices, quotations, and contracts generated from that subsidiary.
Tax Configuration
Configure the subsidiary's VAT registration independently. This is critical for businesses where each subsidiary has its own VAT registration number, as is common when operating across different jurisdictions or under separate CRs.
ZATCA Integration
Each subsidiary can have its own ZATCA Phase 2 integration. The onboarding process (CSR generation, compliance CSID, production CSID) is performed independently per subsidiary, as ZATCA issues credentials per VAT registration.
Team and Permissions
Invite team members specifically to the subsidiary and assign roles and permissions that reflect their responsibilities within that entity. A person who is a full Admin in the parent company might only need View Only access to the subsidiary.
User Access Across Subsidiaries
A single Shaari user account can belong to multiple tenants. This means:
- You sign in once with your email and password.
- You see all tenants you belong to in the tenant switcher.
- Your role and permissions may differ in each tenant.
- Your personal profile (name, email, avatar) is shared, but your effective access is tenant-specific.
Adding Users to Subsidiaries
To give an existing user access to a subsidiary:
- Switch to the subsidiary tenant.
- Go to Settings > Team.
- Invite the user by email. If they already have a Shaari account, the subsidiary is added to their tenant list automatically.
- Set their role and permissions for this specific subsidiary.
Removing Users from Subsidiaries
Removing a user from a subsidiary revokes their access to that subsidiary only. Their access to other tenants (including the parent) is unaffected.
Best Practices
Naming Conventions
Use clear, consistent naming for your subsidiaries. Include the legal entity name or a recognizable abbreviation so users can easily identify which tenant they are working in.
Separate ZATCA Credentials
If each subsidiary has its own VAT registration, complete the ZATCA onboarding process separately for each one. Do not reuse ZATCA credentials across subsidiaries.
Minimal Access
Only add users to subsidiaries they actually need to work in. Having access to all subsidiaries increases the risk of accidental data entry in the wrong tenant.
When switching tenants, Shaari displays the active tenant name prominently in the sidebar. Always verify you are in the correct tenant before creating or modifying records.
Next Steps
- Tenant Switching --- Learn how to switch between tenants in the UI
- Roles & Permissions --- Understand how permissions work within each tenant