<?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/quickbooks">
  <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.modules.quickbooks.online.config.QuickBooksModuleLifecycleAdapter">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="mule:abstractExtensionType">
          <xs:annotation>
            <xs:documentation>QuickBooks software provides an interface that allows you to use forms such as checks, deposit slips and invoices,
making the accounting process more comfortable for the average business owner or manager. By using the built-in
functions that pertain to your business, you are able to perform your company accounting by simply recording your
vendor activities, customer activities, banking transactions, payroll checks and taxes. QuickBooks handles the
accounting portion of each transaction behind the scenes.
Read more: QuickBooks Accounting Tutorial | eHow.com http://www.ehow.com/way_5462311_quickbooks-accounting-tutorial.html#ixzz1csaydwxl</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="client-ref" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Quick-Books client. By default uses DefaultQuickBooksOnlineClient class.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="baseUri" default="https://qbo.intuit.com/qbo1/rest/user/v2" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>The base uri of the quickbooks endpoint,
used to fetch the company uri.

Quickbooks connector will first use this uri and the realmId to
get a second uri, called company uri,
which is the actual quickbooks endpoint for the connector</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-account" substitutionGroup="mule:abstract-message-processor" type="CreateAccountType">
    <xs:annotation>
      <xs:documentation>Creates an Account.
The Account object represents the accounts that you keep to track your business.
Account is a component of a chart of accounts, and is part of a ledger.
You can use Account to record the total monetary amount that is allocated for a specific use.
For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Account"&gt;Account Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateAccountType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="account-parent-id" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. If the account is a subaccount, AccountParentId is used to store the ID of the parent account.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="account-parent-id" 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:attribute name="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>User-recognizable name for the account. This name must be unique. When you create a company, you get some default accounts. If you want to create an account, you must provide an account name that does not match the name of any default account.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="desc" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. User-entered description of the account. This description helps the book keepers or accountants to decide which journal entries should be posted to this account.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="subtype" use="required" type="AccountOnlineDetailEnumType">
          <xs:annotation>
            <xs:documentation>Detailed classification of the account that specifies the use of this account. The accepted values are defined in QboAccountDetailTypeEnum.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="acctNum" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. User-specified account number that help the user to identify the account within the chart of accounts and decide what should be posted to the account.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="openingBalance" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Opening balance amount when you create a new balance sheet account.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="openingBalanceDate" use="required" type="dateTimeType">
          <xs:annotation>
            <xs:documentation>Optional. Date of the opening balance amount when creating a new balance sheet account.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-bill" substitutionGroup="mule:abstract-message-processor" type="CreateBillType">
    <xs:annotation>
      <xs:documentation>Creates a Bill.
The Bill object represents an expense to the business.
For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Bill"&gt;Bill Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateBillType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Information on the financial transaction of the Bill.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Information about a specific good or service purchased for which the payment is demanded as a part of the bill. A bill can have multiple lines.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-bill-payment" substitutionGroup="mule:abstract-message-processor" type="CreateBillPaymentType">
    <xs:annotation>
      <xs:documentation>Creates a BillPayment.
BillPayment represents the financial transaction of payment of bills that the business owner receives
from a vendor for goods or services purchased from the vendor.
QBO supports bill payments through a credit card or a bank account.
For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/BillPayment"&gt;BillPayment Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateBillPaymentType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Header information about the BillPayment.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>List of lines. Specifies the line details for the bill payment.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-cash-purchase" substitutionGroup="mule:abstract-message-processor" type="CreateCashPurchaseType">
    <xs:annotation>
      <xs:documentation>Creates a CashPurchase.
CashPurchase represents an expense to the business as a cash transaction.
For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/CashPurchase"&gt;CashPurchase Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateCashPurchaseType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Information about the financial transaction of the entire CashPurchase.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>List of lines. Information about a specific good or service purchased for which the payment is demanded as a part of the CashPurchase.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-check" substitutionGroup="mule:abstract-message-processor" type="CreateCheckType">
    <xs:annotation>
      <xs:documentation>Creates a Check.
The Check object represents an expense to the business paid as a check transaction.
For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Check"&gt;Check Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateCheckType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Financial Transaction information that pertains to the entire CheckHeader.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>List of lines. Information about a specific good or service purchased for which the payment is demanded as a part of the check.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-credit-card-charge" substitutionGroup="mule:abstract-message-processor" type="CreateCreditCardChargeType">
    <xs:annotation>
      <xs:documentation>Creates a CreditCardCharge.
The CreditCardCharge object represents an expense to the business as a credit card charge
transaction. CreditCardCharge must have the total expense equal to the total expense of
line items.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/CreditCardCharge"&gt;CreditCardCharge Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateCreditCardChargeType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Financial Transaction information that pertains to the entire CreditCardChargeHeader.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>List of lines. Information about a specific good or service purchased for which the payment is demanded as a part of the CreditCardCharge purchase.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-customer" substitutionGroup="mule:abstract-message-processor" type="CreateCustomerType">
    <xs:annotation>
      <xs:documentation>Creates a Customer.
