Table of Contents

Software boundaries and limits

Overview

  • Altus is ready for scale. The numbers below labelled "Assured Performance Envelope" are tested minimums for smooth UX—not hard ceilings. Altus is implemented on the Microsoft Dataverse platform which supports much larger datasets with no hard limits1
  • Going beyond? We regularly support customers above these volumes. If you expect to exceed them by a wide margin, we recommend a quick solution/tenant review (capacity, indexing, view filters, automation patterns) to lock in great performance.

Task management

Assured Performance Envelope (Altus‑tested)

Detail Assured envelope
Number of projects (active) 5,000
Tasks per project read-only 1,500
Task edits in a single save operation 300
Baselines per project 20

Platform guidance & maximums

  • Dataverse scales by capacity (Database/File/Log), not by a fixed row count; there isn’t a platform limit on “number of projects” as such. Plan environments with adequate Dataverse capacity and monitoring.
  • Queries and grids use paging. Default & maximum page size is 5,000 rows for standard tables (500 for elastic tables).

What this means: If you run extremely large portfolios or resource pools, Altus will still function. Use view filters, paging, and capacity sizing to keep the UX snappy.

Resourcing

Detail Assured envelope
Dataverse quota consumed per resource year ~170 KB / Resource / Capacity‑Year
Default capacity horizon 4 years per resource (1 past, 3 future)
Maximum capacity horizon 11 years per resource (typically 1 past, 10 future)
Maximum supported resources with calendars (at default horizon) 2,000 resources with 4 years of planning
Single‑view size for edit/save in resource grids 45 resource‑years total in the visible view

Timesheeting

Detail Assured envelope
Rows per timesheet 100 rows
Typical Dataverse storage consumed by a timesheet with ~100 populated rows ~375 KB / Timesheet

Scheduled processes & automation

Detail Assured envelope / platform rule
Max results retrieved in a single Altus scheduled process step 500
Maximum runtime of synchronous Dataverse operation 2 minutes
Process log retention 30 days

Name fields

Table/Entity Name column Character limit Rationale
Bookable Resource Name 358 External sync scenarios may append the source system name.
Portfolio Name 255 Can be owned by a Microsoft 365 Group; align with M365 naming policy conventions. See M365 Groups & Teams naming policy and Entra ID enforcement.
Program Name 255 Same reason as Portfolio.
Project Name 255 Same reason as Portfolio.
Proposal Name 255 Proposals can be promoted to Projects.
Task Name 256 Keeps task names manageable and readable.

Dataverse platform maximums (quick reference)

Area Dataverse maximum / behavior Reference
Data capacity Tenant storage is pooled across Database/File/Log Dataverse capacity
Query page size Max 5,000 rows/page for standard tables (500 elastic) Paging (FetchXML)
API protections Throttling under load; implement retries/backoff Service protection
Synchronous operation time 2 minutes max per operation Analyze plug‑in performance
Text columns Up to 4,000 (single‑line); 1,048,576 (multiline) Column data types
File column Up to 10 GB/file File data
Image column Up to 30 MB/image Image data
Attachments/Notes Max 128 MB Manage email settings