Create First Company
Step-by-step guide to creating your first company in TheCompanyApp.
Overview
Creating a company is the foundational step in TheCompanyApp. As the company owner, you'll have full control over the company data, settings, and the ability to invite team members.
Prerequisites
Before creating a company, ensure:
✅ TheCompanyApp is installed
✅ You're signed in to iCloud
✅ You have internet connection (for initial sync)
✅ You're using the company's primary Apple ID (recommended)
Company Creation Flow
Step 1: Launch Quick Start
Open TheCompanyApp
On the welcome screen, tap "Create Company"
The Quick Start Guide appears
Step 2: Review Quick Start Information
The Quick Start screen (QuickStart.swift) explains:
Data Privacy
Your company data is stored in your private iCloud
Only people you explicitly invite can access it
Apple encrypts all data in transit and at rest
Required Information
Company name
Country (for regional settings)
Contact information
Optional Setup
Company logo
Tax ID
Business policies
Important Notes:
Use the company's primary Apple ID for the owner account
Ensure stable internet for initial sync
You can edit all information later
Tap "Continue" to proceed.
Step 3: Choose Subscription Tier
The Choose Version screen presents three tiers:
Free Tier
Price: Free forever
Users: Solo owner only (no team members)
Features: Full access to all core features
Best For: Solo entrepreneurs, freelancers, small side businesses
Business Tier
Price: (Subscription pricing)
Users: Up to 10 team members
Features: Everything in Free + team collaboration
Best For: Small to medium teams, growing businesses
Enterprise Tier
Price: (Custom pricing)
Users: Unlimited team members
Features: Everything in Business + AI, advanced analytics
Best For: Large organizations, multi-location businesses
Select Your Tier and tap "Continue".
Step 4: Enter Company Details
The Create Company screen collects:
Required Fields:
Company Name: Your business name (e.g., "TechStart Inc.")
Country: Select from dropdown (used for address defaults)
Optional Fields:
Company Address: Full address including street, city, state, postal code
Phone Number: Primary business phone
Tax ID: Business tax identifier (for invoicing)
Company Logo: Tap to upload logo image (optimized automatically)
Tips:
Use your legal business name for professional invoices
Logo should be square (will be resized to 1024x1024)
Address is used as default for orders and dispatches
Tap "Create Company" when ready.
Step 5: Company Creation Process
The app performs:
Generate Unique Company ID
Create Companies Entity
Saved to Core Data Private Store
CloudKit syncs to Private Database
Set Owner Information
ownerID= your iCloud user identifierownerName= your iCloud account name
Assign Tier
Tier saved to Companies entity
Determines feature availability
Initialize Company Scope
All future data will be scoped to this
companyID
Progress Indicator: You'll see a loading spinner during creation.
Step 6: Create User Password
After company creation, the Create User Password screen appears.
Why a Password?
Provides company-level access control
Allows multiple users to have individual credentials
Required for login on this and other devices
Create Your Credentials:
Username: Choose a unique username for this company
Password: Create a secure password
Confirm Password: Re-enter to verify
Email (optional): Your email for this company
Password Requirements:
Minimum 6 characters (recommended 12+)
Consider using a password manager
Each company should have a unique password
Visual Profile (optional):
Tap camera icon to add profile picture
Used in team member displays
Security Note: UserPass data is stored only in your private iCloud database and is never shared with team members.
Tap "Create" to save credentials.
Step 7: AccessControl Creation
The app automatically creates an AccessControl entity:
This grants you owner-level access to the company.
Step 8: Completion
Success! You've created your first company.
The app:
Saves all data to Core Data
Initiates CloudKit sync to Private Database
Sets this company as your selected company
Navigates to the main dashboard
Understanding What Was Created
Entities in Core Data
After company creation, the following entities exist:
Companies (1 record)
UserPass (1 record)
AccessControl (1 record)
CloudKit Sync
In CloudKit Private Database, you'll see:
Private Zone: com.apple.coredata.cloudkit.zone
1
CD_Companiesrecord1
CD_UserPassrecord1
CD_AccessControlrecord
These sync to all your devices automatically.
Next Steps
After creating your company:
1. Add Inventory
Navigate to Warehouse tab
Tap + (Add) button
Create your first inventory item
See Inventory Guide
2. Set Up Contacts
Navigate to Contacts tab
Add customers and suppliers
Import from Excel if available
See Contacts Guide
3. Invite Team Members (Business/Enterprise Only)
Navigate to Settings tab
Tap "Share Company"
Follow the sharing flow
See Sharing Company
4. Configure Notifications
Navigate to Settings → Reminders
Enable notification types you want
5. Create Your First Order
Navigate to Orders tab
Tap + (Add) button
Process your first sales order
See Orders Guide
Common Questions
Can I create multiple companies?
Yes! You can create unlimited companies. Each operates independently with separate data.
Can I change the company name later?
Yes. Go to Settings → Company Info → Edit to modify any company details.
What if I chose the wrong tier?
You can upgrade tiers at any time in Settings → Subscription. Downgrading may restrict features.
Can I delete a company?
Yes. Settings → Company Info → Delete Company. This is permanent and cannot be undone.
Do I need internet to create a company?
Yes, for initial CloudKit sync. After creation, the app works offline and syncs when connection restores.
Can I transfer ownership?
Currently, ownership transfer is not supported. The owner is tied to the iCloud account that created the company.
Troubleshooting
"Unable to Create Company"
Cause: CloudKit sync issue Solution:
Check internet connection
Verify iCloud is signed in
Wait 30 seconds and try again
"Company Name Already Exists"
Cause: You already have a company with this name Solution:
Use a different name (duplicates are allowed but confusing)
Check your company list in Settings
"Failed to Save UserPass"
Cause: Core Data save error Solution:
Return to previous screen
Try creating password again
Restart app if issue persists
Company Not Appearing on Other Devices
Cause: CloudKit sync delay Solution:
Wait 1-2 minutes for sync
Pull down to refresh on other device
Check iCloud connection
Technical Details
For developers reviewing the implementation:
Files Involved:
QuickStart.swift: Quick start guide UIChoosVersionView.swift: Tier selectionCreatCUOC.swift: Company creation form and logicCreatePassWordCView.swift: UserPass creationPersistence.swift: Core Data container setup
Flow Summary:
User navigates through creation wizard
createCompany()inCreatCUOC.swiftcreates Companies entityApp saves to viewContext (Private Store)
Core Data + CloudKit sync to Private Database
AccessControl created automatically
User creates UserPass credentials
Company becomes selected company
Navigation to dashboard
Next: Create User Password (detailed guide) Related: Sharing Company, Login Flow
Last updated