The diagnosed fault code that a technician assigns against a reported complaint - the 'what was actually wrong' counterpart to the customer-reported Complaint symptom. Rows can be scoped to a specific item or to an item group so the fault list can be filtered by what is being serviced, and they are referenced from ComplaintLine, ServiceOrderLine and ClaimLine. Gotcha for reasoning about service recommendations: changing a ComplaintLine's fault code re-triggers the recommendation recompute, but the recommendation rules themselves match only on ComplaintId, so the fault code never changes which recommendations are produced. It also carries a direct ServiceOrderId, giving two ways to reach a service order (directly, or via the ComplaintLine) - they are not kept in sync by any code.
Fields
| Field | Label | Type | Required | What it does |
ApplicableToItemGroupId | Applicable To Item Group | Lookup → ItemGroup | | The broader alternative to ApplicableToItemId, scoping the fault code to a whole item group. Both may be set or both left empty; no code resolves precedence between them or validates the choice at save time. |
ApplicableToItemId | Applicable To Item | Lookup → Item | | Restricts this fault code to a single item so fault pick-lists can be narrowed to what is actually being serviced. It is advisory scoping metadata - nothing in the platform enforces that a service line's item matches the fault code chosen. |
ComplaintId | Complaint | Lookup → Complaint | | Ties the diagnosed fault back to the customer-reported symptom it explains, which is how a fault list is filtered once a complaint is chosen. Note that service recommendations are generated from the complaint alone - this link does not influence which recommendations appear. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
ExternalId | External | Text | | |
FaultCode | Fault Code | Text | | The short diagnostic code for the fault, free text with no enforced format or uniqueness. It is the human-facing code; joins from service and claim lines are always on the record id, never on this string. |
Id | Id | Guid | Yes | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Complaint Fault Code Name | Text | Yes | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
RecordTypeId | Record Type | Guid, hidden | | |
ServiceOrderId | Service Order | Lookup → ServiceOrder | | |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
Actions
| Action | Label | Type | What it does |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Edit | Edit | EditInline | Edit |
Edit2 | Edit | EditInline | Edit |
New | New | NewInline | New |