You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2009/12/07 10:50:37 UTC

svn commit: r887870 - in /ofbiz/trunk/applications/accounting: webapp/accounting/WEB-INF/controller.xml widget/ReportFinancialSummaryForms.xml widget/ReportFinancialSummaryScreens.xml

Author: jacopoc
Date: Mon Dec  7 09:50:36 2009
New Revision: 887870

URL: http://svn.apache.org/viewvc?rev=887870&view=rev
Log:
Implemented pdf and csv versions of the comparative balance sheet report; misc enhancements to the other financial reports.


Modified:
    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
    ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
    ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml

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=887870&r1=887869&r2=887870&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Mon Dec  7 09:50:36 2009
@@ -2221,6 +2221,8 @@
     </request-map>
     <request-map uri="BalanceSheet"><security https="true" auth="true"/><response name="success" type="view" value="BalanceSheet"/></request-map>
     <request-map uri="ComparativeBalanceSheet"><security https="true" auth="true"/><response name="success" type="view" value="ComparativeBalanceSheet"/></request-map>
+    <request-map uri="ComparativeBalanceSheet.pdf"><security https="true" auth="true"/><response name="success" type="view" value="ComparativeBalanceSheetPdf"/></request-map>
+    <request-map uri="ComparativeBalanceSheet.csv"><security https="true" auth="true"/><response name="success" type="view" value="ComparativeBalanceSheetCsv"/></request-map>
     <request-map uri="TransactionTotals"><security https="true" auth="true"/><response name="success" type="view" value="TransactionTotals"/></request-map>
     <request-map uri="FindPaymentsForDepositOrWithdraw">
         <security https="true" auth="true"/>
@@ -2710,10 +2712,14 @@
     <view-map name="IncomeStatementListPdf" type="screenfop" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#IncomeStatementListPdf" content-type="application/pdf" encoding="none"/>
     <view-map name="IncomeStatementListCsv" type="screencsv" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#IncomeStatementListCsv" content-type="text/csv" encoding="none"/>
     <view-map name="ComparativeIncomeStatement" type="screen" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#ComparativeIncomeStatement"/>
+    <view-map name="ComparativeIncomeStatementsPdf" type="screenfop" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#ComparativeIncomeStatementsPdf" content-type="application/pdf" encoding="none"/>
+    <view-map name="ComparativeIncomeStatementsCsv" type="screencsv" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#ComparativeIncomeStatementsCsv" content-type="text/csv" encoding="none"/>
     <view-map name="BalanceSheet" type="screen" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#BalanceSheet"/>
     <view-map name="BalanceSheetCsv" type="screencsv" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#BalanceSheetCsv" content-type="text/csv" encoding="none"/>
     <view-map name="BalanceSheetPdf" type="screenfop" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#BalanceSheetPdf" content-type="application/pdf" encoding="none"/>
     <view-map name="ComparativeBalanceSheet" type="screen" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#ComparativeBalanceSheet"/>
+    <view-map name="ComparativeBalanceSheetPdf" type="screenfop" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#ComparativeBalanceSheetPdf" content-type="application/pdf" encoding="none"/>
+    <view-map name="ComparativeBalanceSheetCsv" type="screencsv" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#ComparativeBalanceSheetCsv" content-type="text/csv" encoding="none"/>
     <view-map name="TransactionTotals" type="screen" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#TransactionTotals"/>
     <view-map name="TransactionTotalsPdf" type="screenfop" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#TransactionTotalsPdf" content-type="application/pdf" encoding="none"/>
     <view-map name="TransactionTotalsCsv" type="screencsv" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#TransactionTotalsCsv" content-type="text/csv" encoding="none"/>
@@ -2759,7 +2765,5 @@
     <view-map name="CostCenters" type="screen" page="component://accounting/widget/GlobalGlAccountsScreens.xml#CostCenters"/>
     <view-map name="GlAccountBalanceByCostCenter" type="screen" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#GlAccountBalanceByCostCenter"/>
     <view-map name="GlAccountBalanceByCostCenterPdf" type="screenfop" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#GlAccountBalanceByCostCenterPdf" content-type="application/pdf" encoding="none"/>
