ActionTaken | Action Taken | PickList | | Values: Replace, Repair. |
ActualDurationHours | Actual Duration (Hours) | Number | | Hours actually worked on the line. Nothing computes it from the time-sheet start and end stamps — it is captured — and it is read by resource-wise profitability reporting rather than by any billing path. |
AllocatedInvoicedQuantity | Allocated Invoiced Quantity | Number | | |
AllocatedQuantity | Allocated Quantity | Number | | Stock committed to this line by an allocation. It is also the transaction marker for the line: once it is non-zero the Item can no longer be changed and the line can no longer be deleted. |
AlternateItemId | AlternateItem | Lookup → ItemAlternate | | |
Amount | Amount | Calculated (calculated) | | Calculated line value: the base amount, less the net discount and net scheme discount when discounts are applied before tax, or the untouched base amount when ApplyPostTaxDiscount is set (in which case the discounts are taken off in the gross amount instead). |
ApplyPostTaxDiscount | Apply Post Tax Discount | Boolean | | Switches the point at which discounts are taken: off, they reduce the line amount before tax; on, the amount stays at base and the discounts are deducted from the gross amount after tax, and percentage discounts are computed on base plus tax rather than on base alone. |
AssetId | Asset | Lookup → Asset | | |
AssetMaintenanceId | Asset Maintenance | Lookup → AssetMaintenance | | The scheduled asset-maintenance item this line discharges. It is also the de-duplication key when maintenance lines are pulled in: an item already present on the order is not added twice. |
AssetServiceContractId | Asset Service Contract | Lookup → AssetServiceContract | | |
AssetServiceContractLineId | Asset Service Contract Line | Lookup → AssetServiceContractLine | | |
BaseAmount | BaseAmount | Calculated (calculated) | | Calculated as the net quantity (ordered less cancelled) times the effective unit price, which is UnitPrice2 when positive and UnitPrice otherwise. It is the pre-discount, pre-tax value of the line. |
BranchId | Branch | Lookup | | |
CancelledQuantity | Cancelled Quantity | Number | | Quantity struck off the line without being supplied. It is subtracted in every pending-quantity calculation, and cancelling a part line in full is one of the two ways to satisfy the Work Completed gate on the order. |
ClaimableQuantity | Claimable Quantity | Calculated (calculated) | | Calculated quantity eligible for a warranty claim: it is quantity less cancelled less already claimed, but only when PostingType is Generate Claims or Auto Generate Claims — for any other posting type it evaluates to zero, which is what keeps billable work out of the claim run. |
ClaimedQuantity | Claimed Quantity | Number | | |
ComplaintCodeId | ComplaintCode | Lookup → Complaint | | |
ComplaintFaultCodeId | ComplaintFaultCode | Lookup → ComplaintFault | | |
ContractDiscount | Contract Discount | Percent | | |
ContractDiscountAmount | Contract Discount Amount | Currency | | |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | | |
DeliveryQuantity | Delivery Quantity | Number | | |
DiscountAmount | Discount Amount | Currency | | |
DiscountAmount2 | Cash Discount Amount | Currency | | |
ExternalId | External | Text | | |
FailedItemDeliveredQuantity | Failed Item Delivered Quantity | Number | | |
FailedItemTreatment | Failed Item Treatment | PickList | | Values: Replaced, Repaired, Inspected. |
FailedPartInfo | Failed Part Info | Text | | |
FulfilmentOrderQuantity | Fulfilment Order Quantity | Number | | |
GrossAmount | Gross Amount | Calculated (calculated) | | Calculated as the line amount plus tax, minus the discounts again when ApplyPostTaxDiscount is set — the post-tax discount branch is where those discounts actually bite. |
HeaderItem | Header Item | Text | | |
Id | Id | Guid | | |
IncludedInPackage | Included In Package | Boolean | | |
InventoryLedgerId | Inventory Ledger | Lookup → InventoryLedger | | The inventory ledger entry raised for this line's stock movement. Its presence is what marks the line as already posted: the inventory-posting action only considers lines where it is empty, and refuses to run when every line has one. |
InventoryStockId | Inventory Stock | Lookup → InventoryStock | | |
InvoiceGroup | Invoice Group | PickList | | Splits the order's lines into separate invoice documents — the seeded values are Parts and Service — so one job can bill parts and labour on different invoices. Claims are grouped the same way. Values: Parts, Service. |
InvoiceQuantity | Invoice Quantity | Number | | |
IsBillable | Billable | Boolean | | Read-only derived flag: it is true when PostingType is Generate Invoices or is blank, and its setter deliberately discards writes, so storing a value in the column has no effect. Change PostingType to change billability. |
IsClaimed | Claimed | Boolean | | |
IsILPosted | IL Posted | Boolean | | Protected inventory-ledger posting flag — the handler rejects client attempts to set or change it, so it can only be maintained by the posting engine. |
IsILPostingApproved | IL Posting Approved | Boolean | | |
IsInvoiced | Invoiced | Boolean | | Set by the invoice run on each line it actually posted. It marks that an invoice line was produced, not that the line is fully billed — check the pending invoice quantity for that. |
IsPackageService | Package Service | Boolean | | |
IsSchemeGenerated | Scheme Generated | Boolean | | |
IsServiceCampaignMandatory | Service Campaign Mandatory | Boolean | | Marks the line as required by a service campaign or recall. While set, the handler blocks changes to the item, quantity, cancelled quantity and contract on the line and blocks deleting it altogether. |
ItemId | Item | Lookup → Item | Yes | The item or operation on the line, and the thing that decides how the line behaves: an Item of type Work Item is labour and can appear on a time sheet, an Item of type Part drives allocation, picking and inventory posting. The item must be one of the Related Items configured for the header Asset's Item, and it is locked once anything has been allocated against the line. |
ItemLotId | Item Lot | Lookup → ItemLot | | |
ItemLotTypeId | Item Lot Type | Lookup → ItemLotType | | |
ItemName | Item Name | Text | | |
ItemServiceContractId | Item Service Contract | Lookup → ItemServiceContract | | The service contract this line is executed and settled under. It drives how the line is posted — invoices are split per contract and claims are raised against it — and it is validated against the asset's contracts when set. |
ItemServiceContractId2 | Item Service Contract2 | Lookup → ItemServiceContract | | A second service contract sharing the cost of the line, used where liability is split. It only produces anything when its weightage is positive, that contract's posting treatment is Generate Invoices and it names a weightage charge item — then a proportional extra invoice line is raised against it. |
ItemServiceContractId3 | Item Service Contract3 | Lookup → ItemServiceContract | | |
MaintenanceSubType | Maintenance Sub-Type | PickList | | |
MaintenanceType | Maintenance Type | PickList | | Values: Breakdown, Predictive, Preventive. |
ModifiedById | Modified By | Lookup → UserAccount | | |
Name | Name | Text | | |
NetDiscount | Net Discount | Calculated (calculated) | | Calculated total of the line's three discount channels — cash, secondary and contract — preferring the explicit amount for each where one is entered. The percentage branches of the formula refer to Discount, Discount2 and ContractDiscount rate fields that are not first-party fields on this entity, so in a stock configuration only the entered amounts contribute. |
NetSchemeDiscount | Net Scheme Discount | Calculated (calculated) | | |
OpportunityLineId | Opportunity Line | Lookup → OpportunityLine | | |
OriginalItemId | Original Item | Lookup | | |
OTCInvoicedQuantity | OTC Invoiced Quantity | Number | | Quantity billed over the counter, that is sold directly without going through the fulfilment chain. It is deducted when working out what is still releasable to fulfilment. |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PackageClassification | Package Classification | PickList | | Marks how the line sits inside a service package. Lines classified as "Packaged Item" are skipped by both the invoice run and the claim run, because their value is billed through the package parent rather than in their own right. |
PartnerAccountId | Partner Account | Lookup → Account | | |
PendiFulfilmentOrderQuantity | Pending Fulfilment Order Quantity | Calculated (calculated) | | Calculated as quantity less fulfilment-order quantity, less over-the-counter invoiced quantity, less cancelled quantity — what is still releasable to inventory fulfilment. The release actions are refused outright when no line has a positive value here, and the field name carries a long-standing spelling error ("Pendi") that is part of the API contract. |
PendingAllocatedInvoicedQuantity | Pending Allocated Invoiced Quantity | Calculated (calculated) | | Calculated as allocated quantity less allocated-invoiced quantity — stock committed to the job that has not yet been billed. |
PendingDeliveryOrder | Pending Delivery Order | Calculated (calculated) | | |
PendingFulfilmentAllocationQuantity | Pending Fulfilment Allocation Quantity | Calculated (calculated) | | Calculated as quantity less allocated less cancelled — stock still to be committed. Allocation actions are gated on it, and the order cannot move to Work Completed while any Part line still has a non-zero value here that has not been cancelled instead. |
PendingInvoiceQuantity | Pending Invoice Quantity | Calculated (calculated) | | Calculated as quantity less cancelled less invoiced — what is still billable. Both invoice actions are refused when no line has a positive value here, and it is the quantity used when a selective invoice omits an explicit request. |
PendingPickingQuantity | Pending Picking Quantity | Calculated (calculated) | | |
PickedQuantity | Picked Quantity | Decimal | | |
PostingType | Posting Type | PickList | | Decides where the line's value is posted when the order is invoiced. Blank or Generate Invoices produces a customer invoice line; Generate Claims and Auto Generate Claims send it to warranty claims instead. Values: Auto Generate Claims, Generate Invoices, Generate Claims, Expense. |
PriceAsOnDate | Price As On Date | DateAndTime | | |
PriceListId | Price List | Lookup → PriceList | | |
PriceListRuleId | Price List Rule | Lookup → PriceListRule | | |
PriceListRulesId | Price List Rules | Lookup | | |
PurchaseOrderLineId | Purchase Order Line | Lookup → PurchaseOrderLine | | The purchase order line raised to buy this part in when it was not in stock. Its presence excludes the line from a further vehicle-offroad purchase order, so it doubles as the already-ordered marker. |
Quantity | Quantity | Number | | The quantity ordered on the line, and the base of every pending calculation — fulfilment, allocation, picking, invoicing and claiming all subtract what has already happened from this figure less the cancelled quantity. Negative values are rejected, and it cannot be changed on a line flagged as campaign-mandatory. |
QuoteLineId | Quote Line | Lookup → QuoteLine | | |
RecommendationAmount | Recommendation Amount | Calculated (calculated) | | Intended to expose the value of recommendation-driven work, but its calculation tests a health-check recommendation field that exists on quote lines and not on this entity, so on a service order line it evaluates to zero. |
RecommendationId | Recommendation | Lookup | | |
RecommendationType | Recommendation Type | PickList | | |
RecordTypeId | Record Type | Guid, hidden | | |
RequestedQuantity | Requested Quantity | Number | | A virtual, non-persisted field: it exists so a selective action (selective fulfilment, invoice, allocation, picking or cancellation) can carry a per-line quantity in its payload. It is validated against the relevant pending quantity, and when omitted or zero the action falls back to the whole pending amount. |
ResourceId | Resource | Lookup → Resource | | |
RNAExternalId | RNAExternal | Text | | |
RNAServiceOrderExternalId | RNA Service Order External | Text | | |
SchemeBenefitId | Scheme Benefit | Lookup → SchemeBenefit | | |
SchemeDiscountAmount | Scheme Discount Amount | Currency | | |
SchemeLineId | Scheme Slab | Lookup → SchemeLine | | |
SchemeRewardPoints | Scheme Reward Points | Number | | |
ServiceCampaignId | Service Campaign | Lookup → ServiceCampaign | | |
ServiceCampaignItemId | Service Campaign Item | Lookup | | |
ServiceContractItemId | Service Contract Item | Lookup → Item | | |
ServiceContractWeightage | Service Contract Weightage | Calculated (calculated) | | Calculated as one minus the second and third contract weightages — the share of the line's value that stays with the primary contract. It is derived, so adjust the second and third shares rather than this. |
ServiceContractWeightage2 | Service Contract Weightage 2 | Decimal | | The fraction of the line's value borne by the second service contract, entered as a proportion. It both drives the extra invoice charge to that contract and reduces the primary contract's derived share. |
ServiceContractWeightage3 | Service Contract Weightage 3 | Decimal | | |
ServiceOrderDiscount | Service Order Discount | Calculated (calculated) | | Intended to carry the header discount down to the line, but its calculation refers to a Discount field on the service order that does not exist in first-party metadata, so it resolves to nothing on a stock configuration. |
ServiceOrderId | Service Order | Lookup → ServiceOrder | | |
ServiceOrderTimeSheetId | Service Order Time Sheet | Lookup → ServiceOrderTimeSheet | | |
ServiceRecommendationId | Service Recommendation | Lookup → ServiceRecommendation | | The service recommendation this line was created from when the customer accepted it. When the order is invoiced, that recommendation is marked utilised and pointed back at this line, which is what stops it being offered or deleted again. |
SkipScheme | Skip Scheme | Boolean | | |
SKUId | SKU | Lookup → SKU | | |
StandardDurationHours | Standard Duration (Hours) | Number | | The book time for the operation, copied from the source quote or opportunity line when the order is populated. It is the benchmark against which actual hours are compared; it does not price the line. |
StockAvailable | Stock Available | Calculated (calculated) | | Live read-through of the linked inventory stock record's available quantity — free stock at the line's branch, lot and location. It is a display aid for the parts counter and is not a stored balance for the line. |
StockInHand | Stock In Hand | Calculated (calculated) | | |
StorageLocationId | Storage Location | Lookup → StorageLocation | | |
Tax1 | Tax1 | Currency | | |
Tax1Name | TaxName1 | Text | | |
Tax1Rate | TaxRate1 | Currency | | |
Tax1Type | TaxType1 | Text | | |
Tax2 | Tax2 | Currency | | |
Tax2Name | TaxName2 | Text | | |
Tax2Rate | TaxRate2 | Currency | | |
Tax2Type | TaxType2 | Text | | |
Tax3 | Tax3 | Currency | | |
Tax3Name | TaxName3 | Text | | |
Tax3Rate | TaxRate3 | Currency | | |
Tax3Type | TaxType3 | Text | | |
Tax4 | Tax4 | Currency | | |
Tax4Name | TaxName4 | Text | | |
Tax4Rate | TaxRate4 | Currency | | |
Tax4Type | TaxType4 | Text | | |
Tax5 | Tax5 | Currency | | |
Tax5Name | TaxName5 | Text | | |
Tax5Rate | TaxRate5 | Currency | | |
Tax5Type | TaxType5 | Text | | |
Tax6 | Tax6 | Currency | | |
Tax6Name | TaxName6 | Text | | |
Tax6Rate | TaxRate6 | Currency | | |
Tax6Type | TaxType6 | Text | | |
TaxAmount | Tax Amount | Currency | | |
TaxGroupId | Tax Group | Lookup → TaxGroup | | |
TechnicianId | Technician | Lookup → Resource | | The Resource who works this line. It is copied onto the time-sheet line created for the line, and profitability attributes the line's revenue and hours to this person, falling back to the order header's technician only when the line names nobody. |
TimeLost | Time Lost | Number | | |
UIProps | UI Props | Text | | |
UnitPrice | Unit Price | Decimal | | The line's list price per unit, set from the applicable price list rule when the item, price list or price-as-on date changes. It is only used in the amount calculation when the override price UnitPrice2 is zero. |
UnitPrice2 | Unit Price 2 | Number | | An override price per unit that wins over UnitPrice whenever it is greater than zero — the base amount is computed from it in preference. Use it for negotiated or contract-specific pricing on the line. |
UpdatedDateTime | Modified Date | DateAndTime | | |
WorkEndedAt | Work Ended At | DateAndTime | | When work on this line finished. It is one of the two ways a Work Item line satisfies the order's Work Completed gate — the other being a work status of "Work Ended". |
WorkStartedBy | Work Started By | DateAndTime | | Despite the name this is a date-and-time field, not a user reference: it holds when work on the line started. It is what the Create Time Sheet action reads from its payload to seed the sheet's work start date, and what the sheet writes back onto the line. |
WorkStatus | Work Status | PickList | | The line's work stage. The Work Completed gate on the order compares it against the literal "Work Ended", but the seeded picklist for this field offers only the two paused reasons (non-availability of stock, non-availability of technician), so in practice the gate is satisfied by the work-ended timestamp rather than by this value; time sheets write Started/Paused/Completed into it, which are also outside the seeded list. Values: Paused- Non-Availability Of Stock, Paused- Non-Availability Of Technician, Work Ended. |