Skip to main content

Schema Reference

This reference is the table map for the dataset: which tables belong together, how the main relationships work, which keys matter most, and where the bridges between groups live. The database contains 82 user tables, including five sales-commission tables and four fixed-asset and financing tables.

If you need the big-picture business story first, start with Dataset Guide and Process Flows.

SQLite Physical Schema​

  • The published SQLite file includes a physical primary key on each table's main surrogate ID column.
  • The SQLite file also includes a curated index set for high-value joins and stable business identifiers, but it does not index every relationship column in the model.
  • Some business identifiers remain intentionally non-unique in anomaly scenarios, so identify individual rows by their primary keys rather than supplier invoice numbers or payment references.

How the Reference Is Organized​

  • Start with Table Groups to see how the model is divided.
  • Use How to Read the ER Diagrams before you treat any one group diagram as a complete process story.
  • Use Cross-Group Bridge Keys when you need to move from one table family to another.
  • Use each group section when you need the main tables, the highest-value fields, and the local join paths.

Table Groups​

GroupWhat belongs hereCount
Accounting coreAccounts, journals, and posted ledger detail3
Fixed assets and financingAsset register, lifecycle events, and note schedules4
Order-to-cashCustomers, pricing, goods and service orders, shipments, invoices, commissions, cash, returns, credits, and refunds27
Procure-to-payRequisitions, purchase orders, receipts, supplier invoices, and disbursements9
ManufacturingBOMs, routings, work centers, work orders, issues, completions, and close14
Payroll and timeShifts, rosters, absences, overtime approvals, punches, approved daily time, payroll, and remittances14
Master dataItem, warehouse, and employee records3
Organizational planningCost centers, budget summary, and budget detail3
Demand planning and MRPForecasting, inventory policy, recommendations, MRP, and rough-cut capacity5
TotalPublished user tables82

Company data areas and shared records

Where should you start an investigation, and which records are shared?

View the company data overview and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

Choose a data area before reading individual tables. This overview groups evidence; it does not impose a company-wide workflow.

Read the tables, keys, and relationships

These are learning areas, not additional database tables or proof of departmental independence.

Find any of the 82 tables and its primary learning view
TableOne row representsPrimary view
AccountOne chart-of-accounts accountAccounts, journals, and posted detail
AttendanceExceptionOne logged attendance-review exceptionAttendance support and approved daily time
BillOfMaterialOne versioned manufactured-item recipeProduct recipes and production capacity
BillOfMaterialLineOne component within a BOMProduct recipes and production capacity
BudgetOne monthly cost-center/account budget summaryBudgets and reporting responsibility
BudgetLineOne monthly budget driver or statement-planning detailBudgets and reporting responsibility
CashReceiptOne incoming customer cash eventReceived cash and invoice allocation
CashReceiptApplicationOne dated receipt allocation to an invoiceReceived cash and invoice allocation
CostCenterOne organizational reporting cost centerBudgets and reporting responsibility
CreditMemoOne customer credit-memo headerReturns, customer credit, and refunds
CreditMemoLineOne credited return lineReturns, customer credit, and refunds
CustomerOne customerCustomer orders and commercial terms
CustomerRefundOne cash refund against a credit memoReturns, customer credit, and refunds
DebtAgreementOne financing agreementAsset events and financing
DebtScheduleLineOne scheduled debt-payment installmentAsset events and financing
DemandForecastOne item/location forecast for a weekly bucketDemand, supply recommendations, and requirements
DisbursementPaymentOne supplier invoice paymentSupplier invoices and separate settlement
EmployeeOne employeeShared item, warehouse, and employee records
EmployeeAbsenceOne absence record against a rosterAttendance support and approved daily time
EmployeeShiftAssignmentOne employee shift assignment over effective datesAttendance support and approved daily time
EmployeeShiftRosterOne employee planned shift on a roster dateAttendance support and approved daily time
FixedAssetOne asset in the asset registerAsset events and financing
FixedAssetEventOne recorded asset lifecycle eventAsset events and financing
GLEntryOne posted account line in a voucherAccounts, journals, and posted detail
GoodsReceiptOne supplier goods-receipt headerProcurement and goods receiving
GoodsReceiptLineOne received purchasing-line quantityProcurement and goods receiving
InventoryPolicyOne item/location replenishment policyDemand, supply recommendations, and requirements
ItemOne item in the product or service masterShared item, warehouse, and employee records
JournalEntryOne finance-controlled journal headerAccounts, journals, and posted detail
LaborTimeEntryOne labor allocation supporting an operation and pay periodPayroll support, employee pay, and remittances
MaterialIssueOne work-order material-issue headerMaterial, completion, and accounting close
MaterialIssueLineOne issued component lineMaterial, completion, and accounting close
MaterialRequirementPlanOne component requirement for a supply recommendationDemand, supply recommendations, and requirements
OvertimeApprovalOne recorded overtime approvalAttendance support and approved daily time
PayrollLiabilityRemittanceOne period-level liability remittancePayroll support, employee pay, and remittances
PayrollPaymentOne employee net-pay paymentPayroll support, employee pay, and remittances
PayrollPeriodOne payroll calendar periodPayroll support, employee pay, and remittances
PayrollRegisterOne employee payroll register in a pay periodPayroll support, employee pay, and remittances
PayrollRegisterLineOne earning, deduction, tax, or benefit linePayroll support, employee pay, and remittances
PriceListOne customer or segment price-list scopeCustomer orders and commercial terms
PriceListLineOne item price within a price listCustomer orders and commercial terms
PriceOverrideApprovalOne recorded order-line price approvalCustomer orders and commercial terms
ProductionCompletionOne work-order completion eventMaterial, completion, and accounting close
ProductionCompletionLineOne completed-product cost lineMaterial, completion, and accounting close
PromotionProgramOne promotion definitionCustomer orders and commercial terms
PurchaseInvoiceOne supplier invoice headerSupplier invoices and separate settlement
PurchaseInvoiceLineOne goods or accrued-service supplier invoice lineSupplier invoices and separate settlement
PurchaseOrderOne supplier purchase-order headerProcurement and goods receiving
PurchaseOrderLineOne ordered purchasing lineProcurement and goods receiving
PurchaseRequisitionOne internal item requisitionProcurement and goods receiving
RoughCutCapacityPlanOne work-center capacity requirement for a supply recommendationDemand, supply recommendations, and requirements
RoutingOne versioned manufactured-item routingProduct recipes and production capacity
RoutingOperationOne operation within a routingProduct recipes and production capacity
SalesCommissionAccrualOne invoice-line commission accrualCommission accrual, clawback, and payment
SalesCommissionAdjustmentOne credit-related commission clawbackCommission accrual, clawback, and payment
SalesCommissionPaymentOne sales-rep commission paymentCommission accrual, clawback, and payment
SalesCommissionPaymentLineOne accrual or adjustment included in a commission paymentCommission accrual, clawback, and payment
SalesCommissionRateOne commission rate by revenue type, segment, and effective periodCommission accrual, clawback, and payment
SalesInvoiceOne customer invoice headerGoods fulfillment and customer billing
SalesInvoiceLineOne billed goods or service lineGoods fulfillment and customer billing
SalesOrderOne customer order headerCustomer orders and commercial terms
SalesOrderLineOne ordered item or service lineCustomer orders and commercial terms
SalesReturnOne goods-return headerReturns, customer credit, and refunds
SalesReturnLineOne returned shipment-line quantityReturns, customer credit, and refunds
ServiceBillingLineOne engagement billing-period rollup linked to an invoice lineDesign work, time, and billing
ServiceEngagementOne engagement for a service order lineDesign work, time, and billing
ServiceEngagementAssignmentOne employee assignment to an engagementDesign work, time, and billing
ServiceTimeEntryOne employee service-time entry on a work dateDesign work, time, and billing
ShiftDefinitionOne shift templateAttendance support and approved daily time
ShipmentOne goods-shipment headerGoods fulfillment and customer billing
ShipmentLineOne shipped order-line quantityGoods fulfillment and customer billing
SupplierOne supplierProcurement and goods receiving
SupplyPlanRecommendationOne item/location supply recommendation in a planning bucketDemand, supply recommendations, and requirements
TimeClockEntryOne approved-time record for an employee work dateAttendance support and approved daily time
TimeClockPunchOne raw clock-punch eventAttendance support and approved daily time
WarehouseOne warehouseShared item, warehouse, and employee records
WorkCenterOne production work centerProduct recipes and production capacity
WorkCenterCalendarOne work center on one calendar dateProduct recipes and production capacity
WorkOrderOne manufacturing work-order headerWork orders and daily operation schedules
WorkOrderCloseOne work-order accounting-close recordMaterial, completion, and accounting close
WorkOrderOperationOne operation within a work orderWork orders and daily operation schedules
WorkOrderOperationScheduleOne scheduled operation on a work-center dateWork orders and daily operation schedules

