svn commit: r794667 - in /ofbiz/trunk/applications/accounting: config/ script/org/ofbiz/accounting/ledger/ servicedef/ webapp/accounting/WEB-INF/ webapp/accounting/WEB-INF/actions/reports/ webapp/accounting/reports/ widget/

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r794667 - in /ofbiz/trunk/applications/accounting: config/ script/org/ofbiz/accounting/ledger/ servicedef/ webapp/accounting/WEB-INF/ webapp/accounting/WEB-INF/actions/reports/ webapp/accounting/reports/ widget/

apatel-2
Author: apatel
Date: Thu Jul 16 13:30:45 2009
New Revision: 794667

URL: http://svn.apache.org/viewvc?rev=794667&view=rev
Log:
Report for Monthly trial balance.
Accounting > Organization GL settings > Accounting > Reports > Monthly Trial Balance.
Brajesh Patel (Guru Dev), Thanks for working on it.

Added:
    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/MonthlyTrialBalance.groovy
    ofbiz/trunk/applications/accounting/webapp/accounting/reports/MonthlyTrialBalance.ftl   (with props)
Modified:
    ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
    ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml
    ofbiz/trunk/applications/accounting/servicedef/services_ledger.xml
    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy
    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
    ofbiz/trunk/applications/accounting/widget/Menus.xml
    ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
    ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml

Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml?rev=794667&r1=794666&r2=794667&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml (original)
+++ ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml Thu Jul 16 13:30:45 2009
@@ -4819,6 +4819,9 @@
         <value xml:lang="th">วิธี</value>
         <value xml:lang="zh">方法</value>
     </property>
+    <property key="AccountingMonthlyTrialBalance">
+        <value xml:lang="en">Monthly Trial Balance</value>
+    </property>
     <property key="AccountingMiddleNameCard">
         <value xml:lang="ar">الإسم الوسط على البطاقة</value>
         <value xml:lang="de">Mittlerer Name auf Karte</value>

Modified: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml?rev=794667&r1=794666&r2=794667&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml (original)
+++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml Thu Jul 16 13:30:45 2009
@@ -472,5 +472,40 @@
         <field-to-result field="debitTotal"/>
         <field-to-result field="creditTotal"/>
         <field-to-result field="debitCreditDifference"/>
+        
     </simple-method>
+
+    <!-- GlAccount Trial Balance based on isPosted flag -->
+    <simple-method method-name="calculateGlAccountTrialBalance" short-description="Calculate Trial Balance for a GlAccount">
+        <set field="openingDebitTotal" type="BigDecimal" value="0"/>
+        <set field="openingCreditTotal" type="BigDecimal" value="0"/>
+        <set field="debitCreditDifference" type="BigDecimal" value="0"/>
+        
+        <!-- iterate through all GlAccOrgAndAcctgTransAndEntry in this account and that are filter based on posted and unposted, and get totals of all debits and of all credits -->
+        <entity-condition entity-name="GlAccOrgAndAcctgTransAndEntry" list="glAccOrgAndAcctgTransAndEntries" use-cache="true">
+            <condition-list combine="and">
+                <condition-expr field-name="glAccountId" operator="equals" from-field="parameters.glAccountId"/>
+                <condition-expr field-name="isPosted" operator="equals" from-field="parameters.isPosted" ignore-if-empty="true"/>
+                <condition-expr field-name="transactionDate" operator="greater-equals" from-field="parameters.fromDate"/>
+                <condition-expr field-name="transactionDate" operator="less" from-field="parameters.thruDate"/>
+            </condition-list>
+            <use-iterator/>
+        </entity-condition>
+
+        <if-not-empty field="glAccOrgAndAcctgTransAndEntries">
+            <iterate entry="glAccOrgAndAcctgTransAndEntry" list="glAccOrgAndAcctgTransAndEntries">
+                <if-compare field="glAccOrgAndAcctgTransAndEntry.debitCreditFlag" operator="equals" value="D">
+                    <set field="openingDebitTotal" value="${openingDebitTotal + glAccOrgAndAcctgTransAndEntry.totalAmount}" type="BigDecimal" default-value="0"/>
+                <else>
+                    <set field="openingCreditTotal" value="${openingCreditTotal + glAccOrgAndAcctgTransAndEntry.totalAmount}" type="BigDecimal" default-value="0"/>
+                </else>
+                </if-compare>
+            </iterate>
+            <set field="debitCreditDifference" value="${openingDebitTotal - openingCreditTotal}" type="BigDecimal"/>
+        </if-not-empty>
+        <field-to-result field="openingDebitTotal"/>
+        <field-to-result field="openingCreditTotal"/>
+        <field-to-result field="debitCreditDifference"/>
+    </simple-method>
+
 </simple-methods>

