<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:mule="http://www.mulesoft.org/schema/mule/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://www.mulesoft.org/schema/mule/intacct">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"></xs:import>
  <xs:import schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" namespace="http://www.springframework.org/schema/beans"></xs:import>
  <xs:import schemaLocation="http://www.mulesoft.org/schema/mule/core/current/mule.xsd" namespace="http://www.mulesoft.org/schema/mule/core"></xs:import>
  <xs:import schemaLocation="http://www.mulesoft.org/schema/mule/devkit/current/mule-devkit.xsd" namespace="http://www.mulesoft.org/schema/mule/devkit"></xs:import>
  <xs:simpleType name="integerType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:integer"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="decimalType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:decimal"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="floatType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:float"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="doubleType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:double"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="dateTimeType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:dateTime"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="longType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:long"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="byteType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:byte"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="booleanType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:boolean"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="anyUriType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:anyURI"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="charType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:minLength value="1"></xs:minLength>
          <xs:maxLength value="1"></xs:maxLength>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:complexType name="XmlType">
    <xs:sequence>
      <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
    </xs:sequence>
    <xs:attribute name="ref" use="optional" type="xs:string">
      <xs:annotation>
        <xs:documentation>The reference object for this parameter</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:element xmlns:devkit="http://www.mulesoft.org/schema/mule/devkit" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="config" substitutionGroup="mule:abstract-extension" devkit:javaClass="org.mule.module.intacct.adapters.IntacctCloudConnectorLifecycleAdapter">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="mule:abstractExtensionType">
          <xs:annotation>
            <xs:documentation>Cloud Connector Facade for &lt;a href="http://us.intacct.com/"&gt;Intacct&lt;/a&gt;</xs:documentation>
          </xs:annotation>
          <xs:attribute name="name" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Give a name to this configuration so it can be later referenced by config-ref.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="senderId" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>Intacct-registered Web Services username.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="controlPassword" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>Registered Web Services password</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="controlId" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>Used by the sender to match a request to its response. This is especially
useful during asynchronous requests. The following illustrates the syntax
for a request element.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="uniqueId" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>The Intacct system guarantees transaction idempotence through the use of the uniqueId.
The default setting for the uniqueId element is "true" with all lower-case characters.
If the uniqueId element value is set to "true", the designated function will be
performed only once. Before a function is executed, the controlId attribute of the
function tag is checked for uniqueness. If a function is submitted twice under the
same controlId and sender, the function will not be re-executed. However, a failed
request may be re-submitted under the same controlId and sender.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="userId" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>The login information specifies the user's Intacct identity.
This is the same information you see when you log onto the Intacct system.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="userPassword" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>The login information specifies the user's Intacct password.
This is the same information you see when you log onto the Intacct system.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="companyId" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>The login information specifies the user's Intacct company.
This is the same information you see when you log onto the Intacct system.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="intacctImplementation-ref" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Intacct Client implementation. By default:</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/intacct" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="operation" substitutionGroup="mule:abstract-message-processor" type="OperationType">
    <xs:annotation>
      <xs:documentation>Given the function we create the request with the parameters for default given in the config</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="OperationType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="function" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>function</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="function" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/intacct" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="execute" substitutionGroup="mule:abstract-message-processor" type="ExecuteType">
    <xs:annotation>
      <xs:documentation>Batch executes a list of commands of the given CommandType.
&lt;p&gt;
This processor, it's the equivalent of making an  (deprecated)
of a function with all its elements of the same Commandtype.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ExecuteType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="commands" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the commands list</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="command" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-command" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="functionControlId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>String. Is used by the sender to match a request to its response for the function that will be created for this operation. This is especially useful during asynchronous requests.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/intacct" name="type" use="required" type="CommandTypeEnumType">
          <xs:annotation>
            <xs:documentation>the type of commands to execute</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/intacct" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-invoice" substitutionGroup="mule:abstract-message-processor" type="CreateInvoiceType">
    <xs:annotation>
      <xs:documentation>Creates an 