The Customer object represents the consumer of the service or the product that your business offers.
QBO allows categorizing the customers in a way that is meaningful to the business.
For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Customer"&gt;Customer Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateCustomerType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="web-sites" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Valid URI strings. Specifies the customers's Web sites.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="web-site" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-web-site" 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="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="sales-term-id" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Specifies the default sales term ID that is to be associated with the customer.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="sales-term-id" 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="emails" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Valid email. Specifies the customers's email addresses.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="email" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-email" 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="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="phones" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Specifies the phone numbers of the customer. QBO allows mapping of up to 5 phone numbers but only one phone number is permitted for one device type.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="phone" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-phone" 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="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="addresses" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Specifies the physical addresses.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="address" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-address" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the full name of the customer. If the Name is specified, then GivenName, MiddleName, and FamilyName values are ignored.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="givenName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specifies the given name or first name of a person. GivenName is a required field only if Name is not sent in the request. If a Name is sent, then the GivenName field is optional.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="middleName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the middle name of the person. A person can have zero or more middle names.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="familyName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the family name or the last name of the customer.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="suffix" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Suffix appended to the name, Jr., Sr., etc.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="dBAName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the "Doing Business As" name of the customer.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="showAs" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the name of the vendor to be displayed.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="salesTaxCodeId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>QBO only supports the customers being taxable or not, so if this field is "1", the job is taxable. If the field value is null, the job is not taxable. All other values are invalid.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-estimate" substitutionGroup="mule:abstract-message-processor" type="CreateEstimateType">
    <xs:annotation>
      <xs:documentation>Creates an Estimate.
The Estimate object represents a proposal for a financial transaction from a business to a customer
for goods or services proposed to be sold, including proposed pricing. It is also known as quote.
For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Estimate"&gt;Estimate Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateEstimateType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Financial transaction information that pertains to the entire Estimate.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Information about a specific good or service for which the estimate is being issued.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" 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 Invoice.
The Invoice object represents an invoice to a customer. Invoice could be based on salesterm
with invoice and due dates for payment. Invoice supports tax, but as of now shipping charges
are not supported. Invoice can be printed and emailed to a customer.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Invoice"&gt;Invoice Especification&lt;/a&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="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Provides information that pertains to the entire Invoice.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Information about a specific good or service for which the Invoice is being issued.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-item" substitutionGroup="mule:abstract-message-processor" type="CreateItemType">
    <xs:annotation>
      <xs:documentation>Creates an Item.
The Item object represents any product or service that is sold or purchased. Inventory items
are not currently supported.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Item"&gt;Item Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateItemType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="unit-price" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Monetary values of the service or product</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="unit-price" 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="income-account" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Income account reference to be associated with the sales item.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="income-account" 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="item-parent-id" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. The parent item id of current item.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="item-parent-id" 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="purchase-cost" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. The monetary value of the service or product.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="purchase-cost" 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="expense-account" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Income account reference to be associated with the purchase item.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="expense-account" 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:attribute name="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. User recognizable name of the Item.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="desc" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. User entered description for the item to further describe the details of service or product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="taxable" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>Optional. Indicates whether the item is subject to tax.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="itemParentName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Name of parent Item. This field is output only.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="purchaseDesc" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. User entered purchase description for the item to further describe the details of the purchase.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-payment" substitutionGroup="mule:abstract-message-processor" type="CreatePaymentType">
    <xs:annotation>
      <xs:documentation>Creates a Payment.
The Payment object  represents the financial transaction that signifies a payment from a customer
for one or more sales transactions.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Payment"&gt;Payment Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreatePaymentType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Information that pertains to the entire payment.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Line details of the receive payment. A receive payment can have multiple lines.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-payment-method" substitutionGroup="mule:abstract-message-processor" type="CreatePaymentMethodType">
    <xs:annotation>
      <xs:documentation>Creates a PaymentMethod.
PaymentMethod represents the method of payment for a transaction. It can be a credit card
payment type or a non-credit card payment type.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/PaymentMethod"&gt;PaymentMethod Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreatePaymentMethodType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>User recognizable name for the payment method.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" default="NON_CREDIT_CARD" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Type of payment. Specifies if it is a credit card payment type or a non-credit card payment type. It must specify either of the following:&lt;br/&gt; * CREDIT_CARD&lt;br/&gt; * NON_CREDIT_CARD</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-sales-receipt" substitutionGroup="mule:abstract-message-processor" type="CreateSalesReceiptType">
    <xs:annotation>
      <xs:documentation>Creates a SalesReceipt.
