For this, we will be Automating the update of the Default Price, on the Stock Item, by the Markup % when the Current Cost changes. The Cost is updated by updating the Pending Cost.
We will be using the SalesDemo tenant data in Acumatica version 21.105.0023.
The Stock Item being used is AMCOTTON.
This is the setup: Set the Markup% to be 25.
There are 3 parts to accomplishing this. They are a Generic Inquiry, a Business Event, and an Import Scenario.
First, we create a Generic Inquiry (SM208000) that will return the InventoryCD, the Current Cost, and the Markup Pct.
The GI looks like this. It is important that the Screen ID be created.
The Conditions tab has the conditions to select the items that we would like to update. Only if the markup & cost are not zero for Standard Cost, Active Items.
The Results tab has these fields:
Then we go to the Business Event form (SM30250)
We create the Event ID, select Triggered by Record Change.
For the Screen name, we enter the Name from the GI. This will set the Screen ID.
For the TRIGGER CONDITIONS tab, we select Field Changed & select the Current Cost field from the GI
The Summary & Trigger Conditions tab will look like this:
For the SUBSCRIBERS tab, we will be creating an Import Scenario.
Drop down the CREATE SUBSCRIBER & select Import Scenario.
When the dialog box opens, given enter the name of the scenario to create and click OK.
When the Import Scenarios screen opens up, for the Screen Name we Search for & select the Stock Items. This needs to be the Stock Item Profiles (IN20.25.00)
For the Provider Object, we select Results and provide the Mapping & Calculations we need.
Note the formula for the Default Price is the Current Cost * (1+ (markup% divided by 100))
Changing the Cost from $9.00 to $12.00 will keep the same 25% markup without having to adjust the Default Price manually. The Default Price goes from $11.25 to $15.00
Before the Cost Change:
After the Cost change with the Business Event Active:
We can also check the Business event history to see that the Business Event did run with no errors.