-    <view-map name="ComparativeIncomeStatementsPdf" type="screenfop" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#ComparativeIncomeStatementsPdf" content-type="application/pdf" encoding="none"/>
-    <view-map name="ComparativeIncomeStatementsCsv" type="screencsv" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#ComparativeIncomeStatementsCsv" content-type="text/csv" encoding="none"/>
     <!-- end of view mappings -->
 </site-conf>

Modified: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml?rev=887870&r1=887869&r2=887870&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml Mon Dec  7 09:50:36 2009
@@ -287,6 +287,28 @@
         </field>
         <field name="submitButton" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
+    <!-- This is required to render the date range in the PDF: the two columns layout is not supported -->
+    <form name="ComparativeBalanceSheetParametersOneColumn" type="single" target="ComparativeBalanceSheet"
+        header-row-style="header-row" default-table-style="basic-table">
+        <field name="organizationPartyId"><hidden/></field>
+        <field name="period1ThruDate"><date-time/></field>
+        <field name="period1GlFiscalTypeId">
+            <drop-down>
+                <entity-options entity-name="GlFiscalType" key-field-name="glFiscalTypeId" description="${description}">
+                    <entity-order-by field-name="glFiscalTypeId"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="period2ThruDate"><date-time/></field>
+        <field name="period2GlFiscalTypeId">
+            <drop-down>
+                <entity-options entity-name="GlFiscalType" key-field-name="glFiscalTypeId" description="${description}">
+                    <entity-order-by field-name="glFiscalTypeId"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="submitButton" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
     <form name="ComparativeBalanceSheetAssets" type="list" list-name="assetAccountBalanceList"
         odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
         <field name="accountCode">
@@ -585,52 +607,6 @@
         <field name="totalInventoryCost" use-when="currencyUomId!=null" title="${uiLabelMap.CommonTotalValue}" ><display type="currency" currency="${currencyUomId}"/></field>
         <field name="totalInventoryCost" use-when="currencyUomId==null" title="${uiLabelMap.CommonTotalValue}"><display description="${uiLabelMap.ProductDifferentCurrencies}"/></field>
     </form>
-
-
-    <form name="ComparativeIncomeStatementList" type="list" list-name="glAccountIncomeList"
-            odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
-        <row-actions>
-            <entity-one entity-name="GlAccount" value-field="glAccount"/>
-        </row-actions>
-        <field name="glAccountId" title="${uiLabelMap.AccountingGlAccountId}">
-            <hyperlink target="FindAcctgTransEntries" description="${glAccountId}">
-                <parameter param-name="glAccountId"/>
-                <parameter param-name="organizationPartyId"/>
-            </hyperlink>
-        </field>
-        <field name="glAccountId"  use-when="isPdf == true"><display description="${glAccountId}"/></field>
-        <field name="accountName" title="${uiLabelMap.FormFieldTitle_accountName}"><display description="${glAccount.accountName}"/></field>
-        <field name="period1TotalAmount" title="${uiLabelMap.AccountingPeriod1TotalAmount}"><display type="currency" currency="${currencyUomId}"/></field>
-        <field name="period2TotalAmount" title="${uiLabelMap.AccountingPeriod1TotalAmount}"><display type="currency" currency="${currencyUomId}"/></field>
-    </form>
-
-    <form name="ComparativeExpenseStatementList" type="list" list-name="glAccountExpenseList" extends="ComparativeIncomeStatementList"/>
-
-    <form name="ComparativeIncomeStatementsCsv" type="list" list-name="glAccountIncomeList" view-size="99999">
-        <row-actions>
-            <entity-one entity-name="GlAccount" value-field="glAccount"/>
-        </row-actions>
-        <field name="glAccountId"><display description="${glAccountId}"/></field>
-        <field name="accountName" title="${uiLabelMap.FormFieldTitle_accountName}"><display description="${glAccount.accountName}"/></field>
-        <field name="period1TotalAmount" title="${uiLabelMap.AccountingPeriod1TotalAmount}"><display type="currency" currency="${currencyUomId}"/></field>
-        <field name="period2TotalAmount" title="${uiLabelMap.AccountingPeriod1TotalAmount}"><display type="currency" currency="${currencyUomId}"/></field>
-    </form>
-
-    <form name="ComparativeExpenseStatementsCsv" type="list" list-name="glAccountExpenseList" view-size="99999" extends="ComparativeIncomeStatementsCsv"/>
-
-    <form name="TrialBalanceFinancialTimePeriodSelection" type="single" header-row-style="header-row" target="TrialBalance" default-table-style="basic-table">
-        <field name="organizationPartyId"><hidden/></field>
-        <field name="customTimePeriodId" required-field="true">
-            <drop-down>
-                <entity-options entity-name="CustomTimePeriod" key-field-name="customTimePeriodId" description="${periodName}: ${fromDate} - ${thruDate}" filter-by-date="false">
-                    <entity-constraint name="periodTypeId" operator="like" value="FISCAL_%"/>
-                    <entity-order-by field-name="-thruDate"/>
-                    <entity-order-by field-name="periodNum"/>
-                </entity-options>
-            </drop-down>
-        </field>
-        <field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="smallSubmit"><submit button-type="button"/></field>
-    </form>
     <form name="TrialBalanceReport" type="list" list-name="glAccountAndHistories"
         odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
         <actions>

