We’re trying to make it easier for purchasing of parts not used in manufacturing, which need to be expensed upon receipt.
Normally this is done by buyers entering the GL account to expense on the PO release. But this leaves lots of room for errors in selecting the wrong account.
So a solutions would be to create Part Classes with GL controls for the desired expense accounts.
But my concern is someone using one of these Part Classes on an inventoried part in Part Maint. Doing so would bypass the Inventory account, and capture that parts inventory in the expense account. The solution to this would be a BPM to prevent these Part Classes from being assigned to an inventoried part. Technically, we wouldn’t want them for Buy to Job or BTOrder parts that have a Part entry (as a template).
So I was thinking of adding a UD field to PartClass, to indicate it is not for manufacturing. Then filter the PartEntry form so to exclude those. I already filter the PartClass on Part Maint form to exclude based on a UD field “AllUsage_c”. This is the only way to make Part classes “inactive”.
Are these expense part classes the only ones available for requisition as well? If you use requisition or you could use that flag. Similar to what you have already done. If the PO line is flagged for inventory I thought the COS/WIP control took over unless over written on the PO release itself. I know the job material line type this control takes over. I thought it only uses the part class assignment if the Other line type is selected. Maybe I am just lucky. When using it as a part class assignment in part maintenance, I completely understand.
Part Class will override the Company setting for Inventory COS
Edit
We have a Part Class called BTO (for Buy To Order parts), so that they don’t hit Inventory. This is because Accounting is always trying to tie out the Inventory Acct with the Stock Status Report.
A BPM automatically sets the Part Class to “BTO Part” on the PO, when it is linked to an Order.
When the PO is received, the BTO “inventory” account is debited instead of our actual inventory.
When the BTO item ships, the BTO acct is credited, instead of inventory.
For our parts not used in manufacturing which need to be expensed upon receipt, we uncheck “Quantity Bearing” (Part.QtyBearing = False).
When the receipt is done, these are expensed as opposed to being put into our inventory.
Hello Calvin, your approach would definitely work and you could consider using on of the extra attribute fields instead of a new UDF.
What we’ve done in the past is create generic part numbers like “Office Supplies”, etc. You could also create these generics with a prefix value that your BPM could use to filter the Part Class.