How to Read the ER Diagrams​

  • Each diagram shows the main local relationships inside one table group, not every possible key in the database.
  • Solid crow’s-foot lines show foreign keys (FK). Dashed, labeled lines identify conditional source traces or analytical matches. Each line has an r1/r2 identifier to the relationship table below its diagram.
  • Column names end in (PK) for primary keys and (FK) for foreign keys. Some foreign keys lead to shared tables outside the focused view; find those tables in the index. A circle permits zero; a crow’s foot permits several matching rows.
  • Conditional traces require their source type as well as their ID. Analytical matches specify grouping fields, dates, or intervals rather than claiming a direct single-record link.
  • Each focused view shows row grain, selected keys, and context references. Open its table and relationship explanation before constructing a join. The complete table index assigns every table one primary home.
  • Cross-group bridges such as ItemID, SupplyPlanRecommendationID, and AccrualJournalEntryID are summarized separately so the group diagrams stay readable.
  • The process pages explain business flow. This reference explains table structure and join logic.

Cross-Group Bridge Keys​

These are the main keys students use to move across groups.

Bridge keyMain bridgeHow it connects
ItemIDMaster data into O2C, P2P, manufacturing, and planningProduct-level analysis across the whole dataset
FixedAssetIDFixed assets into lifecycle events and note agreementsConnects the asset register to acquisitions, depreciation, financing, and disposal activity
DebtAgreementIDFixed-asset financing into monthly payment schedulesConnects note origination to principal and interest cash behavior
SupplyPlanRecommendationIDDemand planning into requisitions, work orders, MRP, and rough-cut capacityConnects planning pressure to later purchasing or manufacturing execution
WorkOrderIDManufacturing into issues, completions, close, and labor supportMain manufacturing execution anchor
WorkOrderOperationIDManufacturing into operation schedules and labor traceabilityConnects scheduling and labor detail to one operation
ServiceEngagementIDO2C service delivery into staffing, approved time, and billingMain design-services execution anchor
TimeClockEntryIDPayroll and time into labor, attendance exceptions, and payroll supportApproved time bridge
PayrollRegisterIDPayroll header into line detail and paymentEmployee-register and payment anchor; recognition reconciles through the PayrollSummary period/cost-center mapping
AccrualJournalEntryIDAccounting core into accrued-service AP settlementBridges finance estimates to later AP activity
AccountIDAccounting core into budgets and reportingChart-of-accounts bridge
SourceDocumentType, SourceDocumentID, SourceLineIDOperational groups into GLEntryMain path back from posted accounting to source activity

Accounting Core​

This group provides the posting anchor for every process. JournalEntry is the finance-controlled header, GLEntry is the posted detail, and Account gives the reporting and control-account meaning.

Accounts, journals, and posted detail

Which source identifier identifies the posted event?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
Account
Primary home
One chart-of-accounts accountAccountID (PK), AccountNumber, AccountType
JournalEntry
Primary home
One finance-controlled journal headerJournalEntryID (PK), EntryType, PostingDate, ReversesJournalEntryID (FK)
GLEntry
Primary home
One posted account line in a voucherGLEntryID (PK), AccountID (FK), SourceDocumentID (source), SourceDocumentType, PostingDate
LineForeign key or matchHow to read it
r1GLEntry.AccountID
to Account.AccountID
Required for the documented path foreign key.
r2GLEntry.SourceDocumentID
to JournalEntry.JournalEntryID
Conditional trace: SourceDocumentType = 'JournalEntry'. Other posting types have their own source records.

JournalEntry is one posting route. Operational sources and constructed PayrollSummary identifiers must not be treated as journal headers.

TableUse it forHighest-value keys or fields
AccountChart of accounts and hierarchyAccountID, AccountNumber, AccountType, AccountSubType, ParentAccountID
JournalEntryFinance-controlled journal header lookupJournalEntryID, EntryNumber, PostingDate, EntryType, ApprovedByEmployeeID, ReversesJournalEntryID
GLEntryPosted ledger detail and traceabilityGLEntryID, PostingDate, AccountID, VoucherType, VoucherNumber, SourceDocumentType, SourceDocumentID, SourceLineID, FiscalYear, FiscalPeriod

Join and Traceability Cues​

  • GLEntry.AccountID -> Account.AccountID
  • When GLEntry.SourceDocumentType = 'JournalEntry', GLEntry.SourceDocumentID -> JournalEntry.JournalEntryID
  • For journal-origin rows, GLEntry.VoucherNumber typically matches JournalEntry.EntryNumber
  • GLEntry.SourceDocumentType, SourceDocumentID, and SourceLineID are the main operational trace fields

Fixed Assets and Financing​

This group holds the fixed-asset subledger: the asset register itself, the lifecycle events that tie CAPEX back to purchasing and disposal, and the note-payable schedules used for financed equipment.

Asset events and financing

Which asset event or debt installment links to a journal?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
FixedAsset
Primary home
One asset in the asset registerFixedAssetID (PK), AssetCode, BehaviorGroup, AssetAccountID (FK)
FixedAssetEvent
Primary home
One recorded asset lifecycle eventFixedAssetEventID (PK), FixedAssetID (FK), JournalEntryID (FK), EventType, EventDate
DebtAgreement
Primary home
One financing agreementDebtAgreementID (PK), FixedAssetID (FK), AgreementNumber, OriginationDate
DebtScheduleLine
Primary home
One scheduled debt-payment installmentDebtScheduleLineID (PK), DebtAgreementID (FK), JournalEntryID (FK), PaymentSequence, PaymentDate
JournalEntry
Shared reference
One finance-controlled journal headerJournalEntryID (PK), EntryType, PostingDate, ReversesJournalEntryID (FK)
LineForeign key or matchHow to read it
r1FixedAssetEvent.FixedAssetID
to FixedAsset.FixedAssetID
Required for the documented path foreign key.
r2DebtAgreement.FixedAssetID
to FixedAsset.FixedAssetID
Required for the documented path foreign key.
r3DebtScheduleLine.DebtAgreementID
to DebtAgreement.DebtAgreementID
Required for the documented path foreign key.
r4FixedAssetEvent.JournalEntryID
to JournalEntry.JournalEntryID
Optional foreign key.
r5DebtScheduleLine.JournalEntryID
to JournalEntry.JournalEntryID
Optional foreign key.

Asset and debt records link to journals when present; they do not post under their own GLEntry source labels.

TableUse it forHighest-value keys or fields
FixedAssetAsset register and depreciation-routing setupFixedAssetID, AssetCode, BehaviorGroup, AssetAccountID, AccumulatedDepreciationAccountID, DepreciationDebitAccountID, CostCenterID, WarehouseID, WorkCenterID, InServiceDate, DisposalDate
FixedAssetEventLifecycle events tied back to purchasing, financing, and disposalFixedAssetEventID, FixedAssetID, EventType, EventDate, PurchaseInvoiceID, PurchaseInvoiceLineID, DisbursementID, DebtAgreementID, JournalEntryID, FinancingType, ProceedsAmount
DebtAgreementNote-payable agreement created for financed CAPEXDebtAgreementID, AgreementNumber, FixedAssetID, OriginationDate, PrincipalAmount, AnnualInterestRate, TermMonths, PaymentStartDate, ScheduledPaymentAmount
DebtScheduleLineMonthly principal and interest schedule detailDebtScheduleLineID, DebtAgreementID, PaymentSequence, PaymentDate, PrincipalAmount, InterestAmount, PaymentAmount, EndingPrincipal, JournalEntryID, Status

Join and Traceability Cues​

  • FixedAssetEvent.FixedAssetID -> FixedAsset.FixedAssetID
  • DebtAgreement.FixedAssetID -> FixedAsset.FixedAssetID
  • DebtScheduleLine.DebtAgreementID -> DebtAgreement.DebtAgreementID
  • FixedAssetEvent.PurchaseInvoiceID -> PurchaseInvoice.PurchaseInvoiceID
  • FixedAssetEvent.DisbursementID -> DisbursementPayment.DisbursementID
  • FixedAssetEvent.JournalEntryID -> JournalEntry.JournalEntryID

Order-to-Cash​

This group holds the full customer-side relationship map: pricing setup, goods and service order capture, service delivery, physical fulfillment, billing, cash settlement, and the return-credit-refund branch.

Customer orders and commercial terms

