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:

  • 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

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:

  • 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 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