<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">

    <form name="ListCompanies" type="list" title="Internal Organizations" list-name="parties"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <field name="partyId" title="${uiLabelMap.AccountingCompanies}"><display-entity entity-name="PartyGroup" description="${groupName}"/></field>
        <field name="setup" title="${uiLabelMap.CommonEmptyHeader}" use-when="hasPrefPermission" widget-style="buttontext">
            <hyperlink target="AdminMain" description="${uiLabelMap.AccountingSetup}">
                <parameter param-name="organizationPartyId" from-field="partyId"/>
            </hyperlink>
        </field>
        <field name="accounting" title="${uiLabelMap.CommonEmptyHeader}" use-when="hasBasicPermission" widget-style="buttontext">
            <hyperlink target="PartyAccountsSummary" description="${uiLabelMap.AccountingAccounting}">
                <parameter param-name="organizationPartyId" from-field="partyId"/>
            </hyperlink>
        </field>
    </form>

    <form name="ListGlAccountOrganization" list-name="listIt" target="" title="" type="list" view-size="50"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar" paginate-target="ListGlAccountOrganization">
        <actions>
            <entity-condition entity-name="GlAccountOrganizationAndClass">
                <condition-expr field-name="organizationPartyId" from-field="organizationPartyId"/>
                <order-by field-name="glAccountId"/>
            </entity-condition>
        </actions>
        <auto-fields-entity entity-name="GlAccount" default-field-type="display"/>
        <field name="glAccountId" widget-style="buttontext">
            <hyperlink also-hidden="false" description="${glAccountId}" target="GlAccountNavigate">
                <parameter param-name="glAccountId"/>
            </hyperlink>
        </field>
        <field name="glAccountClassId">
            <display-entity entity-name="GlAccountClass"/>
        </field>
        <field name="glAccountTypeId">
            <display-entity entity-name="GlAccountType"/>
        </field>
        <field name="accountName" entry-name="glAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountName}"/></field>
    </form>

    <form name="AssignGlAccount" type="single" target="createGlAccountOrganization" title="" default-map-name="account"
        header-row-style="header-row" default-table-style="basic-table">
        <field name="organizationPartyId"><hidden/></field>
        <field name="glAccountId">
            <drop-down>
                <entity-options entity-name="GlAccount" description="${accountCode} - ${accountName} [${glAccountId}]">
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitButton" title="${uiLabelMap.AccountingCreateAssignment}"><submit button-type="button"/></field>
    </form>

    <form name="PartyAcctgPreference" type="single" target="createPartyAcctgPreference" default-map-name="aggregatedPartyAcctgPreference"
            header-row-style="header-row" default-table-style="basic-table">
        <actions>
            <service service-name="getPartyAccountingPreferences" result-map="result">
                <field-map field-name="organizationPartyId"/>
            </service>
            <set field="aggregatedPartyAcctgPreference" from-field="result.partyAccountingPreference" type="Object"/>
        </actions>
        <alt-target use-when="partyAcctgPreference!=null" target="updatePartyAcctgPreference"/>
        <auto-fields-service service-name="createPartyAcctgPreference"/>
        <field name="organizationPartyId"><hidden value="${parameters.organizationPartyId}"/></field>
        <!-- the partyId is always displayed -->
        <field name="partyId" title="${uiLabelMap.AccountingOrganizationPartyId}"><display/></field>
        <!-- if there is no partyAcctgPreference yet, then we show drop-downs for the fields and a submit button -->
        <field name="fiscalYearStartMonth" use-when="partyAcctgPreference==null"
            tooltip="${groovy: import org.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('fiscalYearStartMonth')!=null)return (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <drop-down>
                <option key="1" description="${uiLabelMap.AccountingFiscalMonth01}"/>
                <option key="2" description="${uiLabelMap.AccountingFiscalMonth02}"/>
                <option key="3" description="${uiLabelMap.AccountingFiscalMonth03}"/>
                <option key="4" description="${uiLabelMap.AccountingFiscalMonth04}"/>
                <option key="5" description="${uiLabelMap.AccountingFiscalMonth05}"/>
                <option key="6" description="${uiLabelMap.AccountingFiscalMonth06}"/>
                <option key="7" description="${uiLabelMap.AccountingFiscalMonth07}"/>
                <option key="8" description="${uiLabelMap.AccountingFiscalMonth08}"/>
                <option key="9" description="${uiLabelMap.AccountingFiscalMonth09}"/>
                <option key="10" description="${uiLabelMap.AccountingFiscalMonth10}"/>
                <option key="11" description="${uiLabelMap.AccountingFiscalMonth11}"/>
                <option key="12" description="${uiLabelMap.AccountingFiscalMonth12}"/>
            </drop-down>
        </field>
        <field name="fiscalYearStartDay" use-when="partyAcctgPreference==null"
            tooltip="${groovy: import org.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('fiscalYearStartDay')!=null)return (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <drop-down>
                <option key="1"/><option key="2"/><option key="3"/><option key="4"/><option key="5"/>
                <option key="6"/><option key="7"/><option key="8"/><option key="9"/><option key="10"/>
                <option key="11"/><option key="12"/><option key="13"/><option key="14"/><option key="15"/>
                <option key="16"/><option key="17"/><option key="18"/><option key="19"/><option key="20"/>
                <option key="21"/><option key="22"/><option key="23"/><option key="24"/><option key="25"/>
                <option key="26"/><option key="27"/><option key="28"/><option key="29"/><option key="30"/>
                <option key="31"/>
            </drop-down>
        </field>
        <field name="taxFormId" use-when="partyAcctgPreference==null"
            tooltip="${groovy: import org.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('taxFormId')!=null)return
            (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <drop-down>
                <entity-options entity-name="Enumeration" description="${description}" key-field-name="enumId">
                    <entity-constraint name="enumTypeId" operator="equals" value="TAX_FORMS"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="cogsMethodId" use-when="partyAcctgPreference==null"
            tooltip="${groovy: import org.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('cogsMethodId')!=null)return (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <drop-down>
                <entity-options entity-name="Enumeration" description="${description}" key-field-name="enumId">
                    <entity-constraint name="enumTypeId" operator="equals" value="COGS_METHODS"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="baseCurrencyUomId" use-when="partyAcctgPreference==null"
            tooltip="${groovy: import org.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('baseCurrencyUomId')!=null)return
            (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <drop-down no-current-selected-key="${defaultOrganizationPartyCurrencyUomId}">
                <entity-options key-field-name="uomId" description="${description} - ${abbreviation}" entity-name="Uom">
                    <entity-constraint name="uomTypeId" operator="equals" value="CURRENCY_MEASURE"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="invoiceIdPrefix" use-when="partyAcctgPreference==null"
            tooltip="${groovy: import org.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('invoiceIdPrefix')!=null)return
            (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <text maxlength="10" size="5"/>
        </field>
        <field name="invoiceSequenceEnumId" use-when="partyAcctgPreference==null"
            tooltip="${groovy: import org.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('invoiceSequenceEnumId')!=null)return
            (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <drop-down>
                <entity-options entity-name="Enumeration" description="${description}" key-field-name="enumId">
                    <entity-constraint name="enumTypeId" operator="equals" value="INVOICE_SEQMD"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="useInvoiceIdForReturns" use-when="partyAcctgPreference==null"
            tooltip="${groovy: import org.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('useInvoiceIdForReturns')!=null)return
            (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <drop-down allow-empty="true">
                <option key="Y" description="${uiLabelMap.CommonY}"/><option key="N" description="${uiLabelMap.CommonN}"/>
            </drop-down>
        </field>
        <field name="quoteIdPrefix" use-when="partyAcctgPreference==null"
            tooltip="${groovy: import org.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('quoteIdPrefix')!=null)return
            (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <text maxlength="10" size="5"/>
        </field>
        <field name="quoteSequenceEnumId" use-when="partyAcctgPreference==null"
            tooltip="${groovy: import org.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('quoteSequenceEnumId')!=null)return
            (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <drop-down>
                <entity-options entity-name="Enumeration" description="${description}" key-field-name="enumId">
                    <entity-constraint name="enumTypeId" operator="equals" value="QUOTE_SEQMD"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="orderIdPrefix" use-when="partyAcctgPreference==null"
            tooltip="${groovy: import org.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('orderIdPrefix')!=null)return (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <text maxlength="10" size="5"/>
        </field>
        <field name="orderSequenceEnumId" use-when="partyAcctgPreference==null"
            tooltip="${groovy: import org.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('orderSequenceEnumId')!=null)return
            (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <drop-down>
                <entity-options entity-name="Enumeration" description="${description}" key-field-name="enumId">
                    <entity-constraint name="enumTypeId" operator="equals" value="ORDER_SEQMD"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="createButton" use-when="partyAcctgPreference==null" title="${uiLabelMap.CommonAdd}"><submit/></field>
        <field name="updateButton" use-when="partyAcctgPreference!=null" title="${uiLabelMap.CommonUpdate}"><submit/></field>

        <!-- otherwise, we just display the fields.  there is no submit button because we shouldn't try to create it again and don't support an update option right now-->
        <field name="fiscalYearStartMonth" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('fiscalYearStartMonth')==null&amp;&amp;aggregatedPartyAcctgPreference.get('fiscalYearStartMonth')!=null)return
            (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <display/>
        </field>
        <field name="fiscalYearStartDay" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
            if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('fiscalYearStartDay')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('fiscalYearStartDay')!=null)return
                    (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display/>
        </field>
        <field name="taxFormId" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('taxFormId')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('taxFormId')!=null)return
                    (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display-entity entity-name="Enumeration" key-field-name="enumId"/>
        </field>
        <field name="cogsMethodId" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
            if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('cogsMethodId')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('cogsMethodId')!=null)return
                    (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display-entity entity-name="Enumeration" key-field-name="enumId"/>
        </field>
        <field name="baseCurrencyUomId" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('baseCurrencyUomId')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('baseCurrencyUomId')!=null)return
                (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display/>
        </field>
        <field name="invoiceIdPrefix" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('invoiceIdPrefix')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('invoiceIdPrefix')!=null)return
                (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display/>
        </field>
        <field name="invoiceSequenceEnumId" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('invoiceSequenceEnumId')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('invoiceSequenceEnumId')!=null)return
                (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display-entity entity-name="Enumeration" key-field-name="enumId"/>
        </field>
        <field name="useInvoiceIdForReturns" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('useInvoiceIdForReturns')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('useInvoiceIdForReturns')!=null)return
                (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display/>
        </field>
        <field name="quoteSequenceEnumId" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('quoteSequenceEnumId')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('quoteSequenceEnumId')!=null)return
                (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display-entity entity-name="Enumeration" key-field-name="enumId"/>
        </field>
        <field name="quoteIdPrefix" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('quoteIdPrefix')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('quoteIdPrefix')!=null)return
                (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display/>
        </field>
        <field name="lastQuoteNumber" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('lastQuoteNumber')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('lastQuoteNumber')!=null)return
                (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display/>
        </field>
        <field name="orderSequenceEnumId" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('orderSequenceEnumId')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('orderSequenceEnumId')!=null)return
                (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display-entity entity-name="Enumeration" key-field-name="enumId"/>
        </field>
        <field name="orderIdPrefix" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('orderIdPrefix')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('orderIdPrefix')!=null)return
                (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display/>
        </field>
        <field name="lastOrderNumber" use-when="partyAcctgPreference!=null" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if(partyAcctgPreference!= null&amp;&amp;partyAcctgPreference.get('lastOrderNumber')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('lastOrderNumber')!=null)return
                (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display/>
        </field>

        <!-- these 2 are ONLY displayed, never allow manual editing -->
        <field name="lastInvoiceNumber" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if((partyAcctgPreference==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('lastInvoiceNumber')!=null) ||
                (partyAcctgPreference!=null&amp;&amp;partyAcctgPreference.get('lastInvoiceNumber')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('lastInvoiceNumber')!=null))return
                    (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display/>
        </field>
        <field name="lastInvoiceRestartDate" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if((partyAcctgPreference==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('lastInvoiceRestartDate')!=null) ||
                (partyAcctgPreference!=null&amp;&amp;partyAcctgPreference.get('lastInvoiceRestartDate')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('lastInvoiceRestartDate')!=null))return (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <display/>
        </field>
        <!-- these 2 are always can be updated -->
        <field name="refundPaymentMethodId" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
                if((partyAcctgPreference==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('refundPaymentMethodId')!=null) ||
                (partyAcctgPreference!=null&amp;&amp;partyAcctgPreference.get('refundPaymentMethodId')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('refundPaymentMethodId')!=null))return
                (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale);)}">
            <drop-down>
                <entity-options entity-name="PaymentMethod" description="${description}" key-field-name="paymentMethodId">
                    <entity-constraint name="partyId" operator="equals" env-name="organizationPartyId"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="errorGlJournalId" tooltip="${groovy: import org.ofbiz.base.util.UtilProperties;
            if((partyAcctgPreference==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('errorGlJournalId')!=null) ||
            (partyAcctgPreference!=null&amp;&amp;partyAcctgPreference.get('errorGlJournalId')==null&amp;&amp;aggregatedPartyAcctgPreference!= null&amp;&amp;aggregatedPartyAcctgPreference.get('errorGlJournalId')!=null))return 
            (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', locale))}">
            <drop-down allow-empty="true">
                <entity-options entity-name="GlJournal" key-field-name="glJournalId" description="${glJournalName} [${glJournalId}]">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="glJournalName"/>
                </entity-options>
            </drop-down>
        </field>
    </form>

    <!-- forms for managing FX rates -->
    <form name="ListConversions" type="list" list-name="conversions"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <field name="uomId" title="${uiLabelMap.CommonFrom} ${uiLabelMap.CommonCurrency}"><display/></field>
        <field name="uomIdTo" title="${uiLabelMap.CommonTo} ${uiLabelMap.CommonCurrency}"><display/></field>
        <field name="purposeEnumId" title="${uiLabelMap.CommonPurpose}"><display-entity entity-name="Enumeration" key-field-name="enumId"/></field>
        <field name="conversionFactor"><display/></field>
        <field name="fromDate" title="${uiLabelMap.CommonFrom}"><display/></field>
        <field name="thruDate" title="${uiLabelMap.CommonThru}"><display/></field>
    </form>

    <form name="updateFXConversion" type="single" target="updateFXConversion" default-service-name="updateFXConversion"
        header-row-style="header-row" default-table-style="basic-table">
        <field name="organizationPartyId"><hidden value="${organizationPartyId}"/></field>
        <field name="uomId" title="${uiLabelMap.CommonFrom} ${uiLabelMap.CommonCurrency}">
            <drop-down allow-empty="true" no-current-selected-key="${defaultOrganizationPartyCurrencyUomId}">
                <entity-options key-field-name="uomId" description="${description} - ${abbreviation}" entity-name="Uom">
                    <entity-constraint name="uomTypeId" operator="equals" value="CURRENCY_MEASURE"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="uomIdTo" title="${uiLabelMap.CommonTo} ${uiLabelMap.CommonCurrency}">
            <drop-down allow-empty="true" no-current-selected-key="${defaultOrganizationPartyCurrencyUomId}">
                <entity-options key-field-name="uomId" description="${description} - ${abbreviation}" entity-name="Uom">
                    <entity-constraint name="uomTypeId" operator="equals" value="CURRENCY_MEASURE"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="purposeEnumId" title="${uiLabelMap.CommonPurpose}">
            <drop-down allow-empty="true">
                <entity-options entity-name="Enumeration" description="${description}" key-field-name="enumId">
                    <entity-constraint name="enumTypeId" operator="equals" value="CONVERSION_PURPOSE"/>
                    <entity-order-by field-name="sequenceId"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="conversionFactor"><text/></field>
        <field name="fromDate"><date-time/></field>
        <field name="thruDate"><date-time/></field>
        <field name="submitButton" title="${uiLabelMap.AccountingUpdateFX}"><submit/></field>
    </form>


    <form name="ListGlAccountTypeDefaults" type="list" target="" list-name="glAccountTypeDefaults"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <entity-condition entity-name="GlAccountTypeDefault" list="glAccountTypeDefaults">
                <condition-list>
                    <condition-expr field-name="organizationPartyId" operator="equals" from-field="organizationPartyId"/>
                </condition-list>
                <order-by field-name="glAccountTypeId"/>
            </entity-condition>
        </actions>
        <field name="glAccountTypeId">
            <display-entity entity-name="GlAccountType"/>
        </field>
        <field name="glAccountId">
            <display-entity entity-name="GlAccount" description="${accountCode} ${accountName}">
                <sub-hyperlink target="GlAccountNavigate" description="${glAccountId}">
                    <parameter param-name="glAccountId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="remove" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink description="${uiLabelMap.CommonRemove}" target="removeGlAccountTypeDefault">
                <parameter param-name="glAccountTypeId"/><parameter param-name="glAccountId"/><parameter param-name="organizationPartyId"/>
            </hyperlink>
        </field>
    </form>
    <form name="EditGlAccountTypeDefault" type="single" title="" target="createGlAccountTypeDefault"
        header-row-style="header-row" default-table-style="basic-table">
        <auto-fields-service service-name="createGlAccountTypeDefault"/>
        <field name="organizationPartyId"><hidden value="${organizationPartyId}"/></field>
        <field name="glAccountTypeId" title="${uiLabelMap.FormFieldTitle_glAccountType}">
            <drop-down>
                <entity-options entity-name="GlAccountType" description="${description}">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="glAccountId">
            <drop-down>
                <entity-options entity-name="GlAccountOrganizationAndClass" description="${accountCode} - ${accountName} [${glAccountId}]">
                    <entity-constraint name="organizationPartyId" operator="equals" value="${organizationPartyId}"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonSave}"><submit/></field>
    </form>

    <!-- forms for Sales invoice Itemtypes to GLAccount number -->
    <form name="ListSalInvoiceItemTypeGlAssignments" type="list" list-name="invoiceItemTypes"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <script location="component://accounting/webapp/accounting/WEB-INF/actions/admin/ListInvoiceItemTypesGlAccount.groovy"/>
        </actions>
        <field name="organizationPartyId"><hidden value="${organizationPartyId}"/></field>
        <field name="invoiceItemTypeId"><hidden/></field>
        <field name="description"><display/></field>
        <field name="defaultGlAccountId">
            <hyperlink target="GlAccountNavigate" description="${defaultGlAccountId}">
                <parameter param-name="glAccountId" from-field="defaultGlAccountId"/>
            </hyperlink>
        </field>
        <field name="overrideGlAccountId"><display/></field>
        <field name="activeGlDescription"><display/></field>
        <field name="remove" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="removeSalInvoiceItemTypeGlAssignment" description="${uiLabelMap.CommonRemove}">
                <parameter param-name="organizationPartyId"/><parameter param-name="invoiceItemTypeId"/>
            </hyperlink>
        </field>
    </form>
    <form name="AddSalInvoiceItemTypeGlAssignment" type="single" target="addSalInvoiceItemTypeGlAssignment"
        header-row-style="header-row" default-table-style="basic-table">
        <actions>
            <entity-one entity-name="GlAccountClass" value-field="revenueGlAccountClass">
                <field-map field-name="glAccountClassId" value="REVENUE"/>
            </entity-one>
            <set field="revenueAccountClassIds" value="${bsh:org.ofbiz.accounting.util.UtilAccounting.getDescendantGlAccountClassIds(revenueGlAccountClass)}" type="List"/>
        </actions>
        <auto-fields-service service-name="addInvoiceItemTypeGlAssignment"/>
        <field name="organizationPartyId"><hidden value="${organizationPartyId}"/></field>
        <field name="invoiceItemTypeId">
            <drop-down allow-empty="false" >
                <entity-options description="${description}" entity-name="InvoiceItemType">
                    <entity-constraint name="invoiceItemTypeId" operator="like" value="INV_%"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="glAccountId" title="${uiLabelMap.AccountingOverrideRevenueGlAccountId}">
            <drop-down>
                <entity-options entity-name="GlAccountOrganizationAndClass" description="${accountCode} - ${accountName} [${glAccountId}]">
                    <entity-constraint name="organizationPartyId" operator="equals" value="${organizationPartyId}"/>
                    <entity-constraint name="glAccountClassId" operator="in" env-name="revenueAccountClassIds"></entity-constraint>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>

        <field name="submitButton" title="${uiLabelMap.CommonSave}"><submit/></field>
    </form>

    <!-- forms for Purchase invoice Itemtypes to GLAccount number -->
    <form name="ListPurInvoiceItemTypeGlAssignments" type="list" list-name="invoiceItemTypes" default-map-name="iTypes"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <set field="invItemTypePrefix" value="PINV"/>
            <script location="component://accounting/webapp/accounting/WEB-INF/actions/admin/ListInvoiceItemTypesGlAccount.groovy"/>
        </actions>
        <field name="organizationPartyId"><hidden value="${organizationPartyId}"/></field>
        <field name="invoiceItemTypeId"><hidden/></field>
        <field name="description"><display/></field>
        <field name="defaultGlAccountId">
            <hyperlink target="GlAccountNavigate" description="${defaultGlAccountId}">
                <parameter param-name="glAccountId" from-field="defaultGlAccountId"/>
            </hyperlink>
        </field>
        <field name="overrideGlAccountId" title="${uiLabelMap.AccountingInvoiceOverrideExpenseGlAccountId}"><display/></field>
        <field name="activeGlDescription"><display/></field>
        <field name="remove" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="removePurInvoiceItemTypeGlAssignment" description="${uiLabelMap.CommonRemove}">
                <parameter param-name="organizationPartyId"/><parameter param-name="invoiceItemTypeId"/>
            </hyperlink>
        </field>
    </form>
    <form name="AddPurInvoiceItemTypeGlAssignment" type="single" target="addPurInvoiceItemTypeGlAssignment"
        header-row-style="header-row" default-table-style="basic-table">
        <actions>
            <entity-one entity-name="GlAccountClass" value-field="expenseGlAccountClass">
                <field-map field-name="glAccountClassId" value="EXPENSE"/>
            </entity-one>
            <set field="expenseAccountClassIds" value="${bsh:org.ofbiz.accounting.util.UtilAccounting.getDescendantGlAccountClassIds(expenseGlAccountClass)}" type="List"/>
        </actions>
        <auto-fields-service service-name="addInvoiceItemTypeGlAssignment"/>
        <field name="organizationPartyId"><hidden value="${organizationPartyId}"/></field>
        <field name="invoiceItemTypeId" title="${uiLabelMap.AccountingInvoicePurchaseItemType}">
            <drop-down allow-empty="false" >
                <entity-options description="${description}" entity-name="InvoiceItemType">
                    <entity-constraint name="invoiceItemTypeId" operator="like" value="PINV%"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="glAccountId" title="${uiLabelMap.AccountingInvoiceOverrideExpenseGlAccountId}">
            <drop-down>
                <entity-options entity-name="GlAccountOrganizationAndClass" description="${accountCode} - ${accountName} [${glAccountId}]">
                    <entity-constraint name="organizationPartyId" operator="equals" value="${organizationPartyId}"/>
                    <entity-constraint name="glAccountClassId" operator="in" env-name="expenseAccountClassIds"></entity-constraint>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonSave}"><submit/></field>
    </form>

    <!-- forms for payment types to GLAccount type -->
    <form name="ListPaymentTypeGlAssignments" type="list"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <entity-condition entity-name="PaymentGlAccountTypeMap">
                <condition-expr field-name="organizationPartyId" operator="equals" value="${organizationPartyId}"/>
                <order-by field-name="paymentTypeId"/>
            </entity-condition>
        </actions>
        <auto-fields-entity entity-name="PaymentGlAccountTypeMap" default-field-type="display"/>
        <field name="paymentTypeId" title="${uiLabelMap.AccountingPaymentType}"><display-entity entity-name="PaymentType"/></field>
        <field name="glAccountTypeId" title="${uiLabelMap.FormFieldTitle_glAccountType}"><display-entity entity-name="GlAccountType"/></field>
        <field name="organizationPartyId"><hidden/></field>
        <field name="remove" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="removePaymentTypeGlAssignment" description="${uiLabelMap.CommonRemove}">
                <parameter param-name="organizationPartyId"/><parameter param-name="paymentTypeId"/>
            </hyperlink>
        </field>
    </form>

    <form name="AddPaymentTypeGlAssignment" type="single" target="addPaymentTypeGlAssignment"
        header-row-style="header-row" default-table-style="basic-table">
        <auto-fields-service service-name="addPaymentTypeGlAssignment"/>
        <field name="organizationPartyId"><hidden value="${organizationPartyId}"/></field>
        <field name="paymentTypeId" title="${uiLabelMap.AccountingPaymentType}">
            <drop-down>
                <entity-options entity-name="PaymentType" description="${description}" key-field-name="paymentTypeId">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="glAccountTypeId" title="${uiLabelMap.FormFieldTitle_glAccountType}">
            <drop-down>
                <entity-options entity-name="GlAccountType" description="${description}" key-field-name="glAccountTypeId">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>

        <field name="submitButton" title="${uiLabelMap.CommonSave}"><submit/></field>
    </form>
    <!-- forms for payment method Type to GLAccounts -->
    <form name="ListPaymentMethodTypeGlAssignments" type="list"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <entity-condition entity-name="PaymentMethodTypeGlAccount">
                <condition-expr field-name="organizationPartyId" operator="equals" value="${organizationPartyId}"/>
                <order-by field-name="paymentMethodTypeId"/>
            </entity-condition>
        </actions>
        <row-actions>
            <entity-one entity-name="PaymentMethodType" value-field="paymentMethodType"/>
            <set field="defaultGlAccountId" value="${paymentMethodType.defaultGlAccountId}"/>
            <entity-one entity-name="GlAccount" value-field="glAccount"/>
            <set field="description" value="${glAccount.description}"/>
        </row-actions>
        <auto-fields-entity entity-name="PaymentMethodTypeGlAccount" default-field-type="display"/>
        <field name="paymentMethodTypeId"><display-entity entity-name="PaymentMethodType"/></field>
        <field name="glAccountId">
            <display-entity entity-name="GlAccount" description="${accountName}">
                <sub-hyperlink target="GlAccountNavigate" description="[${glAccountId}]">
                    <parameter param-name="glAccountId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="organizationPartyId"><hidden/></field>
        <field name="defaultGlAccountId">
            <hyperlink target="GlAccountNavigate" description="${defaultGlAccountId} : ${description}">
                <parameter param-name="glAccountId" from-field="defaultGlAccountId"/>
            </hyperlink>
        </field>
        <field name="remove" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="removePaymentMethodTypeGlAssignment" description="${uiLabelMap.CommonRemove}">
                <parameter param-name="organizationPartyId"/><parameter param-name="paymentMethodTypeId"/>
            </hyperlink>
        </field>
    </form>

    <form name="AddPaymentMethodTypeGlAssignment" type="single" target="addPaymentMethodTypeGlAssignment"
        header-row-style="header-row" default-table-style="basic-table">
        <auto-fields-service service-name="addPaymentMethodTypeGlAssignment"/>
        <field name="organizationPartyId"><hidden value="${organizationPartyId}"/></field>
        <field name="paymentMethodTypeId">
            <drop-down>
                <entity-options entity-name="PaymentMethodType" description="${description}" key-field-name="paymentMethodTypeId">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="glAccountId">
            <drop-down>
                <entity-options entity-name="GlAccountOrganizationAndClass" description="${accountCode} - ${accountName} [${glAccountId}]">
                    <entity-constraint name="organizationPartyId" operator="equals" value="${organizationPartyId}"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>

        <field name="submitButton" title="${uiLabelMap.CommonSave}"><submit/></field>
    </form>

    <!-- Accounting Time Period forms-->
    <form name="ListClosedTimePeriods" type="list" list-name="closedTimePeriods"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <auto-fields-entity entity-name="CustomTimePeriod" default-field-type="display"/>
        <field name="organizationPartyId"><hidden/></field>
        <field name="isClosed"><hidden/></field>
        <field name="periodTypeId">
          <display-entity entity-name="PeriodType"/>
        </field>
        <field name="parentPeriodId">
          <display-entity entity-name="CustomTimePeriod" key-field-name="customTimePeriodId" description="[${customTimePeriodId}] ${periodName}: ${fromDate} - ${thruDate}"/>
        </field>
    </form>
    <form name="ListOpenTimePeriods" type="list" list-name="openTimePeriods"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <auto-fields-entity entity-name="CustomTimePeriod" default-field-type="display"/>
        <field name="organizationPartyId"><hidden/></field>
        <field name="isClosed"><hidden/></field>
        <field name="periodTypeId">
          <display-entity entity-name="PeriodType"/>
        </field>
        <field name="parentPeriodId">
          <display-entity entity-name="CustomTimePeriod" key-field-name="customTimePeriodId" description="[${customTimePeriodId}] ${periodName}: ${fromDate} - ${thruDate}"/>
        </field>
        <field name="close" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="closeFinancialTimePeriod" description="${uiLabelMap.CommonClose}">
                <parameter param-name="organizationPartyId"/><parameter param-name="customTimePeriodId"/>
            </hyperlink>
        </field>
    </form>
    <form name="CreateTimePeriod" type="single" title="" target="createCustomTimePeriod"
        header-row-style="header-row" default-table-style="basic-table">
        <auto-fields-service service-name="createCustomTimePeriod"/>
        <field name="organizationPartyId"><hidden value="${organizationPartyId}"/></field>
        <field name="isClosed">
            <drop-down>
                <option description="${uiLabelMap.CommonNo}" key="N"/>
                <option description="${uiLabelMap.CommonYes}" key="Y"/>
            </drop-down>
        </field>
        <field name="parentPeriodId">
            <drop-down allow-empty="true">
                <list-options list-name="openTimePeriods" key-name="customTimePeriodId" description="[${customTimePeriodId}] ${periodName}: ${fromDate} - ${thruDate}"/>
            </drop-down>
        </field>
        <field name="periodTypeId">
            <drop-down>
                <entity-options entity-name="PeriodType" description="${description}">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonCreate}"><submit/></field>
    </form>

    <form name="EditGlJournal" type="single" target="createGlJournal" title="" default-map-name="glJournal"
        header-row-style="header-row" default-table-style="basic-table">
        <alt-target use-when="glJournal!=null" target="updateGlJournal"/>
        <auto-fields-service service-name="createGlJournal"/>
        <field name="organizationPartyId"><hidden/></field>
        <field name="glJournalId" use-when="glJournal!=null"><display/></field>
        <field name="submitButton" title="${uiLabelMap.CommonSubmit}"><submit button-type="button"/></field>
    </form>
    <form name="ListGlJournals" type="list"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <entity-condition entity-name="GlJournal">
                <condition-expr field-name="organizationPartyId" operator="equals" from-field="organizationPartyId"/>
                <order-by field-name="glJournalId"/>
            </entity-condition>
        </actions>
        <auto-fields-entity entity-name="GlJournal" default-field-type="display"/>
        <field name="organizationPartyId"><hidden/></field>
        <field name="glJournalId" widget-style="buttontext">
            <hyperlink target="SetupGlJournals" description="${glJournalId}">
                <parameter param-name="organizationPartyId"/><parameter param-name="glJournalId"/>
            </hyperlink>
        </field>
        <field name="remove" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="deleteGlJournal" description="${uiLabelMap.CommonRemove}">
                <parameter param-name="organizationPartyId"/><parameter param-name="glJournalId"/>
            </hyperlink>
        </field>
    </form>

    <form name="ListProductGlAccounts" type="list" target="updateProductGlAccount" list-name="productGlAccounts"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <auto-fields-service service-name="updateProductGlAccount" default-field-type="display"/>
        <field name="organizationPartyId"><hidden/></field>
        <field name="glAccountTypeId"><display-entity entity-name="GlAccountType"/></field>
        <field name="glAccountId" title="${uiLabelMap.ProductGlAccount}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="deleteProductGlAccount" description="${uiLabelMap.CommonRemove}">
                <parameter param-name="organizationPartyId"/><parameter param-name="productId"/><parameter param-name="glAccountTypeId"/>
            </hyperlink>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>

    <form name="AddProductGlAccount" type="single" target="createProductGlAccount"
        header-row-style="header-row" default-table-style="basic-table">
        <field name="organizationPartyId"><hidden/></field>
        <field name="glAccountTypeId" title="${uiLabelMap.ProductAccountType}">
            <drop-down allow-empty="false">
                <entity-options description="${description}" entity-name="GlAccountType">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="glAccountId" title="${uiLabelMap.ProductGlAccount}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="productId" title="${uiLabelMap.AccountingProductId}">
            <lookup target-form-name="LookupProduct"/>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonAdd}"><submit button-type="button"/></field>
    </form>

    <form name="ListFinAccountTypeGlAccounts" type="list" target="updateFinAccountTypeGlAccount" list-name="finAccountTypeGlAccounts"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <auto-fields-service service-name="updateFinAccountTypeGlAccount"/>
        <field name="organizationPartyId"><hidden value="${organizationPartyId}"/></field>
        <field name="finAccountTypeId"><display-entity entity-name="FinAccountType"/></field>
        <field name="glAccountId" title="${uiLabelMap.AccountingGlAccountId}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="deleteFinAccountTypeGlAccount" description="${uiLabelMap.CommonRemove}">
                <parameter param-name="organizationPartyId"/><parameter param-name="finAccountTypeId"/>
            </hyperlink>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>

    <form name="AddFinAccountTypeGlAccount" type="single" target="createFinAccountTypeGlAccount"
        header-row-style="header-row" default-table-style="basic-table">
        <field name="organizationPartyId"><hidden value="${organizationPartyId}"/></field>
        <field name="finAccountTypeId" title="${uiLabelMap.FormFieldTitle_finAccountTypeId}">
            <drop-down allow-empty="false">
                <list-options key-name="finAccountTypeId" list-name="finAccountTypes" description="${description}"/>
            </drop-down>
        </field>
        <field name="glAccountId" title="${uiLabelMap.AccountingGlAccountId}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonAdd}"><submit button-type="button"/></field>
    </form>

    <form name="ListProductCategoryGlAccounts" type="list" target="updateProductCategoryGlAccount" list-name="productCategoryGlAccounts"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <auto-fields-service service-name="updateProductCategoryGlAccount" default-field-type="display"/>
        <field name="organizationPartyId"><hidden/></field>
        <field name="glAccountTypeId"><display-entity entity-name="GlAccountType"/></field>
        <field name="glAccountId" title="${uiLabelMap.ProductGlAccount}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="deleteProductCategoryGlAccount" description="${uiLabelMap.CommonRemove}">
                <parameter param-name="organizationPartyId"/><parameter param-name="productCategoryId"/><parameter param-name="glAccountTypeId"/>
            </hyperlink>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>

    <form name="AddProductCategoryGlAccount" type="single" target="createProductCategoryGlAccount"
        header-row-style="header-row" default-table-style="basic-table">
        <field name="organizationPartyId"><hidden/></field>
        <field name="glAccountTypeId" title="${uiLabelMap.ProductAccountType}">
            <drop-down allow-empty="false">
                <entity-options description="${description}" entity-name="GlAccountType">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="glAccountId" title="${uiLabelMap.ProductGlAccount}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="productCategoryId" title="${uiLabelMap.ProductProductCategoryId}">
            <lookup target-form-name="LookupProductCategory"/>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonAdd}"><submit button-type="button"/></field>
    </form>

    <form name="ListVarianceReasonGlAccounts" type="list" target="updateVarianceReasonGlAccount" list-name="varianceReasonGlAccounts"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <auto-fields-service service-name="updateVarianceReasonGlAccount" default-field-type="display"/>
        <field name="organizationPartyId"><hidden/></field>
        <field name="varianceReasonId"><display-entity entity-name="VarianceReason"/></field>
        <field name="glAccountId" title="${uiLabelMap.AccountingGlAccountId}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="deleteVarianceReasonGlAccount" description="${uiLabelMap.CommonRemove}">
                <parameter param-name="organizationPartyId"/><parameter param-name="varianceReasonId"/>
            </hyperlink>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>

    <form name="AddVarianceReasonGlAccount" type="single" target="createVarianceReasonGlAccount"
        header-row-style="header-row" default-table-style="basic-table">
        <field name="organizationPartyId"><hidden/></field>
        <field name="varianceReasonId" title="${uiLabelMap.FormFieldTitle_varianceReasonId}">
            <drop-down allow-empty="false">
                <entity-options entity-name="VarianceReason" description="${description}">
                    <entity-order-by field-name="varianceReasonId"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="glAccountId" title="${uiLabelMap.FormFieldTitle_glAccountTypeId}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonAdd}"><submit button-type="button"/></field>
    </form>

    <form name="ListCreditCardTypeGlAccounts" type="list" target="updateCreditCardTypeGlAccount" list-name="creditCardTypeGlAccounts"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <auto-fields-service service-name="updateCreditCardTypeGlAccount" default-field-type="display"/>
        <field name="organizationPartyId"><hidden/></field>
        <field name="glAccountId" title="${uiLabelMap.AccountingGlAccountId}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="deleteCreditCardTypeGlAccount" description="${uiLabelMap.CommonRemove}">
                <parameter param-name="organizationPartyId"/><parameter param-name="cardType"/>
            </hyperlink>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>

    <form name="AddCreditCardTypeGlAccount" type="single" target="createCreditCardTypeGlAccount"
        header-row-style="header-row" default-table-style="basic-table">
        <field name="organizationPartyId"><hidden/></field>
        <field name="cardType">
            <drop-down allow-empty="false">
                <entity-options entity-name="Enumeration" description="${enumCode}" key-field-name="enumId">
                    <entity-constraint name="enumTypeId" operator="equals" value="CREDIT_CARD_TYPE"/>
                    <entity-order-by field-name="enumId"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="glAccountId" title="${uiLabelMap.AccountingGlAccountId}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonAdd}"><submit button-type="button"/></field>
    </form>

    <form name="ListTaxAuthorityGlAccounts" type="list" target="updateOrganizationTaxAuthorityGlAccount" list-name="taxAuthorityGlAccounts"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <auto-fields-service service-name="updateTaxAuthorityGlAccount" default-field-type="display"/>
        <field name="organizationPartyId"><hidden/></field>
        <field name="taxAuthGeoId" title="${uiLabelMap.AccountingTaxAuthorityGeo}">
            <display-entity entity-name="Geo" key-field-name="geoId" description="[${geoId}] ${geoName}"/>
        </field>
        <field name="taxAuthPartyId" title="${uiLabelMap.AccountingTaxAuthorityParty}">
            <display-entity entity-name="PartyNameView" key-field-name="partyId" description="${firstName} ${middleName} ${lastName} ${groupName}">
                <sub-hyperlink description="${taxAuthPartyId}" target="/partymgr/control/viewprofile" target-type="inter-app" link-style="buttontext">
                    <parameter param-name="partyId" from-field="taxAuthPartyId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="glAccountId" title="${uiLabelMap.AccountingGlAccountId}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="deleteOrganizationTaxAuthorityGlAccount" description="${uiLabelMap.CommonDelete}">
                <parameter param-name="organizationPartyId"/><parameter param-name="taxAuthGeoId"/><parameter param-name="taxAuthPartyId"/>
            </hyperlink>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>

    <form name="AddTaxAuthorityGlAccount" type="list" target="createOrganizationTaxAuthorityGlAccount" list-name="taxAuthorityHavingNoGlAccountList"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <field name="organizationPartyId"><hidden/></field>
        <field name="taxAuthGeoId" title="${uiLabelMap.AccountingTaxAuthorityGeo}">
            <display-entity entity-name="Geo" key-field-name="geoId" description="[${geoId}] ${geoName}"/>
        </field>
        <field name="taxAuthPartyId" title="${uiLabelMap.AccountingTaxAuthorityParty}">
            <display-entity entity-name="PartyNameView" key-field-name="partyId" description="${firstName} ${middleName} ${lastName} ${groupName}">
                <sub-hyperlink description="${taxAuthPartyId}" target="/partymgr/control/viewprofile" target-type="inter-app" link-style="buttontext">
                    <parameter param-name="partyId" from-field="taxAuthPartyId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="glAccountId" title="${uiLabelMap.AccountingGlAccountId}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonAdd}"><submit button-type="button"/></field>
    </form>

    <form name="ListPartyGlAccounts" type="list" target="updatePartyGlAccount" list-name="partyGlAccounts"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <auto-fields-service service-name="updatePartyGlAccount" default-field-type="display"/>
        <field name="organizationPartyId"><hidden/></field>
        <field name="partyId">
            <hyperlink target="/partymgr/control/viewprofile" description="${partyId}" target-type="inter-app">
                <parameter param-name="partyId"/>
            </hyperlink>
        </field>
        <field name="glAccountId" title="${uiLabelMap.AccountingGlAccountId}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="deletePartyGlAccount" description="${uiLabelMap.CommonDelete}">
                <parameter param-name="organizationPartyId"/><parameter param-name="partyId"/><parameter param-name="glAccountId"/><parameter param-name="roleTypeId"/><parameter param-name="glAccountTypeId"/>
            </hyperlink>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>

    <form name="AddPartyGlAccount" type="single" target="createPartyGlAccount"
        header-row-style="header-row" default-table-style="basic-table">
        <auto-fields-service service-name="createPartyGlAccount" default-field-type="display"/>
        <field name="organizationPartyId"><hidden/></field>
        <field name="partyId" title="${uiLabelMap.PartyPartyId}"><lookup target-form-name="LookupPartyName"/></field>
        <field name="roleTypeId" title="${uiLabelMap.FormFieldTitle_roleTypeId}">
            <drop-down allow-empty="true">
                <entity-options entity-name="RoleType" key-field-name="roleTypeId" description="${description}">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="glAccountTypeId" title="${uiLabelMap.FormFieldTitle_glAccountTypeId}">
            <drop-down>
                <entity-options entity-name="GlAccountType" description="${description}" key-field-name="glAccountTypeId">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="glAccountId" title="${uiLabelMap.AccountingGlAccountId}">
            <drop-down allow-empty="false">
                <entity-options description="${accountCode} - ${accountName} [${glAccountId}]" entity-name="GlAccountOrganizationAndClass">
                    <entity-constraint name="organizationPartyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonAdd}"><submit button-type="button"/></field>
    </form>

    <form name="ListGlAccountOrgCsv" list-name="listIt" target="" title="" type="list" view-size="99999"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar" paginate="false">
        <actions>
            <entity-condition entity-name="GlAccountOrganizationAndClass">
                <condition-expr field-name="organizationPartyId" from-field="organizationPartyId"/>
                <order-by field-name="glAccountId"/>
            </entity-condition>
        </actions>
        <field name="glAccountId"><display description="${glAccountId}"/></field>
        <field name="glAccountTypeId"><display-entity entity-name="GlAccountType"/></field>
        <field name="glAccountClassId"><display-entity entity-name="GlAccountClass" key-field-name="glAccountClassId"/></field>
        <field name="glResourceTypeId"><display-entity entity-name="GlResourceType" key-field-name="glResourceTypeId"/></field>
        <field name="glXbrlClassId"><display-entity entity-name="GlXbrlClass" key-field-name="glXbrlClassId"/></field>
        <field name="parentGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${parentGlAccountId}"/></field>            
        <field name="accountCode" ><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode}"/></field>
        <field name="accountName" ><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountName}"/></field>
        <field name="description"><display description="${description}"/></field>
        <field name="productId"><display description="${productId}"/></field>
        <field name="postedBalance"><display description="${postedBalance}"/></field>
    </form>
    
    <form name="FindGlAccountCategory" type="single" target="FindGlAccountCategory" default-entity-name="GlAccountCategory">
        <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
        <field name="glAccountCategoryId"><text-find/></field>
        <field name="glAccountCategoryTypeId" title="${uiLabelMap.FormFieldTitle_glAccountCategoryType}">
            <drop-down>
                <entity-options entity-name="GlAccountCategoryType" key-field-name="glAccountCategoryTypeId" description="${description}"/>
            </drop-down>
        </field>
        <field name="searchButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>

    <form name="ListGlAccountCategory" type="list" list-name="listIt" paginate-target="FindGlAccountCategory" default-entity-name="GlAccountCategory" separate-columns="true"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <service service-name="performFind" result-map="result" result-map-list="listIt">
                <field-map field-name="inputFields" from-field="parameters"/>
                <field-map field-name="entityName" value="GlAccountCategory"/>
                <field-map field-name="viewIndex" from-field="viewIndex"/>
                <field-map field-name="viewSize" from-field="viewSize"/>
            </service>
        </actions>
        <field name="glAccountCategoryId" widget-style="buttontext">
            <hyperlink also-hidden="false" description="${glAccountCategoryId}" target="EditGlAccountCategory">
                <parameter param-name="glAccountCategoryId"/>
                <parameter param-name="glAccountCategoryTypeId"/>
            </hyperlink>
        </field>
        <field name="glAccountCategoryTypeId"><display-entity entity-name="GlAccountCategoryType"/></field>
        <field name="description" title="${uiLabelMap.CommonDescription}" sort-field="true"><display/></field>
    </form>

    <form name="EditGlAccountCategory" type="single"  target="updateGlAccountCategory" default-map-name="glAccountCategory">
        <alt-target use-when="glAccountCategory==null" target="createGlAccountCategory"/>
        <auto-fields-entity entity-name="GlAccountCategory" default-field-type="edit"/>
        <field name="glAccountCategoryId" use-when="glAccountCategoryId!=null"><display/></field>
        <field name="glAccountCategoryId" use-when="glAccountCategoryId==null"><hidden/></field>
        <field name="glAccountCategoryTypeId" title="${uiLabelMap.FormFieldTitle_glAccountCategoryType}">
            <drop-down>
                <entity-options entity-name="GlAccountCategoryType" key-field-name="glAccountCategoryTypeId" description="${description}"/>
            </drop-down>
        </field>
        <field name="submit" use-when="glAccountCategory==null" title="${uiLabelMap.CommonCreate}"><submit button-type="button"/></field>
        <field name="submit" use-when="glAccountCategory!=null" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
    </form>

    <form name="ListGlAccountCategoryMember" type="list" list-name="glAccountCategoryMemberList" target="updateGlAccountCategoryMember">
        <actions>
            <entity-condition entity-name="GlAccountCategoryMember" list="glAccountCategoryMemberList">
                <condition-expr field-name="glAccountCategoryId" from-field="glAccountCategoryId"/>
            </entity-condition>
        </actions>
        <auto-fields-entity entity-name="GlAccountCategoryMember" default-field-type="edit"/>
        <field name="glAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${glAccountId}-${accountName}"/></field>
        <field name="glAccountCategoryId"><display-entity entity-name="GlAccountCategory"/></field>
        <field name="fromDate"><display/></field>
        <field name="thruDate"><date-time/></field>
        <field name="deleteLink" title="" widget-style="buttontext">
            <hyperlink target="deleteGlAccountCategoryMember" description="${uiLabelMap.CommonDelete}" also-hidden="false">
                <parameter param-name="glAccountId" from-field="glAccountId"/>
                <parameter param-name="glAccountCategoryId" from-field="glAccountCategoryId"/>
                <parameter param-name="fromDate" from-field="fromDate"/>
            </hyperlink>
        </field>
        
        <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
    </form>

    <form name="AddGlAccountCategoryMember" type="single" target="createGlAccountCategoryMember">
        <field name="glAccountCategoryId"><display/></field>
        <field name="glAccountId">
            <drop-down allow-empty="false">
                <entity-options description="${glAccountId}" entity-name="GlAccount"/>
            </drop-down>
        </field>
        <field name="fromDate"><date-time/></field>
        <field name="thruDate"><date-time/></field>
        <field name="amountPercentage"><text/></field>
        <field name="submit" title="${uiLabelMap.CommonAdd}"><submit button-type="button"/></field>
    </form>
    <form name="AddFixedAssetTypeGlAccount" type="single" target="createFixedAssetTypeGlAccount" title=""
        header-row-style="header-row" default-table-style="basic-table">
        <auto-fields-service service-name="createFixedAssetTypeGlAccount" default-field-type="edit"/>
        <field name="fixedAssetId">
            <drop-down allow-empty="false">
                <option key="_NA_" description="${uiLabelMap.CommonAll}"/>
                <entity-options entity-name="FixedAsset" description="${fixedAssetId} - ${fixedAssetName}">
                    <entity-constraint name="partyId" operator="equals" env-name="organizationPartyId"/>
                    <entity-order-by field-name="fixedAssetId"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="fixedAssetTypeId">
            <drop-down allow-empty="false">
                <option key="_NA_" description="${uiLabelMap.CommonAll}"/>
                <entity-options entity-name="FixedAssetType" description="${description}">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="organizationPartyId"><hidden/></field>
        <field name="assetGlAccountId">
            <drop-down allow-empty="true">
                <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]">
                    <entity-constraint name="organizationPartyId" operator="equals" value="${organizationPartyId}"/>
                    <entity-constraint name="glAccountClassId" operator="equals" value="LONGTERM_ASSET"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="accDepGlAccountId">
            <drop-down allow-empty="true">
                <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]">
                    <entity-constraint name="organizationPartyId" operator="equals" value="${organizationPartyId}"/>
                    <entity-constraint name="glAccountClassId" operator="equals" value="ACCUM_DEPRECIATION"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
                <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]">
                    <entity-constraint name="organizationPartyId" operator="equals" value="${organizationPartyId}"/>
                    <entity-constraint name="glAccountClassId" operator="equals" value="ACCUM_AMORTIZATION"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="depGlAccountId">
            <drop-down allow-empty="true">
                <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]">
                    <entity-constraint name="organizationPartyId" operator="equals" value="${organizationPartyId}"/>
                    <entity-constraint name="glAccountClassId" operator="equals" value="DEPRECIATION"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
                <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]">
                    <entity-constraint name="organizationPartyId" operator="equals" value="${organizationPartyId}"/>
                    <entity-constraint name="glAccountClassId" operator="equals" value="AMORTIZATION"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="profitGlAccountId">
            <drop-down allow-empty="true">
                <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]">
                    <entity-constraint name="organizationPartyId" operator="equals" value="${organizationPartyId}"/>
                    <entity-constraint name="glAccountClassId" operator="equals" value="CASH_INCOME"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="lossGlAccountId">
            <drop-down allow-empty="true">
                <entity-options entity-name="GlAccountOrganizationAndClass" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]">
                    <entity-constraint name="organizationPartyId" operator="equals" value="${organizationPartyId}"/>
                    <entity-constraint name="glAccountClassId" operator="equals" value="SGA_EXPENSE"/>
                    <entity-order-by field-name="accountCode"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonAdd}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <form name="FixedAssetTypeGlAccounts" type="list"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <entity-condition entity-name="FixedAssetTypeGlAccount" list="fixedAssetTypeGlAccounts">
                <condition-expr field-name="organizationPartyId" from-field="organizationPartyId"/>
            </entity-condition>
        </actions>
        <field name="fixedAssetTypeId"><display-entity entity-name="FixedAssetType"/></field>
        <field name="fixedAssetId"><display-entity entity-name="FixedAsset" description="${fixedAssetId} ${fixedAssetName}"/></field>
        <field name="assetGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field>
        <field name="accDepGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field>
        <field name="depGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field>
        <field name="profitGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field>
        <field name="lossGlAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode} - ${accountName} [${glAccountId}]"/></field>
        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
            <hyperlink target="deleteFixedAssetTypeGlAccount" description="${uiLabelMap.CommonDelete}" also-hidden="false">
                <parameter param-name="fixedAssetTypeId"/>
                <parameter param-name="fixedAssetId"/>
                <parameter param-name="organizationPartyId"/>
            </hyperlink>
        </field>
    </form>
</forms>
