Skip to main content

I am getting the below error when trying to post an AP invoice. This is not a new item or new purchase type. It has been done numerous times in the past so not sure what is causing the issue now and how to fix. I am not seeing anything on the Posting class that looks “off”. Any thoughts on how to fix?

 

 

 

@kandybeatty49

Currently Allocation Mode is Purchase Price variance. BUT you just led me to one of my open audit items. I was unaware that we could capitalize the PPV costs to inventory account. Question on this, will it treat it similarly to a Landed Cost adjustment and recapitalize the asset on the balance sheet? Not terrible applicable to the question at hand but useful information to have.  

 

 

 

Here is what the help says: Notice the first line, so it appears that it would create a transaction. 

If Inventory Account is selected as the mode of PPV allocation, on release of a bill, an inventory adjustment for the PPV amounts is generated automatically. You can view the reference number of the adjustment in the PPV Ref. Nbr. column on the Document Details tab of the Bills and Adjustments (AP301000) form.

Consider a few scenarios that may occur with a received stock item (with no lot or serial numbers) when the bill is released:

  If multiple bills are created for partial quantities of items from a receipt and certain quantities of the items (from that receipt) have been issued from the warehouse, the PPV amounts on each adjustment generated for a partial bill are allocated between the inventory accounts and the expense accounts in the same proportion in which the original quantities from the receipt are distributed between the quantities issued and the quantities still in stock.
  • If no units of the item have been issued from a warehouse since the item was received, this adjustment debits the inventory account of the item for the positive variance amount and credits the PO Accrual account (or credits the inventory account for the negative amount and debits the PO Accrual account for the same amount). See Purchase Price Variance Allocation: Example 1.
  • If all the units of the item have been issued from a warehouse before the bill has been created and an adjustment has been generated, this adjustment debits the variance amount to the expense account associated with the reason code.
  • If some (but not all) of the units of the item have been issued from the warehouse, the adjustment distributes the variance amount proportionally between the quantity of units issued and the quantity of units still in the warehouse, and allocates the respective amounts to the expense account (associated with the reason code) and to the inventory account. For details, see Purchase Price Variance Allocation: Example 2.
 

If a PPV adjustment would result in negative balance of the inventory account, the adjustment amount is posted to the expense account.

If you need to reverse the bill linked to the receipt, you can do this only if the adjustment has been released. On reversal of the bill, no new adjustment is created to revert the original adjustment—the original adjustment remains in the system. If you then create a second bill for the same purchase receipt, the system generates a new adjustment that adjusts the first (original) adjustment.


@kandybeatty49

Currently Allocation Mode is Purchase Price variance. BUT you just led me to one of my open audit items. I was unaware that we could capitalize the PPV costs to inventory account. Question on this, will it treat it similarly to a Landed Cost adjustment and recapitalize the asset on the balance sheet? Not terrible applicable to the question at hand but useful information to have.  

 

 

 


@kandybeatty49

 

Stock Item

What is the Purchase Price Variance Allocation Setting on the Purchase Order Preferences?

 

Allocation Mode The mode of allocating the purchase price variance amounts. You can select one of the following options:
  • Inventory Account: For stock items, the system will record the variance amounts to the inventory accounts, thus updating the costs. For non-stock items, with this option selected, the system records the variance amounts to the expense account.
  • Purchase Price Variance Account: For stock and non-stock items, the system will record any variance amounts to the purchase variance accounts.

 

This may help also:

https://help-2022r2.acumatica.com/(W(26))/Help?ScreenId=ShowWiki&pageid=f386321e-8a5a-4901-b95a-c02f37d929ce


@kandybeatty49 

 

Stock Item


HI @byates 

Is this item a Stock or Non-Stock Item?


Hmmm, I feel like I missed something interesting here.  😏

 

@byates … I’m running out of ideas…

Is it possible any of the subaccount segments has been inactivated in Segmented Values screen?