Which terms describe an order without recognizing revenue?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
Customer
Primary home
One customerCustomerID (PK), CustomerName, CustomerSegment, Region
PriceList
Primary home
One customer or segment price-list scopePriceListID (PK), CustomerID (FK), ScopeType, CustomerSegment
PriceListLine
Primary home
One item price within a price listPriceListLineID (PK), PriceListID (FK), ItemID (FK), UnitPrice
PromotionProgram
Primary home
One promotion definitionPromotionID (PK), PromotionCode, ScopeType, DiscountPct
PriceOverrideApproval
Primary home
One recorded order-line price approvalPriceOverrideApprovalID (PK), SalesOrderLineID (FK), RequestedByEmployeeID (FK), ApprovedByEmployeeID (FK)
SalesOrder
Primary home
One customer order headerSalesOrderID (PK), CustomerID (FK), OrderDate
SalesOrderLine
Primary home
One ordered item or service lineSalesOrderLineID (PK), SalesOrderID (FK), PriceListLineID (FK), PromotionID (FK), PriceOverrideApprovalID (FK), ItemID (FK)
LineForeign key or matchHow to read it
r1PriceList.CustomerID
to Customer.CustomerID
Optional foreign key.
r2PriceListLine.PriceListID
to PriceList.PriceListID
Required for the documented path foreign key.
r3SalesOrder.CustomerID
to Customer.CustomerID
Required for the documented path foreign key.
r4SalesOrderLine.SalesOrderID
to SalesOrder.SalesOrderID
Required for the documented path foreign key.
r5SalesOrderLine.PriceListLineID
to PriceListLine.PriceListLineID
Optional foreign key.
r6SalesOrderLine.PromotionID
to PromotionProgram.PromotionID
Optional foreign key.
r7SalesOrderLine.PriceOverrideApprovalID
to PriceOverrideApproval.PriceOverrideApprovalID
Optional foreign key.

Segment price lists need no CustomerID. A linked approval records an authorization basis; inspect authority, dates, and status separately.

Goods fulfillment and customer billing

Which line-level keys connect ordered, shipped, and billed quantities?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
Shipment
Primary home
One goods-shipment headerShipmentID (PK), SalesOrderID (FK), ShipmentDate
ShipmentLine
Primary home
One shipped order-line quantityShipmentLineID (PK), ShipmentID (FK), SalesOrderLineID (FK), QuantityShipped
SalesInvoice
Primary home
One customer invoice headerSalesInvoiceID (PK), CustomerID (FK), InvoiceDate
SalesInvoiceLine
Primary home
One billed goods or service lineSalesInvoiceLineID (PK), SalesInvoiceID (FK), ShipmentLineID (FK), SalesOrderLineID (FK)
SalesOrder
Shared reference
One customer order headerSalesOrderID (PK), CustomerID (FK), OrderDate
SalesOrderLine
Shared reference
One ordered item or service lineSalesOrderLineID (PK), SalesOrderID (FK), ItemID (FK)
LineForeign key or matchHow to read it
r1SalesOrderLine.SalesOrderID
to SalesOrder.SalesOrderID
Required for the documented path foreign key.
r2Shipment.SalesOrderID
to SalesOrder.SalesOrderID
Required for the documented path foreign key.
r3ShipmentLine.ShipmentID
to Shipment.ShipmentID
Required for the documented path foreign key.
r4ShipmentLine.SalesOrderLineID
to SalesOrderLine.SalesOrderLineID
Required for the documented path foreign key.
r5SalesInvoiceLine.SalesInvoiceID
to SalesInvoice.SalesInvoiceID
Required for the documented path foreign key.
r6SalesInvoiceLine.ShipmentLineID
to ShipmentLine.ShipmentLineID
Optional foreign key.

ShipmentLineID is optional on customer invoice lines because services use ServiceBillingLine. This view focuses on the goods path; an order is non-posting.

Design work, time, and billing

How are dated time entries matched to a billing-period rollup?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
ServiceEngagement
Primary home
One engagement for a service order lineServiceEngagementID (PK), SalesOrderLineID (FK), EngagementNumber, CustomerID (FK)
ServiceEngagementAssignment
Primary home
One employee assignment to an engagementServiceEngagementAssignmentID (PK), ServiceEngagementID (FK), EmployeeID (FK), AssignedRole
ServiceTimeEntry
Primary home
One employee service-time entry on a work dateServiceTimeEntryID (PK), ServiceEngagementAssignmentID (FK), ServiceEngagementID (FK), WorkDate, BillableHours
ServiceBillingLine
Primary home
One engagement billing-period rollup linked to an invoice lineServiceBillingLineID (PK), ServiceEngagementID (FK), SalesInvoiceLineID (FK), BillingPeriodStartDate, BillingPeriodEndDate
SalesOrderLine
Shared reference
One ordered item or service lineSalesOrderLineID (PK), SalesOrderID (FK), ItemID (FK)
SalesInvoiceLine
Shared reference
One billed goods or service lineSalesInvoiceLineID (PK), SalesInvoiceID (FK), ShipmentLineID (FK), SalesOrderLineID (FK)
LineForeign key or matchHow to read it
r1ServiceEngagement.SalesOrderLineID
to SalesOrderLine.SalesOrderLineID
Required for the documented path foreign key.
r2ServiceEngagementAssignment.ServiceEngagementID
to ServiceEngagement.ServiceEngagementID
Required for the documented path foreign key.
r3ServiceTimeEntry.ServiceEngagementAssignmentID
to ServiceEngagementAssignment.ServiceEngagementAssignmentID
Required for the documented path foreign key.
r4ServiceBillingLine.ServiceEngagementID
to ServiceEngagement.ServiceEngagementID
Required for the documented path foreign key.
r5ServiceBillingLine.SalesInvoiceLineID
to SalesInvoiceLine.SalesInvoiceLineID
Required for the documented path foreign key.
r6ServiceTimeEntry.ServiceEngagementID, WorkDate
to ServiceBillingLine.ServiceEngagementID, BillingPeriodStartDate
Analytical match or aggregation, rather than a stored single-record link. Match engagement; WorkDate lies within BillingPeriodStartDate and BillingPeriodEndDate. Aggregate approved billable hours before comparing.

The time-to-billing match is an engagement/date-interval analysis, not a stored billing-line ID on each time entry. Non-billable time retains cost support without customer billing.

Received cash and invoice allocation

Why can received cash and an open invoice coexist?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
CashReceipt
Primary home
One incoming customer cash eventCashReceiptID (PK), CustomerID (FK), ReceiptDate, Amount
CashReceiptApplication
Primary home
One dated receipt allocation to an invoiceCashReceiptApplicationID (PK), CashReceiptID (FK), SalesInvoiceID (FK), ApplicationDate, AppliedAmount
SalesInvoice
Shared reference
One customer invoice headerSalesInvoiceID (PK), CustomerID (FK), InvoiceDate
LineForeign key or matchHow to read it
r1CashReceiptApplication.CashReceiptID
to CashReceipt.CashReceiptID
Required for the documented path foreign key.
r2CashReceiptApplication.SalesInvoiceID
to SalesInvoice.SalesInvoiceID
Required for the documented path foreign key.

Receipt and invoice dates do not establish allocation. CashReceiptApplication supplies the amount and application date; CashReceipt.SalesInvoiceID is compatibility metadata.

Returns, customer credit, and refunds

Which records distinguish returned goods, credit, and cash paid back?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
SalesReturn
Primary home
One goods-return headerSalesReturnID (PK), ReturnNumber, CustomerID (FK), ReturnDate
SalesReturnLine
Primary home
One returned shipment-line quantitySalesReturnLineID (PK), SalesReturnID (FK), ShipmentLineID (FK), ItemID (FK)
CreditMemo
Primary home
One customer credit-memo headerCreditMemoID (PK), SalesReturnID (FK), OriginalSalesInvoiceID (FK), CreditMemoNumber
CreditMemoLine
Primary home
One credited return lineCreditMemoLineID (PK), CreditMemoID (FK), SalesReturnLineID (FK), ItemID (FK)
CustomerRefund
Primary home
One cash refund against a credit memoCustomerRefundID (PK), CreditMemoID (FK), CustomerID (FK), RefundDate
ShipmentLine
Shared reference
One shipped order-line quantityShipmentLineID (PK), ShipmentID (FK), SalesOrderLineID (FK), QuantityShipped
SalesInvoice
Shared reference
One customer invoice headerSalesInvoiceID (PK), CustomerID (FK), InvoiceDate
LineForeign key or matchHow to read it
r1SalesReturnLine.SalesReturnID
to SalesReturn.SalesReturnID
Required for the documented path foreign key.
r2SalesReturnLine.ShipmentLineID
to ShipmentLine.ShipmentLineID
Required for the documented path foreign key.
r3CreditMemo.SalesReturnID
to SalesReturn.SalesReturnID
Required for the documented path foreign key.
r4CreditMemo.OriginalSalesInvoiceID
to SalesInvoice.SalesInvoiceID
Required for the documented path foreign key.
r5CreditMemoLine.CreditMemoID
to CreditMemo.CreditMemoID
Required for the documented path foreign key.
r6CreditMemoLine.SalesReturnLineID
to SalesReturnLine.SalesReturnLineID
Required for the documented path foreign key.
r7CustomerRefund.CreditMemoID
to CreditMemo.CreditMemoID
Required for the documented path foreign key.

