[
https://issues.apache.org/jira/browse/OFBIZ-1482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12549299
]
Mridul Pathak commented on OFBIZ-1482:
--
Shubham,
I looked at your patch and I found that it is not exactly according to the
requirements. Here are the differences.
1) Look at the requirement (e). For each InvoiceItem record related to the
Invoice you need to create the entry (e1). So this means you can have mutiple
e1 entries. So this code is almost correct in your patch. Also for each entry
origAmount = invoiceItem.quantity * invoiceItem.amount (NOTE: if quantity is
not set, then default to 1) .
2) Now if we look at the requirement (f), it will be a single entry for a
Invoice, and for this origAmount = Sum of all the origAmounts calculated in
step (e).
What you did in your patch is, you have created multiple entries for it for
each InvoiceItem, and also the origAmount is calculated in the same way as it
is done in the requirement (e). Which is absolutely wrong.
3) Also the code under the tag is not welll formatted.
I think in no way anyone could have misunderstood these requirements
because the requirement specification given here is more than sufficient to
understand the task and do the implementation.
Please do the suggested changes and upload the patch again.
> Implement an automatic GL posting service for sales invoices
>
>
> Key: OFBIZ-1482
> URL: https://issues.apache.org/jira/browse/OFBIZ-1482
> Project: OFBiz
> Issue Type: Sub-task
> Components: accounting
>Affects Versions: SVN trunk
>Reporter: Jacopo Cappellato
>Assignee: Anil K Patel
> Attachments: GLPostingServiceForSalesInvoice.patch
>
>
> Name of the service: "createAcctgTransForSalesInvoice" or similar
> Service definition:
> auth="true"
> location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml"
> invoke="createAcctgTransForSalesInvoice">
> Create an accounting transaction for a sales
> invoice
>
> optional="true"/>
>
> The eca rule will be:
>
>
>
> value="INVOICE_READY"/>
> value="INVOICE_PAID"/>
>
>
> This is the general description: this service will call the
> createAcctgTransAndEntries with the following input parameters:
> a) acctgTransTypeId="SALES_INVOICE"
> b) partyId = invoice.partyId
> c) roleTypeId = "BILL_TO_CUSTOMER"
> d) invoiceId = invoice.invoiceId
> e) acctgTransEntries: a list composed by the following AcctgTransEntry
> elements:
> e1) one element for each of the InvoiceItems; here is the content of each of
> these elements:
> -- debitCreditFlag = C
> -- organizationPartyId = invoice.partyIdFrom
> -- productId = invoiceItem.productId
> -- glAccountTypeId = invoiceItem.invoiceItemTypeId
> -- glAccountId = invoiceItem.overrideGlAccountId
> -- origAmount = invoiceItem.quantity * invoiceItem.amount (NOTE: if quantity
> is not set, then default to 1)
> -- origCurrencyUomId = invoice.currencyUomId
> -- if invoiceItem.taxAuthPartyId is-not-empty then {partyId =
> invoiceItem.taxAuthPartyId and roleTypeId = "TAX_AUTHORITY"}
> f) one element for the invoice total (the sum of all the items'
> amount*quantity):
> -- debitCreditFlag = D
> -- organizationPartyId = invoice.partyIdFrom
> -- glAccountTypeId = ACCOUNTS_RECEIVABLE
> -- origAmount = the sum of all the items' amount*quantity
> -- origCurrencyUomId = invoice.currencyUomId
> -- partyId = invoice.partyId
> -- roleTypeId = "BILL_TO_CUSTOMER"
> Some more details about the logic:
> 1) get the Invoice record
> 2) if Invoice.invoiceTypeId != SALES_INVOICE return
> 3) get the InvoiceItems and iterate over them to create the entries (e) and
> compute the total for the entry for the total (f)
> 4) call the createAcctgTransAndEntries service
> Add information on the wiki page: http://docs.ofbiz.org/x/Qw0
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.