Has subaccount configuration been changed in Segmented Keys?

 


@byates LOL I unmarked it 😀


@Chris Hackett - You Sir get Best Answer!

 

Edit…...hindsight I probably should have just liked…….


Update - Jan Lowe began spamming. I am removing their posts and replies to them.


@Laura02 Yes, it is active. 

 


“III” means get this segment of the subaccount from the Inventory item. You have shown us, 000-1020-000 is the subaccount on the item.

Is 000-1020-000 a valid subaccount that is set up and Active status in Finance → Subaccounts screen?


@Laura02

Thanks Laura, while I agree and that was the first place that I had checked. Below is the posting class general for this item. I honestly do not know what the III means. I just know that we have processed many AP invoices for this same item in the past without issue. So something has changed for sure. 

 

 


Hello, Your Inventory Posting Class will tell you the subaccount, or where the posting class is getting the subaccount.  In one of the places where Posting Class is obtaining segments, the subaccount is blank or not valid.


I just added, and still getting the error. I have had the PPV account error in the past and the error message was more pointed and told me exactly what was needed. This appears to be something else. 

 


HI @byates 

It appears you need an account in the Purchase Price Variance Account and Subaccount. 


@kandybeatty49

 


Hi @kandybeatty49!! Let me know if the below does not work for you. Thanks!

 

3/6/2023 7:37:25 PM Error:
AP Error: PPV Subaccount mask cannot be assembled correctly. Please, check settings for the Inventory Posting Class

PX.Data.PXException: AP Error: PPV Subaccount mask cannot be assembled correctly. Please, check settings for the Inventory Posting Class
   at PX.Objects.AP.APReleaseProcess.RetrievePPVAccount(PXGraph aOpGraph, POReceiptLineR1 aLine, Nullable`1& aPPVAcctID, Nullable`1& aPPVSubID)
   at PX.Objects.PO.GraphExtensions.APReleaseProcessExt.UpdatePOOnRelease.ApplyPPVAmount(Nullable`1 ppvAmt, JournalEntry je, GLTran patternTran, APTran tran, POReceiptLineR1 rctLine, CurrencyInfo curyInfo)
   at PX.Objects.PO.GraphExtensions.APReleaseProcessExt.UpdatePOOnRelease.ApplyPurchasePriceVariance(Boolean isPrebooking, JournalEntry je, GLTran patternTran, CurrencyInfo curyInfo, APInvoice apdoc, APTran tran)
   at PX.Objects.PO.GraphExtensions.APReleaseProcessExt.UpdatePOOnRelease.InvoiceTransactionReleasing(InvoiceTransactionReleasingArgs args)
   at PX.Objects.AP.APReleaseProcess.ReleaseInvoice(JournalEntry je, APRegister& doc, PXResult`4 res, Boolean isPrebooking, List`1& inDocs)
   at Wrapper.PX.Objects.AP.Cst_APReleaseProcess.{86}lambda_method(Closure , JournalEntry , APRegister& , PXResult`4 , Boolean , List`1& )
   at Wrapper.PX.Objects.AP.Cst_APReleaseProcess.{85}lambda_method(Closure , JournalEntry , APRegister& , PXResult`4 , Boolean , List`1& )
   at PX.Objects.PO.GraphExtensions.APReleaseProcessExt.TaxExpenseAllocationExt.ReleaseInvoice(JournalEntry je, APRegister& doc, PXResult`4 res, Boolean isPrebooking, List`1& inDocs, releaseInvoiceDelegate baseMethod)
   at Wrapper.PX.Objects.AP.Cst_APReleaseProcess.ReleaseInvoiceGeneratedWrapper(APReleaseProcess g, JournalEntry , APRegister& , PXResult`4 , Boolean , List`1& )
   at PX.Objects.AP.APReleaseProcess.ReleaseDocProc(JournalEntry je, APRegister doc, Boolean isPrebooking, List`1& inDocs)
   at PX.Objects.AP.APDocumentRelease.ReleaseDoc(List`1 list, Boolean isMassProcess, Boolean isPrebooking, List`1 externalPostList)
   at PX.Objects.AP.APDocumentRelease.ReleaseDoc(List`1 list, Boolean isMassProcess, Boolean isPrebooking, List`1 externalPostList)
   at PX.Objects.AP.APInvoiceEntry.<>c__DisplayClass36_0.b__0()
   at PX.Data.PXLongOperation.<>c__DisplayClass18_0.b__0()

