Backend
attik-backend/src/util/functions/payroll/dataFunc.ts. Charge-level pay is only calculated when the charge remains eligible for the inspection-level path. If a linked event exists for the charge, the code marks isPrimaryInspectorCompleted false and skips charge-level payout for that charge. Flat-fee payout is then selected from custom flat rate, service flat rate, modifier flat-rate addition, or commission fallback.canPerformService check is based on inspector.services.includes(serviceId), so two inspectors on the same company can receive different results if their allowed service lists differ even when the service payout settings are the same.attik-backend/src/util/functions/payroll/dataFunc.ts. When a charge is suppressed because of linked events, the expected payout path moves to the event calculation branch. Any mismatch between charge/event linkage, event assignment, or service eligibility can therefore present as a missing flat-fee payout.attik-backend/src/routes/payroll.ts. That route populates inspections, charges, services, events, discount code behavior, and payroll modifier additions before passing the data into sortInspectionsByInspector().attik-backend/src/models/inspectorSchema.ts, where each inspector has a services array. Service payout settings come from attik-backend/src/models/serviceSchema.ts, including flatRate, flatRateType, flatRateAsPrimary, and flatRateAsPrimaryType.Decision needed
inspector.services as a strict eligibility gate for payment, or whether missing eligibility should be surfaced more clearly as a data/configuration problem in payroll output.attik-backend/src/util/functions/payroll/dataFunc.tsattik-backend/src/routes/payroll.tsattik-backend/src/models/inspectorSchema.tsattik-backend/src/models/serviceSchema.tsPlease authenticate to join the conversation.
Canceled
New Features
17 days ago
Linear
Get notified by email when there are changes.
Canceled
New Features
17 days ago
Linear
Get notified by email when there are changes.