Modified: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml?rev=887870&r1=887869&r2=887870&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml Mon Dec  7 09:50:36 2009
@@ -433,32 +433,18 @@
             <widgets>
                 <decorator-screen name="SimpleDecorator" location="component://common/widget/CommonScreens.xml">
                     <decorator-section name="body">
-                        <section>
-                            <widgets>
-                                <container>
-                                    <container>
-                                        <label style="h1" text="${uiLabelMap.AccountingBalanceSheet}"/>
-                                    </container>
-                                    <include-form name="BalanceSheetParameters" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
-                                    <container>
-                                        <label style="h3" text="${uiLabelMap.AccountingAssets}"/>
-                                    </container>
-                                    <include-form name="BalanceSheetAssets" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
-                                    <container>
-                                        <label style="h3" text="${uiLabelMap.AccountingLiabilities}"/>
-                                    </container>
-                                    <include-form name="BalanceSheetLiabilities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
-                                    <container>
-                                        <label style="h3" text="${uiLabelMap.AccountingEquities}"/>
-                                    </container>
-                                    <include-form name="BalanceSheetEquities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
-                                    <container>
-                                        <label style="h3" text="${uiLabelMap.CommonTotal}"/>
-                                    </container>
-                                    <include-form name="BalanceTotals" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
-                                </container>
-                            </widgets>
-                        </section>
+                        <container>
+                            <label style="h1" text="${uiLabelMap.AccountingBalanceSheet}"/>
+                            <include-form name="BalanceSheetParameters" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                            <label style="h3" text="${uiLabelMap.AccountingAssets}"/>
+                            <include-form name="BalanceSheetAssets" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                            <label style="h3" text="${uiLabelMap.AccountingLiabilities}"/>
+                            <include-form name="BalanceSheetLiabilities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                            <label style="h3" text="${uiLabelMap.AccountingEquities}"/>
+                            <include-form name="BalanceSheetEquities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                            <label style="h3" text="${uiLabelMap.CommonTotal}"/>
+                            <include-form name="BalanceTotals" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                        </container>
                     </decorator-section>
                 </decorator-screen>
             </widgets>
@@ -505,9 +491,9 @@
                 <set field="currencyUomId" from-field="partyAcctgPreference.baseCurrencyUomId"/>
                 
                 <set field="period1ThruDate" from-field="parameters.period1ThruDate" type="Timestamp" default-value="${nowTimestamp}"/>
-                <set field="period1GlFiscalTypeId" from-field="parameters.period1GlFiscalTypeId"/>
+                <set field="period1GlFiscalTypeId" from-field="parameters.period1GlFiscalTypeId" default-value="ACTUAL"/>
                 <set field="thruDate" from-field="period1ThruDate" type="Timestamp"/>
-                <set field="glFiscalTypeId" from-field="period1GlFiscalTypeId" default-value="ACTUAL"/>
+                <set field="glFiscalTypeId" from-field="period1GlFiscalTypeId"/>
                 <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/BalanceSheet.groovy"/>
                 <set field="assetAccountBalanceList1" from-field="assetAccountBalanceList"/>
                 <set field="liabilityAccountBalanceList1" from-field="liabilityAccountBalanceList"/>