A memo can reduce AR and retain excess customer credit. A refund is a separate optional cash event; do not infer one from a return.

Commission accrual, clawback, and payment

How does a payment identify its accruals and adjustments?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
SalesCommissionRate
Primary home
One commission rate by revenue type, segment, and effective periodSalesCommissionRateID (PK), RevenueType, CustomerSegment, RatePct
SalesCommissionAccrual
Primary home
One invoice-line commission accrualSalesCommissionAccrualID (PK), SalesInvoiceLineID (FK), SalesCommissionRateID (FK), SalesRepEmployeeID (FK), CommissionBaseAmount
SalesCommissionAdjustment
Primary home
One credit-related commission clawbackSalesCommissionAdjustmentID (PK), SalesCommissionAccrualID (FK), CreditMemoLineID (FK), CommissionBaseReductionAmount
SalesCommissionPayment
Primary home
One sales-rep commission paymentSalesCommissionPaymentID (PK), PaymentNumber, PaymentDate, SalesRepEmployeeID (FK)
SalesCommissionPaymentLine
Primary home
One accrual or adjustment included in a commission paymentSalesCommissionPaymentLineID (PK), SalesCommissionPaymentID (FK), SourceDocumentID (source), SourceDocumentType
SalesInvoiceLine
Shared reference
One billed goods or service lineSalesInvoiceLineID (PK), SalesInvoiceID (FK), ShipmentLineID (FK), SalesOrderLineID (FK)
LineForeign key or matchHow to read it
r1SalesCommissionAccrual.SalesInvoiceLineID
to SalesInvoiceLine.SalesInvoiceLineID
Required for the documented path foreign key.
r2SalesCommissionAccrual.SalesCommissionRateID
to SalesCommissionRate.SalesCommissionRateID
Required for the documented path foreign key.
r3SalesCommissionAdjustment.SalesCommissionAccrualID
to SalesCommissionAccrual.SalesCommissionAccrualID
Required for the documented path foreign key.
r4SalesCommissionPaymentLine.SalesCommissionPaymentID
to SalesCommissionPayment.SalesCommissionPaymentID
Required for the documented path foreign key.
r5SalesCommissionPaymentLine.SourceDocumentID
to SalesCommissionAccrual.SalesCommissionAccrualID
Conditional trace: SourceDocumentType = 'SalesCommissionAccrual'.
r6SalesCommissionPaymentLine.SourceDocumentID
to SalesCommissionAdjustment.SalesCommissionAdjustmentID
Conditional trace: SourceDocumentType = 'SalesCommissionAdjustment'.

The accrual stores both the invoice-line and rate keys. Payment lines use a type-qualified source ID; commissions settle separately from payroll.

TableUse it forHighest-value keys or fields
CustomerCustomer master and segmentationCustomerID, CustomerName, CustomerSegment, Region, SalesRepEmployeeID
PriceListPricing scope headerPriceListID, ScopeType, CustomerID, CustomerSegment, EffectiveStartDate, EffectiveEndDate
PriceListLineItem-level pricing rulePriceListLineID, PriceListID, ItemID, UnitPrice, MinimumUnitPrice
PromotionProgramPromotion definitionPromotionID, PromotionCode, ScopeType, DiscountPct, EffectiveStartDate, EffectiveEndDate
PriceOverrideApprovalManual below-floor approvalPriceOverrideApprovalID, SalesOrderLineID, RequestedByEmployeeID, ApprovedByEmployeeID, ApprovedUnitPrice, Status
SalesOrderOrder headerSalesOrderID, OrderNumber, CustomerID, OrderDate, RequestedDeliveryDate, FreightTerms, Status
SalesOrderLineOrdered line with pricing lineageSalesOrderLineID, SalesOrderID, ItemID, PriceListLineID, PromotionID, PriceOverrideApprovalID, PricingMethod
ServiceEngagementCustomer service engagement tied to one service order lineServiceEngagementID, EngagementNumber, CustomerID, SalesOrderLineID, LeadEmployeeID, StartDate, EndDate, PlannedHours, HourlyRate, Status
ServiceEngagementAssignmentOne employee staffing row on one engagementServiceEngagementAssignmentID, ServiceEngagementID, EmployeeID, AssignedRole, AssignedHours, Status
ServiceTimeEntryApproved service hours and analytical labor costServiceTimeEntryID, ServiceEngagementID, ServiceEngagementAssignmentID, EmployeeID, WorkDate, BillableHours, NonBillableHours, CostRateUsed, ExtendedCost, BillingStatus
ShipmentShipment headerShipmentID, SalesOrderID, ShipmentDate, WarehouseID, FreightCost, BillableFreightAmount, Status
ShipmentLineShipped lineShipmentLineID, ShipmentID, SalesOrderLineID, ItemID, QuantityShipped
SalesInvoiceInvoice headerSalesInvoiceID, InvoiceNumber, CustomerID, InvoiceDate, DueDate, FreightAmount, Status
SalesInvoiceLineBilled lineSalesInvoiceLineID, SalesInvoiceID, SalesOrderLineID, ShipmentLineID, ItemID, PricingMethod
ServiceBillingLineMonthly billed-hours rollup tied to one invoice lineServiceBillingLineID, ServiceEngagementID, SalesInvoiceLineID, BillingPeriodStartDate, BillingPeriodEndDate, BilledHours, HourlyRate, LineAmount, Status
SalesCommissionRateCommission-rate matrix by revenue type and customer segmentSalesCommissionRateID, RevenueType, CustomerSegment, RatePct, EffectiveStartDate, EffectiveEndDate, Status
SalesCommissionAccrualInvoice-line commission accrualSalesCommissionAccrualID, SalesInvoiceLineID, SalesRepEmployeeID, CommissionBaseAmount, CommissionRatePct, CommissionAmount
SalesCommissionAdjustmentCredit-memo clawback against an original commission accrualSalesCommissionAdjustmentID, SalesCommissionAccrualID, CreditMemoLineID, CommissionBaseReductionAmount, CommissionAdjustmentAmount
SalesCommissionPaymentMonthly net commission payment by sales repSalesCommissionPaymentID, PaymentNumber, PaymentDate, SalesRepEmployeeID, NetPaymentAmount
SalesCommissionPaymentLineSettlement detail connecting payments to accruals and clawbacksSalesCommissionPaymentLineID, SalesCommissionPaymentID, SourceDocumentType, SourceDocumentID, Amount
CashReceiptCustomer cash eventCashReceiptID, ReceiptNumber, CustomerID, ReceiptDate, Amount
CashReceiptApplicationInvoice settlement detailCashReceiptApplicationID, CashReceiptID, SalesInvoiceID, ApplicationDate, AppliedAmount
SalesReturnReturn headerSalesReturnID, ReturnNumber, CustomerID, ReturnDate, Status
SalesReturnLineReturned lineSalesReturnLineID, SalesReturnID, ShipmentLineID, ItemID, QuantityReturned
CreditMemoCredit headerCreditMemoID, CreditMemoNumber, SalesReturnID, OriginalSalesInvoiceID, CreditMemoDate, FreightCreditAmount, Status
CreditMemoLineCredit detail with inherited pricing lineageCreditMemoLineID, CreditMemoID, SalesReturnLineID, ItemID, PricingMethod, PriceListLineID
CustomerRefundRefund against customer creditCustomerRefundID, CreditMemoID, CustomerID, RefundDate, Amount

Join and Traceability Cues​

  • PriceListLine.PriceListID -> PriceList.PriceListID
  • SalesOrderLine.PriceListLineID -> PriceListLine.PriceListLineID
  • SalesOrderLine.PromotionID -> PromotionProgram.PromotionID
  • SalesOrderLine.PriceOverrideApprovalID -> PriceOverrideApproval.PriceOverrideApprovalID
  • PriceOverrideApproval.SalesOrderLineID -> SalesOrderLine.SalesOrderLineID
  • ServiceEngagement.SalesOrderLineID -> SalesOrderLine.SalesOrderLineID
  • ServiceEngagementAssignment.ServiceEngagementID -> ServiceEngagement.ServiceEngagementID
  • ServiceTimeEntry.ServiceEngagementAssignmentID -> ServiceEngagementAssignment.ServiceEngagementAssignmentID
  • ShipmentLine.SalesOrderLineID -> SalesOrderLine.SalesOrderLineID
  • SalesInvoiceLine.ShipmentLineID -> ShipmentLine.ShipmentLineID
  • ServiceBillingLine.SalesInvoiceLineID -> SalesInvoiceLine.SalesInvoiceLineID
  • SalesCommissionAccrual.SalesInvoiceLineID -> SalesInvoiceLine.SalesInvoiceLineID
  • SalesCommissionAccrual.SalesCommissionRateID -> SalesCommissionRate.SalesCommissionRateID
  • SalesCommissionAdjustment.SalesCommissionAccrualID -> SalesCommissionAccrual.SalesCommissionAccrualID
  • SalesCommissionAdjustment.CreditMemoLineID -> CreditMemoLine.CreditMemoLineID
  • SalesCommissionPaymentLine.SalesCommissionPaymentID -> SalesCommissionPayment.SalesCommissionPaymentID
  • CashReceiptApplication.SalesInvoiceID -> SalesInvoice.SalesInvoiceID
  • SalesReturnLine.ShipmentLineID -> ShipmentLine.ShipmentLineID
  • CreditMemo.OriginalSalesInvoiceID -> SalesInvoice.SalesInvoiceID
  • CustomerRefund.CreditMemoID -> CreditMemo.CreditMemoID

