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 ObjectMosaic ValueAjera backend fields
ProjectsProject Name/DescriptionAxProject.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:
  • TimeAndExpense
  • FixedFee
  • PercentComplete
  • UnitPrice
  • PercentofConstructionCost
  • Adjustment
Budget Status

AxProject.prjStatus

ajera status → mosaic status:
  • 0 (Preliminary) → Proposal
  • 1 (Active) → Active
  • 2 (Hold) → whatever user sets in settings
  • 3 (WorkHold) → whatever user sets in settings
  • 4 (BillingHold) → Hold
  • 5 (Closed) → Complete
  • 6 (Marketing) → Hold
ClientAxInvoiceGroups.igClient (represents client key) for the matching value on AxProject.igProject (represents project key)
Project KeyAxProject.prjKey (represents project key)
Project Start Date - can either be selected for the actual start date or an estimated start dateAxProject.prjActualStartDate ELSE prjEstimatedStartDate
Project’s end dateAxProject.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 statusAxProject.prjStatus is ‘Closed’
Project numberAxProject.prjID
Project ManagerAxProject.prjProjectManager
PhasesIs phase billable?

AxProject.prjBillingType

if the value is one of the following, then billable, else not billable:
  • TimeAndExpense
  • FixedFee
  • PercentComplete
  • UnitPrice
  • PercentofConstructionCost
  • Adjustment
What is the phase budget status?

AxProject.prjStatus

ajera status → mosaic status:
  • 0 (Preliminary) → Hold
  • 1 (Active) → Active
  • 2 (Hold) → whatever user sets in settings
  • 3 (WorkHold) → whatever user sets in settings
  • 4 (BillingHold) → Hold
  • 5 (Closed) → Complete
  • 6 (Marketing) → Hold
Phase start dateAxProject.prjEstimatedStartDate/prjActualStartDate
Phase end dateAxProject.prjEstimatedCompletionDate/prjActualCompletionDate
Phase feeAxProject.prjTotalContractAmount/prjLaborContractAmount/prjExpenseContractAmount/prkConsultantContractAmount depending on the setting chosen
Phase nameAxProject.prjDescription
Phase numberAxProject.prjID
Is phase archived?AxProject.prjStatus is ‘Closed’ or ‘Inactive’ depending on setting
Work CategoryWork CategoryAxActivity.actDescription
Time EntryIs a time entry billable?AxTransaction.tStatus == 0 (Billable)
Time entry DateAxTransaction.tDate
Time entry descriptionAxTransaction.tNotes
Time entry (spent) hoursif use billed hours for time entry hours setting on, then AxTransaction.tBilledUnits, else AxTransaction.tUnits
Time entry rateif 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 categoryAxTransaction.tActivity
RatesRole rateAxRateTableDetail.rtlRate
Rate groupAxRateTable.rtDescription
RolesRole nameAxEmployeeTypeType.etDescription
Default roles (a Mosaic value)AxVec.vecEmployeeType
EmployeeEmployee NameAxVEC.vecFirstName
Employee emailAxVEC.vecEmail