ReferenceGenerated
Settings reference
These tables list standard company settings, their defaults, and optional module defaults defined in Thermal's source. This is a source snapshot generated when this documentation is updated, not a live read of your company's data. Your current version and configured settings may differ.
Org settings
A company's starting profile and later changes can differ from these standard defaults. Change available settings from the matching Settings page.
| Setting | Type | Default |
|---|---|---|
approvals.delegations | array | [] |
creditStop.enabled | boolean | false |
creditStop.graceDays | number | 0 |
creditStop.minimumOverdueCents | number | 0 |
security.requireTwoStepForAdmins | boolean | false |
operationalSkills.pmOverdueDays | number | 1 |
operationalSkills.unbilledDays | number | 1 |
operationalSkills.dispatchLateMinutes | number | 30 |
operationalSkills.quoteNoResponseDays | number | 7 |
operationalSkills.collectionOverdueDays | number | 7 |
operationalSkills.collectionAgeingBucketDays | number | 30 |
operationalSkills.equipmentRiskAgeYears | number | 15 |
operationalSkills.purchasingOverdueDays | number | 1 |
operationalSkills.minimumAgreementMarginBps | number | 2000 |
operationalSkills.fleetIdleDays | number | 30 |
operationalSkills.minimumFleetUtilizationPct | number | 65 |
capabilities.rentals | boolean | false |
capabilities.capitalPlanning | boolean | false |
capabilities.marketing | boolean | false |
capabilities.customer-portal | boolean | false |
capabilities.vendor-portal | boolean | false |
capabilities.hvac_pack | boolean | false |
capabilities.fire_pack | boolean | false |
capabilities.plumbing_pack | boolean | false |
capabilities.electrical_pack | boolean | false |
capabilities.elevator_pack | boolean | false |
capabilities.accountingSync | boolean | false |
capitalPlan.horizonYearsDefault | number | 3 |
capitalPlan.contingencyBasis | string | none |
capitalPlan.contingencyPercentBps | number | 0 |
capitalPlan.contingencyFixedCents | number | 0 |
billing.alerts.expectedMonthlyMinor | number | 0 |
billing.alerts.thresholds | array | [50,80,100] |
billing.alerts.recipients | array | [] |
scheduling.assignWithNoTimePolicy | string | anchor-else-unscheduled |
dashboard.goals | array | [{"key":"ftfr","target":85},{"key":"utilization","target":80},{"key":"avgTicket","target":520}] |
automation.masterOn | boolean | true |
automation.overnightAutoSchedule | boolean | false |
automation.moduleLevels.smart-scheduling | string | auto |
automation.moduleLevels.dispatch-auto-assign | string | suggest |
automation.moduleLevels.equipment-health | string | suggest |
automation.moduleLevels.elevator-certificate-sweep | string | suggest |
automation.moduleLevels.vendor-price-drift | string | suggest |
automation.moduleLevels.rental-idle-redeploy | string | suggest |
automation.moduleLevels.kpi-watch | string | suggest |
automation.moduleLevels.report_questions | string | suggest |
automation.moduleLevels.upsell | string | off |
automation.moduleLevels.ar-collections | string | suggest |
automation.moduleLevels.quote-follow-up | string | suggest |
automation.moduleLevels.finance-charges | string | off |
automation.moduleLevels.agreement-renewal | string | suggest |
automation.moduleLevels.pm-sweep | string | auto |
automation.moduleLevels.pm-optimization | string | suggest |
automation.moduleLevels.call-intake | string | suggest |
automation.moduleLevels.acceptance-run | string | suggest |
automation.moduleLevels.inquiry-follow-up | string | suggest |
automation.moduleLevels.pre-visit-briefing | string | suggest |
automation.moduleLevels.accounting_sync | string | suggest |
automation.moduleLevels.stripe_refunds | string | suggest |
automation.moduleLevels.setup-assistant | string | suggest |
automation.moduleLevels.migration-assistant | string | suggest |
automation.moduleLevels.voice-assist | string | suggest |
automation.moduleLevels.stock-reorder | string | suggest |
automation.rateCaps.smart-scheduling | number | 6 |
automation.rateCaps.dispatch-auto-assign | number | 6 |
automation.rateCaps.voice-assist | number | 5 |
automation.rateCaps.accounting_sync | number | 200 |
automation.guardrails.afterHoursDispatch | boolean | true |
automation.guardrails.sendToCustomer | boolean | true |
automation.scheduleWindows | array | [] |
automation.quietHoursStart | string | 20:00 |
automation.quietHoursEnd | string | 07:00 |
automation.notifications.inApp | boolean | true |
automation.notifications.textOwner | boolean | true |
automation.notifications.dailyDigest | boolean | false |
automation.syncOwnership.customerContact | string | thermal |
automation.syncOwnership.address | string | thermal |
automation.syncOwnership.invoiceLineItems | string | thermal |
automation.syncOwnership.payments | string | quickbooks |
automation.syncOwnership.taxRates | string | quickbooks |
automation.syncOwnership.chartOfAccounts | string | quickbooks |
automation.rejectionBand.warnAbovePercent | number | 20 |
automation.rejectionBand.windowDays | number | 14 |
business.addressLine1 | string | (empty string) |
business.addressLine2 | string | (empty string) |
business.city | string | (empty string) |
business.state | string | (empty string) |
business.postalCode | string | (empty string) |
business.country | string | US |
business.hoursStart | number | 7 |
business.hoursEnd | number | 19 |
shopProfile.trade | string | (empty string) |
shopProfile.teamSize | string | (empty string) |
shopProfile.branches | string | (empty string) |
shopProfile.ownerInField | string | (empty string) |
shopProfile.workMix | string | (empty string) |
shopProfile.customerMix | string | (empty string) |
shopProfile.heardAbout | string | (empty string) |
shopProfile.heardAboutOther | string | (empty string) |
invoicing.taxProvider | string | manual |
invoicing.taxRateBps | number | 0 |
invoicing.taxRegistrationNumber | string | (empty string) |
invoicing.paymentTermsDays | number | 30 |
invoicing.invoicePrefix | string | INV |
invoicing.estimatePrefix | string | P |
invoicing.workOrderPrefix | string | WO |
invoicing.poPrefix | string | PO |
invoicing.defaultNotes | string | (empty string) |
invoicing.billingEngineProvider | string | platform_default |
invoicing.prebillPolicy | string | optional |
invoicing.prebillThresholdCents | number | 0 |
invoicing.prebillEscalation.enabled | boolean | true |
invoicing.prebillEscalation.ageThresholdMinutes | number | 2880 |
invoicing.prebillEscalation.escalationApproverUserId | null | null |
invoicing.prebillEscalation.defaultApproverUserId | null | null |
invoicing.coiEnforcement | string | warn |
invoicing.coiWarnWindowDays | number | 30 |
invoicing.deMinimisFloorCents | number | 0 |
invoicing.invoicesOutsideThermal | boolean | false |
proposals.financingAprBps | number | 990 |
proposals.financingTermMonths | number | 60 |
proposals.defaultValidityDays | number | 30 |
proposals.requireInternalApprovalBeforeSend | boolean | false |
customerImport.rawUploadRetentionDays | number | 14 |
notifications.enabled | boolean | false |
notifications.bookingConfirmation | boolean | false |
notifications.appointmentReminder | boolean | false |
notifications.enRoute | boolean | false |
notifications.etaUpdate | boolean | false |
notifications.jobAssigned | boolean | false |
notifications.routeChanged | boolean | true |
notifications.staffSms | boolean | false |
notifications.invoiceSent | boolean | false |
notifications.invoiceReminder | boolean | false |
notifications.proposalReminder | boolean | false |
notifications.proposalSent | boolean | false |
notifications.inspectionSent | boolean | false |
notifications.changeOrderSent | boolean | false |
notifications.agreementRenewalReminder | boolean | false |
notifications.surveyRequest | boolean | false |
notifications.respectQuietHours | boolean | true |
notifications.policy.booking_confirmation.sms | string | off |
notifications.policy.booking_confirmation.email | string | off |
notifications.policy.appointment_updated.sms | string | off |
notifications.policy.appointment_updated.email | string | off |
notifications.policy.visit_removed.sms | string | off |
notifications.policy.visit_removed.email | string | off |
notifications.policy.appointment_reminder.sms | string | off |
notifications.policy.appointment_reminder.email | string | off |
notifications.policy.tech_on_the_way.sms | string | off |
notifications.policy.tech_on_the_way.email | string | off |
notifications.policy.eta_update.sms | string | off |
notifications.policy.eta_update.email | string | off |
notifications.policy.survey_request.sms | string | off |
notifications.policy.survey_request.email | string | off |
notifications.policy.invoice_sent.sms | string | off |
notifications.policy.invoice_sent.email | string | off |
notifications.policy.invoice_reminder.sms | string | off |
notifications.policy.invoice_reminder.email | string | off |
notifications.policy.statement_sent.email | string | on |
notifications.policy.proposal_sent.sms | string | off |
notifications.policy.proposal_sent.email | string | off |
notifications.policy.proposal_reminder.sms | string | off |
notifications.policy.proposal_reminder.email | string | off |
notifications.policy.inspection_sent.sms | string | off |
notifications.policy.inspection_sent.email | string | off |
notifications.policy.change_order_sent.email | string | off |
notifications.policy.agreement_renewal_reminder.sms | string | off |
notifications.policy.agreement_renewal_reminder.email | string | off |
notifications.policy.job_assigned.sms | string | off |
notifications.policy.job_assigned.email | string | off |
notifications.policy.tech_reassignment.sms | string | off |
notifications.policy.tech_reassignment.email | string | off |
notifications.policy.staff_removal.sms | string | off |
notifications.policy.staff_removal.email | string | off |
notifications.policy.route_changed.sms | string | off |
notifications.policy.route_changed.email | string | on |
notifications.policy.tech_day_before.sms | string | off |
notifications.reminder.localTime | string | 10:00 |
notifications.customerEmailSetup.acceptedAt | null | null |
webhooks.enabled | boolean | false |
nte.warnThresholdPct | number | 80 |
nte.enforcement | string | warn |
payroll.cadence | string | biweekly |
payroll.anchorDate | string | 2026-01-02 |
payroll.provider | string | generic |
payroll.adpRunCompanyCode | string | (empty string) |
payroll.adpRunRateCode | string | BASE |
payroll.adpRunTravelEarningCode | string | REG |
payroll.adpRunNonchargeableEarningCode | string | REG |
payroll.breaks.mealPaid | boolean | false |
payroll.breaks.restPaid | boolean | true |
payroll.breaks.recordingEnabled | boolean | true |
timeClock.siteRadiusMeters | null | null |
timeValidation.minWeeklyHours | number | 40 |
timeValidation.maxDailyHours | number | 16 |
timeValidation.lateEntryThresholdDays | number | 3 |
timeValidation.requireAttributionForChargeable | boolean | false |
timeValidation.requireWorkLocationMultiBranch | boolean | false |
overtime.mode | string | weekly40 |
overtime.weeklyThresholdHours | number | 40 |
overtime.dailyThresholdHours | number | 8 |
overtime.dtThresholdHours | number | 12 |
overtime.workWeekStartDay | number | 1 |
overtime.travelCountsTowardBase | boolean | false |
inventory.costingMethod | string | manual_only |
inventory.transferApproval.thresholdCents | null | null |
inventory.transferApproval.officeApprovalCeilingCents | number | 0 |
priceBook.marginFloorPct | number | 35 |
priceBook.roundingStrategy | string | exact |
priceBook.memberTierDeltaPct | number | -10 |
priceBook.commercialTierDeltaPct | number | -15 |
fieldApp.hideSellPriceFromTechnicians | boolean | false |
fieldApp.autoArrive | boolean | false |
compliance.credentialExpiryThresholdDays | number | 30 |
compliance.inspectionCredentialPolicy | string | block |
completionGates.mandatoryTasks | string | required |
completionGates.mandatoryInspectionItems | string | required |
frosty.enabled | boolean | false |
apMatching.toleranceCents | number | 2500 |
apMatching.toleranceBps | number | 200 |
deposits.enabled | boolean | false |
deposits.basis | string | none |
deposits.percentBps | number | 2000 |
deposits.fixedAmountCents | number | 0 |
deposits.treatment | string | appliedToFinalInvoice |
calloutFee.enabled | boolean | false |
calloutFee.amountCents | number | 0 |
calloutFee.covers | string | driveTimePlusFirstHour |
calloutFee.firstHourMinimum | boolean | true |
financeCharges.enabled | boolean | false |
financeCharges.basis | string | percentPerMonth |
financeCharges.monthlyRateBps | number | 150 |
financeCharges.flatAmountCents | number | 0 |
financeCharges.graceDays | number | 0 |
financeCharges.minimumChargeCents | number | 0 |
rentalMovementBilling.transportChargeCents | number | 0 |
rentalMovementBilling.installLaborChargeCents | number | 0 |
rentalMovementBilling.deinstallLaborChargeCents | number | 0 |
rentals.defaultYardBranchId | null | null |
rentals.depositForfeitureEnabled | boolean | false |
rentals.openEndedTierPricing | string | flat |
billableTime.roundingMode | string | exact |
billableTime.laborPricebookItemId | null | null |
warranty.reportingEnabled | boolean | false |
warranty.secureAttachmentsEnabled | boolean | false |
warranty.attachmentRetentionDays | number | 365 |
agreements.renewalHorizonDays | number | 30 |
agreements.renewalReminderStageDays | array | [] |
agreements.expiryGraceDays | number | 0 |
agreements.defaultRenewalEscalationBps | number | 500 |
customerLifecycle.inactivityLapseDays | number | 540 |
inquiries.staleCaptureHours | number | 4 |
inquiries.captureRetentionDays | number | 365 |
projectBudgetAlerts.watchPercent | number | 80 |
jobCosting.reportsEnabled | boolean | false |
jobCosting.captureEnabled | boolean | false |
jobCosting.compensationEnabled | boolean | false |
jobCosting.backfillCompletedAt | null | null |
jobCosting.backfillCount | null | null |
agentSpend.monthlyCeilingUsd | number | 50 |
prevailingWage.enabled | boolean | false |
support.bugReportEntry | string | on |
crm.intakeRetentionDays | number | 730 |
platformApi.governedWrites | string | suggest |
accounting.pushImportedInvoicesToQbo | boolean | false |
Optional modules (capabilities)
These are standard module defaults, rather than a list of modules enabled for your company. Check Settings → Capabilities for your available modules.
| Module | Default |
|---|---|
| Rentals & Leasing | Off |
| Capital Planning | Off |
| Marketing | Off |
| Customer portal | Off |
| Vendor portal | Off |
| HVAC pack | Off |
| Fire & Life Safety pack | Off |
| Commercial Plumbing pack | Off |
| Commercial Electrical pack | Off |
| Elevators & Escalators pack | Off |
| Accounting sync | Off |