Procure-to-Pay​

This group holds the supplier-side relationship map: requisition, PO, receipt, invoice, and payment. The main cross-group bridge here is the accrued-service path through AccrualJournalEntryID.

Procurement and goods receiving

Which requisition and PO line support a received quantity?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
Supplier
Primary home
One supplierSupplierID (PK), SupplierName, PaymentTerms, SupplierCategory
PurchaseRequisition
Primary home
One internal item requisitionRequisitionID (PK), RequisitionNumber, RequestDate, ItemID (FK)
PurchaseOrder
Primary home
One supplier purchase-order headerPurchaseOrderID (PK), SupplierID (FK), PONumber, OrderDate
PurchaseOrderLine
Primary home
One ordered purchasing linePOLineID (PK), RequisitionID (FK), PurchaseOrderID (FK), ItemID (FK)
GoodsReceipt
Primary home
One supplier goods-receipt headerGoodsReceiptID (PK), PurchaseOrderID (FK), ReceiptNumber, ReceiptDate
GoodsReceiptLine
Primary home
One received purchasing-line quantityGoodsReceiptLineID (PK), GoodsReceiptID (FK), POLineID (FK), ItemID (FK)
LineForeign key or matchHow to read it
r1PurchaseOrder.SupplierID
to Supplier.SupplierID
Required for the documented path foreign key.
r2PurchaseOrderLine.RequisitionID
to PurchaseRequisition.RequisitionID
Required for the documented path foreign key.
r3PurchaseOrderLine.PurchaseOrderID
to PurchaseOrder.PurchaseOrderID
Required for the documented path foreign key.
r4GoodsReceipt.PurchaseOrderID
to PurchaseOrder.PurchaseOrderID
Required for the documented path foreign key.
r5GoodsReceiptLine.GoodsReceiptID
to GoodsReceipt.GoodsReceiptID
Required for the documented path foreign key.
r6GoodsReceiptLine.POLineID
to PurchaseOrderLine.POLineID
Required for the documented path foreign key.

Use PurchaseOrderLine.RequisitionID for a batched order. A stored receipt/invoice relationship does not prove a system-enforced matching control.

Supplier invoices and separate settlement

Does the supplier line match received goods or an accrued-service estimate?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
PurchaseInvoice
Primary home
One supplier invoice headerPurchaseInvoiceID (PK), InvoiceNumber, SupplierID (FK), PurchaseOrderID (FK)
PurchaseInvoiceLine
Primary home
One goods or accrued-service supplier invoice linePILineID (PK), PurchaseInvoiceID (FK), POLineID (FK), GoodsReceiptLineID (FK), AccrualJournalEntryID (FK)
DisbursementPayment
Primary home
One supplier invoice paymentDisbursementID (PK), PurchaseInvoiceID (FK), SupplierID (FK), PaymentDate
GoodsReceiptLine
Shared reference
One received purchasing-line quantityGoodsReceiptLineID (PK), GoodsReceiptID (FK), POLineID (FK), ItemID (FK)
JournalEntry
Shared reference
One finance-controlled journal headerJournalEntryID (PK), EntryType, PostingDate, ReversesJournalEntryID (FK)
PurchaseOrderLine
Shared reference
One ordered purchasing linePOLineID (PK), PurchaseOrderID (FK), RequisitionID (FK), ItemID (FK)
LineForeign key or matchHow to read it
r1PurchaseInvoiceLine.PurchaseInvoiceID
to PurchaseInvoice.PurchaseInvoiceID
Required for the documented path foreign key.
r2PurchaseInvoiceLine.POLineID
to PurchaseOrderLine.POLineID
Optional foreign key.
r3PurchaseInvoiceLine.GoodsReceiptLineID
to GoodsReceiptLine.GoodsReceiptLineID
Optional foreign key.
r4PurchaseInvoiceLine.AccrualJournalEntryID
to JournalEntry.JournalEntryID
Optional foreign key.
r5DisbursementPayment.PurchaseInvoiceID
to PurchaseInvoice.PurchaseInvoiceID
Required for the documented path foreign key.

GoodsReceiptLineID and POLineID are absent on direct accrued-service invoice lines. Payment clears AP; it does not prove that a residual estimate has cleared.

TableUse it forHighest-value keys or fields
SupplierSupplier master and payment contextSupplierID, SupplierName, PaymentTerms, SupplierCategory, SupplierRiskRating
PurchaseRequisitionInternal purchase demandRequisitionID, RequisitionNumber, RequestDate, ItemID, CostCenterID, SupplyPlanRecommendationID, Status
PurchaseOrderPO headerPurchaseOrderID, PONumber, SupplierID, OrderDate, ExpectedDeliveryDate, Status
PurchaseOrderLineOrdered linePOLineID, PurchaseOrderID, RequisitionID, ItemID, Quantity, UnitCost
GoodsReceiptReceipt headerGoodsReceiptID, ReceiptNumber, PurchaseOrderID, ReceiptDate, WarehouseID
GoodsReceiptLineReceived lineGoodsReceiptLineID, GoodsReceiptID, POLineID, ItemID, QuantityReceived, ExtendedStandardCost
PurchaseInvoiceSupplier invoice headerPurchaseInvoiceID, InvoiceNumber, SupplierID, PurchaseOrderID, InvoiceDate, Status
PurchaseInvoiceLineSupplier invoice linePILineID, PurchaseInvoiceID, POLineID, GoodsReceiptLineID, AccrualJournalEntryID, ItemID
DisbursementPaymentSupplier paymentDisbursementID, PurchaseInvoiceID, SupplierID, PaymentDate, Amount

Join and Traceability Cues​

  • PurchaseOrderLine.RequisitionID -> PurchaseRequisition.RequisitionID
  • GoodsReceipt.PurchaseOrderID -> PurchaseOrder.PurchaseOrderID
  • GoodsReceiptLine.POLineID -> PurchaseOrderLine.POLineID
  • PurchaseInvoiceLine.GoodsReceiptLineID -> GoodsReceiptLine.GoodsReceiptLineID
  • PurchaseInvoiceLine.AccrualJournalEntryID -> JournalEntry.JournalEntryID
  • DisbursementPayment.PurchaseInvoiceID -> PurchaseInvoice.PurchaseInvoiceID

Manufacturing​

This group covers the local manufacturing structure: recipe, routing, work center, work order, issue, completion, and close. Planning and payroll bridges are summarized separately above.

Product recipes and production capacity

Which item, component, operation, and work center define production?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
BillOfMaterial
Primary home
One versioned manufactured-item recipeBOMID (PK), ParentItemID (FK), VersionNumber, Status
BillOfMaterialLine
Primary home
One component within a BOMBOMLineID (PK), BOMID (FK), ComponentItemID (FK), QuantityPerUnit
Routing
Primary home
One versioned manufactured-item routingRoutingID (PK), ParentItemID (FK), VersionNumber, Status
RoutingOperation
Primary home
One operation within a routingRoutingOperationID (PK), RoutingID (FK), WorkCenterID (FK), OperationSequence, OperationCode
WorkCenter
Primary home
One production work centerWorkCenterID (PK), WorkCenterCode, Department, WarehouseID (FK)
WorkCenterCalendar
Primary home
One work center on one calendar dateWorkCenterCalendarID (PK), WorkCenterID (FK), CalendarDate, IsWorkingDay
Item
Shared reference
One item in the product or service masterItemID (PK), ItemCode, ItemGroup, CollectionName
LineForeign key or matchHow to read it
r1BillOfMaterial.ParentItemID
to Item.ItemID
Required for the documented path foreign key.
r2BillOfMaterialLine.BOMID
to BillOfMaterial.BOMID
Required for the documented path foreign key.
r3Routing.ParentItemID
to Item.ItemID
Required for the documented path foreign key.
r4RoutingOperation.RoutingID
to Routing.RoutingID
Required for the documented path foreign key.
r5RoutingOperation.WorkCenterID
to WorkCenter.WorkCenterID
Required for the documented path foreign key.
r6WorkCenterCalendar.WorkCenterID
to WorkCenter.WorkCenterID
Required for the documented path foreign key.

