We are making us of the generation of commission invoices from sales order. The invoice looks great, but when we try to make payment to the invoice and look at the resulting accounting transactions, they appear to be incorrect ...
When other invoices are created (sales / purchase) there is an SECA that gets involved with the invoice moves into "INVOICE_READY" state. These are defined in secas_ledger.xml with service invocations for "createAcctgTransForPurchaseInvoice" and "createAcctgTransForSalesInvoice". Each of these implementations only work on invoice types that are explicitly "PURCHASE_INVOICE" and "SALES_INVOICE" and they typically create the transaction that works with the A/R or A/P and specifics from the invoice (determined by configured mapping using invoice type). Now, when a commission invoice is created and moved to ready it does not get included in the "createAcctgTransForPurchaseInvoice" service (even though its invoice type has purchase order as its parent type). I have made a minor change in our solution to allow this service to execute against invoices that are either "PURCHASE_INVOICE" or "COMMISSION_INVOICE". The logic in this service properly uses type mapping to determine the GL accounts to hit, so doing this resulted in the following: AcctgTrans of type "PURCHASE_INVOICE" that is related to our commissionable sales rep (partyId) and the commision invoice (invoiceId) (although the roleType BILL_FROM_VENDOR) looks incorrect. AcctgTransEntry - C A/P (210000) and D Sales Commissions (601300) and these look right. The back end GL transactions when you actually pay this invoice have always looked correct (to me). They are: C Cash (112000) & D Accrued Commissions Due (221100) C Accured Commissions Due (221100) & D A/P (210000) So after a commission invoice is created and paid to their employee, you are left with ... Cash goes down and Sales Commission expense goes up. (as the A/P to the employee and accrued commission due both net to $0). (This is assuming we paid the employee cash / cash equivalent that mapped to 112000). Does anyone have any comments on this? After doing a lot of reading and working on these things, it appears that this minor change produced the desired results. In fact, I believe what we should be doing is having this initial accounting transaction check the invoice type hierarchy when determining if it should act on the invoice. This would result in invoices of type commission, payroll, purchase, and customer return being handled as purchase invoices (money going out) and invoices of type sales, interest, purchase return being handled as sales invoices (money going in). (this is based on the invoice type hierarchy from the InvoiceType entity seeding). I am hoping someone has worked with the accounting transactions on invoices that were not the base sales/purchase types and can let me know if this seems right or if I have strayed off track. -- View this message in context: http://n4.nabble.com/Accounting-transaction-for-commission-invoice-tp1564778p1564778.html Sent from the OFBiz - Dev mailing list archive at Nabble.com.