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

<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://ofbiz.apache.org/Simple-Method" xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method http://ofbiz.apache.org/dtds/simple-methods.xsd">

    <!-- Test case for Accounting Transaction on Purchase -->
    <simple-method method-name="testAcctgTransOnPoReceipts" short-description="Test case for Accounting Transaction on Receipts of Purchase Order." login-required="false">
        <!-- Precondition : shipment is created from supplier and order items are issued  -->
        <!-- create a purchase order using following:
             Supplier : DemoSupplier
             Item     : WG-1111
             Quantity : 10 -->

        <!-- Post condition : Credit in account 214000 - UNINVOICED ITEM RECEIPT amount = grand total of order.
                              Debit in account 140000- INVENTORY amount = grand total of order.  -->

        <!-- set few variables so that they can be changed easily to test with different values -->
        <set field="orderId" value="DEMO10091"/>
        <set field="productId" value="GZ-2644"/>
        <set field="orderItemSeqId" value="00001"/>
        <set field="shipmentId" value="9999"/>

        <entity-one entity-name="UserLogin" value-field="userLogin">
            <field-map field-name="userLoginId" value="system"/>
        </entity-one>
        <set field="serviceCtx.userLogin" from-field="userLogin"/>
        <set field="serviceCtx.inventoryItemTypeId" value="NON_SERIAL_INV_ITEM"/>
        <set field="serviceCtx.productId" from-field="productId"/>
        <set field="serviceCtx.facilityId" value="WebStoreWarehouse"/>
        <set field="serviceCtx.quantityAccepted" value="5" type="BigDecimal"/>
        <set field="serviceCtx.quantityRejected" value="0" type="BigDecimal"/>
        <set field="serviceCtx.shipmentId" from-field="shipmentId"/>
        <set field="serviceCtx.orderId" from-field="orderId"/>
        <set field="serviceCtx.orderItemSeqId" from-field="orderItemSeqId"/>

        <call-service service-name="receiveInventoryProduct" in-map-name="serviceCtx"/>

        <entity-and entity-name="AcctgTrans" list="acctgTransList">
            <field-map field-name="shipmentId"/>
        </entity-and>
        <assert><not><if-empty field="acctgTransList"/></not></assert>
        <first-from-list list="acctgTransList" entry="acctgTrans"/>

        <assert><if-compare field="acctgTrans.glJournalId" operator="not-equals" value="ERROR_JOURNAL"/></assert>

        <get-related value-field="acctgTrans" relation-name="AcctgTransEntry" list="acctgTransEntryList"/>
        <set field="productFilter.productId" from-field="productId"/>
        <filter-list-by-and list="acctgTransEntryList" map="productFilter" to-list="acctgTransEntryList"/>

        <assert><not><if-empty field="acctgTransEntryList"/></not></assert>

        <call-simple-method method-name="UtilCheckEntriesBalance"/>

        <iterate list="acctgTransEntryList" entry="acctgTransEntry">
            <if-compare field="acctgTransEntry.debitCreditFlag" operator="equals" value="C">
                <assert>
                    <if-compare field="acctgTransEntry.glAccountTypeId" operator="equals" value="UNINVOICED_SHIP_RCPT"/>
                    <if-compare field="acctgTransEntry.glAccountId" operator="equals" value="214000"/>
                </assert>
            <else>
                <if-compare field="acctgTransEntry.debitCreditFlag" operator="equals" value="D">
                    <assert>
                        <if-compare field="acctgTransEntry.glAccountTypeId" operator="equals" value="INVENTORY_ACCOUNT"/>
                        <if-compare field="acctgTransEntry.glAccountId" operator="equals" value="140000"/>
                    </assert>
                </if-compare>
            </else>
            </if-compare>
        </iterate>
        <!-- check if invoice created -->
        <entity-and entity-name="OrderItemBilling" list="orderItemBillings">
            <field-map field-name="orderId"/>
        </entity-and>
        <assert>
            <not><if-empty field="orderItemBillings"/></not>
        </assert>
        <check-errors/>
    </simple-method>

    <simple-method method-name="testAcctgTransOnEditPoInvoice" short-description="Test case for Purchase Invoices: editing, adding taxes and shipping charges and posting to GL" login-required="false">
        <!-- Precondition: To the Purchase Invoice created add taxes and two different shipping charges
            1. for taxes: set "Invoice Item Type" = "Invoice Sales Tax" and "Unit Price" = 10$
            2. for the first shipping charge: set "Invoice Item Type" = "Invoice Shipping And Handling" and "Unit Price" = 5$
            3. for the second shipping charge: set "Invoice Item Type" = "Invoice Shipping And Handling", set "Override Gl Account Id" = "516100" and "Unit Price" = 5$
        -->
        <!-- Post condition: When status is set to ready, an accounting transaction is automatically posted to the GL:
            * Credit; in account 210000 - "ACCOUNTS PAYABLE"; amount: 290$
            * Debit; in account 214000 - "UNINVOICED ITEM RECEIPTS"; amount: 270$
            * Debit; in account 516100 - "PURCHASE ORDER ADJUSTMENTS"; amount: 10$
            * Debit; in account 510000 - "FREIGHT IN"; amount: 5$
            * Debit; in account 516100 - "PURCHASE ORDER ADJUSTMENTS"; amount: 5$
        -->

        <set field="orderId" value="DEMO10091"/>
        <entity-and entity-name="OrderItemBilling" list="orderItemBillings">
            <field-map field-name="orderId"/>
        </entity-and>
        <first-from-list list="orderItemBillings" entry="orderItemBilling"/>
        <entity-one entity-name="UserLogin" value-field="userLogin">
            <field-map field-name="userLoginId" value="system"/>
        </entity-one>
        <set field="serviceCtx.userLogin" from-field="userLogin"/>
        <set field="serviceCtx.statusId" value="INVOICE_READY"/>
        <set field="serviceCtx.invoiceId" from-field="orderItemBilling.invoiceId"/>
        <call-service service-name="setInvoiceStatus" in-map-name="serviceCtx"/>
        <entity-one entity-name="Invoice" value-field="invoice">
            <field-map field-name="invoiceId" from-field="orderItemBilling.invoiceId"/>
        </entity-one>
        <get-related value-field="invoice" relation-name="AcctgTrans" list="acctgTransList"/>
        <first-from-list list="acctgTransList" entry="acctgTrans"/>

        <assert><if-compare field="acctgTrans.glJournalId" operator="not-equals" value="ERROR_JOURNAL"/></assert>

        <get-related value-field="acctgTrans" relation-name="AcctgTransEntry" list="acctgTransEntryList"/>

        <assert><not><if-empty field="acctgTransEntryList"/></not></assert>

        <call-simple-method method-name="UtilCheckEntriesBalance"/>

        <iterate list="acctgTransEntryList" entry="acctgTransEntry">
            <if-compare field="acctgTransEntry.debitCreditFlag" operator="equals" value="C">
                <assert>
                    <if-compare field="acctgTransEntry.glAccountTypeId" operator="equals" value="ACCOUNTS_PAYABLE"/>
                    <if-compare field="acctgTransEntry.glAccountId" operator="equals" value="210000"/>
                </assert>
            </if-compare>
        </iterate>
        <check-errors/>
    </simple-method>

    <simple-method method-name="testAcctgTransOnPaymentSentToSupplier" short-description="Test case for Payment sent to supplier for purchase invoice." login-required="false">
        <!--
            Precondition: New payment is created for: supplierId = "DemoSupplier", "Payment Type ID" = "Vendor Payment" and
                          a proper "Payment Method Type" (e.g. "Electronic Funds Transfer"), amount = $290

            Post condition: On payment's status is sent: a double-entry accounting transaction is automatically posted to the GL:
                * Credit; in account 111100 - "GENERAL CHECKING ACCOUNT"; amount: 290$; however this depends on the "Payment method type" selected;
                * Debit; in account 216000 - "ACCOUNTS PAYABLE - UNAPPLIED PAYMENTS"; amount: 290$
         -->

        <set field="paymentId" value="9000"/>
        <entity-one entity-name="UserLogin" value-field="userLogin">
            <field-map field-name="userLoginId" value="system"/>
        </entity-one>
        <set field="serviceCtx.userLogin" from-field="userLogin"/>
        <set field="serviceCtx.paymentId" from-field="paymentId"/>
        <set field="serviceCtx.statusId" value="PMNT_SENT"/>

        <call-service service-name="setPaymentStatus" in-map-name="serviceCtx"/>
        <entity-one entity-name="Payment" value-field="payment">
            <field-map field-name="paymentId" from-field="paymentId"/>
        </entity-one>
        <get-related value-field="payment" relation-name="AcctgTrans" list="acctgTransList"/>
        <first-from-list list="acctgTransList" entry="acctgTrans"/>

        <assert><if-compare field="acctgTrans.glJournalId" operator="not-equals" value="ERROR_JOURNAL"/></assert>

        <get-related value-field="acctgTrans" relation-name="AcctgTransEntry" list="acctgTransEntryList"/>

        <assert><not><if-empty field="acctgTransEntryList"/></not></assert>

        <call-simple-method method-name="UtilCheckEntriesBalance"/>

        <iterate list="acctgTransEntryList" entry="acctgTransEntry">
            <if-compare field="acctgTransEntry.debitCreditFlag" operator="equals" value="C">
                <assert>
                    <if-compare field="acctgTransEntry.glAccountId" operator="equals" value="111100"/>
                </assert>
            <else>
                <if-compare field="acctgTransEntry.debitCreditFlag" operator="equals" value="D">
                    <assert>
                        <if-compare field="acctgTransEntry.glAccountTypeId" operator="equals" value="ACCPAYABLE_UNAPPLIED"/>
                        <if-compare field="acctgTransEntry.glAccountId" operator="equals" value="216000"/>
                    </assert>
                </if-compare>
            </else>
            </if-compare>
        </iterate>
        <check-errors/>
    </simple-method>


    <simple-method method-name="UtilCheckEntriesBalance" login-required="false"
            short-description="Short util method that takes a list of AcctgTransEntry values (acctgTransEntryList) and checks that the debit and credit totals balance.">
        <set field="debitTotal" type="BigDecimal" value="0.0"/>
        <set field="creditTotal" type="BigDecimal" value="0.0"/>

        <assert><not><if-empty field="acctgTransEntryList"/></not></assert>
        <iterate list="acctgTransEntryList" entry="acctgTransEntry">
            <if-compare field="acctgTransEntry.debitCreditFlag" operator="equals" value="C">
                <calculate field="creditTotal">
                    <calcop operator="get" field="creditTotal"/>
                    <calcop operator="add" field="acctgTransEntry.origAmount"/>
                </calculate>
            <else>
                <if-compare field="acctgTransEntry.debitCreditFlag" operator="equals" value="D">
                    <calculate field="debitTotal">
                        <calcop operator="get" field="debitTotal"/>
                        <calcop operator="add" field="acctgTransEntry.origAmount"/>
                    </calculate>
                </if-compare>
            </else>
            </if-compare>
        </iterate>
        <assert>
            <if-compare-field field="debitTotal" operator="equals" to-field="creditTotal" type="BigDecimal"/>
        </assert>
    </simple-method>

</simple-methods>