&lt;p&gt;
An invoice is a document within the Intacct system. The invoice represents a
transaction between the company and a customer.
&lt;p&gt;
Documentation: &lt;a href="http://developer.intacct.com/wiki/invoice"&gt;Invoice&lt;a&gt;
&lt;p&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateInvoiceType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="date-created" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Date when the invoice has been created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="date-created" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="date-posted" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Date when the invoice has been posted.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="date-posted" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="date-due" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Date when the invoice expires.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="date-due" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="bill-to-contacts" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>List of contacts to bill.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="bill-to-contact" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-bill-to-contact" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="ship-to-contacts" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>List of contacts to ship.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ship-to-contact" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-ship-to-contact" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="exch-rate-dates-or-exch-rate-types-or-exch-rates" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>List of exchanges.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="exch-rate-dates-or-exch-rate-types-or-exch-rate" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-exch-rate-dates-or-exch-rate-types-or-exch-rate" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="custom-fields" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>List of custom fields.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="custom-field" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-custom-field" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="invoice-items" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>List of invoice items.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="invoice-item" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-invoice-item" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="functionControlId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>String. Is used by the sender to match a request to its response for the function that will be created for this operation. This is especially useful during asynchronous requests.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="customerId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Customer identification code.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="termName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The term name.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="batchKey" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The batch key code.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="invoiceNo" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Invoice number.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="poNumber" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The poNumber.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="description" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A description of the invoice.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="externalId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the external Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/intacct" name="billToContactType" use="optional" type="ContactTypeEnumType">
          <xs:annotation>
            <xs:documentation>The only kind of element that will be listed in the billTo parameter. Contact or ContactName.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/intacct" name="shipToContactType" use="optional" type="ContactTypeEnumType">
          <xs:annotation>
            <xs:documentation>The only kind of element that will be listed in the shipTo parameter. Contact or ContactName.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="basecurr" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Base currency.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="currency" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The currency.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/intacct" name="exchType" use="optional" type="ExchTypeEnumType">
          <xs:annotation>
            <xs:documentation>The only kind of element that will be listed in the exchRateDateOrExchRateTypeOrExchRate parameter. ExchRateDate, ExchRateType or ExchRate.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="nogl" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The General Ledger number.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/intacct" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-invoice-batch" substitutionGroup="mule:abstract-message-processor" type="CreateInvoiceBatchType">
    <xs:annotation>
      <xs:documentation>Creates an 
&lt;p&gt;
An invoice batch is an entity that groups invoices. Every invoice in the Intacct
system must be assigned to a batch.
&lt;p&gt;
Documentation: &lt;a href="http://developer.intacct.com/wiki/invoice-batch"&gt;Invoicebatch&lt;a&gt;
&lt;p&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateInvoiceBatchType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="date-created" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The date when the invoices have been created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="date-created" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="create-invoices" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>List of s.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="create-invoice" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-create-invoice" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="functionControlId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>String. Is used by the sender to match a request to its response for the function that will be created for this operation. This is especially useful during asynchronous requests.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="batchTitle" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The title that is given to this batch of s.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/intacct" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-a-r-adjustment" substitutionGroup="mule:abstract-message-processor" type="CreateARAdjustmentType">
    <xs:annotation>
      <xs:documentation>Creates an 
