[cyclos 3.7.3] Negative amounts in bookeeping system

Bug and problem reporting

Moderators: hugo, alexandre, rmvanarkel

Post Reply
cycloshost
Posts: 578
Joined: Mon Jan 30, 2012 8:12 am
Contact:

[cyclos 3.7.3] Negative amounts in bookeeping system

Post by cycloshost »

Hi, probably this is not a bug but for us it turned into a problem when we import movements from an external account in order to syncronize the external account with Cyclos internal accounts.

Now is not possible deal with negative amounts (charges in an external account) even when a corresponding transaction is assigned in Cyclos. Only when the amount is positive, the transaction in Cyclos can be triggered. But when an amount is negative we receive a message saying that the amount is not correct. But the match intuitively should be a bill, not a payment.

The problem would be solved if when a transfer type in Cyclos is matched to a keyword in the external bookeeping, we would have the possibility of assigning negative amounts to invoices of that transaction type.

As these transactions were already made in an external account, it would be desirable to have the possibility of sending invoices at least from the system to the member without having to wait to the confirmation so the saldos in both bookeeping and cyclos system match without having to wait the acceptance of all the members which were sent the invoices.

This last part is related to this thread where we asked if is it possible to send an invoice without confirming.
http://www.cyclos.org/forum/viewtopic.php?f=2&t=1633
cycloshost.com
Cyclos administration and hosting

mraxai
Posts: 18
Joined: Mon Aug 01, 2011 2:28 pm

Re: [cyclos 3.7.3] Negative amounts in bookeeping system

Post by mraxai »

Hi all,

we've been experiencing the same exact problem. We've tried with all possible combinations. Say with negative amount indicator, without it etc

Here the error log:
"

Code: Select all

DA33B7705204FB1196AA2E75A8AF731A	admin	POST  	/ccc.net/do/admin/processExternalTransfers	date=01/01/2013, amount=-20.024,10, transfer=, externalAccountId=1, loan=, selection=on, externalTransfer=9935
nl.strohalm.cyclos.utils.validation.ValidationException
	at nl.strohalm.cyclos.utils.validation.Validator.validate(Validator.java:350)
	at nl.strohalm.cyclos.services.transactions.PaymentServiceImpl.validate(PaymentServiceImpl.java:2380)
	at nl.strohalm.cyclos.services.transactions.PaymentServiceImpl.verify(PaymentServiceImpl.java:2509)
	at nl.strohalm.cyclos.services.transactions.PaymentServiceImpl.insert(PaymentServiceImpl.java:1778)
	at nl.strohalm.cyclos.services.transactions.PaymentServiceImpl.insertWithNotification(PaymentServiceImpl.java:990)
	at nl.strohalm.cyclos.services.accounts.external.ExternalTransferServiceImpl.process(ExternalTransferServiceImpl.java:369)
	at nl.strohalm.cyclos.services.accounts.external.ExternalTransferServiceImpl.process(ExternalTransferServiceImpl.java:224)
	at nl.strohalm.cyclos.services.accounts.external.ExternalTransferServiceSecurity.process(ExternalTransferServiceSecurity.java:81)
	at sun.reflect.GeneratedMethodAccessor1253.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at nl.strohalm.cyclos.spring.ServiceSecurityProxyInvocationHandler.invoke(ServiceSecurityProxyInvocationHandler.java:65)
	at $Proxy51.process(Unknown Source)
	at nl.strohalm.cyclos.controls.accounts.external.process.ProcessExternalTransfersAction.executeAction(ProcessExternalTransfersAction.java:91)
	at nl.strohalm.cyclos.controls.BaseAction.execute(BaseAction.java:192)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
	at nl.strohalm.cyclos.struts.CyclosRequestProcessor.doExecuteAction(CyclosRequestProcessor.java:459)
	at nl.strohalm.cyclos.struts.CyclosRequestProcessor.executeAction(CyclosRequestProcessor.java:496)
	at nl.strohalm.cyclos.struts.CyclosRequestProcessor.processActionPerform(CyclosRequestProcessor.java:256)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
	at nl.strohalm.cyclos.struts.CyclosRequestProcessor.process(CyclosRequestProcessor.java:144)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at nl.strohalm.cyclos.http.LoggedUserFilter.execute(LoggedUserFilter.java:117)
	at nl.strohalm.cyclos.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:51)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at nl.strohalm.cyclos.http.RequestProcessingFilter.execute(RequestProcessingFilter.java:74)
	at nl.strohalm.cyclos.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:51)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at nl.strohalm.cyclos.http.SanitizerFilter.execute(SanitizerFilter.java:66)
	at nl.strohalm.cyclos.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:51)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
Hope we can help in fixing this.

admin
Site Admin
Posts: 1422
Joined: Mon Jan 24, 2005 10:31 am

Re: [cyclos 3.7.3] Negative amounts in bookeeping system

Post by admin »

Hi,

Yes would be a good idea to add the possibility to map Cyclos payments to negative amounts. At this moment we cannot give this priority so I cannot give any estimation.

Regards,

cycloshost
Posts: 578
Joined: Mon Jan 30, 2012 8:12 am
Contact:

Re: [cyclos 3.7.3] Negative amounts in bookeeping system

Post by cycloshost »

Maybe you could at least allow the negative amounts in editExternalTransfer?

Then we could change the minus for a plus in retrieveTransfersToProcess before processing the payment. So, for example a bill received of 10units would be in the accounting system calculated as -10 and when making the payment is made with +10 with an inverse transfer type.

If this works, would save us the work of making a manual transfer (with the corresponding risks of mistake and so on...) every time a payment is received.
cycloshost.com
Cyclos administration and hosting

admin
Site Admin
Posts: 1422
Joined: Mon Jan 24, 2005 10:31 am

Re: [cyclos 3.7.3] Negative amounts in bookeeping system

Post by admin »

we will consider this

cycloshost
Posts: 578
Joined: Mon Jan 30, 2012 8:12 am
Contact:

Re: [cyclos 3.7.3] Negative amounts in bookeeping system

Post by cycloshost »

Hi,

did you think about this? Sorry to ask again, but this is critical in order to plan our projected resources.

Thank you so much.
cycloshost.com
Cyclos administration and hosting

admin
Site Admin
Posts: 1422
Joined: Mon Jan 24, 2005 10:31 am

Re: [cyclos 3.7.3] Negative amounts in bookeeping system

Post by admin »

Hi,

We did not have the time yet to look in to it. Before releasing 3.7.4 we will look into it and if it is not too much work will program it. At the moment we have various deadlines to match and we cannot give any estimation.
Thanks for your patience.

Post Reply