@@ -522,9 +508,9 @@
                 <set field="balanceTotalList1" from-field="balanceTotalList"/>
 
                 <set field="period2ThruDate" from-field="parameters.period2ThruDate" type="Timestamp" default-value="${nowTimestamp}"/>
-                <set field="period2GlFiscalTypeId" from-field="parameters.period2GlFiscalTypeId"/>
+                <set field="period2GlFiscalTypeId" from-field="parameters.period2GlFiscalTypeId" default-value="ACTUAL"/>
                 <set field="thruDate" from-field="period2ThruDate" type="Timestamp"/>
-                <set field="glFiscalTypeId" from-field="period2GlFiscalTypeId" default-value="ACTUAL"/>
+                <set field="glFiscalTypeId" from-field="period2GlFiscalTypeId"/>
                 <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/BalanceSheet.groovy"/>
                 <set field="assetAccountBalanceList2" from-field="assetAccountBalanceList"/>
                 <set field="liabilityAccountBalanceList2" from-field="liabilityAccountBalanceList"/>
@@ -547,22 +533,28 @@
                         <screenlet title="${uiLabelMap.AccountingComparativeBalanceSheet}">
                             <include-form name="ComparativeBalanceSheetParameters" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
                         </screenlet>
+                        <link text="${uiLabelMap.AccountingExportAsCsv}" style="button" target="ComparativeBalanceSheet.csv">
+                            <parameter param-name="organizationPartyId"/>
+                            <parameter param-name="period1ThruDate"/>
+                            <parameter param-name="period1GlFiscalTypeId"/>
+                            <parameter param-name="period2ThruDate"/>
+                            <parameter param-name="period2GlFiscalTypeId"/>
+                        </link>
+                        <link text="${uiLabelMap.AccountingExportAsPdf}" style="button" target="ComparativeBalanceSheet.pdf">
+                            <parameter param-name="organizationPartyId"/>
+                            <parameter param-name="period1ThruDate"/>
+                            <parameter param-name="period1GlFiscalTypeId"/>
+                            <parameter param-name="period2ThruDate"/>
+                            <parameter param-name="period2GlFiscalTypeId" from-field="period2GlFiscalTypeId"/>
+                        </link>
                         <screenlet title="${uiLabelMap.AccountingComparativeBalanceSheet}">
-                            <container>
-                                <label style="h3" text="${uiLabelMap.AccountingAssets}"/>
-                            </container>
+                            <label style="h3" text="${uiLabelMap.AccountingAssets}"/>
                             <include-form name="ComparativeBalanceSheetAssets" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
-                            <container>
-                                <label style="h3" text="${uiLabelMap.AccountingLiabilities}"/>
-                            </container>
+                            <label style="h3" text="${uiLabelMap.AccountingLiabilities}"/>
                             <include-form name="ComparativeBalanceSheetLiabilities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
-                            <container>
-                                <label style="h3" text="${uiLabelMap.AccountingEquities}"/>
-                            </container>
+                            <label style="h3" text="${uiLabelMap.AccountingEquities}"/>
                             <include-form name="ComparativeBalanceSheetEquities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
-                            <container>
-                                <label style="h3" text="${uiLabelMap.CommonTotal}"/>
-                            </container>
+                            <label style="h3" text="${uiLabelMap.CommonTotal}"/>
                             <include-form name="ComparativeBalanceTotals" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
                         </screenlet>
                     </decorator-section>
@@ -571,6 +563,143 @@
         </section>
     </screen>
 
