Costpoint Supported Objects & Data Model
Reference for supported Costpoint object types, extracted fields, incremental filtering, and pagination behavior.
Supported Object Types
VersionForge ships built-in resource mappings for seven Costpoint object types. Each maps to a Costpoint REST API resource with defined fields, an ID field, and a timestamp field for incremental extraction.
Project
Project and contract records -- the core entity in Costpoint's project accounting model.
| Field | Description |
|-------|-------------|
| projectId, projectName | Project identity |
| projectStatus, projectType | Classification |
| contractNumber, contractType | Contract linkage |
| customerId, customerName | Client reference |
| organizationId, organizationName | Org unit ownership |
| projectManagerId, projectManagerName | PM assignment |
| startDate, endDate | Duration |
| fundedValue, ceilingValue | Contract financials |
| revenueAmount, costAmount | Summary financials |
Employee
Workforce records with labor category and org structure.
| Field | Description |
|-------|-------------|
| employeeId, firstName, lastName, fullName, email | Identity |
| title, department | Role |
| organizationId, organizationName | Org unit |
| supervisorId, supervisorName | Reporting chain |
| employeeStatus, employeeType | Status and classification |
| hireDate, terminationDate | Employment dates |
| laborCategory, laborLocation | Labor classification (DCAA-relevant) |
Account
Chart of accounts with hierarchy and budget classification.
| Field | Description |
|-------|-------------|
| accountId, accountName | Identity |
| accountType, accountGroup, accountClass | Classification |
| parentAccountId, parentAccountName | Account hierarchy |
| isActive | Active status |
| budgetCategory | Budget classification |
Organization
Organizational structure with hierarchy and management.
| Field | Description |
|-------|-------------|
| organizationId, organizationName, organizationType | Identity |
| parentOrganizationId, parentOrganizationName | Org hierarchy |
| managerId, managerName | Management |
| isActive, level | Status and depth |
Vendor
Accounts payable vendor records.
| Field | Description |
|-------|-------------|
| vendorId, vendorName, vendorType | Identity |
| taxId | Tax identification |
| address1, address2, city, state, postalCode, country | Address |
| contactName, contactPhone, contactEmail | Primary contact |
| paymentTerms, isActive | AP terms |
Timesheet
Labor hours by employee, project, and period.
| Field | Description |
|-------|-------------|
| timesheetId | Record identity |
| employeeId, employeeName | Worker |
| projectId, projectName | Charged project |
| accountId, organizationId | Cost coding |
| timesheetDate, hours | Date and quantity |
| laborCategory, laborLocation | Labor classification |
| chargeType | Direct/indirect |
| approvalStatus, approvedBy, approvedDate | Approval chain |
Cost Transaction
Detailed cost line items across all cost types (labor, material, subcontract, ODC).
| Field | Description |
|-------|-------------|
| transactionId, transactionType | Identity and type |
| projectId, projectName | Project |
| accountId, accountName | GL account |
| organizationId | Org unit |
| vendorId, vendorName | Vendor (for AP costs) |
| employeeId, employeeName | Employee (for labor costs) |
| transactionDate, postingDate | Dates |
| amount, quantity, unitOfMeasure | Financials |
| description, referenceNumber | Detail |
| fiscalYear, fiscalPeriod | Period alignment |
Incremental Extraction
All objects use lastModifiedDate as the incremental filter field. When a sync runs with a since timestamp, VersionForge passes a modifiedSince query parameter to the Costpoint API:
GET /api/costpoint/v1/projects?modifiedSince=2026-04-11T00:00:00Z&database=CPDB&companyCode=1
Only records modified after the timestamp are returned, reducing data volume and API calls on subsequent syncs.
Pagination
The Costpoint REST API uses offset/limit pagination. VersionForge requests pages of 500 records by default and accumulates results until:
- A page returns fewer records than the page size (end of data)
- The total reaches the safety cap (100,000 records)
Each page includes database and companyCode parameters to scope results to the correct dataset.