For Reverse Accrual allowing user to select Accounting date.

219 views
Skip to first unread message

Deepak Pansheriya (Logilite.com)

unread,
Sep 10, 2020, 8:38:30 AM9/10/20
to iDempiere
Hello All,

Steven requested this and thinking this may be good candidate to add in iDempiere core. Before creating ticket, want to know community view.

Idea is to let User select accounting date when doing reverse accrual.  my design is
1. Allow Client level system configuration to enable or disable this behavior or We add flag on document type.
2. When Workflow action panel opens, if doc action is Reverse Accrual, we show Accounting date editor to select date.
3. All Model class needs to updated.

Steven has asked this support for GL Journal only. So again question is should we implement this for all doc type?


With Regards,
--Deepak Pansheriya

Carlos Antonio Ruiz Gomez

unread,
Sep 10, 2020, 10:40:30 AM9/10/20
to idem...@googlegroups.com
Hi, at this moment the user can select the reverse accrual date on login
time, so, I think that case is covered.

Regards,

Carlos Ruiz


El 10/09/20 a las 2:38 p. m., Deepak Pansheriya (Logilite.com) escribió:

Steven Sackett

unread,
Sep 10, 2020, 11:04:53 PM9/10/20
to iDempiere
Hi Carlos,
That date approach does not work very well for Reverse-Accrue. It works fine for Reverse-Correct.
It is almost as if the least likely accounting date for a reverse-accrue is today's date.
Example 1:
it is 28 June...
I creaate a journal to accrue various costs at 30 June and Complete/Post.
Then I want to Reverse Accrue it now so I dont have to visit this again or forget it.  I want the Accounting Date of the Reverse-Accrue to be 1 July .. the first day of the next accounting period.
Example 2:
it is 4 August, I am reviewing a bunch of reconciliations and I find an accrual I did in June that should have reversed on 1 July but it was missed.  I now want to reverse-accrue it ... but as 1 July not 4 August.

The issue was handled elsewhere by the reverse-accrue of a Journal entry not being automatically 'Completed' so you could find the journal, set the date to what you wanted and then Complete.

The idea that a user should have to completely log out of the system and then log back in with a particular date in order to be able to reverse-correct a journal will be thought of by accounting users as not very smart ... and some will say this more forcefully :-)  .

I don't see it as a good option to use the user's default document date but If it is the only option can the default document date be set in some type of Preference that is easily accessible and not requiring a log out/in? for example...

The problem with reversed journals is that both the original and reversal are linked and not changeable/voidable.  If the user gets something wrong they can then create a big mess creating more journals trying to  to 'undo' what they have done.

Although this requirement arose in respect to journals it is a valid question as to whether the same issues apply for other document types.

regards
Steven

Nicolas Micoud

unread,
Sep 11, 2020, 12:45:56 AM9/11/20
to iDempiere
Hello,

FWIW, we create a process to allow (some users) to choose the date (on GL Journal only) to avoid modifying the DocAction panel.
But, I agree, that would be more consistent to allow users to choose the date 'directly'.

nb: ATM, DocAction panel is quite limited (choose an action and click OK).
Another improvement could be to force users to write a message when a document is voided


Regards,

Nicolas

Carlos Antonio Ruiz Gomez

unread,
Sep 11, 2020, 3:50:40 PM9/11/20
to idem...@googlegroups.com
Thanks Steven, my opinion is based on what I think is a not frequent case, I would not expect users using reverse-accrual on a daily basis, that's just based on my personal usage and my known users.

But maybe there are use cases which I ignore where this is a frequent operation, and as such it makes sense to make it more user friendly.


As for Nicolas suggestion:
> Another improvement could be to force users to write a message when a document is voided

I think that can be easily achieved if you force to have a comment or post-it filled before voiding - I mean is basically a one-line validation in a plugin BEFORE_VOID event.


Regards,

Carlos Ruiz



El 11/09/20 a las 6:45 a. m., Nicolas Micoud escribió:

Chuck Boecking

unread,
Sep 13, 2020, 9:02:39 AM9/13/20
to iDempiere
Hi Everyone,

Deepak created a plugin for me a while back to allow for setting the reverse accrual date. About half my larger customers use it. It is simple, and it goes like this:
  • User creates and completes a GL Journal that they know needs to be reversed
  • When GL Journal completes, a Reverse date becomes visible.
  • User immediately sets the reversing date (usually for the next period) and reverses the document.