The Payment object  represents the financial transaction that signifies a payment from a customer
for one or more sales transactions.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/SalesReceipt"&gt;SalesReceipt Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateSalesReceiptType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Groups the elements that are common to the SalesReceipt transaction.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Groups the line items for the sales receipt.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-sales-term" substitutionGroup="mule:abstract-message-processor" type="CreateSalesTermType">
    <xs:annotation>
      <xs:documentation>Creates a SalesTerm.
The SalesTerm object  represents the terms under which a sale is made. SalesTerm is typically
expressed in the form of days due after the goods are received. There is an optional discount
part of the sales term, where a discount of total amount can automatically be applied if
payment is made within a few days of the stipulated time.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/SalesTerm"&gt;SalesTerm Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateSalesTermType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specifies the user recognizable name for the salesterm.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="dueDays" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>Number of days from the delivery of goods or services till the payment is due. If DueDays is specified, only DiscountDays and DiscountPercent can be additionally specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="discountDays" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>Optional. Number of days for which the discount is applicable, if the payment is made within these days. This value is used only when DueDays is specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="discountPercent" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Percentage of discount that is available against a price, if paid within the days specified by DiscountDays. This value is used only when DueDays is specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="dayOfMonthDue" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>Payment must be received by the day of the month specified by DayOfMonthDue. This value is used only when DueDays is not specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="dueNextMonthDays" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>Optional. Payment due next month if issued that many days before the DayOfMonthDue. This value is used only when DueDays is not specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="discountDayOfMonth" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>Optional. Discount applies if paid before that day of month. This value is used only when DueDays is not specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="dateDiscountPercent" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Percentage of discount that is available against a price, if paid before DiscountDayofMonth. This value is used only when DueDays is not specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-vendor" substitutionGroup="mule:abstract-message-processor" type="CreateVendorType">
    <xs:annotation>
      <xs:documentation>Creates a Vendor.
The Vendor object represents the buyer from whom you purchase any service or product
for your organization.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Vendor"&gt;Vendor Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateVendorType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="web-sites" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Valid URI strings. Specifies the vendor's Web site.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="web-site" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-web-site" 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="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="emails" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Valid email. Specifies the vendors's email addresses.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="email" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-email" 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="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="phones" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Specifies the phone numbers of the vendor. QBO allows mapping of up to 5 phone numbers but only one phone number is permitted for one device type.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="phone" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-phone" 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="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="addresses" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Specifies the physical addresses.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="address" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-address" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the full name of the vendor. If the FullName is specified, then GivenName, MiddleName, and FamilyName values are ignored.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="givenName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specifies the given name or first name of a person. GivenName is a required field only if Name is not sent in the request. If a Name is sent, then the GivenName field is optional.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="middleName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the middle name of the vendor. A person can have zero or more middle names.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="familyName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the family name or the last name of the vendor.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="dBAName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the "Doing Business As" name of the vendor.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="showAs" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the name of the vendor to be displayed.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="taxIdentifier" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the Tax ID of the person or the organization. This is a Personally Identifiable Information (PII) attribute.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="acctNum" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the account name or the account number that is associated with the vendor.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="vendor1099" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>Optional. Specifies that the Vendor is an independent contractor, someone who is given a 1099-MISC form at the end of the year. The "1099 Vendor" is paid with regular checks, and taxes are not withheld on the vendor's behalf.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-object" substitutionGroup="mule:abstract-message-processor" type="GetObjectType">
    <xs:annotation>
      <xs:documentation>Retrieve objects by ID.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetObjectType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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:attribute name="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="type" use="required" type="OnlineEntityTypeEnumType">
          <xs:annotation>
            <xs:documentation>EntityType of the object.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-account" substitutionGroup="mule:abstract-message-processor" type="UpdateAccountType">
    <xs:annotation>
      <xs:documentation>Updates an Account
The Account object represents the accounts that you keep to track your business.
Account is a component of a chart of accounts, and is part of a ledger.
You can use Account to record the total monetary amount that is allocated for a specific use.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Account"&gt;Account Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateAccountType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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="account-parent-id" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. If the account is a subaccount, AccountParentId is used to store the ID of the parent account.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="account-parent-id" 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:attribute name="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>User-recognizable name for the account. This name must be unique. When you create a company, you get some default accounts. If you want to create an account, you must provide an account name that does not match the name of any default account.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="desc" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. User-entered description of the account. This description helps the book keepers or accountants to decide which journal entries should be posted to this account.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="subtype" use="required" type="AccountOnlineDetailEnumType">
          <xs:annotation>
            <xs:documentation>Detailed classification of the account that specifies the use of this account. The accepted values are defined in QboAccountDetailTypeEnum.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="acctNum" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. User-specified account number that help the user to identify the account within the chart of accounts and decide what should be posted to the account.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="openingBalance" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Opening balance amount when you create a new balance sheet account.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="openingBalanceDate" use="optional" type="dateTimeType">
          <xs:annotation>
            <xs:documentation>Optional. Date of the opening balance amount when creating a new balance sheet account.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-bill" substitutionGroup="mule:abstract-message-processor" type="UpdateBillType">
    <xs:annotation>
      <xs:documentation>Updates a Bill
