Posted by
Nicolas Malin (Jira) on
URL: http://ofbiz.116.s1.nabble.com/jira-Created-OFBIZ-472-GL-transactions-posting-errors-and-discrepancies-between-POS-and-OrderMgr-tp174572p174578.html
[
http://issues.apache.org/jira/browse/OFBIZ-472?page=comments#action_12454653 ]
Iain Fogg commented on OFBIZ-472:
---------------------------------
I have looked at the problem of POS not triggering the posting of transaction entries for INVENTORY/COGS accounts and have a candidate patch (see attached patch files).
The basic premise is that postShipmentToGl is the service we want to run, but for POS transactions there is item issuance, but no shipment created. Looking closely at postShipmentToGl, all it is doing is using the shipmentId to identify the ItemIssuances that are relevant. After that, all the processing flows from the ItemIssuance records (the shipment seems to have little or no relevance after that).
For a POS transactions, ItemIssuance records have no shipmentId, but we do have an orderId. Therefore, I modified to the service definition and implementation to allow for the possibility of not having a shipment and to use the order instead.
Basically, the service uses the shipmentId to identify the issuance records, but if there is no shipmentId in the context it will attempt to use the orderId (if any). If there are issuances for the order but those issuances are linked to a shipment, then the service raises an exception.
There is the obvious concern that this is a hack. However, while the service is called postShipmentToGl, it seems to be more about posting ItemIssuances to the GL, with shipment being one way to identifying which issuances. OrderId is another.
As to triggering the service, I have added an entity ECA that triggers the service under the same conditions that issueImmediatelyFulfilledOrder (OrderHeader.statusId = ORDER_COMPLETED && OrderHeader.needsInventoryIssuance = Y).
> GL transactions posting errors and discrepancies between POS and OrderMgr
> -------------------------------------------------------------------------
>
> Key: OFBIZ-472
> URL:
http://issues.apache.org/jira/browse/OFBIZ-472> Project: OFBiz (The Open for Business Project)
> Issue Type: Bug
> Components: accounting, order, pos
> Reporter: Iain Fogg
> Attachments: eecas.patch, LedgerServices.patch, services_ledger_ext.patch
>
>
> Summary:
> 1) POS does not post entries to the INVENTORY or COST OF GOODS SOLD accounts
> 2) POS incorrectly posts an entry to the CASH IN REGISTERS account on a CREDIT CARD refund, instead of the IN TRANSIT FROM CREDIT CARD PROCESSORS account
> 3) Offline refunds in OrderMgr don't work at all (at least I can't find a working work-around)
> Detail:
> I've run some tests of CASH and (offline) CREDIT CARD sales and refunds to determine what is happening with the GL. The relevant account ids are:
> 111700 - CASH IN REGISTERS
> 120000 - ACCOUNT RECEIVABLE
> 122000 - IN TRANSIT FROM CC PROCESSORS
> 140000 - INVENTORY
> 224100 - SALES TAX (actually, it's my GST account)
> 400000 - SALES
> 500000 - COST OF GOODS SOLD
> CASH SALE (OrderMgr):
> 1) D-111700, C-120000
> 2) D-120000, C-224100, C-400000
> 3) D-500000, C-140000
> CASH SALE (POS):
> 1) D-111700, C-120000
> 2) D-120000, C-224100, C-400000
> Notice that POS doesn't touch INVENTORY or COGS
> CREDIT CARD SALE (OrderMgr):
> 1) D-122000, C-120000
> 2) D-120000, C-224100, C-400000
> 3) D-500000, C-140000
> CASH SALE (POS):
> 1) D-122000, C-120000
> 2) D-120000, C-224100, C-400000
> Again, POS doesn't touch INVENTORY or COGS
> CASH REFUND (POS):
> 1) C-111700, D-120000
> 2) C-120000, D-224100, D-400000
> Opposite of the CASH SALE, but INVENTORY/COGS missing
> CREDIT CARD REFUND (POS):
> 1) C-111700, D-120000
> 2) C-120000, D-224100, D-400000
> Notice that account 111700 (CASH IN REGISTERS) has been credited incorrectly. It should be account 122000
> I could not run these tests against OrderMgr because it does not seem to be able to handle any kind of offline refund. There is an open jira on this.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa-
For more information on JIRA, see:
http://www.atlassian.com/software/jira