+    <screen name="ComparativeBalanceSheetPdf">
+        <section>
+            <actions>
+                <set field="viewSize" value="99999"/>
+                <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/>
+                <set field="titleProperty" value="AccountingComparativeBalanceSheet"/>
+                <set field="tabButtonItem" value="OrganizationAccountingReports"/>
+                <set field="tabButtonItem2" value="ComparativeBalanceSheet"/>
+                <set field="organizationPartyId" from-field="parameters.organizationPartyId"/>
+                <service service-name="getPartyAccountingPreferences" result-map="result">
+                    <field-map field-name="organizationPartyId"/>
+                </service>
+                <set field="partyAcctgPreference" from-field="result.partyAccountingPreference"/>
+                <set field="currencyUomId" from-field="partyAcctgPreference.baseCurrencyUomId"/>
+
+                <set field="period1ThruDate" from-field="parameters.period1ThruDate" type="Timestamp" default-value="${nowTimestamp}"/>
+                <set field="period1GlFiscalTypeId" from-field="parameters.period1GlFiscalTypeId" default-value="ACTUAL"/>
+                <set field="thruDate" from-field="period1ThruDate" type="Timestamp"/>
+                <set field="glFiscalTypeId" from-field="period1GlFiscalTypeId"/>
+                <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/BalanceSheet.groovy"/>
+                <set field="assetAccountBalanceList1" from-field="assetAccountBalanceList"/>
+                <set field="liabilityAccountBalanceList1" from-field="liabilityAccountBalanceList"/>
+                <set field="equityAccountBalanceList1" from-field="equityAccountBalanceList"/>
+                <set field="assetBalanceTotal1" from-field="assetBalanceTotal"/>
+                <set field="currentAssetBalanceTotal1" from-field="currentAssetBalanceTotal"/>
+                <set field="longtermAssetBalanceTotal1" from-field="longtermAssetBalanceTotal"/>
+                <set field="liabilityBalanceTotal1" from-field="liabilityBalanceTotal"/>
+                <set field="currentLiabilityBalanceTotal1" from-field="currentLiabilityBalanceTotal"/>
+                <set field="equityBalanceTotal1" from-field="equityBalanceTotal"/>
+                <set field="liabilityEquityBalanceTotal1" from-field="liabilityEquityBalanceTotal"/>
+                <set field="balanceTotalList1" from-field="balanceTotalList"/>
+
+                <set field="period2ThruDate" from-field="parameters.period2ThruDate" type="Timestamp" default-value="${nowTimestamp}"/>
+                <set field="period2GlFiscalTypeId" from-field="parameters.period2GlFiscalTypeId" default-value="ACTUAL"/>
+                <set field="thruDate" from-field="period2ThruDate" type="Timestamp"/>
+                <set field="glFiscalTypeId" from-field="period2GlFiscalTypeId"/>
+                <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/BalanceSheet.groovy"/>
+                <set field="assetAccountBalanceList2" from-field="assetAccountBalanceList"/>
+                <set field="liabilityAccountBalanceList2" from-field="liabilityAccountBalanceList"/>
+                <set field="equityAccountBalanceList2" from-field="equityAccountBalanceList"/>
+                <set field="assetBalanceTotal2" from-field="assetBalanceTotal"/>
+                <set field="currentAssetBalanceTotal2" from-field="currentAssetBalanceTotal"/>
+                <set field="longtermAssetBalanceTotal2" from-field="longtermAssetBalanceTotal"/>
+                <set field="liabilityBalanceTotal2" from-field="liabilityBalanceTotal"/>
+                <set field="currentLiabilityBalanceTotal2" from-field="currentLiabilityBalanceTotal"/>
+                <set field="equityBalanceTotal2" from-field="equityBalanceTotal"/>
+                <set field="liabilityEquityBalanceTotal2" from-field="liabilityEquityBalanceTotal"/>
+                <set field="balanceTotalList2" from-field="balanceTotalList"/>
+
+                <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/ComparativeBalanceSheet.groovy"/>
+
+            </actions>
+            <widgets>
+                <decorator-screen name="SimpleDecorator" location="component://common/widget/CommonScreens.xml">
+                    <decorator-section name="body">
+                        <container>
+                            <label style="h1" text="${uiLabelMap.AccountingComparativeBalanceSheet}"/>
+                            <include-form name="ComparativeBalanceSheetParametersOneColumn" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                            <label style="h3" text="${uiLabelMap.AccountingAssets}"/>
+                            <include-form name="ComparativeBalanceSheetAssets" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                            <label style="h3" text="${uiLabelMap.AccountingLiabilities}"/>
+                            <include-form name="ComparativeBalanceSheetLiabilities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                            <label style="h3" text="${uiLabelMap.AccountingEquities}"/>
+                            <include-form name="ComparativeBalanceSheetEquities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                            <label style="h3" text="${uiLabelMap.CommonTotal}"/>
+                            <include-form name="ComparativeBalanceTotals" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                        </container>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    <screen name="ComparativeBalanceSheetCsv">
+        <section>
+            <actions>
+                <set field="viewSize" value="99999"/>
+                <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/>
+                <set field="titleProperty" value="AccountingComparativeBalanceSheet"/>
+                <set field="tabButtonItem" value="OrganizationAccountingReports"/>
+                <set field="tabButtonItem2" value="ComparativeBalanceSheet"/>
+                <set field="organizationPartyId" from-field="parameters.organizationPartyId"/>
+                <service service-name="getPartyAccountingPreferences" result-map="result">
+                    <field-map field-name="organizationPartyId"/>
+                </service>
+                <set field="partyAcctgPreference" from-field="result.partyAccountingPreference"/>
+                <set field="currencyUomId" from-field="partyAcctgPreference.baseCurrencyUomId"/>
+
+                <set field="period1ThruDate" from-field="parameters.period1ThruDate" type="Timestamp" default-value="${nowTimestamp}"/>
+                <set field="period1GlFiscalTypeId" from-field="parameters.period1GlFiscalTypeId" default-value="ACTUAL"/>
+                <set field="thruDate" from-field="period1ThruDate" type="Timestamp"/>
+                <set field="glFiscalTypeId" from-field="period1GlFiscalTypeId"/>
+                <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/BalanceSheet.groovy"/>
+                <set field="assetAccountBalanceList1" from-field="assetAccountBalanceList"/>
+                <set field="liabilityAccountBalanceList1" from-field="liabilityAccountBalanceList"/>
+                <set field="equityAccountBalanceList1" from-field="equityAccountBalanceList"/>
+                <set field="assetBalanceTotal1" from-field="assetBalanceTotal"/>
+                <set field="currentAssetBalanceTotal1" from-field="currentAssetBalanceTotal"/>
+                <set field="longtermAssetBalanceTotal1" from-field="longtermAssetBalanceTotal"/>
+                <set field="liabilityBalanceTotal1" from-field="liabilityBalanceTotal"/>
+                <set field="currentLiabilityBalanceTotal1" from-field="currentLiabilityBalanceTotal"/>
+                <set field="equityBalanceTotal1" from-field="equityBalanceTotal"/>
+                <set field="liabilityEquityBalanceTotal1" from-field="liabilityEquityBalanceTotal"/>
+                <set field="balanceTotalList1" from-field="balanceTotalList"/>
+
+                <set field="period2ThruDate" from-field="parameters.period2ThruDate" type="Timestamp" default-value="${nowTimestamp}"/>
+                <set field="period2GlFiscalTypeId" from-field="parameters.period2GlFiscalTypeId" default-value="ACTUAL"/>
+                <set field="thruDate" from-field="period2ThruDate" type="Timestamp"/>
+                <set field="glFiscalTypeId" from-field="period2GlFiscalTypeId"/>
+                <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/BalanceSheet.groovy"/>
+                <set field="assetAccountBalanceList2" from-field="assetAccountBalanceList"/>
+                <set field="liabilityAccountBalanceList2" from-field="liabilityAccountBalanceList"/>
+                <set field="equityAccountBalanceList2" from-field="equityAccountBalanceList"/>
+                <set field="assetBalanceTotal2" from-field="assetBalanceTotal"/>
+                <set field="currentAssetBalanceTotal2" from-field="currentAssetBalanceTotal"/>
+                <set field="longtermAssetBalanceTotal2" from-field="longtermAssetBalanceTotal"/>
+                <set field="liabilityBalanceTotal2" from-field="liabilityBalanceTotal"/>
+                <set field="currentLiabilityBalanceTotal2" from-field="currentLiabilityBalanceTotal"/>
+                <set field="equityBalanceTotal2" from-field="equityBalanceTotal"/>
+                <set field="liabilityEquityBalanceTotal2" from-field="liabilityEquityBalanceTotal"/>
+                <set field="balanceTotalList2" from-field="balanceTotalList"/>
+
+                <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/ComparativeBalanceSheet.groovy"/>
+
+            </actions>
+            <widgets>
+                <label style="h3" text="${uiLabelMap.AccountingAssets}"/>
+                <include-form name="ComparativeBalanceSheetAssets" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                <label style="h3" text="${uiLabelMap.AccountingLiabilities}"/>
+                <include-form name="ComparativeBalanceSheetLiabilities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                <label style="h3" text="${uiLabelMap.AccountingEquities}"/>
+                <include-form name="ComparativeBalanceSheetEquities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                <label style="h3" text="${uiLabelMap.CommonTotal}"/>
+                <include-form name="ComparativeBalanceTotals" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+            </widgets>
+        </section>
+    </screen>
+
     <screen name="TransactionTotals">
         <section>
             <actions>
