Overview
Snipe-IT offers two modes of company support:- Basic Company Support (Default) - Companies are used for organizational purposes, but all users can see all assets
- Full Multiple Company Support (FMCS) - Strict separation where users can only see assets belonging to their company
Companies in Snipe-IT can represent different entities based on your needs:
- Separate legal entities in a corporate group
- Departments or divisions within an organization
- Client organizations in an MSP environment
- Geographic regions or branches
Enabling Full Multiple Company Support
To enable strict company separation:- Navigate to Settings > General Settings
- Under Security, enable Full Multiple Companies Support
- Save settings
How FMCS Affects Access
When FMCS is enabled (fromapp/Models/Company.php:79-89):
- Users can only view/manage items belonging to their company
- Super users can view/manage all companies
- Users with no company assigned can view/manage all items
- Company assignment is enforced automatically on all queries
- All users can see all assets regardless of company
- Companies are for organizational/reporting purposes only
Creating Companies
Step 1: Navigate to Companies
Go to Settings (gear icon) > Companies in the admin interface.Step 2: Create New Company
Click Create New and configure:Company name (e.g., “Acme Corporation”, “Sales Department”, “West Coast Region”).Must be unique across all companies.
Company phone number (7-35 characters).
Company fax number (7-35 characters).
Company email address (must be valid email format).
Internal notes about the company.
Optional color for visual identification in the interface.
app/Models/Company.php:29-34:
Assigning Items to Companies
All major item types support company assignment:- Assets
- Accessories
- Consumables
- Components
- Licenses
- Users
Assigning During Creation
When creating a new item, select the company from the Company dropdown.If FMCS is enabled and you’re not a super user, the company field will be automatically set to your company and hidden from the form.
Bulk Company Assignment
You can bulk-update company assignments:- Go to the asset/accessory/etc. listing page
- Select multiple items using checkboxes
- Choose Actions > Change Company
- Select the new company
- Confirm the change
Company-Based Access Control
Access control is handled inapp/Models/Company.php:138-181:
User Roles in FMCS
- Super User
- Company Admin
- User (No Company)
- Company User
Full Access
- Can view and manage all companies
- Can assign any company to items and users
- Can create users in any company
Company Scoping in Queries
Snipe-IT automatically scopes database queries based on company when FMCS is enabled (app/Models/Company.php:276-284):
CompanyableTrait used by assets, accessories, consumables, components, and licenses.
Deleting Companies
A company can only be deleted if it’s empty (app/Models/Company.php:201-212):
Permissions
Company management requires specific permissions (config/permissions.php:430-447):
companies.view- View companiescompanies.create- Create new companiescompanies.edit- Edit existing companiescompanies.delete- Delete companies
API Access
Companies are fully accessible via the REST API:List All Companies
Get Specific Company
Create Company
Update Company
Delete Company
Reporting with Companies
Companies are a key dimension in Snipe-IT reporting:- Assets by Company - View asset distribution across companies
- Company Asset Valuation - Track total asset value per company
- License Compliance by Company - Ensure license compliance per company
- User Activity by Company - Monitor checkout/checkin activity
Use Case Examples
Multi-Client MSP
Managed Service Providers can use companies to separate client assets:- Company 1: Client A - Law Firm
- Company 2: Client B - Dental Practice
- Company 3: Client C - Accounting Firm
Corporate Departments
Large organizations can use companies for departments:- Company 1: Sales
- Company 2: Marketing
- Company 3: Engineering
- Company 4: HR
Regional Offices
Multi-location organizations can use companies for regions:- Company 1: North America
- Company 2: Europe
- Company 3: Asia-Pacific
Advanced Configuration
Default Company Assignment
When creating new items, the company is determined by (app/Models/Company.php:111-129):
Company Scoping for Child Relationships
For complex queries involving related models, company scoping is applied recursively (app/Models/Company.php:337-361).
Troubleshooting
Users Cannot See Assets After Enabling FMCS
This is expected behavior. Assign users to companies:- Go to People > Users
- Edit each user
- Assign them to the appropriate company
- Save
”Cannot Manage Users’ Companies” Error
Non-super users cannot create users in different companies when FMCS is enabled. This is enforced by (app/Models/Company.php:188-192):
API Returns Empty Results
API access respects company scoping. When using API tokens:- Generate tokens from a super user account for cross-company access
- Or generate separate tokens per company
Next Steps
User Management
Assign users to companies
Permissions
Configure company-based access control
Reports
Generate company-specific reports
API Documentation
Access companies via the REST API