The Bill object represents an expense to the business.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Bill"&gt;Bill Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateBillType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Information on the financial transaction of the Bill.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Information about a specific good or service purchased for which the payment is demanded as a part of the bill. A bill can have multiple lines.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-bill-payment" substitutionGroup="mule:abstract-message-processor" type="UpdateBillPaymentType">
    <xs:annotation>
      <xs:documentation>Updates a BillPayment
BillPayment represents the financial transaction of payment of bills that the business owner receives
from a vendor for goods or services purchased from the vendor.
QBO supports bill payments through a credit card or a bank account.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/BillPayment"&gt;BillPayment Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateBillPaymentType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Header information about the BillPayment.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Specifies the line details for the bill payment. A bill payment can have multiple lines.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-cash-purchase" substitutionGroup="mule:abstract-message-processor" type="UpdateCashPurchaseType">
    <xs:annotation>
      <xs:documentation>Updates a CashPurchase.
CashPurchase represents an expense to the business as a cash transaction.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/CashPurchase"&gt;CashPurchase Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateCashPurchaseType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Information about the financial transaction of the entire CashPurchase.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>List of lines. Information about a specific good or service purchased for which the payment is demanded as a part of the CashPurchase.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-check" substitutionGroup="mule:abstract-message-processor" type="UpdateCheckType">
    <xs:annotation>
      <xs:documentation>Updates a Check.
The Check object represents an expense to the business paid as a check transaction.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Check"&gt;Check Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateCheckType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Financial Transaction information that pertains to the entire CheckHeader.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>List of lines. Information about a specific good or service purchased for which the payment is demanded as a part of the check.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-credit-card-charge" substitutionGroup="mule:abstract-message-processor" type="UpdateCreditCardChargeType">
    <xs:annotation>
      <xs:documentation>Updates a CreditCardCharge.
The CreditCardCharge object represents an expense to the business as a credit card charge
transaction. CreditCardCharge must have the total expense equal to the total expense of
line items.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/CreditCardCharge"&gt;CreditCardCharge Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateCreditCardChargeType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Financial Transaction information that pertains to the entire CreditCardChargeHeader.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>List of lines. Information about a specific good or service purchased for which the payment is demanded as a part of the CreditCardCharge purchase.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-customer" substitutionGroup="mule:abstract-message-processor" type="UpdateCustomerType">
    <xs:annotation>
      <xs:documentation>Updates a Customer.
The Customer object represents the consumer of the service or the product that your business offers.
QBO allows categorizing the customers in a way that is meaningful to the business.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Customer"&gt;Customer Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateCustomerType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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="web-sites" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Valid URI strings. Specifies the customers's Web sites.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="web-site" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-web-site" 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="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="sales-term-id" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Specifies the default sales term ID that is to be associated with the customer.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="sales-term-id" 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="emails" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Valid email. Specifies the customers's email addresses.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="email" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-email" 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="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="phones" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Specifies the phone numbers of the customer. QBO allows mapping of up to 5 phone numbers but only one phone number is permitted for one device type.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="phone" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-phone" 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="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="addresses" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Specifies the physical addresses.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="address" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-address" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the full name of the customer. If the Name is specified, then GivenName, MiddleName, and FamilyName values are ignored.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="givenName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specifies the given name or first name of a person. GivenName is a required field only if Name is not sent in the request. If a Name is sent, then the GivenName field is optional.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="middleName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the middle name of the person. A person can have zero or more middle names.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="familyName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the family name or the last name of the customer.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="suffix" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Suffix appended to the name, Jr., Sr., etc.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="dBAName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the "Doing Business As" name of the customer.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="showAs" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the name of the vendor to be displayed.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="salesTaxCodeId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>QBO only supports the customers being taxable or not, so if this field is "1", the job is taxable. If the field value is null, the job is not taxable. All other values are invalid.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-estimate" substitutionGroup="mule:abstract-message-processor" type="UpdateEstimateType">
    <xs:annotation>
      <xs:documentation>Updates an Estimate.
The Estimate object represents a proposal for a financial transaction from a business to a customer
for goods or services proposed to be sold, including proposed pricing. It is also known as quote.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Estimate"&gt;Estimate Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateEstimateType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Financial transaction information that pertains to the entire Estimate.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Information about a specific good or service for which the estimate is being issued.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-invoice" substitutionGroup="mule:abstract-message-processor" type="UpdateInvoiceType">
    <xs:annotation>
      <xs:documentation>Updates an Invoice.