&lt;p&gt;
An AR Adjustment is a document within the Intacct system. The AR Adjustment represents
an adjustment to the customer's account, with or without reference to an existing
invoice. Generally, the AR Adjustment is an internal document, not an invoice, and
therefore does not have a due date.
&lt;p&gt;
Documentation: &lt;a href="http://developer.intacct.com/wiki/ar-adjustment"&gt;Aradjustment&lt;a&gt;
&lt;p&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateARAdjustmentType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="date-created" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Date when the adjustment to the customer's account has been made.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="date-created" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="date-posted" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Date when the adjustment to the customer's account has been posted.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="date-posted" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="exch-rate-dates-or-exch-rate-types-or-exch-rates" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>List of exchanges.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="exch-rate-dates-or-exch-rate-types-or-exch-rate" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-exch-rate-dates-or-exch-rate-types-or-exch-rate" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="a-r-adjustment-items" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>List of AR adjustment items.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="a-r-adjustment-item" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-a-r-adjustment-item" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="functionControlId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>String. Is used by the sender to match a request to its response for the function that will be created for this operation. This is especially useful during asynchronous requests.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="customerId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Customer identification code.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="batchKey" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The batch key code. If the desired batch already exists, it can be specified using this field. This approach gives you the flexibility to easily assign different batches to documents posted within a single request.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="adjustmentNo" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Adjustment number.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="invoiceNo" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Invoice number.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="description" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A description of the adjustment.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="externalId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The external Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="basecurr" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Base currency.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="currency" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The currency.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/intacct" name="exchType" use="optional" type="ExchTypeEnumType">
          <xs:annotation>
            <xs:documentation>The kind of elements that will be listed in the exchRateDateOrExchRateTypeOrExchRate parameter. ExchRateDate, ExchRateType or ExchRate.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="nogl" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The General Ledger number.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/intacct" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-s-o-transaction" substitutionGroup="mule:abstract-message-processor" type="CreateSOTransactionType">
    <xs:annotation>
      <xs:documentation>Creates an 
&lt;p&gt;
A SOTransaction represents any transactional document created in the Order
Entry application. Each document in the Order Entry application is user definable;
there are no statically defined document types. When querying SOTransactions, it
may be useful to filter the query by the transactiontype field.
&lt;p&gt;
Documentation: &lt;a href="http://developer.intacct.com/wiki/sotransaction"&gt;Sotransaction&lt;a&gt;
&lt;p&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateSOTransactionType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="date-created" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Date when the SO Transaction has been made.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="date-created" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="date-due" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Date when the invoice expires.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="date-due" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="bill-to-contacts" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>List of contacts to bill.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="bill-to-contact" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-bill-to-contact" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="ship-to-contacts" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>List of contacts to ship.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ship-to-contact" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-ship-to-contact" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="exch-rate-dates-or-exch-rate-types-or-exch-rates" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>List of exchanges.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="exch-rate-dates-or-exch-rate-types-or-exch-rate" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-exch-rate-dates-or-exch-rate-types-or-exch-rate" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="custom-fields" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>List of custom fields.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="custom-field" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-custom-field" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="s-o-trans-items" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>List of SO transactions items.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="s-o-trans-item" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-s-o-trans-item" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="sub-totals" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>List of sub-totals.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="sub-total" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-sub-total" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="functionControlId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>String. Is used by the sender to match a request to its response for the function that will be created for this operation. This is especially useful during asynchronous requests.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="transactionType" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the transactionType</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="createdFrom" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>From where it was created.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="customerId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Customer identification code.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="documentNo" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Document number.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="referenceNo" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Reference number.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="termName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The term name.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="message" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The message.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="shippingMethod" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The shipping method.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/intacct" name="billToContactType" use="optional" type="ContactTypeEnumType">
          <xs:annotation>
            <xs:documentation>The only kind of element that will be listed in the billTo parameter. Contact or ContactName.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/intacct" name="shipToContactType" use="optional" type="ContactTypeEnumType">
          <xs:annotation>
            <xs:documentation>The only kind of element that will be listed in the shipTo parameter. Contact or ContactName.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="externalId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The external Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="basecurr" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Base currency.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="currency" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The currency.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/intacct" name="exchType" use="optional" type="ExchTypeEnumType">
          <xs:annotation>
            <xs:documentation>The only kind of element that will be listed in the exchRateDateOrExchRateTypeOrExchRate parameter. ExchRateDate, ExchRateType or ExchRate.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="vsoePriceList" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The vsoe (Vendor Specific Objective Evidence) price list.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/intacct" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-list" substitutionGroup="mule:abstract-message-processor" type="GetListType">
    <xs:annotation>
      <xs:documentation>Allows you to retrieve a list object with optional filter and/or sort specifications.
