Hi,

When a sale inovice status is set to Ready in Accounting-AR, OFBiz generates 
two accounting entries (Transactions). How is it done? 

Going through code, 

what i can see is (overall):
        .  <menu name="InvoiceSubTabBar" menu-container-style="button-bar 
button-style-2" default-selected-style="selected">

       . <menu-item name="statusToReady" 
title="${uiLabelMap.AccountingInvoiceStatusToReady}">
            <condition>
                <and>
                    <not><if-empty field="invoice.invoiceId"/></not>
                    <or>
                        <if-compare field="invoice.statusId" operator="equals" 
value="INVOICE_IN_PROCESS"/>
                        <if-compare field="invoice.statusId" operator="equals" 
value="INVOICE_SENT"/>
                        <if-compare field="invoice.statusId" operator="equals" 
value="INVOICE_RECEIVED"/>
                        <if-compare field="invoice.statusId" operator="equals" 
value="INVOICE_APPROVED"/>
                    </or>
                </and>
            </condition>
            <link target="setInvoiceStatus"> -> Al terminar este menú se 
ecuentra el mapeo de setInvoiceStatus
                <parameter param-name="invoiceId" 
from-field="invoice.invoiceId"/>
                <parameter param-name="statusId" value="INVOICE_READY"/>
            </link>
        </menu-item>

    <request-map uri="setInvoiceStatus">
        <security https="true" auth="true"/>
        <event type="service" invoke="setInvoiceStatus"/>
        <response name="success" type="view" value="invoiceOverview"/>
        <response name="error" type="view" value="invoiceOverview"/>
    </request-map>

    <service name="setInvoiceStatus" engine="simple"
        location="component://accounting/minilang/invoice/InvoiceServices.xml" 
invoke="setInvoiceStatus">
        <description>Set the Invoice  Status</description>
        <permission-service service-name="acctgInvoicePermissionCheck" 
main-action="UPDATE"/>
        <attribute name="invoiceId" type="String" mode="IN" optional="false"/>
        <attribute name="statusId" type="String" mode="IN" optional="false"/>
        <attribute name="statusDate" type="Timestamp" mode="IN" 
optional="true"/>
        <attribute name="paidDate" type="Timestamp" mode="IN" optional="true"/> 
<!-- only relevant for changes to PAID -->
        <attribute name="invoiceTypeId" type="String" mode="OUT" 
optional="true"/>
        <attribute name="oldStatusId" type="String" mode="OUT" optional="true"/>
    </service>

In component://accounting/minilang/invoice/InvoiceServices.xml", 
setInvoiceStatus,  I can see where the Status is changed, but I can't see any 
code making accounting entries.

¿How OFBiz generate accounting entries when an invoice status is set to Ready?

Thanks.

Carlos Navarro

Reply via email to