is there a way to make a customer payment approval...
# general
m
is there a way to make a customer payment approval process? why? because accounting dept wants to review customer payment transactions before it is posted to GL.
s
@Mars You can setup a workflow, but it will not stop the transaction getting posted as customer payment is a posting transaction. However it's a good measure of security to have a workflow in place. The second and the least problematic option would be to create a saved search to email key people when a customer payment is created, they can open the transaction and either delete or query about it.
m
You could create a custom record for unapproved customer payments and have a script that generates the posting payment once the custom record has been approved. It might even be possible to use a custom transaction instead of a payment record and the actual transaction can have posting and non posting statuses.
👍 1
m
@michoel sounds complicated. I haven't implemented a custom record ever. I may not be able to pull that off.
l
@michoel Which do you think is better, custom record or custom transaction?
k
I wouldn't really recommend doing either
I'd probably be more inclined to force every customer payment into undeposited funds, and then enforce an approval process via having a make deposit transaction to record it going into the bank account.
l
In our case, we don't really want it to post yet to GL unless approved.
k
I don't understand that thought process. Why? What do you gain?
Let me put it the other way around - what's the risk of letting it show to the GL? Why would your personnel be creating customer payments if they didn't really exist?
That said - if you have to have it - a custom record that you script creating a customer payment from is probably the easier path of resistance.
Creating a custom transaction you can manage posting to GL's very easily with posting statuses- but you couldn't apply it against an invoice easily and would require an additional step
Both options are likely to wind up with cash application issues.
m
I don't know for sure if this possible but you might be able to use native payment record and a Custom GL Plugin to reverse the GL impact until a custom approved field is checked. I'm not sure how this would work if payment was created in a period that has already closed when it's approved.
k
I feel like this could have very negative impacts if not used correctly in conjunction with the "make bank deposits" page very carefully.
l
Thanks, @KevinJ of Kansas. Noted on this. Sometimes, it's just so hard to convince your colleagues. Anyway, I appreciate the thoughts as always.
m
Just to clarify, I'm not recommending any of the options I raised either. I would go with Kevin's accounting advice over my own any day. My intention was just to point out the possibilities
l
@michoel yup completely understand. Those are really good options in case there is really a dire need for an approval. Thanks, too!
k
If I were writing pro and con lists: Custom GL Impact: Pro: No cash application issues Con: What happens if your cash payment is never approved? Now you have invoices marked cleared that shouldn't be. Con: No Customer GL line in A/R Con: What happens if someone accidently deposits the line that is going to dissapear? Custom Record: Pro: No GL Impact to worry about Con: Can wind up with impossible applications (i.e. how do you handle partial applications/apply to more than one transaction?) Con: Must script the process of turning it into a customer payment. Custom Transaction: Pro: No GL Impact to worry about Pro: Looks like a transaction, and can't be applied against the transaction until after approval. Can use Sales Transaction to even force picking the customer. Con: Turning it into a GL Impacting transaction can be done easily, however you have to have a second transaction to apply against order (a zero dollar customer payment). Unless you script that process - it's also possible to wind up with user errors creating bad customer payments. Con: Can wind up with impossible applications (i.e. partially paid invoices/ apply to more than one transaction) Con: Shows up on customer record as an additional transaction. If I'm picking between the three - I'm probably picking the custom GL impact and testing interactions with make bank deposit very carefully - and then training my users not to break it via a filtered list.
❤️ 1
all the better if I can convince accounting to let me hold the values in a seperate account instead of hitting undeposited funds with the custom GL impact
and AR too. That way the "net" gl impact is zero, but they are parked in clearing accounts that can't get forked by users.
m
just sharing what I have decided to implement: 1. workflow to update a custom status field 2. only lock record after reviewers' approval 3. reminders for unreviewed customer payments