Account Structure
Overview
Ottimate uses a tiered organizational hierarchy to manage accounts payable operations. Understanding this structure is essential for integration because every API request must be properly scoped to the correct company and location.
The hierarchy consists of:
- Account - The top-level organization (an Ottimate client)
- Company - A distinct accounting entity with its own chart of accounts and vendors
- Location - A subdivision within a company for invoice processing and approvals
Additionally, locations can be organized into Groups - optional organizational collections that can span multiple companies in multi-company accounts.
Single-Company Account:
Multi-Company Account:
Key Principle: Data does not cross company boundaries. Each company has completely separate dimensions, vendors, and invoice workflows.
Hierarchy Components
Client Accounts (racc_)
A client account represents an organization using Ottimate to automate accounts payable processes. This is the top-level entity that Ottimate provisions during onboarding.
Key Characteristics:
- Unique identifier format:
racc_prefix (e.g.,racc_90832490382904802384) - Contains one or more companies
- API credentials (Client ID, Client Secret) are scoped to an account
- Billing and subscription are managed at the account level
For API Integrators
Accounts are provisioned by Ottimate during the Onboarding process before you begin integration development. By the time you receive your API credentials, your account structure (account, companies, and locations) is already configured.
Read-Only Access: API integrators have read-only access to account structure via GET endpoints. You cannot create or modify accounts, companies, or locations through the API. If you need structural changes, contact your Ottimate Partner Manager.
Companies
A company is a distinct accounting entity within a client account. Each company maintains its own:
- Chart of accounts - Separate set of dimensions (GL accounts, departments, etc.)
- Vendor list - Vendors are company-specific
- Accounting rules - Separate coding and approval policies
- ERP connection - Each company connects to one ERP instance
When to Use Multiple Companies
Use separate companies when:
- Different ERP systems - Subsidiary A uses NetSuite, Subsidiary B uses QuickBooks
- Separate legal entities - Each entity files taxes separately and maintains separate books
- Distinct chart of accounts - Each entity has a completely different GL structure
- Separate vendor relationships - Vendors are managed independently between entities
Use a single company with multiple locations when:
- Same ERP system - All locations use the same accounting software
- Shared chart of accounts - Same GL structure across all locations
- Shared vendor list - Vendors serve multiple locations
- Centralized accounting - Single accounting team manages all locations
Examples
Multi-Company Scenario:
Single-Company Scenario:
Accessing Company Information
Companies are pre-configured during account onboarding. Use the companies endpoint to retrieve company IDs for your API calls:
List Companies Example:
Response:
Response Fields:
Locations
A location is a subdivision within a company used to organize invoice processing, permissions, and approval workflows. Locations share the same chart of accounts and vendor list as their parent company.
Key Characteristics:
- Belongs to exactly one company
- Shares the company’s dimensions and vendors
- Can have location-specific approval policies
- Can have location-specific user permissions
- Can have location-specific email to receive invoices
- Used to route invoices to appropriate approvers
Accessing Location Information
Locations are pre-configured during account onboarding. Use the locations endpoint to retrieve location IDs for invoice creation and filtering:
List Locations Example:
Response:
Response Fields:
Filtering by company: The locations endpoint returns all locations for an account across all companies. Use the company field in the response to identify which company each location belongs to. If you need to filter locations for a specific company, filter the results client-side by matching the company field to your target company name.
Groups
A group is an optional organizational collection of one or more locations within an account. Groups provide flexibility for organizing locations for reporting, permissions, and workflow management.
Key Characteristics:
- A group contains 1 or more locations
- A location can only belong to 1 group (or none)
- Groups are optional - locations can exist without being assigned to a group
- Returned in the
groupfield of the Location object - Groups are read-only via API (configured through Ottimate Onboarding Tool)
Groups in Single-Company Accounts:
In a single-company account, groups organize locations within the same company:
- Regional organization - “North Region” and “South Region” groups organize stores by geography
- Department-based grouping - “Corporate Offices” vs “Warehouse Locations”
- Reporting - Track AP metrics by location grouping
Groups in Multi-Company Accounts (Cross-Company Groups):
In multi-company accounts, groups can span across companies, creating “cross-company groups”:
- Regional organization - “West Coast” group contains locations from multiple subsidiary companies
- Cross-company reporting - Track AP metrics across subsidiaries by region/division
- Shared management - A regional manager oversees locations from multiple legal entities

