Sales Region
The purpose of this discussion is to help you understand and use the Sales Region feature.
Regarding Sales Region's influence on Sales Rep
Step 1: Create and associate Sales Regions
- You create Sales Regions in the "Sales Regions" window.
- You tie Sales Regions to a Business Partner via the Business Partner => Location (see Sales Rep field).
Step 2: The Sales Order Callout sets the Sales Rep from the Business Partner => Sales Rep field
Step 3: missing - see "Missing Step" below
Step 4: MOrder.beforeSave sets the Sales Rep from the context's default Sales Rep if the Order.SalesRep field is currently null. It will not override values from previous steps.
Step 5: Use the existing Sales Rep reports (which rely on the Order or Invoice Sales Rep field).
"Missing Step"
If you would have asked me during a live discussion, I would have bet money that the CalloutOrder.java or MOrder.beforeSave would have set the Order's Sales Rep field based on the C_Order.C_BPartner_Location.C_SalesRegion.SalesRep_ID. I checked the code and I performed a test and confirmed that it does NOT.
To remedy this situation you can create an additional Callout or ModelEvent.
Regarding Sales Region in the Accounting Posting Engine
Please note that Fact_Acct (the accounting posting table) has a field named C_SalesRegion_ID. This field get populated by the posting engine by using the C_BPartner_Location => Sales Region relationship.
It is worth mentioning that some people people use Sales Region + GL Distribution to swap GL Accounts based on location by triggering off of the Sales Region. For example, you can change your Revenue account by location using this approach.