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

<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd">
    <description>Accounting Services</description>
    <vendor>OFBiz</vendor>
    <version>1.0</version>


    <service name="getNextInvoiceId" engine="simple"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="getNextInvoiceId">
        <description>Get the Next Invoice ID According to Settings on the PartyAcctgPreference Entity for the given Party</description>
        <implements service="createInvoice"/>
        <attribute name="partyId" type="String" mode="IN" optional="false"/>
        <attribute name="invoiceId" type="String" mode="OUT" optional="false"/>
    </service>

    <service name="invoiceSequence-enforced" engine="simple"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="invoiceSequence-enforced">
        <implements service="getNextInvoiceId"/>
        <attribute name="partyAcctgPreference" type="org.ofbiz.entity.GenericValue" mode="IN"/>
        <override name="invoiceId" type="Long" mode="OUT"/>
    </service>

    <service name="invoiceSequence-restart" engine="simple"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="invoiceSequence-restart">
        <implements service="getNextInvoiceId"/>
        <attribute name="partyAcctgPreference" type="org.ofbiz.entity.GenericValue" mode="IN"/>
    </service>

    <!-- Invoice services -->
    <service name="createInvoice" engine="simple" default-entity-name="Invoice"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="createInvoice">
        <description>Create Invoice Record</description>
        <permission-service service-name="acctgInvoicePermissionCheck" main-action="CREATE"/>
        <auto-attributes mode="INOUT" include="pk" optional="true"/>
        <auto-attributes mode="IN" include="nonpk" optional="true"/>
        <override name="invoiceTypeId" mode="IN" optional="false"/>
        <override name="statusId" mode = "IN" optional="false"/>
        <override name="partyIdFrom" mode = "IN" optional="false"/>
        <override name="partyId" mode = "IN" optional="false"/>
        <override name="description" allow-html="safe"/>
        <override name="invoiceMessage" allow-html="safe"/>
    </service>
    <service name="copyInvoice" engine="simple" default-entity-name="Invoice"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="copyInvoice">
        <description>Create Invoice Record/items from an existing invoice</description>
        <permission-service service-name="acctgInvoicePermissionCheck" main-action="CREATE"/>
        <auto-attributes mode="INOUT" include="pk" optional="true"/>
        <attribute name="invoiceIdToCopyFrom" type="String" mode="IN" optional="false"/>
    </service>
    <service name="getInvoice" engine="simple" default-entity-name="Invoice"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="getInvoice">
        <description>Retrieve an existing Invoice/Items</description>
        <permission-service service-name="acctgInvoicePermissionCheck" main-action="VIEW"/>
        <auto-attributes mode="IN" include="pk" optional="false"/>
        <attribute name="invoice" type="org.ofbiz.entity.GenericValue" mode="OUT"/>
        <attribute name="invoiceItems" type="List" mode="OUT"/><!-- list of invoiceItem GenericValues -->
    </service>
    <service name="updateInvoice" engine="simple" default-entity-name="Invoice"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="updateInvoice">
        <description>Update an existing Invoice Record</description>
        <permission-service service-name="acctgInvoicePermissionCheck" main-action="UPDATE"/>
        <auto-attributes mode="IN" include="pk" optional="false"/>
        <auto-attributes mode="IN" include="nonpk" optional="true"/>
        <override name="description" allow-html="safe"/>
        <override name="invoiceMessage" allow-html="safe"/>
    </service>
    <service name="setInvoiceStatus" engine="simple"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="setInvoiceStatus">
        <description>Set the Invoice  Status</description>
        <permission-service service-name="acctgInvoicePermissionCheck" main-action="UPDATE"/>
        <attribute name="invoiceId" type="String" mode="IN" optional="false"/>
        <attribute name="statusId" type="String" mode="IN" optional="false"/>
        <attribute name="statusDate" type="Timestamp" mode="IN" optional="true"/>
        <attribute name="paidDate" type="Timestamp" mode="IN" optional="true"/> <!-- only relevant for changes to PAID -->
        <attribute name="invoiceTypeId" type="String" mode="OUT" optional="true"/>
        <attribute name="oldStatusId" type="String" mode="OUT" optional="true"/>
    </service>
    <service name="copyInvoiceToTemplate" engine="simple"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="copyInvoiceToTemplate">
        <description>Save a Invoice data to a template .</description>
        <permission-service service-name="acctgInvoicePermissionCheck" main-action="CREATE"/>
        <attribute name="invoiceId" type="String" mode="INOUT" optional="false"/>
        <attribute name="invoiceTypeId" type="String" mode="IN" optional="false"/>
    </service>

    <!--
    TODO: There is a big problem with the taxableFlag. Currently, all adjustments are treated as having the same taxableFlag as
    the product except when it is a sales tax. This is not very flexible. Additionally, when the invoices are computed, a
    null taxableFlag is considered to be "N" when it should be "unknown". At some point we'll have to implement the adjustment.includeInTax
    field properly so we don't have to rely on Product.taxable and checking by hand each type that is not taxable. The old way is already
    creating an issue with return-wide adjustments: How do we know that such an adjustment is to be taxed or not?  Because of this problem,
    we will continue to have null taxableFlags for awhile yet, which is why the mandatory taxableFlag of this method was taken out.
    -->
    <service name="createInvoiceItem" engine="simple" default-entity-name="InvoiceItem"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="createInvoiceItem">
        <description>Create a new Invoice Item Record</description>
        <permission-service service-name="acctgInvoicePermissionCheck" main-action="UPDATE"/>
        <auto-attributes mode="IN" include="pk" optional="false"/>
        <auto-attributes mode="IN" include="nonpk" optional="true"/>
        <override name="invoiceItemSeqId" mode="INOUT" optional="true"/><!-- will optionally be assigned by the system -->
        <override name="description" allow-html="safe"/>
    </service>
    <service name="updateInvoiceItem" engine="simple" default-entity-name="InvoiceItem"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="updateInvoiceItem">
        <description>Update existing Invoice Item Record</description>
        <permission-service service-name="acctgInvoicePermissionCheck" main-action="UPDATE"/>
        <auto-attributes mode="INOUT" include="pk" optional="false"/>
        <auto-attributes mode="IN" include="nonpk" optional="true"/>
        <override name="description" allow-html="safe"/>
    </service>
    <service name="removeInvoiceItem" engine="simple" default-entity-name="InvoiceItem"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="removeInvoiceItem">
        <description>Remove an existing Invoice Item Record</description>
        <permission-service service-name="acctgInvoicePermissionCheck" main-action="UPDATE"/>
        <auto-attributes mode="IN" include="pk" optional="false"/>
    </service>

    <service name="createInvoiceRole" engine="simple" default-entity-name="InvoiceRole"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="createInvoiceRole">
        <description>Create a new Invoice Role Record</description>
        <permission-service service-name="acctgInvoicePermissionCheck" main-action="UPDATE"/>
        <auto-attributes mode="IN" include="pk" optional="false"/>
        <auto-attributes mode="IN" include="nonpk" optional="true"/>
    </service>
    <service name="removeInvoiceRole" engine="simple" default-entity-name="InvoiceRole"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="removeInvoiceRole">
        <description>Remove an existing Invoice Role Record</description>
        <permission-service service-name="acctgInvoicePermissionCheck" main-action="UPDATE"/>
        <auto-attributes mode="IN" include="pk" optional="false"/>
    </service>
    <service name="createInvoiceTerm" engine="simple" default-entity-name="InvoiceTerm"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="createInvoiceTerm">
        <description>Create Invoice (Item) Term Record</description>
        <permission-service service-name="acctgInvoicePermissionCheck" main-action="UPDATE"/>
        <auto-attributes mode="OUT" include="pk" optional="false"/>
        <auto-attributes mode="IN" include="nonpk" optional="true"/>
    </service>
    <service name="createInvoiceForOrderAllItems" engine="java"
        location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="createInvoiceForOrderAllItems">
        <description>
            Create an invoice from existing order using all order items
            orderId = The orderId to associate the invoice with
        </description>
        <attribute name="orderId" type="String" mode="IN" optional="false"/>
        <attribute name="invoiceId" type="String" mode="OUT" optional="true"/>
    </service>
    <service name="createInvoiceForOrder" engine="java"
        location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="createInvoiceForOrder">
        <description>
            Create an invoice from existing order
            orderId = The orderId to associate the invoice with
            billItems = List of ItemIssuance records to use for creating the invoice
        </description>
        <attribute name="orderId" type="String" mode="IN" optional="false"/>
        <attribute name="billItems" type="List" mode="IN" optional="false"/>
        <attribute name="eventDate" type="Timestamp" mode="IN" optional="true"/>
        <attribute name="invoiceId" type="String" mode="INOUT" optional="true"/>
        <attribute name="invoiceTypeId" type="String" mode="OUT" optional="true"/>
    </service>
    <service name="createInvoiceFromReturn" engine="java"
        location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="createInvoiceFromReturn">
        <description>
            Create an invoice from a return
            returnId = The returnId to associate the invoice with
            billItems = List of ShipmentReceipts (for sales return) or ItemIssuance (for purchase return) to use for creating the invoice
        </description>
        <attribute name="returnId" type="String" mode="IN" optional="false"/>
        <attribute name="billItems" type="List" mode="IN" optional="false"/>
        <attribute name="invoiceId" type="String" mode="OUT" optional="true"/>
    </service>
    <service name="createCommissionInvoices" engine="java"
        location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="createCommissionInvoices">
        <description>
            Create commission invoice for the list of sales invoices.  
            Returns a List of Maps, one for each invoice created containing: 
                commissionInvoiceId: the invoiceId of the invoice created 
                salesRepresentative: the invoice partyIdFrom 
        </description>
        <attribute name="partyIds" type="List" mode="IN" optional="true"/>
        <attribute name="invoiceIds" type="List" mode="IN" optional="false"/>
        <attribute name="invoicesCreated" type="List" mode="OUT" optional="true"/>
    </service>
    <service name="sampleInvoiceAffiliateCommission" engine="simple"
        location="component://accounting/script/org/ofbiz/accounting/invoice/SampleCommissionServices.xml" invoke="sampleCalculateAffiliateCommission" auth="true">
        <description>
            A sample/example service to calculate an affiliate commission (direct relationship to customer) and create
            and invoice for it on behalf of the affiliate, ie an invoice from the affiliate to the company that can
            then be paid by the company to balance it.
        </description>
        <attribute name="paymentId" type="String" mode="IN" optional="false"/>
        <attribute name="invoiceId" type="String" mode="OUT" optional="false"/>
    </service>
    <service name="readyInvoices" engine="java"
        location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="readyInvoices">
        <description>
            Sets status of each invoice in the list of invoices to INVOICE_READY.
        </description>
        <attribute name="invoicesCreated" type="List" mode="IN" optional="false"/>
    </service>
    <service name="createInvoicesFromShipment" engine="java"
        location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="createInvoicesFromShipment">
        <description>
            Create invoice(s) from a Shipment
            All the order items associated with the shipment will be selected and
            one invoice for each order in the shipment will be created.
            invoicesCreated = List of invoiceIds which were created by this service
        </description>
        <attribute name="shipmentId" type="String" mode="IN" optional="false"/>
        <attribute name="eventDate" type="Timestamp" mode="IN" optional="true"/>
        <attribute name="invoicesCreated" type="List" mode="OUT" optional="true"/>
    </service>
    <service name="setInvoicesToReadyFromShipment" engine="java"
        location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="setInvoicesToReadyFromShipment">
        <description>Set invoice(s) to Ready from Shipment</description>
        <attribute name="shipmentId" type="String" mode="IN" optional="false"/>
    </service>

    <service name="createSalesInvoicesFromDropShipment" engine="java"
        location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="createSalesInvoicesFromDropShipment">
        <description>
            Create sales invoice(s) from a drop shipment by wrapping a call to
            createInvoicesFromShipments with the createSalesInvoicesForDropShipments parameter
        </description>
        <attribute name="shipmentId" type="String" mode="IN" optional="false"/>
        <attribute name="invoicesCreated" type="List" mode="OUT" optional="true"/>
    </service>
    <service name="createInvoicesFromShipments" engine="java"
        location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="createInvoicesFromShipments">
        <description>
            Create invoice(s) from a shipment list.
            All the order items associated with the shipments will be selected and
            one invoice for each order will be created (each invoice could contain
            items shipped in different shipments).
            If the shipments are drop shipments, the type of invoices (purchase or sales) created
            will be controlled by the createSalesInvoicesForDropShipments parameter (purchase by default).
            invoicesCreated = List of invoiceIds which were created by this service
        </description>
        <attribute name="shipmentIds" type="List" mode="IN" optional="false"/>
        <attribute name="createSalesInvoicesForDropShipments" type="Boolean" mode="IN" optional="true"/>
        <attribute name="eventDate" type="Timestamp" mode="IN" optional="true"/>
        <attribute name="invoicesCreated" type="List" mode="OUT" optional="true"/>
    </service>
    <service name="createInvoicesFromReturnShipment" engine="java"
        location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="createInvoicesFromReturnShipment">
        <description>
            Create invoice(s) from a return Shipment
            invoicesCreated = List of invoiceIds which were created by this service
        </description>
        <attribute name="shipmentId" type="String" mode="IN" optional="false"/>
        <attribute name="invoicesCreated" type="List" mode="OUT" optional="true"/>
    </service>
    <service name="sendInvoicePerEmail" engine="simple"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="sendInvoicePerEmail">
        <description>Send an invoice per email</description>
        <attribute name="invoiceId" type="String" mode="IN" optional="false"/>
        <attribute name="sendFrom" type="String" mode="IN" optional="false"/>
        <attribute name="sendTo" type="String" mode="IN" optional="false"/>
        <attribute name="sendCc" type="String" mode="IN" optional="true"/>
        <attribute name="subject" type="String" mode="IN" optional="true"/>
        <attribute name="bodyText" type="String" mode="IN" optional="true" allow-html="safe"/>
        <attribute name="other" type="String" mode="IN" optional="true"/><!-- to send the invoice in the 'other' currency (y) -->
    </service>
    <service name="checkInvoicePaymentApplications" engine="java"
            location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="checkInvoicePaymentApplications">
        <description>Checks to see if the payments applied to an invoice total up to the invoice total; if so sets to PAID</description>
        <attribute name="invoiceId" type="String" mode="IN" optional="false"/>
    </service>
    <service name="createInvoiceContactMech" engine="simple"
            location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="createInvoiceContactMech">
        <description>Create a ContactMech for an invoice</description>
        <permission-service service-name="acctgInvoicePermissionCheck" main-action="CREATE"/>
        <auto-attributes entity-name="InvoiceContactMech" include="pk" mode="IN" optional="false"/>
        <attribute name="contactMechId" type="String" mode="OUT" optional="true"/>
    </service>
    <service name="calculateInvoicedAdjustmentTotal" engine="java"
            location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="calculateInvoicedAdjustmentTotal">
        <description>Calculate the previously invoiced amount for an OrderAdjustment</description>
        <attribute name="orderAdjustment" type="org.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
        <attribute name="invoicedTotal" type="BigDecimal" mode="OUT" optional="false"/>
    </service>

    <service name="updateInvoiceItemType" engine="simple" default-entity-name="InvoiceItemType"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="updateInvoiceItemType">
        <description>Update Invoice Item Type Record</description>
        <auto-attributes mode="IN" include="pk" optional="false"/>
        <auto-attributes mode="IN" include="nonpk" optional="true"/>
    </service>
    <!-- Auto generate Invoice for fixed period -->
    <service name="autoGenerateInvoiceFromExistingInvoice" engine="simple" location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="autoGenerateInvoiceFromExistingInvoice">
        <description>Scheduled service to generate Invoice from an existing Invoice</description>
        <attribute name="recurrenceInfoId" mode="IN" type="String" optional="false"/>
    </service>
    
    <service name="cancelInvoice" engine="simple"
            location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="cancelInvoice">
        <description>Cancel Invoice</description>
        <attribute name="invoiceId" type="String" mode="IN" optional="false"/>
        <attribute name="invoiceTypeId" type="String" mode="OUT" optional="false"/>
    </service>
    
    <service name="getInvoiceRunningTotal" engine="simple"
            location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="getInvoiceRunningTotal" auth="true">
        <description>calculate running total for selected Invoices</description>
        <attribute name="invoiceIds" type="List" mode="IN" optional="false"/>
        <attribute name="organizationPartyId" type="String" mode="IN" optional="true"/>
        <attribute name="invoiceRunningTotal" type="String" mode="OUT" optional="false"/>
    </service>
    
    <service name="addtax" engine="simple" 
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="addtax">
        <description>Call Tax Calculate Service</description>
        <attribute name="invoiceId" type="String" mode="IN" optional="false"/>
    </service>

    <service name="getInvoicesFilterByAssocType" engine="simple"
            location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="getInvoicesFilterByAssocType" auth="true">
        <description>Filter invoices by invoiceItemAssocTypeId</description>
        <attribute name="invoiceList" type="List" mode="IN" optional="false"/>
        <attribute name="invoiceItemAssocTypeId" type="String" mode="IN" optional="false"/>
        <attribute name="filteredInvoiceList" type="List" mode="OUT" optional="true"/>
    </service>

    <!-- Invoice Association Services -->
    <service name="createInvoiceItemAssoc" default-entity-name="InvoiceItemAssoc" engine="entity-auto" invoke="create" auth="true">
        <description>Create a InvoiceItemAssoc</description>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <override name="fromDate" optional="true"/>
    </service>
    <service name="updateInvoiceItemAssoc" default-entity-name="InvoiceItemAssoc" engine="entity-auto" invoke="update" auth="true">
        <description>Update a InvoiceItemAssoc</description>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteInvoiceItemAssoc" default-entity-name="InvoiceItemAssoc" engine="entity-auto" invoke="delete" auth="true">
        <description>Delete a InvoiceItemAssoc</description>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>

    <service name="removeInvoiceItemAssocOnCancelInvoice" engine="simple"
            location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="removeInvoiceItemAssocOnCancelInvoice" auth="true">
        <description>Remove invoiceItemAssoc record on cancel invoice</description>
        <attribute name="invoiceId" type="String" mode="IN" optional="false"/>
    </service>

    <service name="resetOrderItemBillingAndOrderAdjustmentBillingOnCancelInvoice" engine="simple"
            location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="resetOrderItemBillingAndOrderAdjustmentBillingOnCancelInvoice" auth="true">
        <description>Reset OrderItemBilling and OrderAdjustmentBilling records on cancel invoice, so it is isn't considered invoiced any more by createInvoiceForOrder service</description>
        <attribute name="invoiceId" type="String" mode="IN" optional="false"/>
    </service>

    <service name="massChangeInvoiceStatus" engine="simple"
            location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="massChangeInvoiceStatus" auth="true">
        <description>Set status of invoices in bulk.</description>
        <attribute name="invoiceIds" type="List" mode="IN" optional="false"/>
        <attribute name="statusId" type="String" mode="IN" optional="false"/>
        <attribute name="errorMessage" type="String" optional="true" mode="OUT"/>
    </service>
    
    <service name="createInvoiceFromOrder" engine="simple"
        location="component://accounting/script/org/ofbiz/accounting/invoice/InvoiceServices.xml" invoke="createInvoiceFromOrder">
        <description>Create an invoice from existing order when invoicePerShipment is N</description>
        <attribute name="orderId" type="String" mode="IN" optional="false"/>
        <attribute name="invoiceId" type="String" mode="OUT" optional="true"/>
    </service>
    
</services>