Hi @byates 

Can you share what the GL accounts are on the Inventory Item?


Hi @kandybeatty49!! Let me know if the below does not work for you. Thanks!

 

3/6/2023 7:37:25 PM Error:
AP Error: PPV Subaccount mask cannot be assembled correctly. Please, check settings for the Inventory Posting Class

PX.Data.PXException: AP Error: PPV Subaccount mask cannot be assembled correctly. Please, check settings for the Inventory Posting Class
   at PX.Objects.AP.APReleaseProcess.RetrievePPVAccount(PXGraph aOpGraph, POReceiptLineR1 aLine, Nullable`1& aPPVAcctID, Nullable`1& aPPVSubID)
   at PX.Objects.PO.GraphExtensions.APReleaseProcessExt.UpdatePOOnRelease.ApplyPPVAmount(Nullable`1 ppvAmt, JournalEntry je, GLTran patternTran, APTran tran, POReceiptLineR1 rctLine, CurrencyInfo curyInfo)
   at PX.Objects.PO.GraphExtensions.APReleaseProcessExt.UpdatePOOnRelease.ApplyPurchasePriceVariance(Boolean isPrebooking, JournalEntry je, GLTran patternTran, CurrencyInfo curyInfo, APInvoice apdoc, APTran tran)
   at PX.Objects.PO.GraphExtensions.APReleaseProcessExt.UpdatePOOnRelease.InvoiceTransactionReleasing(InvoiceTransactionReleasingArgs args)
   at PX.Objects.AP.APReleaseProcess.ReleaseInvoice(JournalEntry je, APRegister& doc, PXResult`4 res, Boolean isPrebooking, List`1& inDocs)
   at Wrapper.PX.Objects.AP.Cst_APReleaseProcess.{86}lambda_method(Closure , JournalEntry , APRegister& , PXResult`4 , Boolean , List`1& )
   at Wrapper.PX.Objects.AP.Cst_APReleaseProcess.{85}lambda_method(Closure , JournalEntry , APRegister& , PXResult`4 , Boolean , List`1& )
   at PX.Objects.PO.GraphExtensions.APReleaseProcessExt.TaxExpenseAllocationExt.ReleaseInvoice(JournalEntry je, APRegister& doc, PXResult`4 res, Boolean isPrebooking, List`1& inDocs, releaseInvoiceDelegate baseMethod)
   at Wrapper.PX.Objects.AP.Cst_APReleaseProcess.ReleaseInvoiceGeneratedWrapper(APReleaseProcess g, JournalEntry , APRegister& , PXResult`4 , Boolean , List`1& )
   at PX.Objects.AP.APReleaseProcess.ReleaseDocProc(JournalEntry je, APRegister doc, Boolean isPrebooking, List`1& inDocs)
   at PX.Objects.AP.APDocumentRelease.ReleaseDoc(List`1 list, Boolean isMassProcess, Boolean isPrebooking, List`1 externalPostList)
   at PX.Objects.AP.APDocumentRelease.ReleaseDoc(List`1 list, Boolean isMassProcess, Boolean isPrebooking, List`1 externalPostList)
   at PX.Objects.AP.APInvoiceEntry.<>c__DisplayClass36_0.b__0()
   at PX.Data.PXLongOperation.<>c__DisplayClass18_0.b__0()


HI @byates 

Can you share the Trace for that?


Reply