I am fine with this being a plugin; however, please be aware that is is a common request. The alternatives are typically not acceptable:
  • Log out and log back in using a different default date only to remember to log back in with today's date, or
  • Wait until the next period to remember to reverse the document, or
  • Create a plugin that automatically reverses documents flagged for reversal
My 2 cents

Chuck Boecking

Carlos Antonio Ruiz Gomez

unread,
Sep 14, 2020, 6:07:10 AM9/14/20
to idem...@googlegroups.com
Thanks Chuck, from what I read in this thread this is a use case on GL Journal, doesn't sound common on other documents.

I'm finding this very similar to what we did in IDEMPIERE-918 for Invoice<->CreditNote, and indeed I understand Nicolas solved it in a similar way.

Summary of what we did in IDEMPIERE-918:
* created a process org.idempiere.process.InvoiceCreateCreditMemo
* this button works on completed invoices with the following parameters:
** Document Type
** Credit Note Date
** Accounting Date
** Document Action
** Create Allocation?
* the process simply creates an exact document (negative) in the desired date/type and executes the desired action (prepare/complete)
* we also created a column C_Invoice.RelatedInvoice_ID to keep the relationship between the original invoice and the credit note

I guess this can be easily solved here same way:
* process to create a reverse journal with parameters:
** Journal Date
** Accounting Date
** Document Action
* add column GL_Journal.RelatedJournal_ID to keep the relationship between those two

As Chuck suggested we can also add columns to register the future reversal date/note - with that the process can even be scheduled (we can add for automate this another parameter to reverse all the "due" reverse dates).

WDYT?

Regards,

Carlos Ruiz



El 13/09/20 a las 3:02 p. m., Chuck Boecking escribió:
--


Chuck Boecking

unread,
Sep 14, 2020, 6:43:24 AM9/14/20
to idem...@googlegroups.com
Hi Carlos,

I love it - thank you!

Regards,


Chuck Boecking
512.850.6068 (office and cell)
ch...@chuboe.com
ChuckBoecking.com
chuck.boecking (skype)


--
You received this message because you are subscribed to a topic in the Google Groups "iDempiere" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/idempiere/yg4-o0RVjpM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to idempiere+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/idempiere/59bf18ff-ea11-49e4-2884-4810be101bec%40gmail.com.

Nicolas Micoud

unread,
Sep 14, 2020, 11:58:52 AM9/14/20
to iDempiere
+1 for me.

That's exactly what we do - but AFAIR, we used the Reversal_ID column (patch was done on Compiere, years ago)

If interested, I can search in sources + adapt them to iDempiere and then upload a patch

Regards,

Nicolas
To unsubscribe from this group and all its topics, send an email to idem...@googlegroups.com.

Deepak Pansheriya (Logilite.com)

unread,
Sep 15, 2020, 3:31:25 AM9/15/20
to iDempiere
Should we take plugin approach?
If we want to support for only GL Journal, can do same. In that case creating process which has Reversal Data as parameter is simplest approach and this process can be added as button which is visible for completed GL journal.

Design I suggest is good if we want to make it general for all document type configurable.

Carlos Antonio Ruiz Gomez

unread,
Sep 15, 2020, 6:03:19 AM9/15/20
to idem...@googlegroups.com
Hi Deepak, from what I read is a common requirement so I think is good for core.

Is the solution OK for Steven?

Regards,

Carlos Ruiz



El 15/09/20 a las 9:31 a. m., Deepak Pansheriya (Logilite.com) escribió:

Steven Sackett

unread,
Sep 20, 2020, 7:34:38 PM9/20/20
to iDempiere
Hi Carlos,
Sorry I missed your question...
Any solution that allows the user to set the accounting date on the reversal will work for me.  My preference would be to force a mandatory 'set date' field when the user clicks 'reverse-correct'. Having a field that lets user nominate the reversal date before they Complete the initial journal and which does not allow them to fix that afterwards would not be as desirable but does solve the problem.  If there was some way that a nominated user or role could somehow update that date and repost it would allow fixing errors.     
thanks
steven
Reply all
Reply to author
Forward
0 new messages