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.

Reply via email to