Technical Guide
Below is a field mapping database that outlines how Mosaic populates integration fields from Ajera.
For each Mosaic field, this list shows the corresponding Ajera backend source (including Ajera’s internal database and field names), so technical teams can understand exactly where values originate. Even if your team primarily uses Ajera Cloud and the Ajera UI, this reference is helpful for troubleshooting, validating data entry, and confirming that the correct Ajera fields are being populated to produce the expected results in Mosaic.
These mappings also reflect Mosaic’s Integration Settings selections. Depending on the setting chosen in Mosaic, the source of truth may change, and Mosaic may pull the same Mosaic field from different Ajera fields based on that configuration.
Mosaic Object | Mosaic Value | Ajera backend fields |
|---|---|---|
Projects | Project Name/Description | AxProject.prjDescription |
Billable status - Whether a project is billable (or not) | AxProject.prjBillingType if the value is one of the following, then billable, else not billable:
| |
Budget Status | AxProject.prjStatus ajera status → mosaic status:
| |
Client | AxInvoiceGroups.igClient (represents client key) for the matching value on AxProject.igProject (represents project key) | |
Project Key | AxProject.prjKey (represents project key) | |
Project Start Date - can either be selected for the actual start date or an estimated start date | AxProject.prjActualStartDate ELSE prjEstimatedStartDate | |
Project’s end date | AxProject.prjActualCompletionDate ELSE AxProject.prjEstimatedCompletionDate | |
Project Fee (if consultant fees are turned on, they’re added to existing project fees) | AxProject.prjLaborContractAmount if consult fee setting on, all add AxProject.prjConsultantContractAmount | |
Project archive status | AxProject.prjStatus is ‘Closed’ | |
Project number | AxProject.prjID | |
Project Manager | AxProject.prjProjectManager | |
Phases | Is phase billable? | AxProject.prjBillingType if the value is one of the following, then billable, else not billable:
|
What is the phase budget status? | AxProject.prjStatus ajera status → mosaic status:
| |
Phase start date | AxProject.prjEstimatedStartDate/prjActualStartDate | |
Phase end date | AxProject.prjEstimatedCompletionDate/prjActualCompletionDate | |
Phase fee | AxProject.prjTotalContractAmount/prjLaborContractAmount/prjExpenseContractAmount/prkConsultantContractAmount depending on the setting chosen | |
Phase name | AxProject.prjDescription | |
Phase number | AxProject.prjID | |
Is phase archived? | AxProject.prjStatus is ‘Closed’ or ‘Inactive’ depending on setting | |
Work Category | Work Category | AxActivity.actDescription |
Time Entry | Is a time entry billable? | AxTransaction.tStatus == 0 (Billable) |
Time entry Date | AxTransaction.tDate | |
Time entry description | AxTransaction.tNotes | |
Time entry (spent) hours | if use billed hours for time entry hours setting on, then AxTransaction.tBilledUnits, else AxTransaction.tUnits | |
Time entry rate | if use spent rate for time entry rate setting on, then AxTransaction.tEarnedRate, else AxTransaction.tBilledRate | |
Time entry status | if AxTransaction.tTimeRejectedBy, then rejected else if AxTimesheet.tsSubmittedBy or AxTimesheet.tsSupervisorApprovedBy then if Ajera Time Entry Approval Mapping to Mosaic's 'Approved' Status setting set to Approved by Supervisor or Approved by Accounting, then approved, else submitted else not submitted | |
Time entry work category | AxTransaction.tActivity | |
Rates | Role rate | AxRateTableDetail.rtlRate |
Rate group | AxRateTable.rtDescription | |
Roles | Role name | AxEmployeeTypeType.etDescription |
Default roles (a Mosaic value) | AxVec.vecEmployeeType | |
Employee | Employee Name | AxVEC.vecFirstName |
Employee email | AxVEC.vecEmail |
Updated 2 days ago
