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

  1. Open TheCompanyApp

  2. On the welcome screen, tap "Create Company"

  3. 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:

  1. Generate Unique Company ID

  2. Create Companies Entity

    • Saved to Core Data Private Store

    • CloudKit syncs to Private Database

  3. Set Owner Information

    • ownerID = your iCloud user identifier

    • ownerName = your iCloud account name

  4. Assign Tier

    • Tier saved to Companies entity

    • Determines feature availability

  5. 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:

  1. Username: Choose a unique username for this company

  2. Password: Create a secure password

  3. Confirm Password: Re-enter to verify

  4. 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_Companies record

  • 1 CD_UserPass record

  • 1 CD_AccessControl record

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

2. Set Up Contacts

  • Navigate to Contacts tab

  • Add customers and suppliers

  • Import from Excel if available

3. Invite Team Members (Business/Enterprise Only)

  • Navigate to Settings tab

  • Tap "Share Company"

  • Follow the sharing flow

4. Configure Notifications

5. Create Your First Order

  • Navigate to Orders tab

  • Tap + (Add) button

  • Process your first sales order

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 UI

  • ChoosVersionView.swift: Tier selection

  • CreatCUOC.swift: Company creation form and logic

  • CreatePassWordCView.swift: UserPass creation

  • Persistence.swift: Core Data container setup

Flow Summary:

  1. User navigates through creation wizard

  2. createCompany() in CreatCUOC.swift creates Companies entity

  3. App saves to viewContext (Private Store)

  4. Core Data + CloudKit sync to Private Database

  5. AccessControl created automatically

  6. User creates UserPass credentials

  7. Company becomes selected company

  8. Navigation to dashboard


Next: Create User Password (detailed guide) Related: Sharing Company, Login Flow

Last updated