The Invoice object represents an invoice to a customer. Invoice could be based on salesterm
with invoice and due dates for payment. Invoice supports tax, but as of now shipping charges
are not supported. Invoice can be printed and emailed to a customer.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Invoice"&gt;Invoice Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateInvoiceType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Provides information that pertains to the entire Invoice.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Information about a specific good or service for which the Invoice is being issued.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-item" substitutionGroup="mule:abstract-message-processor" type="UpdateItemType">
    <xs:annotation>
      <xs:documentation>Updates an Item.
The Item object represents any product or service that is sold or purchased. Inventory items
are not currently supported.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Item"&gt;Item Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateItemType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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="unit-price" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Monetary values of the service or product</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="unit-price" 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="income-account" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Income account reference to be associated with the sales item.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="income-account" 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="item-parent-id" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. The parent item id of current item.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="item-parent-id" 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="purchase-cost" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. The monetary value of the service or product.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="purchase-cost" 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="expense-account" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Income account reference to be associated with the purchase item.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="expense-account" 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:attribute name="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. User recognizable name of the Item.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="desc" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. User entered description for the item to further describe the details of service or product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="taxable" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>Optional. Indicates whether the item is subject to tax.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="itemParentName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Name of parent Item. This field is output only.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="purchaseDesc" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. User entered purchase description for the item to further describe the details of the purchase.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-payment" substitutionGroup="mule:abstract-message-processor" type="UpdatePaymentType">
    <xs:annotation>
      <xs:documentation>Updates a Payment.
The Payment object  represents the financial transaction that signifies a payment from a customer
for one or more sales transactions.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Payment"&gt;Payment Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdatePaymentType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Information that pertains to the entire payment.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Line details of the receive payment. A receive payment can have multiple lines.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-payment-method" substitutionGroup="mule:abstract-message-processor" type="UpdatePaymentMethodType">
    <xs:annotation>
      <xs:documentation>Updates a PaymentMethod.
PaymentMethod represents the method of payment for a transaction. It can be a credit card
payment type or a non-credit card payment type.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/PaymentMethod"&gt;PaymentMethod Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdatePaymentMethodType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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:attribute name="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>User recognizable name for the payment method.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" default="NON_CREDIT_CARD" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Type of payment. Specifies if it is a credit card payment type or a non-credit card payment type.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-sales-receipt" substitutionGroup="mule:abstract-message-processor" type="UpdateSalesReceiptType">
    <xs:annotation>
      <xs:documentation>Updates a SalesReceipt.
The Payment object  represents the financial transaction that signifies a payment from a customer
for one or more sales transactions.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/SalesReceipt"&gt;SalesReceipt Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateSalesReceiptType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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="header" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Groups the elements that are common to the SalesReceipt transaction.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="header" 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="lines" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Groups the line items for the sales receipt.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-line" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-sales-term" substitutionGroup="mule:abstract-message-processor" type="UpdateSalesTermType">
    <xs:annotation>
      <xs:documentation>Updates a SalesTerm.
The SalesTerm object  represents the terms under which a sale is made. SalesTerm is typically
expressed in the form of days due after the goods are received. There is an optional discount
part of the sales term, where a discount of total amount can automatically be applied if
payment is made within a few days of the stipulated time.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/SalesTerm"&gt;SalesTerm Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateSalesTermType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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:attribute name="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specifies the user recognizable name for the salesterm.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="dueDays" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>Number of days from the delivery of goods or services till the payment is due. If DueDays is specified, only DiscountDays and DiscountPercent can be additionally specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="discountDays" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>Optional. Number of days for which the discount is applicable, if the payment is made within these days. This value is used only when DueDays is specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="discountPercent" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Percentage of discount that is available against a price, if paid within the days specified by DiscountDays. This value is used only when DueDays is specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="dayOfMonthDue" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>Payment must be received by the day of the month specified by DayOfMonthDue. This value is used only when DueDays is not specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="dueNextMonthDays" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>Optional. Payment due next month if issued that many days before the DayOfMonthDue. This value is used only when DueDays is not specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="discountDayOfMonth" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>Optional. Discount applies if paid before that day of month. This value is used only when DueDays is not specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="dateDiscountPercent" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Percentage of discount that is available against a price, if paid before DiscountDayofMonth. This value is used only when DueDays is not specified.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-vendor" substitutionGroup="mule:abstract-message-processor" type="UpdateVendorType">
    <xs:annotation>
      <xs:documentation>Updates a Vendor.
The Vendor object represents the buyer from whom you purchase any service or product
for your organization.

Specify all the parameters for the object, not just the new or changed elements.
If you omit an element, it is removed from the object by the update operation.

