Exodus Salesforce Docs
Technical Reference

Object and Field Reference

Technical reference for major objects, field groups, system-maintained fields, and object-contract best practices

This page is a field-oriented companion to the object model. It does not list every field in the org. It explains the object contracts and the field families that developers, admins, and operators need to understand before changing data, automation, reports, or integrations.

Object Size Snapshot

The repo extends several objects heavily. Field count is a signal that the object is an operational contract, not a simple form.

ObjectCustom field count in sourcePrimary contract
Sales_Order__c206Order, payment, fulfillment, tracking, finance, commission, RMA correlation, reporting.
Quote__c117Customer offer, approval, PDF, payment-readiness, margin/commission, conversion.
Payment_Order__c108Collection intent, billing/shipping snapshot, route, token, invoice/order links.
Item__c108Catalog, inventory, quote/order eligibility, BOM/cost, GL, fulfillment routing.
Payment_Transaction__c104Processor/accounting evidence, settlement, refunds, voids, disputes.
Sales_Order_Line__c101Revenue, fulfillment quantity, commission, cost/margin, line audit.
Quote_Line__c81Quoted products, credits, margin, commission, conversion line source.
Purchase_Order__c80Supply pipeline, vendor, receiving, phase status, open supply reporting.
Opportunity76Pipeline rollups from Quotes, Sales Orders, Invoices, and Payments.
Activity29Structured Task/Event data for lead activity quality.

Field Family Conventions

Field familyMeaningBest practice
External_Source_*Imported or migrated source-system lineage.Preserve it for traceability; do not use it as the primary operational field unless a migration/integration explicitly owns it.
Metrics_Last_Calculated_At__c, Metrics_Version__cRollup/version evidence.Treat as system-maintained. If stale, rerun the owning metrics job/service rather than hand-editing.
*_Status__c, Lifecycle_Status__c, Collection_Status__c, Fulfillment_Status__cOperational state.Find the owning service/action before changing. Status fields often drive dashboards and mutability.
*_Count__c, *_Amount__c, *_Total__c, *_Percent__cRollups, totals, derived metrics.Assume calculated unless the field is clearly user-entered.
Idempotency_Key__c, Raw_Payload_Hash__c, Execution_Key__cIntegration dedupe/evidence.Never overwrite to "retry"; use the supported retry/requeue path.
Last_*_Error__c, Last_*_Message__c, Last_*_At__cLast runtime evidence.Use for diagnosis, not for workflow control by hand.
Billing_*, Shipping_*, Delivery_* snapshotsDenormalized customer address/contact snapshot.Preserve historical snapshots after order/payment creation. Correct source Account/Address records for future work.
*_Gateway__c, Route_Key__c, Vault_Gateway_Key__cPayment route/token context.Treat as payment infrastructure fields. Gateway changes require lifecycle/migration handling.
ThreePL_*, Fulfillment_*, Tracking_*Provider sync and fulfillment state.Use runtime/admin tools and provider refresh before manual edits.

CRM and Activity

Object/fieldsContract
Lead activity summary fieldsLast_Sales_Touch_Date__c, Last_Sales_Touch_By__c, Last_Sales_Touch_Disposition__c, Last_Sales_Touch_Quality__c, Next_Follow_Up_Date__c, Open_Follow_Up_Task_Count__c, and Lead_Activity_Compliance_Status__c are maintained from Tasks.
Activity custom fieldsShared Task/Event field metadata for call, follow-up, buyer, product, compliance, and quality data.
Task validation/list viewsSave-time enforcement and work queues for structured Lead activity.
Record_Ownership_Transfer__cAudited ownership movement for Leads, Accounts, Quotes, and Sales Orders.
Duplicate_Match__cStored duplicate evidence and review state.

Best practices:

  1. Use Task/Activity for sales touch data; do not create a parallel custom activity object.
  2. Keep Lead rollup fields system-owned.
  3. Add fields only when they support reporting, automation, or handoff. Do not use free-text notes for data that managers need to measure.
  4. If a field is required in validation, put it on the quick action/layout where users enter the data.

Quotes and Quote Lines

AreaKey fieldsContract
Header relationshipsAccount__c, Contact__c, Opportunity__c, Address_Tracker__c, Shipping_Address_Tracker__cParent context for customer, pipeline, addresses, and conversion.
ApprovalApproval_Status__c, Approval_Submitted_Date__c, Approval_Decision_Date__c, Approval_Decision_By__c, Approval_Rejection_Reason__c, Approval_Age_Days__c, Approval_SLA_Status__cApproval state and SLA reporting.
Email/PDFApproval_Email_Status__c, Approval_Email_Sent_Count__c, Last_Approval_Email_*Evidence of approval communication.
TotalsProduct_Total__c, Shipping_Total__c, Total_Credits_Amount__c, Final_Total__c, Total_Quote_Line_Items__c, Total_Units__cQuote totals and summary cards.
Margin/costTotal_Quote_Cost__c, Quote_Gross_Margin__c, Quote_Margin_Percent__c, Has_Negative_Margin__c, BOM_Cost_Coverage_Percent__cProfitability review and approval context.
CommissionTotal_Commission_Amount__c, Average_Commission_Rate__c, Commission_to_Margin_Ratio__cCommission preview before conversion.
ConversionConverted_Sales_Order__c, Status__cLink to downstream order and lock/converted behavior.