BOM and routing definitions support planned work. Their existence does not establish material issue, completion, or cost close.

Work orders and daily operation schedules

Which two fields match a scheduled operation to available daily capacity?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
WorkOrder
Primary home
One manufacturing work-order headerWorkOrderID (PK), SupplyPlanRecommendationID (FK), WorkOrderNumber, ItemID (FK), BOMID (FK)
WorkOrderOperation
Primary home
One operation within a work orderWorkOrderOperationID (PK), WorkOrderID (FK), RoutingOperationID (FK), OperationSequence
WorkOrderOperationSchedule
Primary home
One scheduled operation on a work-center dateWorkOrderOperationScheduleID (PK), WorkOrderOperationID (FK), WorkCenterID (FK), ScheduleDate
SupplyPlanRecommendation
Shared reference
One item/location supply recommendation in a planning bucketSupplyPlanRecommendationID (PK), ItemID (FK), WarehouseID (FK), BucketWeekStartDate, DriverType
WorkCenterCalendar
Shared reference
One work center on one calendar dateWorkCenterCalendarID (PK), WorkCenterID (FK), CalendarDate, IsWorkingDay
LineForeign key or matchHow to read it
r1WorkOrder.SupplyPlanRecommendationID
to SupplyPlanRecommendation.SupplyPlanRecommendationID
Optional foreign key.
r2WorkOrderOperation.WorkOrderID
to WorkOrder.WorkOrderID
Required for the documented path foreign key.
r3WorkOrderOperationSchedule.WorkOrderOperationID
to WorkOrderOperation.WorkOrderOperationID
Required for the documented path foreign key.
r4WorkOrderOperationSchedule.WorkCenterID, ScheduleDate
to WorkCenterCalendar.WorkCenterID, CalendarDate
Analytical match or aggregation, rather than a stored single-record link. Match BOTH work center and date. Aggregate scheduled operations at work-center/date grain before comparing available hours.

No WorkCenterCalendarID is stored on the schedule. Joining on work center alone repeats calendar capacity.

Material, completion, and accounting close

Which independent branches must be summarized before a work-order comparison?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
MaterialIssue
Primary home
One work-order material-issue headerMaterialIssueID (PK), WorkOrderID (FK), IssueDate, WarehouseID (FK)
MaterialIssueLine
Primary home
One issued component lineMaterialIssueLineID (PK), MaterialIssueID (FK), BOMLineID (FK), ItemID (FK)
ProductionCompletion
Primary home
One work-order completion eventProductionCompletionID (PK), WorkOrderID (FK), CompletionDate, WarehouseID (FK)
ProductionCompletionLine
Primary home
One completed-product cost lineProductionCompletionLineID (PK), ProductionCompletionID (FK), ItemID (FK), QuantityCompleted
WorkOrderClose
Primary home
One work-order accounting-close recordWorkOrderCloseID (PK), WorkOrderID (FK), CloseDate, TotalVarianceAmount
WorkOrder
Shared reference
One manufacturing work-order headerWorkOrderID (PK), WorkOrderNumber, ItemID (FK), BOMID (FK)
LaborTimeEntry
Shared reference
One labor allocation supporting an operation and pay periodLaborTimeEntryID (PK), WorkOrderID (FK), PayrollPeriodID (FK), TimeClockEntryID (FK)
LineForeign key or matchHow to read it
r1MaterialIssue.WorkOrderID
to WorkOrder.WorkOrderID
Required for the documented path foreign key.
r2MaterialIssueLine.MaterialIssueID
to MaterialIssue.MaterialIssueID
Required for the documented path foreign key.
r3ProductionCompletion.WorkOrderID
to WorkOrder.WorkOrderID
Required for the documented path foreign key.
r4ProductionCompletionLine.ProductionCompletionID
to ProductionCompletion.ProductionCompletionID
Required for the documented path foreign key.
r5WorkOrderClose.WorkOrderID
to WorkOrder.WorkOrderID
Required for the documented path foreign key.
r6LaborTimeEntry.WorkOrderID
to WorkOrder.WorkOrderID
Optional foreign key.

Close does not store a ProductionCompletionLineID. Aggregate issues, labor, completions, and close independently. Payroll clearing remains pooled by period/cost center.

TableUse it forHighest-value keys or fields
BillOfMaterialBOM headerBOMID, ParentItemID, VersionNumber, Status, StandardBatchQuantity
BillOfMaterialLineBOM component detailBOMLineID, BOMID, ComponentItemID, QuantityPerUnit, ScrapFactorPct
WorkCenterWork-center masterWorkCenterID, WorkCenterCode, Department, WarehouseID, NominalDailyCapacityHours
WorkCenterCalendarDaily available-hours calendarWorkCenterCalendarID, WorkCenterID, CalendarDate, IsWorkingDay, AvailableHours
RoutingRouting headerRoutingID, ParentItemID, VersionNumber, Status
RoutingOperationOrdered routing stepRoutingOperationID, RoutingID, OperationSequence, OperationCode, WorkCenterID
WorkOrderWork-order headerWorkOrderID, WorkOrderNumber, ItemID, BOMID, RoutingID, SupplyPlanRecommendationID, Status
WorkOrderOperationOperation-level work-order activityWorkOrderOperationID, WorkOrderID, RoutingOperationID, OperationSequence, WorkCenterID, Status
WorkOrderOperationScheduleDaily scheduled hoursWorkOrderOperationScheduleID, WorkOrderOperationID, WorkCenterID, ScheduleDate, ScheduledHours
MaterialIssueMaterial issue headerMaterialIssueID, WorkOrderID, IssueDate, WarehouseID
MaterialIssueLineMaterial issue lineMaterialIssueLineID, MaterialIssueID, BOMLineID, ItemID, QuantityIssued
ProductionCompletionCompletion headerProductionCompletionID, WorkOrderID, CompletionDate, WarehouseID
ProductionCompletionLineCompletion cost detailProductionCompletionLineID, ProductionCompletionID, ItemID, QuantityCompleted, ExtendedStandardTotalCost
WorkOrderCloseWork-order close and variance recordWorkOrderCloseID, WorkOrderID, CloseDate, TotalVarianceAmount, Status

Join and Traceability Cues​

  • WorkOrder.BOMID -> BillOfMaterial.BOMID
  • WorkOrder.RoutingID -> Routing.RoutingID
  • WorkOrderOperation.RoutingOperationID -> RoutingOperation.RoutingOperationID
  • WorkOrderOperationSchedule.WorkOrderOperationID -> WorkOrderOperation.WorkOrderOperationID
  • MaterialIssue.WorkOrderID -> WorkOrder.WorkOrderID
  • MaterialIssueLine.BOMLineID -> BillOfMaterialLine.BOMLineID
  • ProductionCompletion.WorkOrderID -> WorkOrder.WorkOrderID
  • WorkOrderClose.WorkOrderID -> WorkOrder.WorkOrderID

Payroll and Time​

This group holds the workforce-side relationship map: shifts, rosters, raw punches, approved time, labor detail, payroll registers, payments, and remittances.

Attendance support and approved daily time

Which stored keys connect a daily time record to its supporting evidence?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
ShiftDefinition
Primary home
One shift templateShiftDefinitionID (PK), ShiftCode, Department, WorkCenterID (FK)
EmployeeShiftAssignment
Primary home
One employee shift assignment over effective datesEmployeeShiftAssignmentID (PK), ShiftDefinitionID (FK), EmployeeID (FK), WorkCenterID (FK)
EmployeeShiftRoster
Primary home
One employee planned shift on a roster dateEmployeeShiftRosterID (PK), ShiftDefinitionID (FK), EmployeeID (FK), RosterDate
EmployeeAbsence
Primary home
One absence record against a rosterEmployeeAbsenceID (PK), EmployeeShiftRosterID (FK), AbsenceDate, AbsenceType
OvertimeApproval
Primary home
One recorded overtime approvalOvertimeApprovalID (PK), EmployeeShiftRosterID (FK), WorkDate, ApprovedHours
TimeClockPunch
Primary home
One raw clock-punch eventTimeClockPunchID (PK), TimeClockEntryID (FK), EmployeeShiftRosterID (FK), PunchTimestamp
TimeClockEntry
Primary home
One approved-time record for an employee work dateTimeClockEntryID (PK), EmployeeShiftRosterID (FK), EmployeeID (FK), PayrollPeriodID (FK)
AttendanceException
Primary home
One logged attendance-review exceptionAttendanceExceptionID (PK), TimeClockEntryID (FK), EmployeeShiftRosterID (FK), ExceptionType
LineForeign key or matchHow to read it
r1EmployeeShiftAssignment.ShiftDefinitionID
to ShiftDefinition.ShiftDefinitionID
Required for the documented path foreign key.
r2EmployeeShiftRoster.ShiftDefinitionID
to ShiftDefinition.ShiftDefinitionID
Required for the documented path foreign key.
r3EmployeeAbsence.EmployeeShiftRosterID
to EmployeeShiftRoster.EmployeeShiftRosterID
Required for the documented path foreign key.
r4OvertimeApproval.EmployeeShiftRosterID
to EmployeeShiftRoster.EmployeeShiftRosterID
Required for the documented path foreign key.
r5TimeClockEntry.EmployeeShiftRosterID
to EmployeeShiftRoster.EmployeeShiftRosterID
Required for the documented path foreign key.
r6TimeClockPunch.TimeClockEntryID
to TimeClockEntry.TimeClockEntryID
Required for the documented path foreign key.
r7AttendanceException.TimeClockEntryID
to TimeClockEntry.TimeClockEntryID
Required for the documented path foreign key.