For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Vendor"&gt;Vendor Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateVendorType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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="web-sites" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Valid URI strings. Specifies the vendor's Web site.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="web-site" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-web-site" 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="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="emails" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Valid email. Specifies the vendors's email addresses.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="email" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-email" 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="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="phones" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Specifies the phone numbers of the vendor. QBO allows mapping of up to 5 phone numbers but only one phone number is permitted for one device type.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="phone" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-phone" 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="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="addresses" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Optional. Specifies the physical addresses.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="address" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-address" 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="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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the full name of the vendor. If the FullName is specified, then GivenName, MiddleName, and FamilyName values are ignored.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="givenName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specifies the given name or first name of a person. GivenName is a required field only if Name is not sent in the request. If a Name is sent, then the GivenName field is optional.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="middleName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the middle name of the vendor. A person can have zero or more middle names.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="familyName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the family name or the last name of the vendor.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="dBAName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the "Doing Business As" name of the vendor.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="showAs" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the name of the vendor to be displayed.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="taxIdentifier" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the Tax ID of the person or the organization. This is a Personally Identifiable Information (PII) attribute.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="acctNum" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Specifies the account name or the account number that is associated with the vendor.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="vendor1099" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>Optional. Specifies that the Vendor is an independent contractor, someone who is given a 1099-MISC form at the end of the year. The "1099 Vendor" is paid with regular checks, and taxes are not withheld on the vendor's behalf.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-object" substitutionGroup="mule:abstract-message-processor" type="DeleteObjectType">
    <xs:annotation>
      <xs:documentation>Deletes an object.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteObjectType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="id" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Id which is assigned by Data Services when the object is created.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="id" 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:attribute name="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="type" use="required" type="OnlineEntityTypeEnumType">
          <xs:annotation>
            <xs:documentation>EntityType of the object.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="syncToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/quickbooks" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="find-objects" substitutionGroup="mule:abstract-message-processor" type="FindObjectsType">
    <xs:annotation>
      <xs:documentation>Lazily retrieves Objects