Quote line contract:

AreaKey fields
Item and pricingItem__c, Quantity__c, Unit_Price__c, Discount_Percent__c, Line_Total__c, Line_Category__c.
Credits/revenueIs_Credit_Line__c, Is_Revenue_Generating_Line__c.
Margin/BOMUses_BOM_Cost__c, Std_Calculated_COGS_Total__c, Total_Line_Cost__c, Line_Net_Margin__c, Has_Negative_Margin__c.
CommissionCommission_*, Commission_Group__c, Commission_Tier__c, Commission_Status__c.

Best practices:

  1. Create and edit lines through the Line Items editor, not raw related-list creation.
  2. Do not manually change approval fields to skip approval.
  3. Clone/revise quotes instead of overwriting submitted or rejected history.
  4. Treat quote-line margin and commission fields as calculated evidence unless the commission override workflow explicitly owns the change.

Sales Orders and Sales Order Lines

AreaKey fieldsContract
Header relationshipsAccount__c, Contact__c, Quote__c, Opportunity__c, Invoice_Count__c, Payment_Order_Count__cLinks the order to customer, pipeline, quote, invoices, and payment work.
Status/mutabilityStatus__c, Stage__c, Has_Payment_Activity__c, Has_Posted_Payment__c, Has_Fulfillment_Activity__c, Has_Tracking__cDetermines whether line changes are safe or locked.
Payment/ARPayment_Status__c, Balance_Due_Amount__c, Total_Collected_Amount__c, Latest_Payment_Transaction_At__c, AR_Status__c, Collections_Date__cAR, payment follow-up, and collection dashboards.
FulfillmentFulfillment_Status__c, Fulfillment_Percent__c, Fulfillment_Sync_Status__c, Fulfillment_Required_Qty__c, Fulfillment_Fulfilled_Qty__c, ThreePL_Runtime_Sync_Status__cWarehouse/provider progress.
TrackingHas_Tracking__c, Tracking_Count__c, Tracking_Code__c, First_Tracking_Received_At__c, All_Items_Delivered_At__cCustomer tracking and shipped-state evidence.
EmailCustomer_Email_Status__c, Customer_Email_Sent_Count__c, Last_*_Email_Sent_On__cInvoice/payment/tracking communication evidence.
Finance/costTotal_Order_Revenue__c, Final_Total__c, Total_Order_Cost__c, COGS_Sold_Goods__c, Total_COGS_Variance__cFinance and margin controls.
CommissionTotal_Commission_Amount__c, Commission_Decay_Percent__c, Average_Commission_Rate__cCommission reporting and payout readiness.
RMA correlationExternal_RMA_*, Primary_External_RMA_*, Latest_External_RMA_*Thin external RMA app linkage, not native Salesforce RMA workflow ownership.

Sales Order line contract:

AreaKey fields
Item and amountItem__c, Item_SKU__c, Quantity__c, Unit_Price__c, Line_Total__c, Line_Revenue__c.
FulfillmentCounts_Toward_Fulfillment__c, Fulfilled_Quantity__c, Quantity_Left_To_Ship__c, ThreePL_Source_Line_Ref__c.
Margin/costActual_COGS_Line_Total__c, Std_Calculated_COGS_Total__c, Line_Net_Margin__c, Gross_Profit_Actual__c.
CommissionCommission_*, Commission_Split_*, Commission_Status__c.

Best practices:

  1. Use supported Sales Order actions for invoice, payment, tracking, cancellation, ownership, and recurring plans.
  2. Do not edit lines casually after payment, invoice, tracking, or fulfillment evidence exists.
  3. Use credit, reversal, cancellation, or admin repair paths instead of deleting financial history.
  4. Keep external RMA context on Sales Orders as correlation only.

Payments

ObjectContract
Payment_Order__cCollection intent and customer/order/invoice/payment route context.
Payment_Order_Line__cComponent amounts and payment order detail.
Payment_Intent__cExecutable hosted checkout/payment link intent.
Payment_Attempt__cAttempt-level evidence.
Payment_Transaction__cProcessor/accounting evidence: action, amount, gateway, provider refs, fees, settlement, failures, reversals.
Payment_Receipt__cCollected-funds evidence.
Payment_Allocation__c / Receivable_Application__cApplication of receipts to invoices/AR.
Payment_Method__c, Payment_Profile__c, Payment_Method_Token__cSaved method and gateway-route token coverage.
Payment_Gateway__cGateway identity, adapter, lifecycle, credential references, and successor/deprecation state.
Settlement_Batch__c, Settlement_Line__cReconciliation and settlement reporting.
Dispute__c, Processor_Event__cDispute and webhook/processor evidence.