@@ -733,16 +862,16 @@
                         </screenlet>
                         <screenlet title="${uiLabelMap.AccountingIncomeStatement}">
                             <link text="${uiLabelMap.AccountingExportAsCsv}" style="button" target="IncomeStatementListCsv.csv">
-                                <parameter param-name="fromDate" from-field="parameters.fromDate"/>
-                                <parameter param-name="thruDate" from-field="parameters.thruDate"/>
+                                <parameter param-name="fromDate" from-field="fromDate"/>
+                                <parameter param-name="thruDate" from-field="thruDate"/>
                                 <parameter param-name="organizationPartyId" from-field="parameters.organizationPartyId"/>
-                                <parameter param-name="glFiscalTypeId" from-field="parameters.glFiscalTypeId"/>
+                                <parameter param-name="glFiscalTypeId" from-field="glFiscalTypeId"/>
                             </link>
                             <link text="${uiLabelMap.AccountingExportAsPdf}" style="button" target="IncomeStatementListPdf.pdf">
-                                <parameter param-name="fromDate" from-field="parameters.fromDate"/>
-                                <parameter param-name="thruDate" from-field="parameters.thruDate"/>
+                                <parameter param-name="fromDate" from-field="fromDate"/>
+                                <parameter param-name="thruDate" from-field="thruDate"/>
                                 <parameter param-name="organizationPartyId" from-field="parameters.organizationPartyId"/>