Modified: ofbiz/trunk/applications/accounting/servicedef/services_ledger.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/services_ledger.xml?rev=794667&r1=794666&r2=794667&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/servicedef/services_ledger.xml (original)
+++ ofbiz/trunk/applications/accounting/servicedef/services_ledger.xml Thu Jul 16 13:30:45 2009
@@ -587,4 +587,15 @@
         <attribute name="creditTotal" type="BigDecimal" mode="OUT"/>
         <attribute name="debitCreditDifference" type="BigDecimal" mode="OUT"/>
     </service>
+    <service name="calculateGlAccountTrialBalance" default-entity-name="GlAccount" engine="simple"
+            location="component://accounting/script/org/ofbiz/accounting/ledger/AcctgTransServices.xml" invoke="calculateGlAccountTrialBalance" auth="true">
+        <description>Calculate Trial Balance for a GlAccount</description>
+        <attribute name="glAccountId" mode="IN" type="String"/>
+        <attribute name="isPosted" mode="IN" type="String" optional="true"/>
+        <attribute name="fromDate" mode="IN" type="Timestamp"/>
+        <attribute name="thruDate" mode="IN" type="Timestamp"/>
+        <attribute name="openingDebitTotal" type="BigDecimal" mode="OUT"/>
+        <attribute name="openingCreditTotal" type="BigDecimal" mode="OUT"/>
+        <attribute name="debitCreditDifference" type="BigDecimal" mode="OUT"/>
+    </service>
 </services>

Added: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/MonthlyTrialBalance.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/MonthlyTrialBalance.groovy?rev=794667&view=auto
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/MonthlyTrialBalance.groovy (added)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/MonthlyTrialBalance.groovy Thu Jul 16 13:30:45 2009
@@ -0,0 +1,53 @@
+/*
+ * 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.
+ */
+
+import java.sql.Timestamp;
+import org.ofbiz.base.util.UtilDateTime;
+import org.ofbiz.entity.util.EntityUtil;
+
+if (organizationPartyId && parameters.selectedMonth) {
+    selectedMonth = new Integer(parameters.selectedMonth);
+    context.selectedMonth = selectedMonth;
+    selectedMonthDate = UtilDateTime.toTimestamp((selectedMonth + 1), 1, UtilDateTime.getYear(UtilDateTime.nowTimestamp(), timeZone, locale), 0, 0, 0);
+
+    selectedMonthStartDate = UtilDateTime.getMonthStart(selectedMonthDate, timeZone, locale);
+    selectedMonthEndDate = UtilDateTime.getMonthEnd(selectedMonthDate, timeZone, locale);
+
+    onlyIncludePeriodTypeIdList = [];
+    onlyIncludePeriodTypeIdList.add("FISCAL_YEAR");
+    customTimePeriodResult = dispatcher.runSync("findCustomTimePeriods", [findDate : selectedMonthDate, organizationPartyId : organizationPartyId, onlyIncludePeriodTypeIdList : onlyIncludePeriodTypeIdList, userLogin : userLogin]);
+
+    if (customTimePeriodResult) {
+        customTimePeriod = EntityUtil.getFirst(customTimePeriodResult.customTimePeriodList);
+        if (customTimePeriod) {
+            fromDate = new Timestamp((customTimePeriod.fromDate).getTime());
+            thruDate = new Timestamp((customTimePeriod.thruDate).getTime());
+            customTimePeriodFromDate = new Timestamp((customTimePeriod.fromDate).getTime());
+            if (selectedMonthStartDate.compareTo(fromDate) > 0) {
+                fromDate =  selectedMonthStartDate;
+            }
+            if (selectedMonthEndDate.compareTo(thruDate) < 0) {
+                thruDate =  selectedMonthEndDate;
+            }
+            context.monthlyTrialBalanceFromDate = fromDate;
+            context.monthlyTrialBalanceThruDate = thruDate;
+            context.financialYearFromDate = customTimePeriodFromDate;
+        }
+    }
+}
\ No newline at end of file

Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy?rev=794667&r1=794666&r2=794667&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy Thu Jul 16 13:30:45 2009
@@ -29,6 +29,8 @@
 
 debitTotal = BigDecimal.ZERO;
 creditTotal = BigDecimal.ZERO;