Best practices:

  1. Do not create fake transactions or receipts to make reports balance.
  2. Use idempotency and gateway lifecycle fields as evidence, not as retry toggles.
  3. Gateway changes are migration work. Use successor-backed lifecycle changes, token coverage checks, and historical transaction preservation.
  4. Billing/shipping snapshots on payment records are historical evidence. Correct the source customer/address for future payments instead of overwriting old snapshots.

3PL and Fulfillment

ObjectContract
ThreePL_Provider_Account__cReusable provider account identity and credential grouping.
ThreePL_Provider_Config__cWarehouse/provider config, endpoint extensions, sync toggles, runtime windows, lookbacks, poll frequencies.
ThreePL_Runtime_Request__cQueue/work item for provider runtime work.
ThreePL_Transaction__cProvider request/response evidence.
ThreePL_Record_Sync_State__cSource record to remote record mapping, hashes, last sync status/error.
Fulfillment_Operation__cOperational fulfillment progress.
Shipped_Line__cShipped quantity and line evidence.
Sales_Order_Tracking__cTracking numbers, provider, carrier, status, notification evidence.
Fulfillment_Sync_History__cVisible order-level sync history.

Best practices:

  1. Diagnose provider sync using runtime request, transaction, sync state, and history together.
  2. Missing tracking is not proof of missing fulfillment. Check shipped-line and external fulfillment evidence first.
  3. Provider warehouse deactivation requires successor-backed handoff and blocker review.
  4. Provider-owned inventory should be mirrored from provider systems, not manually edited as internal stock.

Items, Inventory, BOM, and Purchasing

AreaKey objects/fieldsContract
Catalog identityItem__c.SKU__c, Item_Group__c, Variant_Family_*, Product_Type__c, Item_Category__cSearch, grouping, eligibility, reporting.
Sales eligibilityCan_Quote__c, Can_Sell__c, Not_Available_for_Quotes__c, Not_Available_For_Sale__c, Line_Add_Setup_Blocked__cProduct selector and line editor gating.
Fulfillment routingDefault_Warehouse__c, Warehouse__c, Warehouse_Link__c, Exclude_From_Fulfillment__c, Not_Count_In_Inventory__cWarehouse/provider behavior.
Payment routingDefault_Payment_Gateway__c, Payment_Gateway__c, Item_Payment_Gateway__cGateway context for quote/order lines.
InventoryInventory__c, Inventory_Transaction__c, Quantity_On_Hand__c, Available_to_Promise__c, Stock_Status_Rating__cStock lookup and inventory history.
BOM/costBill_of_Materials__c, BOM_Component__c, Standard_BOM_Cost__c, Std_Cost_*, Cost_Basis__cCost intelligence and margin.
PurchasingPurchase_Order__c, Purchase_Order_Line__c, Purchase_Order_Receipt_Line__c, Received_Line__cSupply pipeline and receiving.
GLRevenue_GL_Account__c, Inventory_GL_Account__c, COGS_GL_Account__c, Expense_GL_Account__c, Item_GL_Account_Default__cFinance automation and GL controls.

Best practices:

  1. Use Item Manager and item creation wizard for setup; raw item creation misses policy and setup warnings.
  2. Do not sell or quote items with setup blockers just because a line can be forced in.
  3. Use structured inventory adjustments with reason/reference, not direct quantity edits.
  4. Treat BOM/cost fields as finance-impacting, not cosmetic product data.

Finance and Commissions

AreaObjects/fieldsContract
GL defaultsGL_Account__c, Item_GL_Account_Default__c, item GL fieldsAutomation-first GL mapping.
Financial auditSales_Order_Financial_Audit__c, Sales_Order_Audit_Change__c, Sales_Order_Audit_Line__cChange evidence for finance controls.
ARInvoice__c, Payment_Receipt__c, Receivable_Application__c, balance/aging fieldsCollections and receivables reporting.
Commission configCommission_Group__c, Commission_Tier__c, Commission_SKU_Override__c, Commission_User_Override__c, Commission_Decay_Settings__cCommission rules and payout readiness.
Commission resultsSales_Order__c.Total_Commission_Amount__c, line-level Commission_* fieldsReporting and payout confidence.

Best practices:

  1. Use GL Intelligence to repair missing defaults rather than hand-maintaining one-off rules.
  2. Keep financial audit records. They are not disposable logs.
  3. Commission reports should be read with payment, refund, dispute, cancellation, and margin context.

Change Control Rules

  1. Before editing a field, identify whether it is user-entered, calculated, imported, integration-owned, or historical snapshot.
  2. Before adding a new field, identify its owner, entry surface, reporting purpose, permission coverage, and cleanup/retention impact.
  3. Before changing picklist values, check reports, dashboards, validation rules, Apex services, LWCs, and integrations.
  4. Before changing statuses, check automation that uses the status as a gate.
  5. Before changing object relationships, check delete behavior, sharing/access, rollups, and existing historical records.
  6. Before changing payment, fulfillment, or finance fields, define a migration path and rollback path.

Last updated on

On this page