- Tweaks and fixes
- Qld Rego forms : updated new reg form to latest
- General Ledger : Added a couple of GL codes to track income tax
- P/L : trading statement : cost of consigned units was not included in trading statement and instead showing as a P/L line expense, now adjusted.
- Add parts to workshop job. Record clerk on the workshop spares record as the entering clerk, not the original booking clerk.
- Orderbook locking : would display wrong franchise name on a lock event. C9 would try to lock the correct franchise, but on screen whould show wrong name giving misleading feedback to operator. Now fixed.
Once again paypal have made 'changes' to their backend that introduce regressions. You'd assume because they are wildly successful their technology is excellent. You'd assume wrong.
The issue: c9 does three things when it talks to paypal to capture money. (This is only necessary because of other issues BTW, if their API was designed sanely this would not even be necessary). It:
- Gets a list of txns
- Posts a capture
- Regets a list of txns
Now step 2 to to 3, c9 assumed the txn you add in step 2 appears in step 3 straight away and made calculations based on this. As to two weeks ago this is not the case. Step 2 to 3 can be delayed by upto a minute. Txns you post are not visible when you query them initially. From a finances services systems architecture/design perspective this is quite an incredible situation. Yet here we are.... Again.
So previously, c9 would then try to recapture assuming the prior capture failed since the txn didn't appear in txn list. C9 can only assume sum of txns is what is in the list, but paypal doesn't give us the full list, or any other way to tell what has been billed so far. That capture would bork with an error. You'd need to bail out and reenter so c9 sees the eventually updated txn and computes things accurately.
So two things this ver of c9 now does:
- it provides a manual refresh button so you can refresh
- After you post a capture, c9 will go into an infinite loop waiting until # of txns paypal reports is one more than what it was before. Until it does it stays in a retry loop. With a screen that looks like this:
So I contact PayPal to raise an issue. Their reply, 6 hours later: "due to coronavirus (COVID-19) safety precautions, we currently have limited customer service staffing". Since this only started happening consistently two weeks ago, when we were already deep in the pandemic, so they have the capacity to make changes that inadvertently introduce regressions, but not fix them. Dickheads.