For details see:
&lt;a href="https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/
0400_QuickBooks_Online/Vendor"&gt;Vendor Especification&lt;/a&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="FindObjectsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <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="realmId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The realmID, also known as the Company ID, uniquely identifies the data for a company. In QuickBooks Online, the Company ID  appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="appKey" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Application Id.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="realmIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Realm Id, obtained from the gateway that represents the company.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authIdPseudonym" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Pseudonym Auth Id, obtained from the gateway that represents the user.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/quickbooks" name="type" use="required" type="OnlineEntityTypeEnumType">
          <xs:annotation>
            <xs:documentation>EntityType of the object.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="queryFilter" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>String with a filter format (see details). Each type of object to be retrieved, has a list of attributes for which it can be filtered (See this list following the link in the details of the documentation of the create or update method of that object).</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="querySort" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>String with a sort format (see details). Each type of object to be retrieved, has a list of attributes for which it can be sorted (See this list following the link in the details of the documentation of the create or update method of that object).</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AccountOnlineDetailEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="ACCOUNTS_PAYABLE"></xs:enumeration>
          <xs:enumeration value="ACCOUNTS_RECEIVABLE"></xs:enumeration>
          <xs:enumeration value="ACCUMULATED_ADJUSTMENT"></xs:enumeration>
          <xs:enumeration value="ACCUMULATED_AMORTIZATION"></xs:enumeration>
          <xs:enumeration value="ACCUMULATED_AMORTIZATION_OF_OTHER_ASSETS"></xs:enumeration>
          <xs:enumeration value="ACCUMULATED_DEPLETION"></xs:enumeration>
          <xs:enumeration value="ACCUMULATED_DEPRECIATION"></xs:enumeration>
          <xs:enumeration value="ADVERTISING_PROMOTIONAL"></xs:enumeration>
          <xs:enumeration value="ALLOWANCE_FOR_BAD_DEBTS"></xs:enumeration>
          <xs:enumeration value="AMORTIZATION"></xs:enumeration>
          <xs:enumeration value="AUTO"></xs:enumeration>
          <xs:enumeration value="BAD_DEBTS"></xs:enumeration>
          <xs:enumeration value="BANK_CHARGES"></xs:enumeration>
          <xs:enumeration value="BUILDINGS"></xs:enumeration>
          <xs:enumeration value="CASH_ON_HAND"></xs:enumeration>
          <xs:enumeration value="CHARITABLE_CONTRIBUTIONS"></xs:enumeration>
          <xs:enumeration value="CHECKING"></xs:enumeration>
          <xs:enumeration value="COMMON_STOCK"></xs:enumeration>
          <xs:enumeration value="COST_OF_LABOR"></xs:enumeration>
          <xs:enumeration value="COST_OF_LABOR_COS"></xs:enumeration>
          <xs:enumeration value="CREDIT_CARD"></xs:enumeration>
          <xs:enumeration value="DEPLETABLE_ASSETS"></xs:enumeration>
          <xs:enumeration value="DEPRECIATION"></xs:enumeration>
          <xs:enumeration value="DEVELOPMENT_COSTS"></xs:enumeration>
          <xs:enumeration value="DIRECT_DEPOSIT_PAYABLE"></xs:enumeration>
          <xs:enumeration value="DISCOUNTS_REFUNDS_GIVEN"></xs:enumeration>
          <xs:enumeration value="DIVIDEND_INCOME"></xs:enumeration>
          <xs:enumeration value="DUES_SUBSCRIPTIONS"></xs:enumeration>
          <xs:enumeration value="EMPLOYEE_CASH_ADVANCES"></xs:enumeration>
          <xs:enumeration value="ENTERTAINMENT"></xs:enumeration>
          <xs:enumeration value="ENTERTAINMENT_MEALS"></xs:enumeration>
          <xs:enumeration value="EQUIPMENT_RENTAL"></xs:enumeration>
          <xs:enumeration value="EQUIPMENT_RENTAL_COS"></xs:enumeration>
          <xs:enumeration value="FEDERAL_INCOME_TAX_PAYABLE"></xs:enumeration>
          <xs:enumeration value="FURNITURE_AND_FIXTURES"></xs:enumeration>
          <xs:enumeration value="GOODWILL"></xs:enumeration>
          <xs:enumeration value="INSURANCE"></xs:enumeration>
          <xs:enumeration value="INSURANCE_PAYABLE"></xs:enumeration>
          <xs:enumeration value="INTANGIBLE_ASSETS"></xs:enumeration>
          <xs:enumeration value="INTEREST_EARNED"></xs:enumeration>
          <xs:enumeration value="INTEREST_PAID"></xs:enumeration>
          <xs:enumeration value="INVENTORY"></xs:enumeration>
          <xs:enumeration value="INVESTMENT_MORTGAGE_REAL_ESTATE_LOANS"></xs:enumeration>
          <xs:enumeration value="INVESTMENT_OTHER"></xs:enumeration>
          <xs:enumeration value="INVESTMENT_TAX_EXEMPT_SECURITIES"></xs:enumeration>
          <xs:enumeration value="INVESTMENT_US_GOVERNMENT_OBLIGATIONS"></xs:enumeration>
          <xs:enumeration value="LAND"></xs:enumeration>
          <xs:enumeration value="LEASE_BUYOUT"></xs:enumeration>
          <xs:enumeration value="LEASEHOLD_IMPROVEMENTS"></xs:enumeration>
          <xs:enumeration value="LEGAL_PROFESSIONAL_FEES"></xs:enumeration>
          <xs:enumeration value="LICENSES"></xs:enumeration>
          <xs:enumeration value="LINE_OF_CREDIT"></xs:enumeration>
          <xs:enumeration value="LOAN_PAYABLE"></xs:enumeration>
          <xs:enumeration value="LOANS_TO_OFFICERS"></xs:enumeration>
          <xs:enumeration value="LOANS_TO_OTHERS"></xs:enumeration>
          <xs:enumeration value="LOANS_TO_STOCKHOLDERS"></xs:enumeration>
          <xs:enumeration value="MACHINERY_AND_EQUIPMENT"></xs:enumeration>
          <xs:enumeration value="MONEY_MARKET"></xs:enumeration>
          <xs:enumeration value="NON_PROFIT_INCOME"></xs:enumeration>
          <xs:enumeration value="NOTES_PAYABLE"></xs:enumeration>
          <xs:enumeration value="OFFICE_GENERAL_ADMINISTRATIVE_EXPENSES"></xs:enumeration>
          <xs:enumeration value="OPENING_BALANCE_EQUITY"></xs:enumeration>
          <xs:enumeration value="ORGANIZATIONAL_COSTS"></xs:enumeration>
          <xs:enumeration value="OTHER_COSTS_OF_SERVICE_COS"></xs:enumeration>
          <xs:enumeration value="OTHER_CURRENT_ASSETS"></xs:enumeration>
          <xs:enumeration value="OTHER_CURRENT_LIABILITIES"></xs:enumeration>
          <xs:enumeration value="OTHER_FIXED_ASSETS"></xs:enumeration>
          <xs:enumeration value="OTHER_INVESTMENT_INCOME"></xs:enumeration>
          <xs:enumeration value="OTHER_LONG_TERM_ASSETS"></xs:enumeration>
          <xs:enumeration value="OTHER_LONG_TERM_LIABILITIES"></xs:enumeration>
          <xs:enumeration value="OTHER_MISCELLANEOUS_EXPENSE"></xs:enumeration>
          <xs:enumeration value="OTHER_MISCELLANEOUS_INCOME"></xs:enumeration>
          <xs:enumeration value="OTHER_MISCELLANEOUS_SERVICE_COST"></xs:enumeration>
          <xs:enumeration value="OTHER_PRIMARY_INCOME"></xs:enumeration>
          <xs:enumeration value="OWNERS_EQUITY"></xs:enumeration>
          <xs:enumeration value="PAID_IN_CAPITAL_OR_SURPLUS"></xs:enumeration>
          <xs:enumeration value="PARTNER_CONTRIBUTIONS"></xs:enumeration>
          <xs:enumeration value="PARTNER_DISTRIBUTIONS"></xs:enumeration>
          <xs:enumeration value="PARTNERS_EQUITY"></xs:enumeration>
          <xs:enumeration value="PAYROLL_CLEARING"></xs:enumeration>
          <xs:enumeration value="PAYROLL_EXPENSES"></xs:enumeration>
          <xs:enumeration value="PAYROLL_TAX_PAYABLE"></xs:enumeration>
          <xs:enumeration value="PENALTIES_SETTLEMENTS"></xs:enumeration>
          <xs:enumeration value="PREFERRED_STOCK"></xs:enumeration>
          <xs:enumeration value="PREPAID_EXPENSES"></xs:enumeration>
          <xs:enumeration value="PREPAID_EXPENSES_PAYABLE"></xs:enumeration>
          <xs:enumeration value="PROMOTIONAL_MEALS"></xs:enumeration>
          <xs:enumeration value="RENT_OR_LEASE_OF_BUILDINGS"></xs:enumeration>
          <xs:enumeration value="RENTS_HELD_IN_TRUST"></xs:enumeration>
          <xs:enumeration value="RENTS_IN_TRUST_LIABILITY"></xs:enumeration>
          <xs:enumeration value="REPAIR_MAINTENANCE"></xs:enumeration>
          <xs:enumeration value="RETAINAGE"></xs:enumeration>
          <xs:enumeration value="RETAINED_EARNINGS"></xs:enumeration>
          <xs:enumeration value="SALES_OF_PRODUCT_INCOME"></xs:enumeration>
          <xs:enumeration value="SALES_TAX_PAYABLE"></xs:enumeration>
          <xs:enumeration value="SAVINGS"></xs:enumeration>
          <xs:enumeration value="SECURITY_DEPOSITS"></xs:enumeration>
          <xs:enumeration value="SERVICE_FEE_INCOME"></xs:enumeration>
          <xs:enumeration value="SHAREHOLDER_NOTES_PAYABLE"></xs:enumeration>
          <xs:enumeration value="SHIPPING_FREIGHT_DELIVERY"></xs:enumeration>
          <xs:enumeration value="SHIPPING_FREIGHT_DELIVERY_COS"></xs:enumeration>
          <xs:enumeration value="STATE_LOCAL_INCOME_TAX_PAYABLE"></xs:enumeration>
          <xs:enumeration value="SUPPLIES_MATERIALS"></xs:enumeration>
          <xs:enumeration value="SUPPLIES_MATERIALS_COGS"></xs:enumeration>
          <xs:enumeration value="TAXES_PAID"></xs:enumeration>
          <xs:enumeration value="TAX_EXEMPT_INTEREST"></xs:enumeration>
          <xs:enumeration value="TRAVEL"></xs:enumeration>
          <xs:enumeration value="TRAVEL_MEALS"></xs:enumeration>
          <xs:enumeration value="TREASURY_STOCK"></xs:enumeration>
          <xs:enumeration value="TRUST_ACCOUNTS"></xs:enumeration>
          <xs:enumeration value="TRUST_ACCOUNTS_LIABILITIES"></xs:enumeration>
          <xs:enumeration value="UNDEPOSITED_FUNDS"></xs:enumeration>
          <xs:enumeration value="UTILITIES"></xs:enumeration>
          <xs:enumeration value="VEHICLES"></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="OnlineEntityTypeEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="ACCOUNT"></xs:enumeration>
          <xs:enumeration value="BILL"></xs:enumeration>
          <xs:enumeration value="BILLPAYMENT"></xs:enumeration>
          <xs:enumeration value="CASHPURCHASE"></xs:enumeration>
          <xs:enumeration value="CHECK"></xs:enumeration>
          <xs:enumeration value="CREDITCARDCHARGE"></xs:enumeration>
          <xs:enumeration value="CUSTOMER"></xs:enumeration>
          <xs:enumeration value="ESTIMATE"></xs:enumeration>
          <xs:enumeration value="INVOICE"></xs:enumeration>
          <xs:enumeration value="ITEM"></xs:enumeration>
          <xs:enumeration value="PAYMENT"></xs:enumeration>
          <xs:enumeration value="PAYMENTMETHOD"></xs:enumeration>
          <xs:enumeration value="SALESRECEIPT"></xs:enumeration>
          <xs:enumeration value="SALESTERM"></xs:enumeration>
          <xs:enumeration value="VENDOR"></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>