Filters can be simple or complex with logical groupings for AND and OR filtering.
&lt;p&gt;
Documentation: &lt;a href="http://developer.intacct.com/wiki/get-list"&gt;getList&lt;a&gt;
&lt;p&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetListType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="filters" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. A collection of filtering expressions to apply to the query.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="filter" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:attribute name="value-ref" use="required" type="xs:string"></xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="sorts" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. A collection of fields to sort by.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="sort" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-sort" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="fields" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. A collection of fields to retrieve in the query. The fields will be returned in the order requested. If the request does not include a fields element, the web service will return the default set of fields.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="field" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-field" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="functionControlId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>String. Is used by the sender to match a request to its response for the function that will be created for this operation. This is especially useful during asynchronous requests.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="obj" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>String. The object on which to perform the query. &lt;p&gt; A list of valid objects is provided:&lt;p&gt; accountgroup, adjjournal, apaccountlabel, apadjustment, apadjustmentbatch, appayment, appaymentrequest, apterm, araccountlabel, aradjustment, aradjustmentbatch, arpayment, arpaymentbatch, arterm, artransactiondef, bankaccount, bill, billbatch, class, company_info, contact, contacttaxgroup, csnhistory, custglgroup, customer, customerachinfo, customerbankaccount, customerchargecard, customerppackage, department, employee, expensereport, expensereportbatch, expensetypes, glaccount, glbudget, glbudgetitem, glentry, gltransaction, icitem, ictotal, ictransaction, ictransactiondef, invoice, invoicebatch, itemglgroup, itemtaxgroup, journal, location, locationentity, locationgroup, popricelist, potransaction, potransactiondef, pricelistitem, productline, project, renewalmacro, reportingperiod, revrecschedule, revrecscheduleentry, revrectemplate, smarteventlog, sopricelist, sotransaction, sotransactiondef, statglaccount, statjournal, stkittransaction, subscription, taxdetail, taxschedule, taxscheduledetail, taxschedulemap, territory, trxcurrencies, uom, vendglgroup, vendor, vsoeitempricelist, vsoepricelist, warehouse.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="start" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optionl. During a list query you can specify the start record of the list of objects to return to increase performance. This attribute defaults to zero.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="maxItems" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. During a list query, you can specify the maximum number of objects to return to increase performance. By combining this with the Start attribute above you can loop through the objects in groups for better performance.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="showPrivate" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. In Multi-entity Shared implementations, some objects may be owned by a subsidiary entity, but are visible at the root. If showprivate is set to "true", the getlist method will return all records visible in the current multi-entity context. If showprivate is left unset or is "false", getlist will only return those records owned by the current multi-entity context.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/intacct" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get" substitutionGroup="mule:abstract-message-processor" type="GetType">
    <xs:annotation>
      <xs:documentation>Allows you to retrieve all of the information about a single instance of an