+openingCreditBalance = BigDecimal.ZERO;
+openingDebitBalance = BigDecimal.ZERO;
 
 exprs = [EntityCondition.makeCondition("organizationPartyId", EntityOperator.EQUALS, organizationPartyId)];
 if (fromDate) {
@@ -79,10 +81,19 @@
 
 private void addTransToList(List transectionList, String prevGlAccountId, Map value) {
     if (!prevGlAccountId.equals(value.glAccountId)) {
+        if (parameters.selectedMonth){
+            resultMap = dispatcher.runSync("calculateGlAccountTrialBalance",
+                    [fromDate : financialYearFromDate, thruDate : fromDate , glAccountId : prevGlAccountId, isPosted : value.isPosted, userLogin : userLogin]);
+    
+            openingCreditBalance = resultMap.openingCreditTotal;
+            openingDebitBalance = resultMap.openingDebitTotal;
+        }
         postedAndUnpostedMap = FastMap.newInstance();
         postedAndUnpostedMap.glAccountId = prevGlAccountId;
         postedAndUnpostedMap.credit = creditTotal;
         postedAndUnpostedMap.debit = debitTotal;
+        postedAndUnpostedMap.openingCreditBalance = openingCreditBalance;
+        postedAndUnpostedMap.openingDebitBalance = openingDebitBalance;
         transectionList.add(postedAndUnpostedMap);
         debitTotal = BigDecimal.ZERO;
         creditTotal = BigDecimal.ZERO;
@@ -131,10 +142,7 @@
 private void getPostedAndUnpostedTrans(int index, String prevGlAccountId) {
     if (index != allTrans.size())
         value = allTrans.get(index);
-    else {
-        tempValueMap.isPosted = "X";
-        value = tempValueMap;
-    }
+    value.isPosted = "";
     addTransToList(postedAndUnpostedTransTotalList, prevGlAccountId, value);  
     if (index < allTrans.size()) {
         index++;

Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml?rev=794667&r1=794666&r2=794667&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Thu Jul 16 13:30:45 2009
@@ -2191,6 +2191,14 @@
         <response name="success" type="view" value="CommissionRun"/>
     </request-map>
 
+    <request-map uri="MonthlyTrialBalance">
+        <security auth="true" https="true"/>
+        <response name="success" type="view" value="MonthlyTrialBalance"/>
+    </request-map>
+    <request-map uri="MonthlyTrialBalance.pdf">
+        <security auth="true" https="true"/>
+        <response name="success" type="view" value="MonthlyTrialBalancePdf"/>
+    </request-map>
     <!-- end of request mappings -->
 
     <!-- View Mappings -->
@@ -2464,6 +2472,8 @@
     <view-map name="GlAccountTrialBalance" type="screen" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#GlAccountTrialBalance"/>
     <view-map name="GlAccountTrialBalanceReportPdf" type="screenfop" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#GlAccountTrialBalanceReportPdf" content-type="application/pdf" encoding="none"/>
     <view-map name="CommissionRun" type="screen" page="component://accounting/widget/ap/InvoiceScreens.xml#CommissionRun"/>
-    
+    <view-map name="MonthlyTrialBalance" type="screen" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#MonthlyTrialBalance"/>
+    <view-map name="MonthlyTrialBalancePdf" type="screenfop" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#MonthlyTrialBalancePdf" content-type="application/pdf"/>
+
     <!-- end of view mappings -->
 </site-conf>

Added: ofbiz/trunk/applications/accounting/webapp/accounting/reports/MonthlyTrialBalance.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/reports/MonthlyTrialBalance.ftl?rev=794667&view=auto
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/reports/MonthlyTrialBalance.ftl (added)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/reports/MonthlyTrialBalance.ftl Thu Jul 16 13:30:45 2009
@@ -0,0 +1,53 @@
+<#--
+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.
+-->
+<#include "component://common/webcommon/includes/commonMacros.ftl"/>
+<div class="screenlet">
+    <div class="screenlet-title-bar">
+        <label><b>${uiLabelMap.AccountingMonthlyTrialBalance}</b></label>
+    </div>
+    <div class="screenlet-body">
+        <form name="MonthlyTrialBalanceForm" id="MonthlyTrialBalanceForm" type="text" method="post" action="<@ofbizUrl>MonthlyTrialBalance</@ofbizUrl>">
+            <input type="hidden" name="organizationPartyId" value="${organizationPartyId}"/>
+            <#assign currentMonth = Static["org.ofbiz.base.util.UtilDateTime"].getMonth(Static["org.ofbiz.base.util.UtilDateTime"].nowTimestamp(), timeZone, locale)/>
+            <#if (selectedMonth)??><#assign currentMonth = (selectedMonth)!/></#if>
+            <table>
+                <tr>
+                    <td class="label"><label>${uiLabelMap.CommonMonth}</label></td>
+                    <td><@MonthField fieldName="selectedMonth" fieldValue=currentMonth/></td>
+                </tr>
+                <tr>
+                    <td class="label"><label>${uiLabelMap.FormFieldTitle_isPosted}</label></td>
+                    <td>
+                        <select name="posted" id="posted">
+                            <#if (parameters.posted)??>
+                                <option value="${(parameters.posted)!}">${(parameters.posted)!}</option>
+                                <option value="${(parameters.posted)!}">---</option>
+                            </#if>
+                            <option value="Y">${uiLabelMap.CommonY}</option>
+                            <option value="N">${uiLabelMap.CommonN}</option>
+                            <option value="All">${uiLabelMap.CommonAll}</option>
+                        </select>
+                    </td>
+                </tr>
+                <tr><td class="label"></td><td><input type="submit" value="${uiLabelMap.CommonSubmit}"/></td></tr>
+            </table>
+        </form>
+    </div>
+</div>
+

Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/reports/MonthlyTrialBalance.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/reports/MonthlyTrialBalance.ftl
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/reports/MonthlyTrialBalance.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: ofbiz/trunk/applications/accounting/widget/Menus.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/Menus.xml?rev=794667&r1=794666&r2=794667&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/Menus.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/Menus.xml Thu Jul 16 13:30:45 2009
@@ -749,6 +749,11 @@
                 <parameter param-name="organizationPartyId"/>
             </link>
         </menu-item>
+        <menu-item name="MonthlyTrialBalance" title="${uiLabelMap.AccountingMonthlyTrialBalance}">
+            <link target="MonthlyTrialBalance">
+                <parameter param-name="organizationPartyId"/>
+            </link>
+        </menu-item>
     </menu>
     <menu name="PartyAdminTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
           default-menu-item-name="PartyAcctgPreference">

Modified: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml?rev=794667&r1=794666&r2=794667&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml Thu Jul 16 13:30:45 2009
@@ -439,4 +439,31 @@
         </field>
         <field name="submitButton" widget-style="buttontext" action=""><submit button-type="text-link"/></field>
     </form>
+    <form name="MonthlyPostedTransactionList" type="list" list-name="postedTransTotalList" paginate-target="MonthlyTrialBalance"
+            odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
+
+        <field name="isPosted" field-name="parameters.isPosted"><hidden/></field>
+        <field name="accountCode" entry-name="glAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountCode}"/></field>
+        <field name="accountName" entry-name="glAccountId"><display-entity entity-name="GlAccount" key-field-name="glAccountId" description="${accountName}"/></field>
+        <field name="openingCreditBalance"><display description="${openingCreditBalance}"/></field>
+        <field name="openingDebitBalance"><display description="${openingDebitBalance}"/></field>
+        <field name="monthlyCreditTotal"><display description="${credit}"/></field>
+        <field name="monthlyDebitTotal"><display description="${debit}"/></field>
+        <field name="closingBalanceCredit"><display description="${openingCreditBalance + credit}"/></field>
+        <field name="closingBalanceDebit"><display description="${openingDebitBalance + debit}"/></field>
+        <field name="yearToDateBalanceCredit"><display description="${openingCreditBalance + credit}"/></field>
+        <field name="yearToDateBalanceDebit"><display description="${openingDebitBalance + debit}"/></field>
+    </form>
+
+    <form name="MonthlyUnpostedTransactionList" type="list" list-name="unpostedTransTotalList" paginate-target="MonthlyTrialBalance"
+            odd-row-style="alternate-row" default-table-style="basic-table hover-bar"
+            extends="MonthlyPostedTransactionList" extends-resource="component://accounting/widget/ReportFinancialSummaryForms.xml">
+        <field name="isPosted" field-name="parameters.isPosted"><hidden/></field>
+    </form>
+    
+    <form name="MonthlyPostedUnpostedTransactionList" type="list" list-name="postedAndUnpostedTransTotalList" paginate-target="MonthlyTrialBalance"
+            odd-row-style="alternate-row" default-table-style="basic-table hover-bar"
+            extends="MonthlyPostedTransactionList" extends-resource="component://accounting/widget/ReportFinancialSummaryForms.xml">
+        <field name="isPosted" field-name="parameters.isPosted"><hidden/></field>
+    </form>
 </forms>
\ No newline at end of file

Modified: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml?rev=794667&r1=794666&r2=794667&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml Thu Jul 16 13:30:45 2009
@@ -913,4 +913,146 @@
             </widgets>
         </section>
     </screen>
+    <screen name="MonthlyTrialBalance">
+        <section>
+            <actions>
+                <set field="titleProperty" value="AccountingMonthlyTrialBalance"/>
+                <set field="labelTitleProperty" value="AccountingMonthlyTrialBalance"/>
+                <set field="tabButtonItem" value="OrganizationAccountingReports"/>
+                <set field="tabButtonItem2" value="MonthlyTrialBalance"/>
+                <set field="organizationPartyId" from-field="parameters.organizationPartyId" type="String"/>
+                <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/MonthlyTrialBalance.groovy"/>
+                <set field="fromDate" from-field="monthlyTrialBalanceFromDate" type="Timestamp"/>
+                <set field="thruDate" from-field="monthlyTrialBalanceThruDate" type="Timestamp"/>
+                <set field="financialYearFromDate" from-field="financialYearFromDate" type="Timestamp"/>
+                <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonOrganizationAccountingReportsDecorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <platform-specific>
+                            <html>
+                                <html-template location="component://accounting/webapp/accounting/reports/MonthlyTrialBalance.ftl"/>
+                            </html>
+                        </platform-specific>
+                        <section>
+                            <condition>
+                                <and>
+                                    <not><if-empty field="parameters.selectedMonth"/></not>
+                                    <not><if-empty field="parameters.posted"/></not>
+                                </and>
+                            </condition>
+                            <widgets>
+                                <link text="${uiLabelMap.AccountingExportAsPdf}" style="button" target="MonthlyTrialBalance.pdf">
+                                    <parameter param-name="posted" from-field="parameters.posted"/>
+                                    <parameter param-name="selectedMonth" from-field="parameters.selectedMonth"/>
+                                    <parameter param-name="organizationPartyId" from-field="parameters.organizationPartyId"/>
+                                </link>
+                                <section>
+                                    <condition>
+                                        <or>
+                                            <if-compare field="parameters.posted" operator="equals" value="Y"/>
+                                            <if-compare field="parameters.posted" operator="equals" value="All"/>
+                                        </or>
+                                    </condition>
+                                    <widgets>
+                                        <screenlet title="${uiLabelMap.AccountingPostedTransactionTotals}">
+                                            <include-form name="MonthlyPostedTransactionList" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                                        </screenlet>
+                                    </widgets>
+                                </section>
+                                <section>
+                                    <condition>
+                                        <or>
+                                            <if-compare field="parameters.posted" operator="equals" value="N"/>
+                                            <if-compare field="parameters.posted" operator="equals" value="All"/>
+                                        </or>
+                                    </condition>
+                                    <widgets>
+                                        <screenlet title="${uiLabelMap.AccountingUnPostedTransactionTotals}">
+                                            <include-form name="MonthlyUnpostedTransactionList" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                                        </screenlet>
+                                    </widgets>
+                                </section>
+                                <section>
+                                    <condition>
+                                        <if-compare field="parameters.posted" operator="equals" value="All"/>
+                                    </condition>
+                                    <widgets>
+                                        <screenlet title="${uiLabelMap.AccountingPostedAndUnpostedTransactionTotals}">
+                                            <include-form name="MonthlyPostedUnpostedTransactionList" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                                        </screenlet>
+                                    </widgets>
+                                </section>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
+    <screen name="MonthlyTrialBalancePdf">
+        <section>
+            <actions>
+                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
+                <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/>
+                <set field="organizationPartyId" from-field="parameters.organizationPartyId" type="String"/>
+                <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/MonthlyTrialBalance.groovy"/>
+                <set field="fromDate" from-field="monthlyTrialBalanceFromDate" type="Timestamp"/>
+                <set field="thruDate" from-field="monthlyTrialBalanceThruDate" type="Timestamp"/>
+                <set field="financialYearFromDate" from-field="financialYearFromDate" type="Timestamp"/>
+                <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/TransactionTotals.groovy"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="SimpleDecorator" location="component://common/widget/CommonScreens.xml">
+                    <decorator-section name="body">
+                        <section>
+                            <widgets>
+                                <section>
+                                    <condition>
+                                        <or>
+                                            <if-compare field="parameters.posted" operator="equals" value="Y"/>
+                                            <if-compare field="parameters.posted" operator="equals" value="All"/>
+                                        </or>
+                                    </condition>
+                                    <widgets>
+                                        <container>
+                                            <label text="${uiLabelMap.AccountingPostedTransactionTotals}"/>
+                                            <include-form name="MonthlyPostedTransactionList" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                                        </container>
+                                    </widgets>
+                                </section>
+                                <section>
+                                    <condition>
+                                        <or>
+                                            <if-compare field="parameters.posted" operator="equals" value="N"/>
+                                            <if-compare field="parameters.posted" operator="equals" value="All"/>
+                                        </or>
+                                    </condition>
+                                    <widgets>
+                                        <container>
+                                            <label text="${uiLabelMap.AccountingUnPostedTransactionTotals}"/>
+                                            <include-form name="MonthlyUnpostedTransactionList" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                                        </container>
+                                    </widgets>
+                                </section>
+                                <section>
+                                    <condition>
+                                        <if-compare field="parameters.posted" operator="equals" value="All"/>
+                                    </condition>
+                                    <widgets>
+                                        <container>
+                                            <label text="${uiLabelMap.AccountingPostedAndUnpostedTransactionTotals}"/>
+                                            <include-form name="MonthlyPostedUnpostedTransactionList" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                                        </container>
+                                    </widgets>
+                                </section>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
 </screens>