There is no assignment ID on the roster or punch ID on AttendanceException. Effective-date matching and shared roster/time records supply those investigations; a flag does not prove a payment block.

Payroll support, employee pay, and remittances

Which obligation is employee-specific, and which is period-level?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
PayrollPeriod
Primary home
One payroll calendar periodPayrollPeriodID (PK), PeriodNumber, PeriodStartDate, PeriodEndDate
LaborTimeEntry
Primary home
One labor allocation supporting an operation and pay periodLaborTimeEntryID (PK), TimeClockEntryID (FK), PayrollPeriodID (FK), WorkOrderID (FK)
PayrollRegister
Primary home
One employee payroll register in a pay periodPayrollRegisterID (PK), PayrollPeriodID (FK), EmployeeID (FK), CostCenterID (FK), NetPay
PayrollRegisterLine
Primary home
One earning, deduction, tax, or benefit linePayrollRegisterLineID (PK), LaborTimeEntryID (FK), PayrollRegisterID (FK), LineType, Hours
PayrollPayment
Primary home
One employee net-pay paymentPayrollPaymentID (PK), PayrollRegisterID (FK), PaymentDate, PaymentMethod
PayrollLiabilityRemittance
Primary home
One period-level liability remittancePayrollLiabilityRemittanceID (PK), PayrollPeriodID (FK), RemittanceDate, Amount
TimeClockEntry
Shared reference
One approved-time record for an employee work dateTimeClockEntryID (PK), EmployeeID (FK), PayrollPeriodID (FK), EmployeeShiftRosterID (FK)
LineForeign key or matchHow to read it
r1LaborTimeEntry.TimeClockEntryID
to TimeClockEntry.TimeClockEntryID
Required for the documented path foreign key.
r2PayrollRegisterLine.LaborTimeEntryID
to LaborTimeEntry.LaborTimeEntryID
Optional foreign key.
r3PayrollRegisterLine.PayrollRegisterID
to PayrollRegister.PayrollRegisterID
Required for the documented path foreign key.
r4PayrollRegister.PayrollPeriodID
to PayrollPeriod.PayrollPeriodID
Required for the documented path foreign key.
r5PayrollPayment.PayrollRegisterID
to PayrollRegister.PayrollRegisterID
Required for the documented path foreign key.
r6PayrollLiabilityRemittance.PayrollPeriodID
to PayrollPeriod.PayrollPeriodID
Required for the documented path foreign key.

PayrollSummary is a constructed GLEntry source label, not a table. Aggregate registers by period, cost center, and account to reconcile recognition; remittances have a different grain from employee payments.

TableUse it forHighest-value keys or fields
ShiftDefinitionShift templateShiftDefinitionID, ShiftCode, Department, WorkCenterID, StartTime, EndTime
EmployeeShiftAssignmentEmployee-to-shift assignmentEmployeeShiftAssignmentID, EmployeeID, ShiftDefinitionID, WorkCenterID, IsPrimary
EmployeeShiftRosterDaily planned roster rowEmployeeShiftRosterID, EmployeeID, RosterDate, ShiftDefinitionID, WorkCenterID, ScheduledHours
EmployeeAbsenceAbsence supportEmployeeAbsenceID, EmployeeShiftRosterID, AbsenceDate, AbsenceType, HoursAbsent
OvertimeApprovalApproved overtime supportOvertimeApprovalID, EmployeeShiftRosterID, WorkDate, ApprovedHours, ReasonCode
TimeClockEntryApproved daily timeTimeClockEntryID, EmployeeID, PayrollPeriodID, EmployeeShiftRosterID, RegularHours, OvertimeHours, ClockStatus
TimeClockPunchRaw punch eventsTimeClockPunchID, EmployeeShiftRosterID, TimeClockEntryID, PunchTimestamp, PunchType
AttendanceExceptionAttendance-control exceptionAttendanceExceptionID, EmployeeShiftRosterID, TimeClockEntryID, ExceptionType, Severity, Status
PayrollPeriodPayroll calendarPayrollPeriodID, PeriodNumber, PeriodStartDate, PeriodEndDate, PayDate, FiscalPeriod
LaborTimeEntryLabor detail used for costing and payroll supportLaborTimeEntryID, PayrollPeriodID, TimeClockEntryID, WorkOrderID, WorkOrderOperationID, LaborType
PayrollRegisterPayroll headerPayrollRegisterID, PayrollPeriodID, EmployeeID, CostCenterID, GrossPay, NetPay, Status
PayrollRegisterLinePayroll line detailPayrollRegisterLineID, PayrollRegisterID, LineType, Hours, Rate, LaborTimeEntryID
PayrollPaymentNet-pay settlementPayrollPaymentID, PayrollRegisterID, PaymentDate, PaymentMethod, ReferenceNumber
PayrollLiabilityRemittanceLiability clearancePayrollLiabilityRemittanceID, PayrollPeriodID, LiabilityType, RemittanceDate, Amount

Join and Traceability Cues​

  • EmployeeShiftAssignment.ShiftDefinitionID -> ShiftDefinition.ShiftDefinitionID
  • EmployeeShiftRoster.ShiftDefinitionID -> ShiftDefinition.ShiftDefinitionID
  • EmployeeAbsence.EmployeeShiftRosterID -> EmployeeShiftRoster.EmployeeShiftRosterID
  • OvertimeApproval.EmployeeShiftRosterID -> EmployeeShiftRoster.EmployeeShiftRosterID
  • TimeClockEntry.EmployeeShiftRosterID -> EmployeeShiftRoster.EmployeeShiftRosterID
  • TimeClockEntry.OvertimeApprovalID -> OvertimeApproval.OvertimeApprovalID
  • TimeClockPunch.TimeClockEntryID -> TimeClockEntry.TimeClockEntryID
  • AttendanceException.TimeClockEntryID -> TimeClockEntry.TimeClockEntryID
  • LaborTimeEntry.TimeClockEntryID -> TimeClockEntry.TimeClockEntryID
  • PayrollRegister.PayrollPeriodID -> PayrollPeriod.PayrollPeriodID
  • PayrollRegisterLine.LaborTimeEntryID -> LaborTimeEntry.LaborTimeEntryID
  • PayrollPayment.PayrollRegisterID -> PayrollRegister.PayrollRegisterID
  • PayrollLiabilityRemittance.PayrollPeriodID -> PayrollPeriod.PayrollPeriodID

Master Data​

This group holds the anchor entities reused across the rest of the model. These tables are intentionally simple, but they matter because most other groups attach to them.

Shared item, warehouse, and employee records

Which identifiers let an investigation move across processes?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
Item
Primary home
One item in the product or service masterItemID (PK), ItemCode, ItemGroup, CollectionName
Warehouse
Primary home
One warehouseWarehouseID (PK), WarehouseName, ManagerID (FK)
Employee
Primary home
One employeeEmployeeID (PK), EmployeeNumber, JobTitle, JobFamily

These records recur as shared references in process views. Item account mappings, employee approvals, and warehouse context answer different questions; a shared item does not identify one receipt-to-issue transaction.

TableUse it forHighest-value keys or fields
ItemProduct master and account mappingItemID, ItemCode, ItemGroup, CollectionName, LifecycleStatus, SupplyMode, InventoryAccountID, RevenueAccountID, COGSAccountID
WarehouseWarehouse masterWarehouseID, WarehouseName, ManagerID
EmployeeEmployee master and approvalsEmployeeID, EmployeeNumber, JobTitle, JobFamily, AuthorizationLevel, PayClass, OvertimeEligible

Join and Traceability Cues​

  • ItemID is the main product bridge across O2C, P2P, manufacturing, and planning
  • WarehouseID connects fulfillment, receipt, manufacturing, and planning location context
  • EmployeeID appears across approvals, rosters, payroll, journals, and organizational reporting

Organizational Planning​

This group is small, but it gives the model its reporting structure. CostCenter organizes responsibility, BudgetLine stores the driver-based monthly planning detail, and Budget preserves the student-facing cost-center summary generated from that detail.

Budgets and reporting responsibility

