Repairing Deferred Revenue That Will Not Mark as Posted (Internal)

132139 136328

In the source cases, the user has an unstable environment. Due to this, they experienced some initial Deadlocks when trying to run their Deferred Income Recognition. This left the data in a state where it was marked as having a value on the GL_Deferred_Income table, but on the Customer Record was marked as having been recognized. This prevented the Deferred Income from being set at $0.00, and the accounting period could not be closed while there was still an amount of deferred income to recognize. A Manual Journal entry would not fix the issue because the GL Register entry already existed. 

A screen shot of a computerAI-generated content may be incorrect.

A screenshot of a computer errorAI-generated content may be incorrect.

Initially, this presented as a case for the Missing Deferred Script (link here). However, the issue was the inverse. The Deferred entry exists, but it can no longer be set to 0.00$ because the GL Register entry already exists. Further, it seems to break when multiple deferred entries for the same invoice are being recognized at the same time. In this instance, the same invoice is recognized over the course of a year. It became obvious later in the case that this user would create backdated invoices. This meant that when recognizing revenue, they were recognizing multiple instances of deferred revenue against the same invoice. This is normally not an issue, but since they experienced a Deadlock, the process was interrupted and left these multi-part recognitions unfinished. 

A screenshot of a computerAI-generated content may be incorrect.

Solution

First, have the user run their Deferred twice to ensure that all Deferred that can be posted are posted. Then run the below select statement:

Select * from GL_Deferred_Income where For_Month = '2025-03-01' and Posted = 'N' and Amount <> '0.00'

Compare the results of this selection with the ‘Customers’ tab in Deferred UI.

A screenshot of a computer screenAI-generated content may be incorrect.

If the results of the query match the list in this section, create a table backup, then run the update statement to manually get those entries to consider themselves posted.

Select * into ZBG_GLDeferredIncome_[CaseNumber]_[MonthYear]

update GL_Deferred_Income 

set Amount = '0.00', Posted = ‘Y’

where For_Month = '2025-03-01' and Posted = 'N' and Amount <> '0.00'

This should set the values on the deferred lines to match expectations and allow the user to close the month where the deferred was stuck.

Was this article helpful?
Thank you for your feedback!
User Icon

Thank you! Your comment has been submitted for approval.