Posting stock transactions with Enable Job Costing & Time Billing
If you have set the Enable Job Costing and Time Billing in the Job preferences and you have entered a job code into the job column of a transaction detail line involving a stocked item, it is assumed that the item is being purchased for direct use in the job and is not going into stock. If the item is being sold, it is assumed that its use has already been accounted for in the job sheet file (where a stock requisition journal was created).
Therefore when the transaction is posted it is not put into stock. Thus:
- The product file is not updated in any way.
- If the item is being purchased, the Expense Account when buying general ledger account is debited. This expenses (along with other job expenses) can be transferred to a current asset by use of the Work-In-Progress Journal command.
- If the item is being sold, the Income Account when Selling general ledger account is credited.
Note: There is one exception to this. When a purchase order is made out to a job and the goods are received before the invoice, they will be placed into stock and need to be manually requisitioned —see The goods are received before the invoice. A warning is displayed in the Process Order screen in this situation.
If you post a transaction involving inventoried items and if there is insufficient stock on hand to fulfil the transaction’s stock requirements, the stock on hand for the item will become negative, and the following will apply:
- The value of the negative stock will be based on the current average value (or the buy price, if the stock level started at zero).
- When the stock is replaced, the transaction that replenishes the stock will also automatically adjust the cost (and stock valuation) for the out of stock items if the replacement price is different from the value used when they went out of stock.
The result is that when you once again hold non-negative values of the item, the correct accounting entries have been made by MoneyWorks.
Note: You can control who can put inventory into negative stock with a script.