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
| Group | What belongs here | Count |
|---|---|---|
| Accounting core | Accounts, journals, and posted ledger detail | 3 |
| Fixed assets and financing | Asset register, lifecycle events, and note schedules | 4 |
| Order-to-cash | Customers, pricing, goods and service orders, shipments, invoices, commissions, cash, returns, credits, and refunds | 27 |
| Procure-to-pay | Requisitions, purchase orders, receipts, supplier invoices, and disbursements | 9 |
| Manufacturing | BOMs, routings, work centers, work orders, issues, completions, and close | 14 |
| Payroll and time | Shifts, rosters, absences, overtime approvals, punches, approved daily time, payroll, and remittances | 14 |
| Master data | Item, warehouse, and employee records | 3 |
| Organizational planning | Cost centers, budget summary, and budget detail | 3 |
| Demand planning and MRP | Forecasting, inventory policy, recommendations, MRP, and rough-cut capacity | 5 |
| Total | Published user tables | 82 |
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
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
- Accounts, journals, and posted detail — 3 primary tables
- Asset events and financing — 4 primary tables
- Customer orders and commercial terms — 7 primary tables
- Goods fulfillment and customer billing — 4 primary tables
- Design work, time, and billing — 4 primary tables
- Received cash and invoice allocation — 2 primary tables
- Returns, customer credit, and refunds — 5 primary tables
- Commission accrual, clawback, and payment — 5 primary tables
- Procurement and goods receiving — 6 primary tables
- Supplier invoices and separate settlement — 3 primary tables
- Product recipes and production capacity — 6 primary tables
- Work orders and daily operation schedules — 3 primary tables
- Material, completion, and accounting close — 5 primary tables
- Attendance support and approved daily time — 8 primary tables
- Payroll support, employee pay, and remittances — 6 primary tables
- Shared item, warehouse, and employee records — 3 primary tables
- Budgets and reporting responsibility — 3 primary tables
- Demand, supply recommendations, and requirements — 5 primary tables
These are learning areas, not additional database tables or proof of departmental independence.
Process context · Practice with the records · Related case · Posting reference
Find any of the 82 tables and its primary learning view
| Table | One row represents | Primary view |
|---|---|---|
Account | One chart-of-accounts account | Accounts, journals, and posted detail |
AttendanceException | One logged attendance-review exception | Attendance support and approved daily time |
BillOfMaterial | One versioned manufactured-item recipe | Product recipes and production capacity |
BillOfMaterialLine | One component within a BOM | Product recipes and production capacity |
Budget | One monthly cost-center/account budget summary | Budgets and reporting responsibility |
BudgetLine | One monthly budget driver or statement-planning detail | Budgets and reporting responsibility |
CashReceipt | One incoming customer cash event | Received cash and invoice allocation |
CashReceiptApplication | One dated receipt allocation to an invoice | Received cash and invoice allocation |
CostCenter | One organizational reporting cost center | Budgets and reporting responsibility |
CreditMemo | One customer credit-memo header | Returns, customer credit, and refunds |
CreditMemoLine | One credited return line | Returns, customer credit, and refunds |
Customer | One customer | Customer orders and commercial terms |
CustomerRefund | One cash refund against a credit memo | Returns, customer credit, and refunds |
DebtAgreement | One financing agreement | Asset events and financing |
DebtScheduleLine | One scheduled debt-payment installment | Asset events and financing |
DemandForecast | One item/location forecast for a weekly bucket | Demand, supply recommendations, and requirements |
DisbursementPayment | One supplier invoice payment | Supplier invoices and separate settlement |
Employee | One employee | Shared item, warehouse, and employee records |
EmployeeAbsence | One absence record against a roster | Attendance support and approved daily time |
EmployeeShiftAssignment | One employee shift assignment over effective dates | Attendance support and approved daily time |
EmployeeShiftRoster | One employee planned shift on a roster date | Attendance support and approved daily time |
FixedAsset | One asset in the asset register | Asset events and financing |
FixedAssetEvent | One recorded asset lifecycle event | Asset events and financing |
GLEntry | One posted account line in a voucher | Accounts, journals, and posted detail |
GoodsReceipt | One supplier goods-receipt header | Procurement and goods receiving |
GoodsReceiptLine | One received purchasing-line quantity | Procurement and goods receiving |
InventoryPolicy | One item/location replenishment policy | Demand, supply recommendations, and requirements |
Item | One item in the product or service master | Shared item, warehouse, and employee records |
JournalEntry | One finance-controlled journal header | Accounts, journals, and posted detail |
LaborTimeEntry | One labor allocation supporting an operation and pay period | Payroll support, employee pay, and remittances |
MaterialIssue | One work-order material-issue header | Material, completion, and accounting close |
MaterialIssueLine | One issued component line | Material, completion, and accounting close |
MaterialRequirementPlan | One component requirement for a supply recommendation | Demand, supply recommendations, and requirements |
OvertimeApproval | One recorded overtime approval | Attendance support and approved daily time |
PayrollLiabilityRemittance | One period-level liability remittance | Payroll support, employee pay, and remittances |
PayrollPayment | One employee net-pay payment | Payroll support, employee pay, and remittances |
PayrollPeriod | One payroll calendar period | Payroll support, employee pay, and remittances |
PayrollRegister | One employee payroll register in a pay period | Payroll support, employee pay, and remittances |
PayrollRegisterLine | One earning, deduction, tax, or benefit line | Payroll support, employee pay, and remittances |
PriceList | One customer or segment price-list scope | Customer orders and commercial terms |
PriceListLine | One item price within a price list | Customer orders and commercial terms |
PriceOverrideApproval | One recorded order-line price approval | Customer orders and commercial terms |
ProductionCompletion | One work-order completion event | Material, completion, and accounting close |
ProductionCompletionLine | One completed-product cost line | Material, completion, and accounting close |
PromotionProgram | One promotion definition | Customer orders and commercial terms |
PurchaseInvoice | One supplier invoice header | Supplier invoices and separate settlement |
PurchaseInvoiceLine | One goods or accrued-service supplier invoice line | Supplier invoices and separate settlement |
PurchaseOrder | One supplier purchase-order header | Procurement and goods receiving |
PurchaseOrderLine | One ordered purchasing line | Procurement and goods receiving |
PurchaseRequisition | One internal item requisition | Procurement and goods receiving |
RoughCutCapacityPlan | One work-center capacity requirement for a supply recommendation | Demand, supply recommendations, and requirements |
Routing | One versioned manufactured-item routing | Product recipes and production capacity |
RoutingOperation | One operation within a routing | Product recipes and production capacity |
SalesCommissionAccrual | One invoice-line commission accrual | Commission accrual, clawback, and payment |
SalesCommissionAdjustment | One credit-related commission clawback | Commission accrual, clawback, and payment |
SalesCommissionPayment | One sales-rep commission payment | Commission accrual, clawback, and payment |
SalesCommissionPaymentLine | One accrual or adjustment included in a commission payment | Commission accrual, clawback, and payment |
SalesCommissionRate | One commission rate by revenue type, segment, and effective period | Commission accrual, clawback, and payment |
SalesInvoice | One customer invoice header | Goods fulfillment and customer billing |
SalesInvoiceLine | One billed goods or service line | Goods fulfillment and customer billing |
SalesOrder | One customer order header | Customer orders and commercial terms |
SalesOrderLine | One ordered item or service line | Customer orders and commercial terms |
SalesReturn | One goods-return header | Returns, customer credit, and refunds |
SalesReturnLine | One returned shipment-line quantity | Returns, customer credit, and refunds |
ServiceBillingLine | One engagement billing-period rollup linked to an invoice line | Design work, time, and billing |
ServiceEngagement | One engagement for a service order line | Design work, time, and billing |
ServiceEngagementAssignment | One employee assignment to an engagement | Design work, time, and billing |
ServiceTimeEntry | One employee service-time entry on a work date | Design work, time, and billing |
ShiftDefinition | One shift template | Attendance support and approved daily time |
Shipment | One goods-shipment header | Goods fulfillment and customer billing |
ShipmentLine | One shipped order-line quantity | Goods fulfillment and customer billing |
Supplier | One supplier | Procurement and goods receiving |
SupplyPlanRecommendation | One item/location supply recommendation in a planning bucket | Demand, supply recommendations, and requirements |
TimeClockEntry | One approved-time record for an employee work date | Attendance support and approved daily time |
TimeClockPunch | One raw clock-punch event | Attendance support and approved daily time |
Warehouse | One warehouse | Shared item, warehouse, and employee records |
WorkCenter | One production work center | Product recipes and production capacity |
WorkCenterCalendar | One work center on one calendar date | Product recipes and production capacity |
WorkOrder | One manufacturing work-order header | Work orders and daily operation schedules |
WorkOrderClose | One work-order accounting-close record | Material, completion, and accounting close |
WorkOrderOperation | One operation within a work order | Work orders and daily operation schedules |
WorkOrderOperationSchedule | One scheduled operation on a work-center date | Work 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, andAccrualJournalEntryIDare 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 key | Main bridge | How it connects |
|---|---|---|
ItemID | Master data into O2C, P2P, manufacturing, and planning | Product-level analysis across the whole dataset |
FixedAssetID | Fixed assets into lifecycle events and note agreements | Connects the asset register to acquisitions, depreciation, financing, and disposal activity |
DebtAgreementID | Fixed-asset financing into monthly payment schedules | Connects note origination to principal and interest cash behavior |
SupplyPlanRecommendationID | Demand planning into requisitions, work orders, MRP, and rough-cut capacity | Connects planning pressure to later purchasing or manufacturing execution |
WorkOrderID | Manufacturing into issues, completions, close, and labor support | Main manufacturing execution anchor |
WorkOrderOperationID | Manufacturing into operation schedules and labor traceability | Connects scheduling and labor detail to one operation |
ServiceEngagementID | O2C service delivery into staffing, approved time, and billing | Main design-services execution anchor |
TimeClockEntryID | Payroll and time into labor, attendance exceptions, and payroll support | Approved time bridge |
PayrollRegisterID | Payroll header into line detail and payment | Employee-register and payment anchor; recognition reconciles through the PayrollSummary period/cost-center mapping |
AccrualJournalEntryID | Accounting core into accrued-service AP settlement | Bridges finance estimates to later AP activity |
AccountID | Accounting core into budgets and reporting | Chart-of-accounts bridge |
SourceDocumentType, SourceDocumentID, SourceLineID | Operational groups into GLEntry | Main 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
(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 role | One row represents | Selected fields |
|---|---|---|
AccountPrimary home | One chart-of-accounts account | AccountID (PK), AccountNumber, AccountType |
JournalEntryPrimary home | One finance-controlled journal header | JournalEntryID (PK), EntryType, PostingDate, ReversesJournalEntryID (FK) |
GLEntryPrimary home | One posted account line in a voucher | GLEntryID (PK), AccountID (FK), SourceDocumentID (source), SourceDocumentType, PostingDate |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | GLEntry.AccountIDto Account.AccountID | Required for the documented path foreign key. |
| r2 | GLEntry.SourceDocumentIDto 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.
Process context · Practice with the records · Related case · Posting reference
| Table | Use it for | Highest-value keys or fields |
|---|---|---|
Account | Chart of accounts and hierarchy | AccountID, AccountNumber, AccountType, AccountSubType, ParentAccountID |
JournalEntry | Finance-controlled journal header lookup | JournalEntryID, EntryNumber, PostingDate, EntryType, ApprovedByEmployeeID, ReversesJournalEntryID |
GLEntry | Posted ledger detail and traceability | GLEntryID, 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.VoucherNumbertypically matchesJournalEntry.EntryNumber GLEntry.SourceDocumentType,SourceDocumentID, andSourceLineIDare 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
(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 role | One row represents | Selected fields |
|---|---|---|
FixedAssetPrimary home | One asset in the asset register | FixedAssetID (PK), AssetCode, BehaviorGroup, AssetAccountID (FK) |
FixedAssetEventPrimary home | One recorded asset lifecycle event | FixedAssetEventID (PK), FixedAssetID (FK), JournalEntryID (FK), EventType, EventDate |
DebtAgreementPrimary home | One financing agreement | DebtAgreementID (PK), FixedAssetID (FK), AgreementNumber, OriginationDate |
DebtScheduleLinePrimary home | One scheduled debt-payment installment | DebtScheduleLineID (PK), DebtAgreementID (FK), JournalEntryID (FK), PaymentSequence, PaymentDate |
JournalEntryShared reference | One finance-controlled journal header | JournalEntryID (PK), EntryType, PostingDate, ReversesJournalEntryID (FK) |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | FixedAssetEvent.FixedAssetIDto FixedAsset.FixedAssetID | Required for the documented path foreign key. |
| r2 | DebtAgreement.FixedAssetIDto FixedAsset.FixedAssetID | Required for the documented path foreign key. |
| r3 | DebtScheduleLine.DebtAgreementIDto DebtAgreement.DebtAgreementID | Required for the documented path foreign key. |
| r4 | FixedAssetEvent.JournalEntryIDto JournalEntry.JournalEntryID | Optional foreign key. |
| r5 | DebtScheduleLine.JournalEntryIDto JournalEntry.JournalEntryID | Optional foreign key. |
Asset and debt records link to journals when present; they do not post under their own GLEntry source labels.
Process context · Practice with the records · Related case · Posting reference
| Table | Use it for | Highest-value keys or fields |
|---|---|---|
FixedAsset | Asset register and depreciation-routing setup | FixedAssetID, AssetCode, BehaviorGroup, AssetAccountID, AccumulatedDepreciationAccountID, DepreciationDebitAccountID, CostCenterID, WarehouseID, WorkCenterID, InServiceDate, DisposalDate |
FixedAssetEvent | Lifecycle events tied back to purchasing, financing, and disposal | FixedAssetEventID, FixedAssetID, EventType, EventDate, PurchaseInvoiceID, PurchaseInvoiceLineID, DisbursementID, DebtAgreementID, JournalEntryID, FinancingType, ProceedsAmount |
DebtAgreement | Note-payable agreement created for financed CAPEX | DebtAgreementID, AgreementNumber, FixedAssetID, OriginationDate, PrincipalAmount, AnnualInterestRate, TermMonths, PaymentStartDate, ScheduledPaymentAmount |
DebtScheduleLine | Monthly principal and interest schedule detail | DebtScheduleLineID, DebtAgreementID, PaymentSequence, PaymentDate, PrincipalAmount, InterestAmount, PaymentAmount, EndingPrincipal, JournalEntryID, Status |
Join and Traceability Cues
FixedAssetEvent.FixedAssetID -> FixedAsset.FixedAssetIDDebtAgreement.FixedAssetID -> FixedAsset.FixedAssetIDDebtScheduleLine.DebtAgreementID -> DebtAgreement.DebtAgreementIDFixedAssetEvent.PurchaseInvoiceID -> PurchaseInvoice.PurchaseInvoiceIDFixedAssetEvent.DisbursementID -> DisbursementPayment.DisbursementIDFixedAssetEvent.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
(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 role | One row represents | Selected fields |
|---|---|---|
CustomerPrimary home | One customer | CustomerID (PK), CustomerName, CustomerSegment, Region |
PriceListPrimary home | One customer or segment price-list scope | PriceListID (PK), CustomerID (FK), ScopeType, CustomerSegment |
PriceListLinePrimary home | One item price within a price list | PriceListLineID (PK), PriceListID (FK), ItemID (FK), UnitPrice |
PromotionProgramPrimary home | One promotion definition | PromotionID (PK), PromotionCode, ScopeType, DiscountPct |
PriceOverrideApprovalPrimary home | One recorded order-line price approval | PriceOverrideApprovalID (PK), SalesOrderLineID (FK), RequestedByEmployeeID (FK), ApprovedByEmployeeID (FK) |
SalesOrderPrimary home | One customer order header | SalesOrderID (PK), CustomerID (FK), OrderDate |
SalesOrderLinePrimary home | One ordered item or service line | SalesOrderLineID (PK), SalesOrderID (FK), PriceListLineID (FK), PromotionID (FK), PriceOverrideApprovalID (FK), ItemID (FK) |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | PriceList.CustomerIDto Customer.CustomerID | Optional foreign key. |
| r2 | PriceListLine.PriceListIDto PriceList.PriceListID | Required for the documented path foreign key. |
| r3 | SalesOrder.CustomerIDto Customer.CustomerID | Required for the documented path foreign key. |
| r4 | SalesOrderLine.SalesOrderIDto SalesOrder.SalesOrderID | Required for the documented path foreign key. |
| r5 | SalesOrderLine.PriceListLineIDto PriceListLine.PriceListLineID | Optional foreign key. |
| r6 | SalesOrderLine.PromotionIDto PromotionProgram.PromotionID | Optional foreign key. |
| r7 | SalesOrderLine.PriceOverrideApprovalIDto PriceOverrideApproval.PriceOverrideApprovalID | Optional foreign key. |
Segment price lists need no CustomerID. A linked approval records an authorization basis; inspect authority, dates, and status separately.
Process context · Practice with the records · Related case · Posting reference
Goods fulfillment and customer billing
Which line-level keys connect ordered, shipped, and billed quantities?
View the focused map and its evidence
(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 role | One row represents | Selected fields |
|---|---|---|
ShipmentPrimary home | One goods-shipment header | ShipmentID (PK), SalesOrderID (FK), ShipmentDate |
ShipmentLinePrimary home | One shipped order-line quantity | ShipmentLineID (PK), ShipmentID (FK), SalesOrderLineID (FK), QuantityShipped |
SalesInvoicePrimary home | One customer invoice header | SalesInvoiceID (PK), CustomerID (FK), InvoiceDate |
SalesInvoiceLinePrimary home | One billed goods or service line | SalesInvoiceLineID (PK), SalesInvoiceID (FK), ShipmentLineID (FK), SalesOrderLineID (FK) |
SalesOrderShared reference | One customer order header | SalesOrderID (PK), CustomerID (FK), OrderDate |
SalesOrderLineShared reference | One ordered item or service line | SalesOrderLineID (PK), SalesOrderID (FK), ItemID (FK) |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | SalesOrderLine.SalesOrderIDto SalesOrder.SalesOrderID | Required for the documented path foreign key. |
| r2 | Shipment.SalesOrderIDto SalesOrder.SalesOrderID | Required for the documented path foreign key. |
| r3 | ShipmentLine.ShipmentIDto Shipment.ShipmentID | Required for the documented path foreign key. |
| r4 | ShipmentLine.SalesOrderLineIDto SalesOrderLine.SalesOrderLineID | Required for the documented path foreign key. |
| r5 | SalesInvoiceLine.SalesInvoiceIDto SalesInvoice.SalesInvoiceID | Required for the documented path foreign key. |
| r6 | SalesInvoiceLine.ShipmentLineIDto 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.
Process context · Practice with the records · Related case · Posting reference
Design work, time, and billing
How are dated time entries matched to a billing-period rollup?
View the focused map and its evidence
(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 role | One row represents | Selected fields |
|---|---|---|
ServiceEngagementPrimary home | One engagement for a service order line | ServiceEngagementID (PK), SalesOrderLineID (FK), EngagementNumber, CustomerID (FK) |
ServiceEngagementAssignmentPrimary home | One employee assignment to an engagement | ServiceEngagementAssignmentID (PK), ServiceEngagementID (FK), EmployeeID (FK), AssignedRole |
ServiceTimeEntryPrimary home | One employee service-time entry on a work date | ServiceTimeEntryID (PK), ServiceEngagementAssignmentID (FK), ServiceEngagementID (FK), WorkDate, BillableHours |
ServiceBillingLinePrimary home | One engagement billing-period rollup linked to an invoice line | ServiceBillingLineID (PK), ServiceEngagementID (FK), SalesInvoiceLineID (FK), BillingPeriodStartDate, BillingPeriodEndDate |
SalesOrderLineShared reference | One ordered item or service line | SalesOrderLineID (PK), SalesOrderID (FK), ItemID (FK) |
SalesInvoiceLineShared reference | One billed goods or service line | SalesInvoiceLineID (PK), SalesInvoiceID (FK), ShipmentLineID (FK), SalesOrderLineID (FK) |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | ServiceEngagement.SalesOrderLineIDto SalesOrderLine.SalesOrderLineID | Required for the documented path foreign key. |
| r2 | ServiceEngagementAssignment.ServiceEngagementIDto ServiceEngagement.ServiceEngagementID | Required for the documented path foreign key. |
| r3 | ServiceTimeEntry.ServiceEngagementAssignmentIDto ServiceEngagementAssignment.ServiceEngagementAssignmentID | Required for the documented path foreign key. |
| r4 | ServiceBillingLine.ServiceEngagementIDto ServiceEngagement.ServiceEngagementID | Required for the documented path foreign key. |
| r5 | ServiceBillingLine.SalesInvoiceLineIDto SalesInvoiceLine.SalesInvoiceLineID | Required for the documented path foreign key. |
| r6 | ServiceTimeEntry.ServiceEngagementID, WorkDateto 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.
Process context · Practice with the records · Related case · Posting reference
Received cash and invoice allocation
Why can received cash and an open invoice coexist?
View the focused map and its evidence
(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 role | One row represents | Selected fields |
|---|---|---|
CashReceiptPrimary home | One incoming customer cash event | CashReceiptID (PK), CustomerID (FK), ReceiptDate, Amount |
CashReceiptApplicationPrimary home | One dated receipt allocation to an invoice | CashReceiptApplicationID (PK), CashReceiptID (FK), SalesInvoiceID (FK), ApplicationDate, AppliedAmount |
SalesInvoiceShared reference | One customer invoice header | SalesInvoiceID (PK), CustomerID (FK), InvoiceDate |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | CashReceiptApplication.CashReceiptIDto CashReceipt.CashReceiptID | Required for the documented path foreign key. |
| r2 | CashReceiptApplication.SalesInvoiceIDto 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.
Process context · Practice with the records · Related case · Posting reference
Returns, customer credit, and refunds
Which records distinguish returned goods, credit, and cash paid back?
View the focused map and its evidence
(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 role | One row represents | Selected fields |
|---|---|---|
SalesReturnPrimary home | One goods-return header | SalesReturnID (PK), ReturnNumber, CustomerID (FK), ReturnDate |
SalesReturnLinePrimary home | One returned shipment-line quantity | SalesReturnLineID (PK), SalesReturnID (FK), ShipmentLineID (FK), ItemID (FK) |
CreditMemoPrimary home | One customer credit-memo header | CreditMemoID (PK), SalesReturnID (FK), OriginalSalesInvoiceID (FK), CreditMemoNumber |
CreditMemoLinePrimary home | One credited return line | CreditMemoLineID (PK), CreditMemoID (FK), SalesReturnLineID (FK), ItemID (FK) |
CustomerRefundPrimary home | One cash refund against a credit memo | CustomerRefundID (PK), CreditMemoID (FK), CustomerID (FK), RefundDate |
ShipmentLineShared reference | One shipped order-line quantity | ShipmentLineID (PK), ShipmentID (FK), SalesOrderLineID (FK), QuantityShipped |
SalesInvoiceShared reference | One customer invoice header | SalesInvoiceID (PK), CustomerID (FK), InvoiceDate |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | SalesReturnLine.SalesReturnIDto SalesReturn.SalesReturnID | Required for the documented path foreign key. |
| r2 | SalesReturnLine.ShipmentLineIDto ShipmentLine.ShipmentLineID | Required for the documented path foreign key. |
| r3 | CreditMemo.SalesReturnIDto SalesReturn.SalesReturnID | Required for the documented path foreign key. |
| r4 | CreditMemo.OriginalSalesInvoiceIDto SalesInvoice.SalesInvoiceID | Required for the documented path foreign key. |
| r5 | CreditMemoLine.CreditMemoIDto CreditMemo.CreditMemoID | Required for the documented path foreign key. |
| r6 | CreditMemoLine.SalesReturnLineIDto SalesReturnLine.SalesReturnLineID | Required for the documented path foreign key. |
| r7 | CustomerRefund.CreditMemoIDto 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.
Process context · Practice with the records · Related case · Posting reference
Commission accrual, clawback, and payment
How does a payment identify its accruals and adjustments?
View the focused map and its evidence
(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 role | One row represents | Selected fields |
|---|---|---|
SalesCommissionRatePrimary home | One commission rate by revenue type, segment, and effective period | SalesCommissionRateID (PK), RevenueType, CustomerSegment, RatePct |
SalesCommissionAccrualPrimary home | One invoice-line commission accrual | SalesCommissionAccrualID (PK), SalesInvoiceLineID (FK), SalesCommissionRateID (FK), SalesRepEmployeeID (FK), CommissionBaseAmount |
SalesCommissionAdjustmentPrimary home | One credit-related commission clawback | SalesCommissionAdjustmentID (PK), SalesCommissionAccrualID (FK), CreditMemoLineID (FK), CommissionBaseReductionAmount |
SalesCommissionPaymentPrimary home | One sales-rep commission payment | SalesCommissionPaymentID (PK), PaymentNumber, PaymentDate, SalesRepEmployeeID (FK) |
SalesCommissionPaymentLinePrimary home | One accrual or adjustment included in a commission payment | SalesCommissionPaymentLineID (PK), SalesCommissionPaymentID (FK), SourceDocumentID (source), SourceDocumentType |
SalesInvoiceLineShared reference | One billed goods or service line | SalesInvoiceLineID (PK), SalesInvoiceID (FK), ShipmentLineID (FK), SalesOrderLineID (FK) |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | SalesCommissionAccrual.SalesInvoiceLineIDto SalesInvoiceLine.SalesInvoiceLineID | Required for the documented path foreign key. |
| r2 | SalesCommissionAccrual.SalesCommissionRateIDto SalesCommissionRate.SalesCommissionRateID | Required for the documented path foreign key. |
| r3 | SalesCommissionAdjustment.SalesCommissionAccrualIDto SalesCommissionAccrual.SalesCommissionAccrualID | Required for the documented path foreign key. |
| r4 | SalesCommissionPaymentLine.SalesCommissionPaymentIDto SalesCommissionPayment.SalesCommissionPaymentID | Required for the documented path foreign key. |
| r5 | SalesCommissionPaymentLine.SourceDocumentIDto SalesCommissionAccrual.SalesCommissionAccrualID | Conditional trace: SourceDocumentType = 'SalesCommissionAccrual'. |
| r6 | SalesCommissionPaymentLine.SourceDocumentIDto 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.
Process context · Practice with the records · Related case · Posting reference
| Table | Use it for | Highest-value keys or fields |
|---|---|---|
Customer | Customer master and segmentation | CustomerID, CustomerName, CustomerSegment, Region, SalesRepEmployeeID |
PriceList | Pricing scope header | PriceListID, ScopeType, CustomerID, CustomerSegment, EffectiveStartDate, EffectiveEndDate |
PriceListLine | Item-level pricing rule | PriceListLineID, PriceListID, ItemID, UnitPrice, MinimumUnitPrice |
PromotionProgram | Promotion definition | PromotionID, PromotionCode, ScopeType, DiscountPct, EffectiveStartDate, EffectiveEndDate |
PriceOverrideApproval | Manual below-floor approval | PriceOverrideApprovalID, SalesOrderLineID, RequestedByEmployeeID, ApprovedByEmployeeID, ApprovedUnitPrice, Status |
SalesOrder | Order header | SalesOrderID, OrderNumber, CustomerID, OrderDate, RequestedDeliveryDate, FreightTerms, Status |
SalesOrderLine | Ordered line with pricing lineage | SalesOrderLineID, SalesOrderID, ItemID, PriceListLineID, PromotionID, PriceOverrideApprovalID, PricingMethod |
ServiceEngagement | Customer service engagement tied to one service order line | ServiceEngagementID, EngagementNumber, CustomerID, SalesOrderLineID, LeadEmployeeID, StartDate, EndDate, PlannedHours, HourlyRate, Status |
ServiceEngagementAssignment | One employee staffing row on one engagement | ServiceEngagementAssignmentID, ServiceEngagementID, EmployeeID, AssignedRole, AssignedHours, Status |
ServiceTimeEntry | Approved service hours and analytical labor cost | ServiceTimeEntryID, ServiceEngagementID, ServiceEngagementAssignmentID, EmployeeID, WorkDate, BillableHours, NonBillableHours, CostRateUsed, ExtendedCost, BillingStatus |
Shipment | Shipment header | ShipmentID, SalesOrderID, ShipmentDate, WarehouseID, FreightCost, BillableFreightAmount, Status |
ShipmentLine | Shipped line | ShipmentLineID, ShipmentID, SalesOrderLineID, ItemID, QuantityShipped |
SalesInvoice | Invoice header | SalesInvoiceID, InvoiceNumber, CustomerID, InvoiceDate, DueDate, FreightAmount, Status |
SalesInvoiceLine | Billed line | SalesInvoiceLineID, SalesInvoiceID, SalesOrderLineID, ShipmentLineID, ItemID, PricingMethod |
ServiceBillingLine | Monthly billed-hours rollup tied to one invoice line | ServiceBillingLineID, ServiceEngagementID, SalesInvoiceLineID, BillingPeriodStartDate, BillingPeriodEndDate, BilledHours, HourlyRate, LineAmount, Status |
SalesCommissionRate | Commission-rate matrix by revenue type and customer segment | SalesCommissionRateID, RevenueType, CustomerSegment, RatePct, EffectiveStartDate, EffectiveEndDate, Status |
SalesCommissionAccrual | Invoice-line commission accrual | SalesCommissionAccrualID, SalesInvoiceLineID, SalesRepEmployeeID, CommissionBaseAmount, CommissionRatePct, CommissionAmount |
SalesCommissionAdjustment | Credit-memo clawback against an original commission accrual | SalesCommissionAdjustmentID, SalesCommissionAccrualID, CreditMemoLineID, CommissionBaseReductionAmount, CommissionAdjustmentAmount |
SalesCommissionPayment | Monthly net commission payment by sales rep | SalesCommissionPaymentID, PaymentNumber, PaymentDate, SalesRepEmployeeID, NetPaymentAmount |
SalesCommissionPaymentLine | Settlement detail connecting payments to accruals and clawbacks | SalesCommissionPaymentLineID, SalesCommissionPaymentID, SourceDocumentType, SourceDocumentID, Amount |
CashReceipt | Customer cash event | CashReceiptID, ReceiptNumber, CustomerID, ReceiptDate, Amount |
CashReceiptApplication | Invoice settlement detail | CashReceiptApplicationID, CashReceiptID, SalesInvoiceID, ApplicationDate, AppliedAmount |
SalesReturn | Return header | SalesReturnID, ReturnNumber, CustomerID, ReturnDate, Status |
SalesReturnLine | Returned line | SalesReturnLineID, SalesReturnID, ShipmentLineID, ItemID, QuantityReturned |
CreditMemo | Credit header | CreditMemoID, CreditMemoNumber, SalesReturnID, OriginalSalesInvoiceID, CreditMemoDate, FreightCreditAmount, Status |
CreditMemoLine | Credit detail with inherited pricing lineage | CreditMemoLineID, CreditMemoID, SalesReturnLineID, ItemID, PricingMethod, PriceListLineID |
CustomerRefund | Refund against customer credit | CustomerRefundID, CreditMemoID, CustomerID, RefundDate, Amount |
Join and Traceability Cues
PriceListLine.PriceListID -> PriceList.PriceListIDSalesOrderLine.PriceListLineID -> PriceListLine.PriceListLineIDSalesOrderLine.PromotionID -> PromotionProgram.PromotionIDSalesOrderLine.PriceOverrideApprovalID -> PriceOverrideApproval.PriceOverrideApprovalIDPriceOverrideApproval.SalesOrderLineID -> SalesOrderLine.SalesOrderLineIDServiceEngagement.SalesOrderLineID -> SalesOrderLine.SalesOrderLineIDServiceEngagementAssignment.ServiceEngagementID -> ServiceEngagement.ServiceEngagementIDServiceTimeEntry.ServiceEngagementAssignmentID -> ServiceEngagementAssignment.ServiceEngagementAssignmentIDShipmentLine.SalesOrderLineID -> SalesOrderLine.SalesOrderLineIDSalesInvoiceLine.ShipmentLineID -> ShipmentLine.ShipmentLineIDServiceBillingLine.SalesInvoiceLineID -> SalesInvoiceLine.SalesInvoiceLineIDSalesCommissionAccrual.SalesInvoiceLineID -> SalesInvoiceLine.SalesInvoiceLineIDSalesCommissionAccrual.SalesCommissionRateID -> SalesCommissionRate.SalesCommissionRateIDSalesCommissionAdjustment.SalesCommissionAccrualID -> SalesCommissionAccrual.SalesCommissionAccrualIDSalesCommissionAdjustment.CreditMemoLineID -> CreditMemoLine.CreditMemoLineIDSalesCommissionPaymentLine.SalesCommissionPaymentID -> SalesCommissionPayment.SalesCommissionPaymentIDCashReceiptApplication.SalesInvoiceID -> SalesInvoice.SalesInvoiceIDSalesReturnLine.ShipmentLineID -> ShipmentLine.ShipmentLineIDCreditMemo.OriginalSalesInvoiceID -> SalesInvoice.SalesInvoiceIDCustomerRefund.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
(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 role | One row represents | Selected fields |
|---|---|---|
SupplierPrimary home | One supplier | SupplierID (PK), SupplierName, PaymentTerms, SupplierCategory |
PurchaseRequisitionPrimary home | One internal item requisition | RequisitionID (PK), RequisitionNumber, RequestDate, ItemID (FK) |
PurchaseOrderPrimary home | One supplier purchase-order header | PurchaseOrderID (PK), SupplierID (FK), PONumber, OrderDate |
PurchaseOrderLinePrimary home | One ordered purchasing line | POLineID (PK), RequisitionID (FK), PurchaseOrderID (FK), ItemID (FK) |
GoodsReceiptPrimary home | One supplier goods-receipt header | GoodsReceiptID (PK), PurchaseOrderID (FK), ReceiptNumber, ReceiptDate |
GoodsReceiptLinePrimary home | One received purchasing-line quantity | GoodsReceiptLineID (PK), GoodsReceiptID (FK), POLineID (FK), ItemID (FK) |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | PurchaseOrder.SupplierIDto Supplier.SupplierID | Required for the documented path foreign key. |
| r2 | PurchaseOrderLine.RequisitionIDto PurchaseRequisition.RequisitionID | Required for the documented path foreign key. |
| r3 | PurchaseOrderLine.PurchaseOrderIDto PurchaseOrder.PurchaseOrderID | Required for the documented path foreign key. |
| r4 | GoodsReceipt.PurchaseOrderIDto PurchaseOrder.PurchaseOrderID | Required for the documented path foreign key. |
| r5 | GoodsReceiptLine.GoodsReceiptIDto GoodsReceipt.GoodsReceiptID | Required for the documented path foreign key. |
| r6 | GoodsReceiptLine.POLineIDto 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.
Process context · Practice with the records · Related case · Posting reference
Supplier invoices and separate settlement
Does the supplier line match received goods or an accrued-service estimate?
View the focused map and its evidence
(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 role | One row represents | Selected fields |
|---|---|---|
PurchaseInvoicePrimary home | One supplier invoice header | PurchaseInvoiceID (PK), InvoiceNumber, SupplierID (FK), PurchaseOrderID (FK) |
PurchaseInvoiceLinePrimary home | One goods or accrued-service supplier invoice line | PILineID (PK), PurchaseInvoiceID (FK), POLineID (FK), GoodsReceiptLineID (FK), AccrualJournalEntryID (FK) |
DisbursementPaymentPrimary home | One supplier invoice payment | DisbursementID (PK), PurchaseInvoiceID (FK), SupplierID (FK), PaymentDate |
GoodsReceiptLineShared reference | One received purchasing-line quantity | GoodsReceiptLineID (PK), GoodsReceiptID (FK), POLineID (FK), ItemID (FK) |
JournalEntryShared reference | One finance-controlled journal header | JournalEntryID (PK), EntryType, PostingDate, ReversesJournalEntryID (FK) |
PurchaseOrderLineShared reference | One ordered purchasing line | POLineID (PK), PurchaseOrderID (FK), RequisitionID (FK), ItemID (FK) |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | PurchaseInvoiceLine.PurchaseInvoiceIDto PurchaseInvoice.PurchaseInvoiceID | Required for the documented path foreign key. |
| r2 | PurchaseInvoiceLine.POLineIDto PurchaseOrderLine.POLineID | Optional foreign key. |
| r3 | PurchaseInvoiceLine.GoodsReceiptLineIDto GoodsReceiptLine.GoodsReceiptLineID | Optional foreign key. |
| r4 | PurchaseInvoiceLine.AccrualJournalEntryIDto JournalEntry.JournalEntryID | Optional foreign key. |
| r5 | DisbursementPayment.PurchaseInvoiceIDto 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.
Process context · Practice with the records · Related case · Posting reference
| Table | Use it for | Highest-value keys or fields |
|---|---|---|
Supplier | Supplier master and payment context | SupplierID, SupplierName, PaymentTerms, SupplierCategory, SupplierRiskRating |
PurchaseRequisition | Internal purchase demand | RequisitionID, RequisitionNumber, RequestDate, ItemID, CostCenterID, SupplyPlanRecommendationID, Status |
PurchaseOrder | PO header | PurchaseOrderID, PONumber, SupplierID, OrderDate, ExpectedDeliveryDate, Status |
PurchaseOrderLine | Ordered line | POLineID, PurchaseOrderID, RequisitionID, ItemID, Quantity, UnitCost |
GoodsReceipt | Receipt header | GoodsReceiptID, ReceiptNumber, PurchaseOrderID, ReceiptDate, WarehouseID |
GoodsReceiptLine | Received line | GoodsReceiptLineID, GoodsReceiptID, POLineID, ItemID, QuantityReceived, ExtendedStandardCost |
PurchaseInvoice | Supplier invoice header | PurchaseInvoiceID, InvoiceNumber, SupplierID, PurchaseOrderID, InvoiceDate, Status |
PurchaseInvoiceLine | Supplier invoice line | PILineID, PurchaseInvoiceID, POLineID, GoodsReceiptLineID, AccrualJournalEntryID, ItemID |
DisbursementPayment | Supplier payment | DisbursementID, PurchaseInvoiceID, SupplierID, PaymentDate, Amount |
Join and Traceability Cues
PurchaseOrderLine.RequisitionID -> PurchaseRequisition.RequisitionIDGoodsReceipt.PurchaseOrderID -> PurchaseOrder.PurchaseOrderIDGoodsReceiptLine.POLineID -> PurchaseOrderLine.POLineIDPurchaseInvoiceLine.GoodsReceiptLineID -> GoodsReceiptLine.GoodsReceiptLineIDPurchaseInvoiceLine.AccrualJournalEntryID -> JournalEntry.JournalEntryIDDisbursementPayment.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
(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 role | One row represents | Selected fields |
|---|---|---|
BillOfMaterialPrimary home | One versioned manufactured-item recipe | BOMID (PK), ParentItemID (FK), VersionNumber, Status |
BillOfMaterialLinePrimary home | One component within a BOM | BOMLineID (PK), BOMID (FK), ComponentItemID (FK), QuantityPerUnit |
RoutingPrimary home | One versioned manufactured-item routing | RoutingID (PK), ParentItemID (FK), VersionNumber, Status |
RoutingOperationPrimary home | One operation within a routing | RoutingOperationID (PK), RoutingID (FK), WorkCenterID (FK), OperationSequence, OperationCode |
WorkCenterPrimary home | One production work center | WorkCenterID (PK), WorkCenterCode, Department, WarehouseID (FK) |
WorkCenterCalendarPrimary home | One work center on one calendar date | WorkCenterCalendarID (PK), WorkCenterID (FK), CalendarDate, IsWorkingDay |
ItemShared reference | One item in the product or service master | ItemID (PK), ItemCode, ItemGroup, CollectionName |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | BillOfMaterial.ParentItemIDto Item.ItemID | Required for the documented path foreign key. |
| r2 | BillOfMaterialLine.BOMIDto BillOfMaterial.BOMID | Required for the documented path foreign key. |
| r3 | Routing.ParentItemIDto Item.ItemID | Required for the documented path foreign key. |
| r4 | RoutingOperation.RoutingIDto Routing.RoutingID | Required for the documented path foreign key. |
| r5 | RoutingOperation.WorkCenterIDto WorkCenter.WorkCenterID | Required for the documented path foreign key. |
| r6 | WorkCenterCalendar.WorkCenterIDto 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.
Process context · Practice with the records · Related case · Posting reference
Work orders and daily operation schedules
Which two fields match a scheduled operation to available daily capacity?
View the focused map and its evidence
(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 role | One row represents | Selected fields |
|---|---|---|
WorkOrderPrimary home | One manufacturing work-order header | WorkOrderID (PK), SupplyPlanRecommendationID (FK), WorkOrderNumber, ItemID (FK), BOMID (FK) |
WorkOrderOperationPrimary home | One operation within a work order | WorkOrderOperationID (PK), WorkOrderID (FK), RoutingOperationID (FK), OperationSequence |
WorkOrderOperationSchedulePrimary home | One scheduled operation on a work-center date | WorkOrderOperationScheduleID (PK), WorkOrderOperationID (FK), WorkCenterID (FK), ScheduleDate |
SupplyPlanRecommendationShared reference | One item/location supply recommendation in a planning bucket | SupplyPlanRecommendationID (PK), ItemID (FK), WarehouseID (FK), BucketWeekStartDate, DriverType |
WorkCenterCalendarShared reference | One work center on one calendar date | WorkCenterCalendarID (PK), WorkCenterID (FK), CalendarDate, IsWorkingDay |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | WorkOrder.SupplyPlanRecommendationIDto SupplyPlanRecommendation.SupplyPlanRecommendationID | Optional foreign key. |
| r2 | WorkOrderOperation.WorkOrderIDto WorkOrder.WorkOrderID | Required for the documented path foreign key. |
| r3 | WorkOrderOperationSchedule.WorkOrderOperationIDto WorkOrderOperation.WorkOrderOperationID | Required for the documented path foreign key. |
| r4 | WorkOrderOperationSchedule.WorkCenterID, ScheduleDateto 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.
Process context · Practice with the records · Related case · Posting reference
Material, completion, and accounting close
Which independent branches must be summarized before a work-order comparison?
View the focused map and its evidence
(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 role | One row represents | Selected fields |
|---|---|---|
MaterialIssuePrimary home | One work-order material-issue header | MaterialIssueID (PK), WorkOrderID (FK), IssueDate, WarehouseID (FK) |
MaterialIssueLinePrimary home | One issued component line | MaterialIssueLineID (PK), MaterialIssueID (FK), BOMLineID (FK), ItemID (FK) |
ProductionCompletionPrimary home | One work-order completion event | ProductionCompletionID (PK), WorkOrderID (FK), CompletionDate, WarehouseID (FK) |
ProductionCompletionLinePrimary home | One completed-product cost line | ProductionCompletionLineID (PK), ProductionCompletionID (FK), ItemID (FK), QuantityCompleted |
WorkOrderClosePrimary home | One work-order accounting-close record | WorkOrderCloseID (PK), WorkOrderID (FK), CloseDate, TotalVarianceAmount |
WorkOrderShared reference | One manufacturing work-order header | WorkOrderID (PK), WorkOrderNumber, ItemID (FK), BOMID (FK) |
LaborTimeEntryShared reference | One labor allocation supporting an operation and pay period | LaborTimeEntryID (PK), WorkOrderID (FK), PayrollPeriodID (FK), TimeClockEntryID (FK) |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | MaterialIssue.WorkOrderIDto WorkOrder.WorkOrderID | Required for the documented path foreign key. |
| r2 | MaterialIssueLine.MaterialIssueIDto MaterialIssue.MaterialIssueID | Required for the documented path foreign key. |
| r3 | ProductionCompletion.WorkOrderIDto WorkOrder.WorkOrderID | Required for the documented path foreign key. |
| r4 | ProductionCompletionLine.ProductionCompletionIDto ProductionCompletion.ProductionCompletionID | Required for the documented path foreign key. |
| r5 | WorkOrderClose.WorkOrderIDto WorkOrder.WorkOrderID | Required for the documented path foreign key. |
| r6 | LaborTimeEntry.WorkOrderIDto 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.
Process context · Practice with the records · Related case · Posting reference
| Table | Use it for | Highest-value keys or fields |
|---|---|---|
BillOfMaterial | BOM header | BOMID, ParentItemID, VersionNumber, Status, StandardBatchQuantity |
BillOfMaterialLine | BOM component detail | BOMLineID, BOMID, ComponentItemID, QuantityPerUnit, ScrapFactorPct |
WorkCenter | Work-center master | WorkCenterID, WorkCenterCode, Department, WarehouseID, NominalDailyCapacityHours |
WorkCenterCalendar | Daily available-hours calendar | WorkCenterCalendarID, WorkCenterID, CalendarDate, IsWorkingDay, AvailableHours |
Routing | Routing header | RoutingID, ParentItemID, VersionNumber, Status |
RoutingOperation | Ordered routing step | RoutingOperationID, RoutingID, OperationSequence, OperationCode, WorkCenterID |
WorkOrder | Work-order header | WorkOrderID, WorkOrderNumber, ItemID, BOMID, RoutingID, SupplyPlanRecommendationID, Status |
WorkOrderOperation | Operation-level work-order activity | WorkOrderOperationID, WorkOrderID, RoutingOperationID, OperationSequence, WorkCenterID, Status |
WorkOrderOperationSchedule | Daily scheduled hours | WorkOrderOperationScheduleID, WorkOrderOperationID, WorkCenterID, ScheduleDate, ScheduledHours |
MaterialIssue | Material issue header | MaterialIssueID, WorkOrderID, IssueDate, WarehouseID |
MaterialIssueLine | Material issue line | MaterialIssueLineID, MaterialIssueID, BOMLineID, ItemID, QuantityIssued |
ProductionCompletion | Completion header | ProductionCompletionID, WorkOrderID, CompletionDate, WarehouseID |
ProductionCompletionLine | Completion cost detail | ProductionCompletionLineID, ProductionCompletionID, ItemID, QuantityCompleted, ExtendedStandardTotalCost |
WorkOrderClose | Work-order close and variance record | WorkOrderCloseID, WorkOrderID, CloseDate, TotalVarianceAmount, Status |
Join and Traceability Cues
WorkOrder.BOMID -> BillOfMaterial.BOMIDWorkOrder.RoutingID -> Routing.RoutingIDWorkOrderOperation.RoutingOperationID -> RoutingOperation.RoutingOperationIDWorkOrderOperationSchedule.WorkOrderOperationID -> WorkOrderOperation.WorkOrderOperationIDMaterialIssue.WorkOrderID -> WorkOrder.WorkOrderIDMaterialIssueLine.BOMLineID -> BillOfMaterialLine.BOMLineIDProductionCompletion.WorkOrderID -> WorkOrder.WorkOrderIDWorkOrderClose.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
(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 role | One row represents | Selected fields |
|---|---|---|
ShiftDefinitionPrimary home | One shift template | ShiftDefinitionID (PK), ShiftCode, Department, WorkCenterID (FK) |
EmployeeShiftAssignmentPrimary home | One employee shift assignment over effective dates | EmployeeShiftAssignmentID (PK), ShiftDefinitionID (FK), EmployeeID (FK), WorkCenterID (FK) |
EmployeeShiftRosterPrimary home | One employee planned shift on a roster date | EmployeeShiftRosterID (PK), ShiftDefinitionID (FK), EmployeeID (FK), RosterDate |
EmployeeAbsencePrimary home | One absence record against a roster | EmployeeAbsenceID (PK), EmployeeShiftRosterID (FK), AbsenceDate, AbsenceType |
OvertimeApprovalPrimary home | One recorded overtime approval | OvertimeApprovalID (PK), EmployeeShiftRosterID (FK), WorkDate, ApprovedHours |
TimeClockPunchPrimary home | One raw clock-punch event | TimeClockPunchID (PK), TimeClockEntryID (FK), EmployeeShiftRosterID (FK), PunchTimestamp |
TimeClockEntryPrimary home | One approved-time record for an employee work date | TimeClockEntryID (PK), EmployeeShiftRosterID (FK), EmployeeID (FK), PayrollPeriodID (FK) |
AttendanceExceptionPrimary home | One logged attendance-review exception | AttendanceExceptionID (PK), TimeClockEntryID (FK), EmployeeShiftRosterID (FK), ExceptionType |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | EmployeeShiftAssignment.ShiftDefinitionIDto ShiftDefinition.ShiftDefinitionID | Required for the documented path foreign key. |
| r2 | EmployeeShiftRoster.ShiftDefinitionIDto ShiftDefinition.ShiftDefinitionID | Required for the documented path foreign key. |
| r3 | EmployeeAbsence.EmployeeShiftRosterIDto EmployeeShiftRoster.EmployeeShiftRosterID | Required for the documented path foreign key. |
| r4 | OvertimeApproval.EmployeeShiftRosterIDto EmployeeShiftRoster.EmployeeShiftRosterID | Required for the documented path foreign key. |
| r5 | TimeClockEntry.EmployeeShiftRosterIDto EmployeeShiftRoster.EmployeeShiftRosterID | Required for the documented path foreign key. |
| r6 | TimeClockPunch.TimeClockEntryIDto TimeClockEntry.TimeClockEntryID | Required for the documented path foreign key. |
| r7 | AttendanceException.TimeClockEntryIDto 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.
Process context · Practice with the records · Related case · Posting reference
Payroll support, employee pay, and remittances
Which obligation is employee-specific, and which is period-level?
View the focused map and its evidence
(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 role | One row represents | Selected fields |
|---|---|---|
PayrollPeriodPrimary home | One payroll calendar period | PayrollPeriodID (PK), PeriodNumber, PeriodStartDate, PeriodEndDate |
LaborTimeEntryPrimary home | One labor allocation supporting an operation and pay period | LaborTimeEntryID (PK), TimeClockEntryID (FK), PayrollPeriodID (FK), WorkOrderID (FK) |
PayrollRegisterPrimary home | One employee payroll register in a pay period | PayrollRegisterID (PK), PayrollPeriodID (FK), EmployeeID (FK), CostCenterID (FK), NetPay |
PayrollRegisterLinePrimary home | One earning, deduction, tax, or benefit line | PayrollRegisterLineID (PK), LaborTimeEntryID (FK), PayrollRegisterID (FK), LineType, Hours |
PayrollPaymentPrimary home | One employee net-pay payment | PayrollPaymentID (PK), PayrollRegisterID (FK), PaymentDate, PaymentMethod |
PayrollLiabilityRemittancePrimary home | One period-level liability remittance | PayrollLiabilityRemittanceID (PK), PayrollPeriodID (FK), RemittanceDate, Amount |
TimeClockEntryShared reference | One approved-time record for an employee work date | TimeClockEntryID (PK), EmployeeID (FK), PayrollPeriodID (FK), EmployeeShiftRosterID (FK) |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | LaborTimeEntry.TimeClockEntryIDto TimeClockEntry.TimeClockEntryID | Required for the documented path foreign key. |
| r2 | PayrollRegisterLine.LaborTimeEntryIDto LaborTimeEntry.LaborTimeEntryID | Optional foreign key. |
| r3 | PayrollRegisterLine.PayrollRegisterIDto PayrollRegister.PayrollRegisterID | Required for the documented path foreign key. |
| r4 | PayrollRegister.PayrollPeriodIDto PayrollPeriod.PayrollPeriodID | Required for the documented path foreign key. |
| r5 | PayrollPayment.PayrollRegisterIDto PayrollRegister.PayrollRegisterID | Required for the documented path foreign key. |
| r6 | PayrollLiabilityRemittance.PayrollPeriodIDto 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.
Process context · Practice with the records · Related case · Posting reference
| Table | Use it for | Highest-value keys or fields |
|---|---|---|
ShiftDefinition | Shift template | ShiftDefinitionID, ShiftCode, Department, WorkCenterID, StartTime, EndTime |
EmployeeShiftAssignment | Employee-to-shift assignment | EmployeeShiftAssignmentID, EmployeeID, ShiftDefinitionID, WorkCenterID, IsPrimary |
EmployeeShiftRoster | Daily planned roster row | EmployeeShiftRosterID, EmployeeID, RosterDate, ShiftDefinitionID, WorkCenterID, ScheduledHours |
EmployeeAbsence | Absence support | EmployeeAbsenceID, EmployeeShiftRosterID, AbsenceDate, AbsenceType, HoursAbsent |
OvertimeApproval | Approved overtime support | OvertimeApprovalID, EmployeeShiftRosterID, WorkDate, ApprovedHours, ReasonCode |
TimeClockEntry | Approved daily time | TimeClockEntryID, EmployeeID, PayrollPeriodID, EmployeeShiftRosterID, RegularHours, OvertimeHours, ClockStatus |
TimeClockPunch | Raw punch events | TimeClockPunchID, EmployeeShiftRosterID, TimeClockEntryID, PunchTimestamp, PunchType |
AttendanceException | Attendance-control exception | AttendanceExceptionID, EmployeeShiftRosterID, TimeClockEntryID, ExceptionType, Severity, Status |
PayrollPeriod | Payroll calendar | PayrollPeriodID, PeriodNumber, PeriodStartDate, PeriodEndDate, PayDate, FiscalPeriod |
LaborTimeEntry | Labor detail used for costing and payroll support | LaborTimeEntryID, PayrollPeriodID, TimeClockEntryID, WorkOrderID, WorkOrderOperationID, LaborType |
PayrollRegister | Payroll header | PayrollRegisterID, PayrollPeriodID, EmployeeID, CostCenterID, GrossPay, NetPay, Status |
PayrollRegisterLine | Payroll line detail | PayrollRegisterLineID, PayrollRegisterID, LineType, Hours, Rate, LaborTimeEntryID |
PayrollPayment | Net-pay settlement | PayrollPaymentID, PayrollRegisterID, PaymentDate, PaymentMethod, ReferenceNumber |
PayrollLiabilityRemittance | Liability clearance | PayrollLiabilityRemittanceID, PayrollPeriodID, LiabilityType, RemittanceDate, Amount |
Join and Traceability Cues
EmployeeShiftAssignment.ShiftDefinitionID -> ShiftDefinition.ShiftDefinitionIDEmployeeShiftRoster.ShiftDefinitionID -> ShiftDefinition.ShiftDefinitionIDEmployeeAbsence.EmployeeShiftRosterID -> EmployeeShiftRoster.EmployeeShiftRosterIDOvertimeApproval.EmployeeShiftRosterID -> EmployeeShiftRoster.EmployeeShiftRosterIDTimeClockEntry.EmployeeShiftRosterID -> EmployeeShiftRoster.EmployeeShiftRosterIDTimeClockEntry.OvertimeApprovalID -> OvertimeApproval.OvertimeApprovalIDTimeClockPunch.TimeClockEntryID -> TimeClockEntry.TimeClockEntryIDAttendanceException.TimeClockEntryID -> TimeClockEntry.TimeClockEntryIDLaborTimeEntry.TimeClockEntryID -> TimeClockEntry.TimeClockEntryIDPayrollRegister.PayrollPeriodID -> PayrollPeriod.PayrollPeriodIDPayrollRegisterLine.LaborTimeEntryID -> LaborTimeEntry.LaborTimeEntryIDPayrollPayment.PayrollRegisterID -> PayrollRegister.PayrollRegisterIDPayrollLiabilityRemittance.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.
| Table | Use it for | Highest-value keys or fields |
|---|---|---|
Item | Product master and account mapping | ItemID, ItemCode, ItemGroup, CollectionName, LifecycleStatus, SupplyMode, InventoryAccountID, RevenueAccountID, COGSAccountID |
Warehouse | Warehouse master | WarehouseID, WarehouseName, ManagerID |
Employee | Employee master and approvals | EmployeeID, EmployeeNumber, JobTitle, JobFamily, AuthorizationLevel, PayClass, OvertimeEligible |
Join and Traceability Cues
ItemIDis the main product bridge across O2C, P2P, manufacturing, and planningWarehouseIDconnects fulfillment, receipt, manufacturing, and planning location contextEmployeeIDappears 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
(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 role | One row represents | Selected fields |
|---|---|---|
CostCenterPrimary home | One organizational reporting cost center | CostCenterID (PK), CostCenterName, ParentCostCenterID (FK), ManagerID (FK) |
BudgetPrimary home | One monthly cost-center/account budget summary | BudgetID (PK), CostCenterID (FK), AccountID (FK), FiscalYear, Month |
BudgetLinePrimary home | One monthly budget driver or statement-planning detail | BudgetLineID (PK), CostCenterID (FK), AccountID (FK), FiscalYear, Month |
AccountShared reference | One chart-of-accounts account | AccountID (PK), AccountNumber, AccountType |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | Budget.CostCenterIDto CostCenter.CostCenterID | Required for the documented path foreign key. |
| r2 | Budget.AccountIDto Account.AccountID | Required for the documented path foreign key. |
| r3 | BudgetLine.CostCenterIDto CostCenter.CostCenterID | Optional foreign key. |
| r4 | BudgetLine.AccountIDto 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.
Process context · Practice with the records · Related case · Posting reference
| Table | Use it for | Highest-value keys or fields |
|---|---|---|
CostCenter | Organizational reporting structure | CostCenterID, CostCenterName, ParentCostCenterID, ManagerID, IsActive |
Budget | Student-facing monthly budget summary by cost center and account | BudgetID, FiscalYear, Month, CostCenterID, AccountID, BudgetAmount |
BudgetLine | Driver-based monthly budget detail for planning, bridges, and pro forma statements | BudgetLineID, FiscalYear, Month, AccountID, CostCenterID, ItemID, WarehouseID, Quantity, UnitAmount, BudgetAmount, BudgetCategory, DriverType |
Join and Traceability Cues
Budget.CostCenterID -> CostCenter.CostCenterIDBudget.AccountID -> Account.AccountIDBudgetLine.CostCenterID -> CostCenter.CostCenterIDBudgetLine.AccountID -> Account.AccountIDBudgetLine.ItemID -> Item.ItemIDBudgetLine.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
(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 role | One row represents | Selected fields |
|---|---|---|
DemandForecastPrimary home | One item/location forecast for a weekly bucket | DemandForecastID (PK), ItemID (FK), WarehouseID (FK), ForecastWeekStartDate |
InventoryPolicyPrimary home | One item/location replenishment policy | InventoryPolicyID (PK), ItemID (FK), WarehouseID (FK), IsActive |
SupplyPlanRecommendationPrimary home | One item/location supply recommendation in a planning bucket | SupplyPlanRecommendationID (PK), ItemID (FK), WarehouseID (FK), BucketWeekStartDate, DriverType |
MaterialRequirementPlanPrimary home | One component requirement for a supply recommendation | MaterialRequirementPlanID (PK), SupplyPlanRecommendationID (FK), BucketWeekStartDate, ParentItemID (FK), ComponentItemID (FK) |
RoughCutCapacityPlanPrimary home | One work-center capacity requirement for a supply recommendation | RoughCutCapacityPlanID (PK), SupplyPlanRecommendationID (FK), BucketWeekStartDate, WorkCenterID (FK) |
| Line | Foreign key or match | How to read it |
|---|---|---|
| r1 | MaterialRequirementPlan.SupplyPlanRecommendationIDto SupplyPlanRecommendation.SupplyPlanRecommendationID | Required for the documented path foreign key. |
| r2 | RoughCutCapacityPlan.SupplyPlanRecommendationIDto SupplyPlanRecommendation.SupplyPlanRecommendationID | Required for the documented path foreign key. |
| r3 | SupplyPlanRecommendation.ItemID, WarehouseIDto 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. |
| r4 | SupplyPlanRecommendation.ItemID, WarehouseIDto 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.
Process context · Practice with the records · Related case · Posting reference
| Table | Use it for | Highest-value keys or fields |
|---|---|---|
DemandForecast | Weekly demand-planning input | DemandForecastID, ForecastWeekStartDate, ItemID, WarehouseID, ForecastQuantity, ForecastMethod, IsCurrent |
InventoryPolicy | Active replenishment policy | InventoryPolicyID, ItemID, WarehouseID, PolicyType, SafetyStockQuantity, ReorderPointQuantity, TargetDaysSupply, IsActive |
SupplyPlanRecommendation | Weekly replenishment recommendation | SupplyPlanRecommendationID, RecommendationDate, BucketWeekStartDate, ItemID, WarehouseID, RecommendationType, SupplyMode, RecommendationStatus, ConvertedDocumentType, ConvertedDocumentID |
MaterialRequirementPlan | Component-demand explosion | MaterialRequirementPlanID, BucketWeekStartDate, ParentItemID, ComponentItemID, SupplyPlanRecommendationID, NetRequirementQuantity |
RoughCutCapacityPlan | Weekly load-versus-capacity tieout | RoughCutCapacityPlanID, BucketWeekStartDate, WorkCenterID, SupplyPlanRecommendationID, PlannedLoadHours, AvailableHours, UtilizationPct, CapacityStatus |
Join and Traceability Cues
DemandForecastandInventoryPolicyinform recommendations through sharedItemID,WarehouseID, planning buckets, and recommendationDriverType, without a direct stored forecast or policy ID onSupplyPlanRecommendationPurchaseRequisition.SupplyPlanRecommendationID -> SupplyPlanRecommendation.SupplyPlanRecommendationIDWorkOrder.SupplyPlanRecommendationID -> SupplyPlanRecommendation.SupplyPlanRecommendationIDMaterialRequirementPlan.SupplyPlanRecommendationID -> SupplyPlanRecommendation.SupplyPlanRecommendationIDRoughCutCapacityPlan.SupplyPlanRecommendationID -> SupplyPlanRecommendation.SupplyPlanRecommendationID
Important Schema Notes
CashReceipt.SalesInvoiceIDis compatibility metadata only. The authoritative O2C settlement link isCashReceiptApplication.- Service invoice lines stay in
SalesInvoiceLine, butShipmentLineIDremains null on those rows andServiceBillingLinebecomes the authoritative hours-to-invoice bridge. - O2C freight remains header-level.
SalesOrder.FreightTermssets the policy,Shipment.FreightCostandShipment.BillableFreightAmountcapture the fulfillment result,SalesInvoice.FreightAmountcarries billed freight, andCreditMemo.FreightCreditAmountshows any freight credit. - Price-list and promotion lineage live directly on
SalesOrderLine,SalesInvoiceLine, andCreditMemoLine. Postings remain net revenue. - Sales commissions are a separate O2C payable routine.
SalesCommissionAccrual.CommissionBaseAmountcomes fromSalesInvoiceLine.LineTotal. Commission payments settle2034Sales Commission Payable separately from payroll. PurchaseOrder.RequisitionIDis compatibility metadata when one PO batches multiple requisitions. UsePurchaseOrderLine.RequisitionIDas the authoritative trace.PurchaseInvoiceLine.GoodsReceiptLineIDis the main match key for receipt-based inventory invoicing.PurchaseInvoiceLine.AccrualJournalEntryIDlinks direct service invoices back to accrual journals.FixedAsset.BehaviorGroupcontrols whether depreciation feeds manufacturing cost or operating expense.FixedAssetEventpreserves the bridge from capital purchases and disposals back to the source purchasing and journal documents.GoodsReceiptLine.ExtendedStandardCoststores the receipt posting basis used for inventory and GRNI.EmployeeShiftRoster,EmployeeAbsence,TimeClockPunch, andOvertimeApprovalsit beneath the approvedTimeClockEntrylayer.- Design-service labor margin is analytical.
ServiceTimeEntry.ExtendedCostsupports 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
- Read Dataset Guide when you need the mental model, navigation paths, and posting overview.
- Read Process Flows when you want the business-cycle story behind the tables.
- Read GLEntry Posting Reference when you want the exact event-to-ledger rules.