You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by "SACHIN CHOURASIYA (JIRA)" <ji...@apache.org> on 2007/12/06 15:32:43 UTC

[jira] Updated: (OFBIZ-1492) Implement an automatic GL posting service for payment applications

     [ https://issues.apache.org/jira/browse/OFBIZ-1492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

SACHIN CHOURASIYA updated OFBIZ-1492:
-------------------------------------

    Attachment: ofBiz1492.patch

Implemented an automatic GL posting service for payment applications

> 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
>         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.