Intacct object.
&lt;p&gt;
Additional options for manipulating the return fields allow you to retrieve
only the information that you need.
&lt;p&gt;
Documentation: &lt;a href="http://developer.intacct.com/wiki/get"&gt;get&lt;a&gt;
&lt;p&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="fields" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. A collection of Maps that represents fields to retrieve in the query. If the request does not include a fields element, the gateway will return the default set of fields, including custom fields for any objects that have them.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="field" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-field" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="value-ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="functionControlId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>String. Is used by the sender to match a request to its response for the function that will be created for this operation. This is especially useful during asynchronous requests.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="obj" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>String. The object on which to perform the query. &lt;p&gt; A list of valid objects is provided:&lt;p&gt; accountgroup, apaccountlabel, appaymentrequest, apterm, araccountlabel, arterm, bankaccount, bill, class, company_info, contact, csnhistory, customer, customerachinfo, customerbankaccount, customerchargecard, department, employee, expensetypes, glaccount, icitem, ictransaction, invoice, journal, location, locationentity, locationgroup, popricelist, potransaction, pricelistitem, productline, project, recurbill, recurinvoice, renewalmacro, reportingperiod, revrecschedule, revrecscheduleentry, sopricelist, sotransaction, statglaccount, stkittransaction, subscription, taxdetail, taxschedule, taxscheduledetail, taxschedulemap, territory, trxcurrencies, vendor, vsoepricelist, warehouse.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="key" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The unique ID or key of the object instance to be retrieved.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="externalKey" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Every object in the Intacct system is allowed to have an External ID, which allows users to assign a unique ID outside of the Intacct system. For example, if a partner application has its own numbering scheme for bills, during bill creation each individual bill can be assigned an External ID which would identify it in the partner system. Later on, while using the Get and Delete functions of the Intacct Gateway, the partner can then specify the External ID rather than the Intacct ID. This way, the partner is not required to store the Intacct ID of each object created in the Intacct system.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/intacct" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="operation-with-request" substitutionGroup="mule:abstract-message-processor" type="OperationWithRequestType">
    <xs:annotation>
      <xs:documentation>Reconoce la operacion con valores default setteados en el config</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="OperationWithRequestType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element xmlns="http://www.mulesoft.org/schema/mule/intacct" name="request" type="XmlType"></xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="CommandTypeEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="CreateApaccountlabel"></xs:enumeration>
          <xs:enumeration value="CreateApadjustment"></xs:enumeration>
          <xs:enumeration value="CreateApadjustmentbatch"></xs:enumeration>
          <xs:enumeration value="CreateAraccountlabel"></xs:enumeration>
          <xs:enumeration value="CreateAradjustment"></xs:enumeration>
          <xs:enumeration value="CreateAradjustmentbatch"></xs:enumeration>
          <xs:enumeration value="CreateArpayment"></xs:enumeration>
          <xs:enumeration value="CreateArpaymentbatch"></xs:enumeration>
          <xs:enumeration value="CreateBill"></xs:enumeration>
          <xs:enumeration value="CreateRecurringbill"></xs:enumeration>
          <xs:enumeration value="CreateBillbatch"></xs:enumeration>
          <xs:enumeration value="CreateCheckingaccount"></xs:enumeration>
          <xs:enumeration value="CreateSavingsaccount"></xs:enumeration>
          <xs:enumeration value="UpdateCheckingaccount"></xs:enumeration>
          <xs:enumeration value="UpdateSavingsaccount"></xs:enumeration>
          <xs:enumeration value="DeleteCheckingaccount"></xs:enumeration>
          <xs:enumeration value="DeleteSavingsaccount"></xs:enumeration>
          <xs:enumeration value="CreateContact"></xs:enumeration>
          <xs:enumeration value="CreateCustomer"></xs:enumeration>
          <xs:enumeration value="CreateDepartment"></xs:enumeration>
          <xs:enumeration value="CreateEmployee"></xs:enumeration>
          <xs:enumeration value="CreateExpensereport"></xs:enumeration>
          <xs:enumeration value="CreateExpensereportbatch"></xs:enumeration>
          <xs:enumeration value="CreateExpensetype"></xs:enumeration>
          <xs:enumeration value="CreateGlaccount"></xs:enumeration>
          <xs:enumeration value="CreateStatglaccount"></xs:enumeration>
          <xs:enumeration value="CreateGltransaction"></xs:enumeration>
          <xs:enumeration value="DeleteGltransaction"></xs:enumeration>
          <xs:enumeration value="CreateRecurringgltransaction"></xs:enumeration>
          <xs:enumeration value="DeleteRecurringgltransaction"></xs:enumeration>
          <xs:enumeration value="CreateStatgltransaction"></xs:enumeration>
          <xs:enumeration value="CreateRecurringstatgltrans"></xs:enumeration>
          <xs:enumeration value="DeleteRecurringstatgltrans"></xs:enumeration>
          <xs:enumeration value="CreateInvoice"></xs:enumeration>
          <xs:enumeration value="CreateRecurringinvoice"></xs:enumeration>
          <xs:enumeration value="CreateInvoicebatch"></xs:enumeration>
          <xs:enumeration value="CreateJournal"></xs:enumeration>
          <xs:enumeration value="CreateLocation"></xs:enumeration>
          <xs:enumeration value="CreateStatjournal"></xs:enumeration>
          <xs:enumeration value="CreateProject"></xs:enumeration>
          <xs:enumeration value="UpdateProject"></xs:enumeration>
          <xs:enumeration value="DeleteProject"></xs:enumeration>
          <xs:enumeration value="CreateClass"></xs:enumeration>
          <xs:enumeration value="DeleteClass"></xs:enumeration>
          <xs:enumeration value="CreateVendor"></xs:enumeration>
          <xs:enumeration value="DeleteApaccountlabel"></xs:enumeration>
          <xs:enumeration value="DeleteApadjustment"></xs:enumeration>
          <xs:enumeration value="CreateLocationgroup"></xs:enumeration>
          <xs:enumeration value="DeleteAraccountlabel"></xs:enumeration>
          <xs:enumeration value="DeleteAradjustment"></xs:enumeration>
          <xs:enumeration value="DeleteBill"></xs:enumeration>
          <xs:enumeration value="DeleteRecurringbill"></xs:enumeration>
          <xs:enumeration value="DeleteContact"></xs:enumeration>
          <xs:enumeration value="DeleteCustomer"></xs:enumeration>
          <xs:enumeration value="DeleteDepartment"></xs:enumeration>
          <xs:enumeration value="DeleteEmployee"></xs:enumeration>
          <xs:enumeration value="DeleteExpensereport"></xs:enumeration>
          <xs:enumeration value="DeleteExpensetype"></xs:enumeration>
          <xs:enumeration value="DeleteGlaccount"></xs:enumeration>
          <xs:enumeration value="DeleteStatglaccount"></xs:enumeration>
          <xs:enumeration value="DeleteInvoice"></xs:enumeration>
          <xs:enumeration value="DeleteRecurringinvoice"></xs:enumeration>
          <xs:enumeration value="DeleteJournal"></xs:enumeration>
          <xs:enumeration value="DeleteStatjournal"></xs:enumeration>
          <xs:enumeration value="DeleteLocation"></xs:enumeration>
          <xs:enumeration value="DeleteVendor"></xs:enumeration>
          <xs:enumeration value="Get"></xs:enumeration>
          <xs:enumeration value="GetAccountbalances"></xs:enumeration>
          <xs:enumeration value="GetAccountgroupdetails"></xs:enumeration>
          <xs:enumeration value="GetApadjustment"></xs:enumeration>
          <xs:enumeration value="GetAradjustment"></xs:enumeration>
          <xs:enumeration value="GetBill"></xs:enumeration>
          <xs:enumeration value="GetExpensereport"></xs:enumeration>
          <xs:enumeration value="GetInvoice"></xs:enumeration>
          <xs:enumeration value="GetList"></xs:enumeration>
          <xs:enumeration value="GetTrialbalance"></xs:enumeration>
          <xs:enumeration value="GetMyclients"></xs:enumeration>
          <xs:enumeration value="InitSession"></xs:enumeration>
          <xs:enumeration value="UpdateApaccountlabel"></xs:enumeration>
          <xs:enumeration value="UpdateAraccountlabel"></xs:enumeration>
          <xs:enumeration value="UpdateContact"></xs:enumeration>
          <xs:enumeration value="UpdateCustomer"></xs:enumeration>
          <xs:enumeration value="UpdateDepartment"></xs:enumeration>
          <xs:enumeration value="UpdateInvoice"></xs:enumeration>
          <xs:enumeration value="UpdateBill"></xs:enumeration>
          <xs:enumeration value="UpdateApadjustment"></xs:enumeration>
          <xs:enumeration value="UpdateAradjustment"></xs:enumeration>
          <xs:enumeration value="UpdateEmployee"></xs:enumeration>
          <xs:enumeration value="UpdateExpensereport"></xs:enumeration>
          <xs:enumeration value="UpdateExpensetype"></xs:enumeration>
          <xs:enumeration value="UpdateGlaccount"></xs:enumeration>
          <xs:enumeration value="UpdateStatglaccount"></xs:enumeration>
          <xs:enumeration value="UpdateJournal"></xs:enumeration>
          <xs:enumeration value="UpdateLocation"></xs:enumeration>
          <xs:enumeration value="UpdateVendor"></xs:enumeration>
          <xs:enumeration value="CreatePaymentrequest"></xs:enumeration>
          <xs:enumeration value="ReclassifyBill"></xs:enumeration>
          <xs:enumeration value="ReclassifyInvoice"></xs:enumeration>
          <xs:enumeration value="DeletePaymentrequest"></xs:enumeration>
          <xs:enumeration value="CreateAppayment"></xs:enumeration>
          <xs:enumeration value="CreateStkittransaction"></xs:enumeration>
          <xs:enumeration value="CreateIctransaction"></xs:enumeration>
          <xs:enumeration value="UpdateIctransaction"></xs:enumeration>
          <xs:enumeration value="CreateSotransaction"></xs:enumeration>
          <xs:enumeration value="UpdateSotransaction"></xs:enumeration>
          <xs:enumeration value="CreateRecursotransaction"></xs:enumeration>
          <xs:enumeration value="DeleteRecursotransaction"></xs:enumeration>
          <xs:enumeration value="CreatePotransaction"></xs:enumeration>
          <xs:enumeration value="UpdatePotransaction"></xs:enumeration>
          <xs:enumeration value="GetSalestotals"></xs:enumeration>
          <xs:enumeration value="GetIcitemtotals"></xs:enumeration>
          <xs:enumeration value="RecordCctransaction"></xs:enumeration>
          <xs:enumeration value="RecordWucctransactions"></xs:enumeration>
          <xs:enumeration value="RecordWureceipts"></xs:enumeration>
          <xs:enumeration value="RecordWudisbursements"></xs:enumeration>
          <xs:enumeration value="RecordWuadjjournalentries"></xs:enumeration>
          <xs:enumeration value="RecordWujournalentries"></xs:enumeration>
          <xs:enumeration value="GetCompanyprefs"></xs:enumeration>
          <xs:enumeration value="SetCompanyprefs"></xs:enumeration>
          <xs:enumeration value="GetApplications"></xs:enumeration>
          <xs:enumeration value="RecordOtherreceipt"></xs:enumeration>
          <xs:enumeration value="RecordDeposit"></xs:enumeration>
          <xs:enumeration value="CreateTerritory"></xs:enumeration>
          <xs:enumeration value="DeleteTerritory"></xs:enumeration>
          <xs:enumeration value="UpdateTerritory"></xs:enumeration>
          <xs:enumeration value="ApplyArpayment"></xs:enumeration>
          <xs:enumeration value="DeleteSotransaction"></xs:enumeration>
          <xs:enumeration value="DeletePotransaction"></xs:enumeration>
          <xs:enumeration value="DeleteIctransaction"></xs:enumeration>
          <xs:enumeration value="CreateItem"></xs:enumeration>
          <xs:enumeration value="UpdateItem"></xs:enumeration>
          <xs:enumeration value="DeleteItem"></xs:enumeration>
          <xs:enumeration value="CreateSopricelist"></xs:enumeration>
          <xs:enumeration value="DeleteSopricelist"></xs:enumeration>
          <xs:enumeration value="UpdateSopricelist"></xs:enumeration>
          <xs:enumeration value="CreatePopricelist"></xs:enumeration>
          <xs:enumeration value="DeletePopricelist"></xs:enumeration>
          <xs:enumeration value="UpdatePopricelist"></xs:enumeration>
          <xs:enumeration value="CreateVsoepricelist"></xs:enumeration>
          <xs:enumeration value="UpdateVsoepricelist"></xs:enumeration>
          <xs:enumeration value="DeleteVsoepricelist"></xs:enumeration>
          <xs:enumeration value="CreateVsoeitempricelist"></xs:enumeration>
          <xs:enumeration value="UpdateVsoeitempricelist"></xs:enumeration>
          <xs:enumeration value="DeleteVsoeitempricelist"></xs:enumeration>
          <xs:enumeration value="CreateInvpricelistentry"></xs:enumeration>
          <xs:enumeration value="DeleteInvpricelistentry"></xs:enumeration>
          <xs:enumeration value="UpdateInvpricelistentry"></xs:enumeration>
          <xs:enumeration value="GetClosedbooksdate"></xs:enumeration>
          <xs:enumeration value="GetAraging"></xs:enumeration>
          <xs:enumeration value="DeleteArpayment"></xs:enumeration>
          <xs:enumeration value="CreateCustomerachinfo"></xs:enumeration>
          <xs:enumeration value="UpdateCustomerachinfo"></xs:enumeration>
          <xs:enumeration value="DeleteCustomerachinfo"></xs:enumeration>
          <xs:enumeration value="CreateCustomerchargecard"></xs:enumeration>
          <xs:enumeration value="UpdateCustomerchargecard"></xs:enumeration>
          <xs:enumeration value="DeleteCustomerchargecard"></xs:enumeration>
          <xs:enumeration value="CreateCustomerbankaccount"></xs:enumeration>
          <xs:enumeration value="UpdateCustomerbankaccount"></xs:enumeration>
          <xs:enumeration value="DeleteCustomerbankaccount"></xs:enumeration>
          <xs:enumeration value="CreateTaxdetail"></xs:enumeration>
          <xs:enumeration value="UpdateTaxdetail"></xs:enumeration>
          <xs:enumeration value="DeleteTaxdetail"></xs:enumeration>
          <xs:enumeration value="CreateTaxschedule"></xs:enumeration>
          <xs:enumeration value="UpdateTaxschedule"></xs:enumeration>
          <xs:enumeration value="DeleteTaxschedule"></xs:enumeration>
          <xs:enumeration value="CreateTaxscheduledetail"></xs:enumeration>
          <xs:enumeration value="DeleteTaxscheduledetail"></xs:enumeration>
          <xs:enumeration value="CreateContacttaxgroup"></xs:enumeration>
          <xs:enumeration value="DeleteContacttaxgroup"></xs:enumeration>
          <xs:enumeration value="CreateItemtaxgroup"></xs:enumeration>
          <xs:enumeration value="DeleteItemtaxgroup"></xs:enumeration>
          <xs:enumeration value="CreateTaxschedulemap"></xs:enumeration>
          <xs:enumeration value="DeleteTaxschedulemap"></xs:enumeration>
          <xs:enumeration value="Describe"></xs:enumeration>
          <xs:enumeration value="ReconcileBank"></xs:enumeration>
          <xs:enumeration value="ReverseBill"></xs:enumeration>
          <xs:enumeration value="ReverseAppayment"></xs:enumeration>
          <xs:enumeration value="CreateApterm"></xs:enumeration>
          <xs:enumeration value="UpdateApterm"></xs:enumeration>
          <xs:enumeration value="DeleteApterm"></xs:enumeration>
          <xs:enumeration value="CreateArterm"></xs:enumeration>
          <xs:enumeration value="UpdateArterm"></xs:enumeration>
          <xs:enumeration value="DeleteArterm"></xs:enumeration>
          <xs:enumeration value="CreateTimesheet"></xs:enumeration>
          <xs:enumeration value="UpdateTimesheet"></xs:enumeration>
          <xs:enumeration value="DeleteTimesheet"></xs:enumeration>
          <xs:enumeration value="CreateTask"></xs:enumeration>
          <xs:enumeration value="UpdateTask"></xs:enumeration>
          <xs:enumeration value="DeleteTask"></xs:enumeration>
          <xs:enumeration value="CreateAllocation"></xs:enumeration>
          <xs:enumeration value="UpdateAllocation"></xs:enumeration>
          <xs:enumeration value="DeleteAllocation"></xs:enumeration>
          <xs:enumeration value="UpdateCctransaction"></xs:enumeration>
          <xs:enumeration value="ReverseCctransaction"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="ContactTypeEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="Contact"></xs:enumeration>
          <xs:enumeration value="ContactName"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="ExchTypeEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="ExchRateDate"></xs:enumeration>
          <xs:enumeration value="ExchRateType"></xs:enumeration>
          <xs:enumeration value="ExchRate"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
</xs:schema>