-                                <parameter param-name="glFiscalTypeId" from-field="parameters.glFiscalTypeId"/>
+                                <parameter param-name="glFiscalTypeId" from-field="glFiscalTypeId"/>
                             </link>
                             <container>
                                 <label style="h3" text="${uiLabelMap.AccountingRevenues}"/>
@@ -1546,16 +1675,16 @@
                         </screenlet>
                         <screenlet title="${uiLabelMap.AccountingCashFlowStatement}">
                             <link text="${uiLabelMap.AccountingExportAsCsv}" style="button" target="">
-                                <parameter param-name="fromDate" from-field="parameters.fromDate"/>
-                                <parameter param-name="thruDate" from-field="parameters.thruDate"/>
+                                <parameter param-name="fromDate" from-field="fromDate"/>
+                                <parameter param-name="thruDate" from-field="thruDate"/>
                                 <parameter param-name="organizationPartyId" from-field="parameters.organizationPartyId"/>
-                                <parameter param-name="glFiscalTypeId" from-field="parameters.glFiscalTypeId"/>
+                                <parameter param-name="glFiscalTypeId" from-field="glFiscalTypeId"/>
                             </link>
                             <link text="${uiLabelMap.AccountingExportAsPdf}" style="button" target="">
-                                <parameter param-name="fromDate" from-field="parameters.fromDate"/>
-                                <parameter param-name="thruDate" from-field="parameters.thruDate"/>
+                                <parameter param-name="fromDate" from-field="fromDate"/>
+                                <parameter param-name="thruDate" from-field="thruDate"/>
                                 <parameter param-name="organizationPartyId" from-field="parameters.organizationPartyId"/>
-                                <parameter param-name="glFiscalTypeId" from-field="parameters.glFiscalTypeId"/>
+                                <parameter param-name="glFiscalTypeId" from-field="glFiscalTypeId"/>
                             </link>
                             <container>
                                 <label style="h3" text="${uiLabelMap.AccountingCashBalance}"/>