How do detailed budget drivers differ from a cost-center summary?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
CostCenter
Primary home
One organizational reporting cost centerCostCenterID (PK), CostCenterName, ParentCostCenterID (FK), ManagerID (FK)
Budget
Primary home
One monthly cost-center/account budget summaryBudgetID (PK), CostCenterID (FK), AccountID (FK), FiscalYear, Month
BudgetLine
Primary home
One monthly budget driver or statement-planning detailBudgetLineID (PK), CostCenterID (FK), AccountID (FK), FiscalYear, Month
Account
Shared reference
One chart-of-accounts accountAccountID (PK), AccountNumber, AccountType
LineForeign key or matchHow to read it
r1Budget.CostCenterID
to CostCenter.CostCenterID
Required for the documented path foreign key.
r2Budget.AccountID
to Account.AccountID
Required for the documented path foreign key.
r3BudgetLine.CostCenterID
to CostCenter.CostCenterID
Optional foreign key.
r4BudgetLine.AccountID
to Account.AccountID
Required for the documented path foreign key.

Some BudgetLine rows have no CostCenterID. Budget and BudgetLine are separate grains; do not join their amounts as if they were matching individual transactions.

TableUse it forHighest-value keys or fields
CostCenterOrganizational reporting structureCostCenterID, CostCenterName, ParentCostCenterID, ManagerID, IsActive
BudgetStudent-facing monthly budget summary by cost center and accountBudgetID, FiscalYear, Month, CostCenterID, AccountID, BudgetAmount
BudgetLineDriver-based monthly budget detail for planning, bridges, and pro forma statementsBudgetLineID, FiscalYear, Month, AccountID, CostCenterID, ItemID, WarehouseID, Quantity, UnitAmount, BudgetAmount, BudgetCategory, DriverType

Join and Traceability Cues​

  • Budget.CostCenterID -> CostCenter.CostCenterID
  • Budget.AccountID -> Account.AccountID
  • BudgetLine.CostCenterID -> CostCenter.CostCenterID
  • BudgetLine.AccountID -> Account.AccountID
  • BudgetLine.ItemID -> Item.ItemID
  • BudgetLine.WarehouseID -> Warehouse.WarehouseID

Demand Planning and MRP​

This group covers the planning layer that sits ahead of later purchasing and manufacturing execution. It explains why replenishment pressure existed before a requisition or work order appeared.

Demand, supply recommendations, and requirements

Which links are stored, and which are analytical planning context?

View the focused map and its evidence
Expand the diagram for a larger view with zoom and pan controls.

Download editable Draw.io

(PK) marks a primary key. (FK) marks a foreign key. Crow’s feet show multiplicity; a circle permits zero. These lines describe joins, not a time sequence.

Read the tables, keys, and relationships
Table and roleOne row representsSelected fields
DemandForecast
Primary home
One item/location forecast for a weekly bucketDemandForecastID (PK), ItemID (FK), WarehouseID (FK), ForecastWeekStartDate
InventoryPolicy
Primary home
One item/location replenishment policyInventoryPolicyID (PK), ItemID (FK), WarehouseID (FK), IsActive
SupplyPlanRecommendation
Primary home
One item/location supply recommendation in a planning bucketSupplyPlanRecommendationID (PK), ItemID (FK), WarehouseID (FK), BucketWeekStartDate, DriverType
MaterialRequirementPlan
Primary home
One component requirement for a supply recommendationMaterialRequirementPlanID (PK), SupplyPlanRecommendationID (FK), BucketWeekStartDate, ParentItemID (FK), ComponentItemID (FK)
RoughCutCapacityPlan
Primary home
One work-center capacity requirement for a supply recommendationRoughCutCapacityPlanID (PK), SupplyPlanRecommendationID (FK), BucketWeekStartDate, WorkCenterID (FK)
LineForeign key or matchHow to read it
r1MaterialRequirementPlan.SupplyPlanRecommendationID
to SupplyPlanRecommendation.SupplyPlanRecommendationID
Required for the documented path foreign key.
r2RoughCutCapacityPlan.SupplyPlanRecommendationID
to SupplyPlanRecommendation.SupplyPlanRecommendationID
Required for the documented path foreign key.
r3SupplyPlanRecommendation.ItemID, WarehouseID
to DemandForecast.ItemID, WarehouseID
Analytical match or aggregation, rather than a stored single-record link. Match item/location and the relevant weekly bucket and DriverType; there is no stored DemandForecastID.
r4SupplyPlanRecommendation.ItemID, WarehouseID
to InventoryPolicy.ItemID, WarehouseID
Analytical match or aggregation, rather than a stored single-record link. Inspect item/location, active policy, planning bucket, and DriverType; there is no stored InventoryPolicyID.

Planning context is not a one-record foreign-key trace. Requisitions and work orders reference SupplyPlanRecommendationID when converted into execution documents.

TableUse it forHighest-value keys or fields
DemandForecastWeekly demand-planning inputDemandForecastID, ForecastWeekStartDate, ItemID, WarehouseID, ForecastQuantity, ForecastMethod, IsCurrent
InventoryPolicyActive replenishment policyInventoryPolicyID, ItemID, WarehouseID, PolicyType, SafetyStockQuantity, ReorderPointQuantity, TargetDaysSupply, IsActive
SupplyPlanRecommendationWeekly replenishment recommendationSupplyPlanRecommendationID, RecommendationDate, BucketWeekStartDate, ItemID, WarehouseID, RecommendationType, SupplyMode, RecommendationStatus, ConvertedDocumentType, ConvertedDocumentID
MaterialRequirementPlanComponent-demand explosionMaterialRequirementPlanID, BucketWeekStartDate, ParentItemID, ComponentItemID, SupplyPlanRecommendationID, NetRequirementQuantity
RoughCutCapacityPlanWeekly load-versus-capacity tieoutRoughCutCapacityPlanID, BucketWeekStartDate, WorkCenterID, SupplyPlanRecommendationID, PlannedLoadHours, AvailableHours, UtilizationPct, CapacityStatus

Join and Traceability Cues​

  • DemandForecast and InventoryPolicy inform recommendations through shared ItemID, WarehouseID, planning buckets, and recommendation DriverType, without a direct stored forecast or policy ID on SupplyPlanRecommendation
  • PurchaseRequisition.SupplyPlanRecommendationID -> SupplyPlanRecommendation.SupplyPlanRecommendationID
  • WorkOrder.SupplyPlanRecommendationID -> SupplyPlanRecommendation.SupplyPlanRecommendationID
  • MaterialRequirementPlan.SupplyPlanRecommendationID -> SupplyPlanRecommendation.SupplyPlanRecommendationID
  • RoughCutCapacityPlan.SupplyPlanRecommendationID -> SupplyPlanRecommendation.SupplyPlanRecommendationID

Important Schema Notes​

  • CashReceipt.SalesInvoiceID is compatibility metadata only. The authoritative O2C settlement link is CashReceiptApplication.
  • Service invoice lines stay in SalesInvoiceLine, but ShipmentLineID remains null on those rows and ServiceBillingLine becomes the authoritative hours-to-invoice bridge.
  • O2C freight remains header-level. SalesOrder.FreightTerms sets the policy, Shipment.FreightCost and Shipment.BillableFreightAmount capture the fulfillment result, SalesInvoice.FreightAmount carries billed freight, and CreditMemo.FreightCreditAmount shows any freight credit.
  • Price-list and promotion lineage live directly on SalesOrderLine, SalesInvoiceLine, and CreditMemoLine. Postings remain net revenue.
  • Sales commissions are a separate O2C payable routine. SalesCommissionAccrual.CommissionBaseAmount comes from SalesInvoiceLine.LineTotal. Commission payments settle 2034 Sales Commission Payable separately from payroll.
  • PurchaseOrder.RequisitionID is compatibility metadata when one PO batches multiple requisitions. Use PurchaseOrderLine.RequisitionID as the authoritative trace.
  • PurchaseInvoiceLine.GoodsReceiptLineID is the main match key for receipt-based inventory invoicing.
  • PurchaseInvoiceLine.AccrualJournalEntryID links direct service invoices back to accrual journals.
  • FixedAsset.BehaviorGroup controls whether depreciation feeds manufacturing cost or operating expense.
  • FixedAssetEvent preserves the bridge from capital purchases and disposals back to the source purchasing and journal documents.
  • GoodsReceiptLine.ExtendedStandardCost stores the receipt posting basis used for inventory and GRNI.
  • EmployeeShiftRoster, EmployeeAbsence, TimeClockPunch, and OvertimeApproval sit beneath the approved TimeClockEntry layer.
  • Design-service labor margin is analytical. ServiceTimeEntry.ExtendedCost supports customer-engagement analysis, but payroll expense stays in payroll and does not become manufacturing inventory cost.
  • Manufacturing uses single-level BOMs plus one active routing per manufactured item.
  • Manufacturing remains standard-cost based even though payroll and time provide operational labor detail.

Next Steps​