[ 
https://issues.apache.org/jira/browse/OFBIZ-1492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556207#action_12556207
 ] 

Sumit Porwal commented on OFBIZ-1492:
-------------------------------------

Hi All,
            I have reviewed and tested the attached patch, its working properly.


> Auto posting: Implement an automatic GL posting service for payment 
> applications
> --------------------------------------------------------------------------------
>
>                 Key: OFBIZ-1492
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-1492
>             Project: OFBiz
>          Issue Type: Sub-task
>          Components: accounting
>    Affects Versions: SVN trunk
>            Reporter: Jacopo Cappellato
>            Assignee: Ashish Vijaywargiya
>         Attachments: ofBiz1492.patch
>
>
> Name of the service: "createAcctgTransAndEntriesForPaymentApplication" or 
> similar
> Service definition:
>     <service name="createAcctgTransAndEntriesForPaymentApplication" 
> engine="simple" auth="true"
>         location="org/ofbiz/accounting/ledger/GeneralLedgerServices.xml" 
> invoke="createAcctgTransAndEntriesForPaymentApplication">
>         <description>Create an accounting transaction for a payment 
> application</description>
>         <attribute name="paymentApplicationId" type="String" mode="IN" 
> optional="false"/>
>         <attribute name="acctgTransId" type="String" mode="OUT" 
> optional="true"/>
>     </service> 
> 1) get the PaymentApplication and Payment records
> if (UtilAccounting.isReceipt(payment)) then {
> 2) prepare the debit AcctgTransEntry entry:
> debitCreditFlag=D
> organizationPartyId=payment.partyIdTo
> partyId=payment.partyIdFrom
> roleTypeId=BILL_TO_CUSTOMER
> origAmount=paymentApplication.amountApplied
> origCurrencyUomId=payment.currencyUomId
> glAccountId=payment.overrideGlAccountId
> glAccountTypeId=get the PaymentGlAccountTypeMap for the given 
> Payment.paymentTypeId and organizationPartyId
>  and use the PaymentGlAccountTypeMap.glAccountTypeId
> 3) prepare the credit AcctgTransEntry entry:
> debitCreditFlag=C
> organizationPartyId=payment.partyIdTo
> partyId=payment.partyIdFrom
> roleTypeId=BILL_TO_CUSTOMER
> origAmount=paymentApplication.amountApplied
> origCurrencyUomId=payment.currencyUomId
> glAccountTypeId=ACCOUNTS_RECEIVABLE
> }
> else {
> 4) prepare the credit AcctgTransEntry entry:
> debitCreditFlag=C
> organizationPartyId=payment.partyIdFrom
> partyId=payment.partyIdTo
> roleTypeId=BILL_FROM_VENDOR
> origAmount=paymentApplication.amountApplied
> origCurrencyUomId=payment.currencyUomId
> glAccountId=payment.overrideGlAccountId
> glAccountTypeId=get the PaymentGlAccountTypeMap for the given 
> Payment.paymentTypeId and organizationPartyId
>  and use the PaymentGlAccountTypeMap.glAccountTypeId
> 5) prepare the debit AcctgTransEntry entry:
> debitCreditFlag=D
> organizationPartyId=payment.partyIdFrom
> partyId=payment.partyIdTo
> roleTypeId=BILL_FROM_VENDOR
> origAmount=paymentApplication.amountApplied
> origCurrencyUomId=payment.currencyUomId
> glAccountTypeId=ACCOUNTS_PAYABLE
> }
> 6) call the createAcctgTransAndEntries with the following fields
> acctgTransEntries= entries prepared at points 2 and 3 or 4 and 5
> acctgTransTypeId="PAYMENT_APPL"
> paymentId=paymentApplication.paymentId
> invoiceId=paymentApplication.invoiceId
> if (UtilAccounting.isReceipt(payment)) then {
> partyId=payment.partyIdFrom
> roleTypeId=BILL_TO_CUSTOMER
> } else{
> partyId=payment.partyIdTo
> roleTypeId=BILL_FROM_VENDOR
> }
> The service is triggered by the following seca:
> <eca service="createPaymentApplication" event="commit">
>     <condition field-name="invoiceId" operator="is-not-empty" />
>     <action service="createAcctgTransAndEntriesForPaymentApplication" 
> mode="sync"/>
> </eca>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to