<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://avatax.avalara.com/services" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://avatax.avalara.com/services" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://avatax.avalara.com/services">
      <s:element name="GetTax">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetTaxRequest" type="tns:GetTaxRequest" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="BaseRequest" />
      <s:complexType name="GetTaxRequest">
		  <s:complexContent mixed="false">
			  <s:extension base="tns:BaseRequest">
				  <s:sequence>
					  <s:element minOccurs="0" maxOccurs="1" name="CompanyCode" type="s:string" />
					  <s:element minOccurs="1" maxOccurs="1" name="DocType" type="tns:DocumentType" />
					  <s:element minOccurs="0" maxOccurs="1" name="DocCode" type="s:string" />
					  <s:element minOccurs="1" maxOccurs="1" name="DocDate" type="s:date" />
					  <s:element minOccurs="0" maxOccurs="1" name="SalespersonCode" type="s:string" />
					  <s:element minOccurs="0" maxOccurs="1" name="CustomerCode" type="s:string" />
					  <s:element minOccurs="0" maxOccurs="1" name="CustomerUsageType" type="s:string" />
					  <s:element minOccurs="1" maxOccurs="1" name="Discount" type="s:decimal" />
					  <s:element minOccurs="0" maxOccurs="1" name="PurchaseOrderNo" type="s:string" />
					  <s:element minOccurs="0" maxOccurs="1" name="ExemptionNo" type="s:string" />
					  <s:element minOccurs="0" maxOccurs="1" name="OriginCode" type="s:string" />
					  <s:element minOccurs="0" maxOccurs="1" name="DestinationCode" type="s:string" />
					  <s:element minOccurs="0" maxOccurs="1" name="Addresses" type="tns:ArrayOfBaseAddress" />
					  <s:element minOccurs="0" maxOccurs="1" name="Lines" type="tns:ArrayOfLine" />
					  <s:element minOccurs="1" maxOccurs="1" name="DetailLevel" type="tns:DetailLevel" />
					  <s:element minOccurs="0" maxOccurs="1" name="ReferenceCode" type="s:string" />
					  <s:element minOccurs="1" maxOccurs="1" name="HashCode" type="s:int" />
					  <s:element minOccurs="0" maxOccurs="1" name="LocationCode" type="s:string" />
					  <s:element minOccurs="1" maxOccurs="1" name="Commit" type="s:boolean" />
					  <s:element minOccurs="0" maxOccurs="1" name="BatchCode" type="s:string" />
					  <s:element minOccurs="0" maxOccurs="1" name="TaxOverride" type="tns:TaxOverride" />
					  <s:element minOccurs="0" maxOccurs="1" name="CurrencyCode" type="s:string" />
					  <s:element minOccurs="1" maxOccurs="1" name="ServiceMode" type="tns:ServiceMode" />
					  <s:element minOccurs="1" maxOccurs="1" name="PaymentDate" type="s:date" />
					  <s:element minOccurs="1" maxOccurs="1" name="ExchangeRate" type="s:decimal" />
					  <s:element minOccurs="1" maxOccurs="1" name="ExchangeRateEffDate" type="s:date" />
					  <s:element minOccurs="0" maxOccurs="1" name="PosLaneCode" type="s:string"/>
                      <s:element minOccurs="0" maxOccurs="1" name="BusinessIdentificationNo" type="s:string"/>
				  </s:sequence>
			  </s:extension>
		  </s:complexContent>
      </s:complexType>
      <s:simpleType name="DocumentType">
        <s:restriction base="s:string">
          <s:enumeration value="SalesOrder" />
          <s:enumeration value="SalesInvoice" />
          <s:enumeration value="PurchaseOrder" />
          <s:enumeration value="PurchaseInvoice" />
          <s:enumeration value="ReturnOrder" />
          <s:enumeration value="ReturnInvoice" />
          <s:enumeration value="PendingAdjustment" />
          <s:enumeration value="Any" />
          <s:enumeration value="InventoryTransferOrder"/>
          <s:enumeration value="InventoryTransferInvoice"/>
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfBaseAddress">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="BaseAddress" nillable="true" type="tns:BaseAddress" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="BaseAddress">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="AddressCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Line1" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Line2" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Line3" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Region" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="TaxRegionId" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfLine">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Line" nillable="true" type="tns:Line" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Line">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="No" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="OriginCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="DestinationCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ItemCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="TaxCode" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Qty" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="Amount" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="Discounted" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="RevAcct" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Ref1" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Ref2" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ExemptionNo" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CustomerUsageType" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="TaxOverride" type="tns:TaxOverride" />
		  <s:element minOccurs="0" maxOccurs="1" name="TaxIncluded" type="s:boolean" default="false" />
          <s:element minOccurs="0" maxOccurs="1" name="BusinessIdentificationNo" type="s:string"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="TaxOverride">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="TaxOverrideType" type="tns:TaxOverrideType" />
          <s:element minOccurs="1" maxOccurs="1" name="TaxAmount" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="TaxDate" type="s:date" />
          <s:element minOccurs="0" maxOccurs="1" name="Reason" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="TaxOverrideType">
        <s:restriction base="s:string">
          <s:enumeration value="None" />
          <s:enumeration value="TaxAmount" />
          <s:enumeration value="Exemption" />
          <s:enumeration value="TaxDate" />
          <s:enumeration value="AccruedTaxAmount"/>
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="DetailLevel">
        <s:restriction base="s:string">
          <s:enumeration value="Document" />
          <s:enumeration value="Summary" />
          <s:enumeration value="Line" />
          <s:enumeration value="Tax" />
          <s:enumeration value="Diagnostic" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="ServiceMode">
        <s:restriction base="s:string">
          <s:enumeration value="Automatic" />
          <s:enumeration value="Local" />
          <s:enumeration value="Remote" />
        </s:restriction>
      </s:simpleType>
      <s:element name="GetTaxResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetTaxResult" type="tns:GetTaxResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="GetTaxResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseResult">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="DocId" type="s:string" />
              <s:element minOccurs="1" maxOccurs="1" name="DocType" type="tns:DocumentType" />
              <s:element minOccurs="0" maxOccurs="1" name="DocCode" type="s:string" />
              <s:element minOccurs="1" maxOccurs="1" name="DocDate" type="s:date" />
              <s:element minOccurs="1" maxOccurs="1" name="DocStatus" type="tns:DocStatus" />
              <s:element minOccurs="1" maxOccurs="1" name="Reconciled" type="s:boolean" />
              <s:element minOccurs="1" maxOccurs="1" name="Timestamp" type="s:dateTime" />
              <s:element minOccurs="1" maxOccurs="1" name="TotalAmount" type="s:decimal" />
              <s:element minOccurs="1" maxOccurs="1" name="TotalDiscount" type="s:decimal" />
              <s:element minOccurs="1" maxOccurs="1" name="TotalExemption" type="s:decimal" />
              <s:element minOccurs="1" maxOccurs="1" name="TotalTaxable" type="s:decimal" />
              <s:element minOccurs="1" maxOccurs="1" name="TotalTax" type="s:decimal" />
              <s:element minOccurs="1" maxOccurs="1" name="TotalTaxCalculated" type="s:decimal" />
              <s:element minOccurs="1" maxOccurs="1" name="HashCode" type="s:int" />
              <s:element minOccurs="0" maxOccurs="1" name="TaxLines" type="tns:ArrayOfTaxLine" />
              <s:element minOccurs="0" maxOccurs="1" name="TaxAddresses" type="tns:ArrayOfTaxAddress" />
              <s:element minOccurs="1" maxOccurs="1" name="Locked" type="s:boolean" />
              <s:element minOccurs="1" maxOccurs="1" name="AdjustmentReason" type="s:int" />
              <s:element minOccurs="0" maxOccurs="1" name="AdjustmentDescription" type="s:string" />
              <s:element minOccurs="1" maxOccurs="1" name="Version" type="s:int" />
              <s:element minOccurs="1" maxOccurs="1" name="TaxDate" type="s:date" />
              <s:element minOccurs="0" maxOccurs="1" name="TaxSummary" type="tns:ArrayOfTaxDetail" />
              <s:element minOccurs="0" maxOccurs="1" name="Signature" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="VolatileTaxRates" type="s:boolean"/>
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="BaseResult">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="TransactionId" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="ResultCode" type="tns:SeverityLevel" />
          <s:element minOccurs="0" maxOccurs="1" name="Messages" type="tns:ArrayOfMessage" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="SeverityLevel">
        <s:restriction base="s:string">
          <s:enumeration value="Success" />
          <s:enumeration value="Warning" />
          <s:enumeration value="Error" />
          <s:enumeration value="Exception" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfMessage">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Message" nillable="true" type="tns:Message" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Message">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Summary" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Details" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="HelpLink" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RefersTo" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Severity" type="tns:SeverityLevel" />
          <s:element minOccurs="0" maxOccurs="1" name="Source" type="s:string" />
        </s:sequence>
        <s:attribute name="Name" type="s:string" />
      </s:complexType>
      <s:simpleType name="DocStatus">
        <s:restriction base="s:string">
          <s:enumeration value="Temporary" />
          <s:enumeration value="Saved" />
          <s:enumeration value="Posted" />
          <s:enumeration value="Committed" />
          <s:enumeration value="Cancelled" />
          <s:enumeration value="Adjusted" />
          <s:enumeration value="Any" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfTaxLine">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="TaxLine" nillable="true" type="tns:TaxLine" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="TaxLine">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="No" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="TaxCode" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Taxability" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="BoundaryLevel" type="tns:BoundaryLevel" />
          <s:element minOccurs="1" maxOccurs="1" name="Exemption" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="Discount" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="Taxable" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="Rate" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="Tax" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="TaxCalculated" type="s:decimal" />
          <s:element minOccurs="0" maxOccurs="1" name="TaxDetails" type="tns:ArrayOfTaxDetail" />
          <s:element minOccurs="1" maxOccurs="1" name="ExemptCertId" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="TaxDate" type="s:date" />
          <s:element minOccurs="1" maxOccurs="1" name="ReportingDate" type="s:date" />
          <s:element minOccurs="1" maxOccurs="1" name="AccountingMethod" type="tns:AccountingMethod" />
          <s:element minOccurs="0" maxOccurs="1" name="TaxIncluded" type="s:boolean" default="false" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="BoundaryLevel">
        <s:restriction base="s:string">
          <s:enumeration value="Address" />
          <s:enumeration value="Zip9" />
          <s:enumeration value="Zip5" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfTaxDetail">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="TaxDetail" nillable="true" type="tns:TaxDetail" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="TaxDetail">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Region" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="JurisType" type="tns:JurisdictionType" />
          <s:element minOccurs="0" maxOccurs="1" name="JurisCode" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="TaxType" type="tns:TaxType" />
          <s:element minOccurs="1" maxOccurs="1" name="Base" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="Taxable" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="Rate" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="Tax" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="TaxCalculated" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="NonTaxable" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="Exemption" type="s:decimal" />
          <s:element minOccurs="0" maxOccurs="1" name="JurisName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="TaxName" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="TaxAuthorityType" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="TaxGroup" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RateType" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="StateAssignedNo" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="JurisdictionType">
        <s:restriction base="s:string">
          <s:enumeration value="Country" />
          <s:enumeration value="Composite" />
          <s:enumeration value="State" />
          <s:enumeration value="County" />
          <s:enumeration value="City" />
          <s:enumeration value="Special" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="TaxType">
        <s:restriction base="s:string">
          <s:enumeration value="Sales" />
          <s:enumeration value="Use" />
          <s:enumeration value="ConsumerUse" />
          <s:enumeration value="Excise" />
          <s:enumeration value="Output" />
          <s:enumeration value="Input" />
          <s:enumeration value="Nonrecoverable" />
          <s:enumeration value="Fee" />
          <s:enumeration value="Rental" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="AccountingMethod">
        <s:restriction base="s:string">
          <s:enumeration value="Accrual" />
          <s:enumeration value="Cash" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfTaxAddress">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="TaxAddress" nillable="true" type="tns:TaxAddress" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="TaxAddress">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="AddressCode" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="BoundaryLevel" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Region" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="TaxRegionId" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="JurisCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Latitude" type="s:string"/>
          <s:element minOccurs="0" maxOccurs="1" name="Longitude" type="s:string"/>
          <s:element minOccurs="0" maxOccurs="1" name="ValidateStatus" type="s:string"/>
          <s:element minOccurs="0" maxOccurs="1" name="GeocodeType" type="s:string"/>
          <s:element minOccurs="0" maxOccurs="1" name="DistanceToBoundary" type="s:int"/>
        </s:sequence>
      </s:complexType>
      <s:element name="Profile" type="tns:Profile" />
      <s:complexType name="Profile">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Client" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Adapter" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Machine" type="s:string" />
        </s:sequence>
        <s:anyAttribute />
      </s:complexType>
      <s:element name="GetTaxHistory">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetTaxHistoryRequest" type="tns:GetTaxHistoryRequest" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="GetTaxHistoryRequest">
		  <s:complexContent mixed="false">
			  <s:extension base="tns:BaseRequest">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="DocId" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CompanyCode" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="DocType" type="tns:DocumentType" />
          <s:element minOccurs="0" maxOccurs="1" name="DocCode" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="DetailLevel" type="tns:DetailLevel" />
        </s:sequence>
			  </s:extension>
		  </s:complexContent>
      </s:complexType>
      <s:element name="GetTaxHistoryResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetTaxHistoryResult" type="tns:GetTaxHistoryResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="GetTaxHistoryResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseResult">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="GetTaxRequest" type="tns:GetTaxRequest" />
              <s:element minOccurs="0" maxOccurs="1" name="GetTaxResult" type="tns:GetTaxResult" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <!-- <s:simpleType name="ConfirmationType">
        <s:restriction base="s:string">
          <s:enumeration value="None" />
          <s:enumeration value="Optional" />
          <s:enumeration value="Required" />
        </s:restriction>
      </s:simpleType> -->
      <s:element name="PostTax">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="PostTaxRequest" type="tns:PostTaxRequest" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="PostTaxRequest">
		  <s:complexContent mixed="false">
			  <s:extension base="tns:BaseRequest">
				  <s:sequence>
					  <s:element minOccurs="0" maxOccurs="1" name="DocId" type="s:string" />
					  <s:element minOccurs="0" maxOccurs="1" name="CompanyCode" type="s:string" />
					  <s:element minOccurs="1" maxOccurs="1" name="DocType" type="tns:DocumentType" />
					  <s:element minOccurs="0" maxOccurs="1" name="DocCode" type="s:string" />
					  <s:element minOccurs="1" maxOccurs="1" name="DocDate" type="s:date" />
					  <s:element minOccurs="1" maxOccurs="1" name="TotalAmount" type="s:decimal" />
					  <s:element minOccurs="1" maxOccurs="1" name="TotalTax" type="s:decimal" />
					  <s:element minOccurs="1" maxOccurs="1" name="HashCode" type="s:int" />
					  <s:element minOccurs="1" maxOccurs="1" name="Commit" type="s:boolean" />
					  <s:element minOccurs="0" maxOccurs="1" name="NewDocCode" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Signature" type="s:string" />
              <!-- <s:element minOccurs="0" maxOccurs="1" name="Confirmation" type="tns:ConfirmationType" /> -->
				  </s:sequence>
			  </s:extension>
		  </s:complexContent>
      </s:complexType>
      <s:element name="PostTaxResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="PostTaxResult" type="tns:PostTaxResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="PostTaxResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseResult">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="DocId" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>      
      <s:element name="CommitTax">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CommitTaxRequest" type="tns:CommitTaxRequest" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="CommitTaxRequest">
		  <s:complexContent mixed="false">
			  <s:extension base="tns:BaseRequest">
				  <s:sequence>
					  <s:element minOccurs="0" maxOccurs="1" name="DocId" type="s:string" />
					  <s:element minOccurs="0" maxOccurs="1" name="CompanyCode" type="s:string" />
					  <s:element minOccurs="1" maxOccurs="1" name="DocType" type="tns:DocumentType" />
					  <s:element minOccurs="0" maxOccurs="1" name="DocCode" type="s:string" />
					  <s:element minOccurs="0" maxOccurs="1" name="NewDocCode" type="s:string" />
				  </s:sequence>
			  </s:extension>
		  </s:complexContent>
      </s:complexType>
      <s:element name="CommitTaxResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CommitTaxResult" type="tns:CommitTaxResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="CommitTaxResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseResult">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="DocId" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:element name="AuditMessage" type="tns:AuditMessage" />
      <s:complexType name="AuditMessage">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
        </s:sequence>
        <s:anyAttribute />
      </s:complexType>
      <s:element name="CancelTax">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CancelTaxRequest" type="tns:CancelTaxRequest" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="CancelTaxRequest">
		  <s:complexContent mixed="false">
			  <s:extension base="tns:BaseRequest">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="DocId" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CompanyCode" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="DocType" type="tns:DocumentType" />
          <s:element minOccurs="0" maxOccurs="1" name="DocCode" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="CancelCode" type="tns:CancelCode" />
        </s:sequence>
			  </s:extension>
		  </s:complexContent>
      </s:complexType>
      <s:simpleType name="CancelCode">
        <s:restriction base="s:string">
          <s:enumeration value="Unspecified" />
          <s:enumeration value="PostFailed" />
          <s:enumeration value="DocDeleted" />
          <s:enumeration value="DocVoided" />
          <s:enumeration value="AdjustmentCancelled" />
        </s:restriction>
      </s:simpleType>
      <s:element name="CancelTaxResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CancelTaxResult" type="tns:CancelTaxResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="CancelTaxResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseResult">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="DocId" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:element name="ReconcileTaxHistory">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ReconcileTaxHistoryRequest" type="tns:ReconcileTaxHistoryRequest" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ReconcileTaxHistoryRequest">
		  <s:complexContent mixed="false">
			  <s:extension base="tns:BaseRequest">
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CompanyCode" type="s:string" />
          	<s:element minOccurs="0" maxOccurs="1" name="LastDocId" type="s:string"/>
            <s:element minOccurs="1" maxOccurs="1" name="StartDate" type="s:date" />
            <s:element minOccurs="1" maxOccurs="1" name="EndDate" type="s:date" />
            <s:element minOccurs="1" maxOccurs="1" name="DocStatus" type="tns:DocStatus" />
          <s:element minOccurs="1" maxOccurs="1" name="DocType" type="tns:DocumentType"/>
          <s:element minOccurs="1" maxOccurs="1" name="LastDocCode" type="s:string"/>
          <s:element minOccurs="1" maxOccurs="1" name="PageSize" type="s:int"/>
           </s:sequence>
			  </s:extension>
		  </s:complexContent>
      </s:complexType>      
      <s:element name="ReconcileTaxHistoryResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ReconcileTaxHistoryResult" type="tns:ReconcileTaxHistoryResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ReconcileTaxHistoryResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:SearchTaxHistoryResult">
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="RecordCount" type="s:int"></s:element>
          </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="SearchTaxHistoryResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseResult">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="GetTaxResults" type="tns:ArrayOfGetTaxResult" />
                <s:element minOccurs="0" maxOccurs="1" name="LastDocId" type="s:string"/>
              <s:element minOccurs="0" maxOccurs="1" name="LastDocCode" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="ArrayOfGetTaxResult">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="GetTaxResult" nillable="true" type="tns:GetTaxResult" />
        </s:sequence>
      </s:complexType>
      <s:element name="AdjustTax">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdjustTaxRequest" type="tns:AdjustTaxRequest" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="AdjustTaxRequest">
		  <s:complexContent mixed="false">
			  <s:extension base="tns:BaseRequest">
				  <s:sequence>
					  <s:element minOccurs="1" maxOccurs="1" name="AdjustmentReason" type="s:int" />
					  <s:element minOccurs="0" maxOccurs="1" name="AdjustmentDescription" type="s:string" />
					  <s:element minOccurs="0" maxOccurs="1" name="GetTaxRequest" type="tns:GetTaxRequest" />
				  </s:sequence>
			  </s:extension>
		  </s:complexContent>
      </s:complexType>
      <s:element name="AdjustTaxResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AdjustTaxResult" type="tns:AdjustTaxResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="AdjustTaxResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:GetTaxResult" />
        </s:complexContent>
      </s:complexType>
      <s:element name="ApplyPayment">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ApplyPaymentRequest" type="tns:ApplyPaymentRequest" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ApplyPaymentRequest">
		  <s:complexContent mixed="false">
			  <s:extension base="tns:BaseRequest">
				  <s:sequence>
					  <s:element minOccurs="0" maxOccurs="1" name="DocId" type="s:string" />
					  <s:element minOccurs="0" maxOccurs="1" name="CompanyCode" type="s:string" />
					  <s:element minOccurs="1" maxOccurs="1" name="DocType" type="tns:DocumentType" />
					  <s:element minOccurs="0" maxOccurs="1" name="DocCode" type="s:string" />
					  <s:element minOccurs="1" maxOccurs="1" name="PaymentDate" type="s:dateTime" />
				  </s:sequence>
			  </s:extension>
		  </s:complexContent>
      </s:complexType>
      <s:element name="ApplyPaymentResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ApplyPaymentResult" type="tns:ApplyPaymentResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ApplyPaymentResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseResult">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="DocId" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <!-- Begin New Methods-->
      <s:element name="SubmitBatch">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="SubmitTaxBatchRequest" type="tns:SubmitTaxBatchRequest" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="SubmitTaxBatchRequest">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseRequest">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Requests" type="tns:RequestList" />
              <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string"/>
              <s:element minOccurs="0" maxOccurs="1" name="BatchTypeId" type="s:string"/>
              <s:element minOccurs="0" maxOccurs="1" name="Options" type="s:string"/>
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="RequestList">
        <s:choice minOccurs="0" maxOccurs="unbounded">
          <s:element name="AdjustTaxRequest" nillable="true" type="tns:AdjustTaxRequest" />
          <s:element name="ApplyPaymentRequest" nillable="true" type="tns:ApplyPaymentRequest" />            
          <s:element name="CancelTaxRequest" nillable="true" type="tns:CancelTaxRequest" />
          <s:element name="CommitTaxRequest" nillable="true" type="tns:CommitTaxRequest" />
          <s:element name="GetTaxHistoryRequest" nillable="true" type="tns:GetTaxHistoryRequest" />
          <s:element name="GetTaxRequest" nillable="true" type="tns:GetTaxRequest" />
          <s:element name="PostTaxRequest" nillable="true" type="tns:PostTaxRequest" />
          <s:element name="ReconcileTaxHistoryRequest" nillable="true" type="tns:ReconcileTaxHistoryRequest" />
        </s:choice>
      </s:complexType>
      <s:element name="SubmitBatchResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="SubmitBatchResult" type="tns:SubmitTaxBatchResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="SubmitTaxBatchResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseResult">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="BatchId" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>

      <s:element name="GetBatch">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetTaxBatchRequest" type="tns:GetTaxBatchRequest" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="GetTaxBatchRequest">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseRequest">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="BatchId" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:element name="GetBatchResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetBatchResult" type="tns:GetTaxBatchResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="GetTaxBatchResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseResult">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="BatchId" type="s:string" />
              <s:element minOccurs="1" maxOccurs="1" name="BatchStatus" type="s:string" />
              <s:element minOccurs="1" maxOccurs="1" name="RecordCount" type="s:int" />
              <s:element minOccurs="1" maxOccurs="1" name="CurrentRecord" type="s:int" />
              <s:element minOccurs="0" maxOccurs="1" name="Results" type="tns:ResultList" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="ResultList">
        <s:choice minOccurs="0" maxOccurs="unbounded">
          <s:element name="AdjustTaxResult" nillable="true" type="tns:AdjustTaxResult" />
          <s:element name="ApplyPaymentResult" nillable="true" type="tns:ApplyPaymentResult" />
          <s:element name="CancelTaxResult" nillable="true" type="tns:CancelTaxResult" />
          <s:element name="CommitTaxResult" nillable="true" type="tns:CommitTaxResult" />
          <s:element name="GetTaxHistoryResult" nillable="true" type="tns:GetTaxHistoryResult" />
          <s:element name="GetTaxResult" nillable="true" type="tns:GetTaxResult" />
          <s:element name="PostTaxResult" nillable="true" type="tns:PostTaxResult" />
          <s:element name="ReconcileTaxHistoryResult" nillable="true" type="tns:ReconcileTaxHistoryResult" />
        </s:choice>
      </s:complexType>

      <s:element name="CancelBatch">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CancelTaxBatchRequest" type="tns:CancelTaxBatchRequest" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="CancelTaxBatchRequest">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseRequest">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="BatchId" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:element name="CancelBatchResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CancelBatchResult" type="tns:CancelTaxBatchResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="CancelTaxBatchResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseResult" />
        </s:complexContent>
      </s:complexType>
      <!-- End New Methods -->
      <s:element name="Ping">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="PingResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="PingResult" type="tns:PingResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="PingResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseResult">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Version" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:element name="IsAuthorized">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="Operations" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="IsAuthorizedResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="IsAuthorizedResult" type="tns:IsAuthorizedResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="IsAuthorizedResult">
        <s:complexContent mixed="false">
          <s:extension base="tns:BaseResult">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Operations" type="s:string" />
              <s:element minOccurs="1" maxOccurs="1" name="Expires" type="s:dateTime" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
        <s:element name="TaxSummaryFetch">
            <s:complexType>
                <s:sequence>
                    <s:element minOccurs="0" maxOccurs="1" name="TaxSummaryFetchRequest" type="tns:TaxSummaryFetchRequest"/>
                </s:sequence>
            </s:complexType>
        </s:element>
        <s:complexType name="TaxSummaryFetchRequest">
            <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="MerchantCode" type="s:string"/>
                <s:element minOccurs="1" maxOccurs="1" name="StartDate" type="s:date"/>
                <s:element minOccurs="1" maxOccurs="1" name="EndDate" type="s:date"/>
            </s:sequence>
        </s:complexType>
        <s:element name="TaxSummaryFetchResponse">
            <s:complexType>
                <s:sequence>
                    <s:element minOccurs="0" maxOccurs="1" name="TaxSummaryFetchResult" type="tns:TaxSummaryFetchResult"/>
                </s:sequence>
            </s:complexType>
        </s:element>
        <s:complexType name="TaxSummaryFetchResult">
            <s:complexContent mixed="false">
                <s:extension base="tns:BaseResult">
                    <s:sequence>
                        <s:element minOccurs="0" maxOccurs="1" name="TaxSummaryReport">
                            <s:complexType>
                                <s:sequence>
                                    <s:any/>
                                </s:sequence>
                            </s:complexType>
                        </s:element>
                    </s:sequence>
                </s:extension>
            </s:complexContent>
        </s:complexType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetTaxSoapIn">
    <wsdl:part name="parameters" element="tns:GetTax" />
  </wsdl:message>
  <wsdl:message name="GetTaxSoapOut">
    <wsdl:part name="parameters" element="tns:GetTaxResponse" />
  </wsdl:message>
  <wsdl:message name="GetTaxProfile">
    <wsdl:part name="Profile" element="tns:Profile" />
  </wsdl:message>
  <wsdl:message name="GetTaxHistorySoapIn">
    <wsdl:part name="parameters" element="tns:GetTaxHistory" />
  </wsdl:message>
  <wsdl:message name="GetTaxHistorySoapOut">
    <wsdl:part name="parameters" element="tns:GetTaxHistoryResponse" />
  </wsdl:message>
  <wsdl:message name="GetTaxHistoryProfile">
    <wsdl:part name="Profile" element="tns:Profile" />
  </wsdl:message>
  <wsdl:message name="PostTaxSoapIn">
    <wsdl:part name="parameters" element="tns:PostTax" />
  </wsdl:message>
  <wsdl:message name="PostTaxSoapOut">
    <wsdl:part name="parameters" element="tns:PostTaxResponse" />
  </wsdl:message>
  <wsdl:message name="PostTaxProfile">
    <wsdl:part name="Profile" element="tns:Profile" />
  </wsdl:message>
  <wsdl:message name="CommitTaxSoapIn">
    <wsdl:part name="parameters" element="tns:CommitTax" />
  </wsdl:message>
  <wsdl:message name="CommitTaxSoapOut">
    <wsdl:part name="parameters" element="tns:CommitTaxResponse" />
  </wsdl:message>
  <wsdl:message name="CommitTaxAuditMessage">
    <wsdl:part name="AuditMessage" element="tns:AuditMessage" />
  </wsdl:message>
  <wsdl:message name="CommitTaxProfile">
    <wsdl:part name="Profile" element="tns:Profile" />
  </wsdl:message>
  <wsdl:message name="CancelTaxSoapIn">
    <wsdl:part name="parameters" element="tns:CancelTax" />
  </wsdl:message>
  <wsdl:message name="CancelTaxSoapOut">
    <wsdl:part name="parameters" element="tns:CancelTaxResponse" />
  </wsdl:message>
  <wsdl:message name="CancelTaxAuditMessage">
    <wsdl:part name="AuditMessage" element="tns:AuditMessage" />
  </wsdl:message>
  <wsdl:message name="CancelTaxProfile">
    <wsdl:part name="Profile" element="tns:Profile" />
  </wsdl:message>
  <wsdl:message name="ReconcileTaxHistorySoapIn">
    <wsdl:part name="parameters" element="tns:ReconcileTaxHistory" />
  </wsdl:message>
  <wsdl:message name="ReconcileTaxHistorySoapOut">
    <wsdl:part name="parameters" element="tns:ReconcileTaxHistoryResponse" />
  </wsdl:message>
  <wsdl:message name="ReconcileTaxHistoryProfile">
    <wsdl:part name="Profile" element="tns:Profile" />
  </wsdl:message>
  <wsdl:message name="AdjustTaxSoapIn">
    <wsdl:part name="parameters" element="tns:AdjustTax" />
  </wsdl:message>
  <wsdl:message name="AdjustTaxSoapOut">
    <wsdl:part name="parameters" element="tns:AdjustTaxResponse" />
  </wsdl:message>
  <wsdl:message name="AdjustTaxProfile">
    <wsdl:part name="Profile" element="tns:Profile" />
  </wsdl:message>
  <wsdl:message name="ApplyPaymentSoapIn">
    <wsdl:part name="parameters" element="tns:ApplyPayment" />
  </wsdl:message>
  <wsdl:message name="ApplyPaymentSoapOut">
    <wsdl:part name="parameters" element="tns:ApplyPaymentResponse" />
  </wsdl:message>
  <wsdl:message name="ApplyPaymentAuditMessage">
    <wsdl:part name="AuditMessage" element="tns:AuditMessage" />
  </wsdl:message>
  <wsdl:message name="ApplyPaymentProfile">
    <wsdl:part name="Profile" element="tns:Profile" />
  </wsdl:message>
  <!--New Methods-->
  <wsdl:message name="SubmitBatchSoapIn">
    <wsdl:part name="parameters" element="tns:SubmitBatch" />
  </wsdl:message>
  <wsdl:message name="SubmitBatchSoapOut">
    <wsdl:part name="parameters" element="tns:SubmitBatchResponse" />
  </wsdl:message>
  <wsdl:message name="SubmitBatchProfile">
    <wsdl:part name="Profile" element="tns:Profile" />
  </wsdl:message>
  <wsdl:message name="GetBatchSoapIn">
    <wsdl:part name="parameters" element="tns:GetBatch" />
  </wsdl:message>
  <wsdl:message name="GetBatchSoapOut">
    <wsdl:part name="parameters" element="tns:GetBatchResponse" />
  </wsdl:message>
  <wsdl:message name="GetBatchProfile">
    <wsdl:part name="Profile" element="tns:Profile" />
  </wsdl:message>
  <wsdl:message name="CancelBatchSoapIn">
    <wsdl:part name="parameters" element="tns:CancelBatch" />
  </wsdl:message>
  <wsdl:message name="CancelBatchSoapOut">
    <wsdl:part name="parameters" element="tns:CancelBatchResponse" />
  </wsdl:message>
  <wsdl:message name="CancelBatchProfile">
    <wsdl:part name="Profile" element="tns:Profile" />
  </wsdl:message>
  <!--New Methods-->
  <wsdl:message name="PingSoapIn">
    <wsdl:part name="parameters" element="tns:Ping" />
  </wsdl:message>
  <wsdl:message name="PingSoapOut">
    <wsdl:part name="parameters" element="tns:PingResponse" />
  </wsdl:message>
  <wsdl:message name="PingProfile">
    <wsdl:part name="Profile" element="tns:Profile" />
  </wsdl:message>
  <wsdl:message name="IsAuthorizedSoapIn">
    <wsdl:part name="parameters" element="tns:IsAuthorized" />
  </wsdl:message>
  <wsdl:message name="IsAuthorizedSoapOut">
    <wsdl:part name="parameters" element="tns:IsAuthorizedResponse" />
  </wsdl:message>
  <wsdl:message name="IsAuthorizedProfile">
    <wsdl:part name="Profile" element="tns:Profile" />
  </wsdl:message>
    <wsdl:message name="TaxSummaryFetchSoapIn">
        <wsdl:part name="parameters" element="tns:TaxSummaryFetch"/>
    </wsdl:message>
    <wsdl:message name="TaxSummaryFetchSoapOut">
        <wsdl:part name="parameters" element="tns:TaxSummaryFetchResponse"/>
    </wsdl:message>
    <wsdl:message name="TaxSummaryFetchProfile">
        <wsdl:part name="Profile" element="tns:Profile"/>
    </wsdl:message>
  <wsdl:portType name="TaxSvcSoap">
    <wsdl:operation name="GetTax">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Calculates taxes on a document</wsdl:documentation>
      <wsdl:input message="tns:GetTaxSoapIn" />
      <wsdl:output message="tns:GetTaxSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetTaxHistory">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieves a previously calculated tax document</wsdl:documentation>
      <wsdl:input message="tns:GetTaxHistorySoapIn" />
      <wsdl:output message="tns:GetTaxHistorySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="PostTax">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Posts a previously calculated tax</wsdl:documentation>
      <wsdl:input message="tns:PostTaxSoapIn" />
      <wsdl:output message="tns:PostTaxSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="CommitTax">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Commits a previously posted tax</wsdl:documentation>
      <wsdl:input message="tns:CommitTaxSoapIn" />
      <wsdl:output message="tns:CommitTaxSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="CancelTax">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Cancels a previously calculated tax.  This is for use as a compensating action when posting on the client fails to complete.</wsdl:documentation>
      <wsdl:input message="tns:CancelTaxSoapIn" />
      <wsdl:output message="tns:CancelTaxSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ReconcileTaxHistory">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Reconciles tax history to ensure the client data matches the AvaTax history.</wsdl:documentation>
      <wsdl:input message="tns:ReconcileTaxHistorySoapIn" />
      <wsdl:output message="tns:ReconcileTaxHistorySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="AdjustTax">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Adjusts taxes on an existing invoice</wsdl:documentation>
      <wsdl:input message="tns:AdjustTaxSoapIn" />
      <wsdl:output message="tns:AdjustTaxSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ApplyPayment">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Applies a payment date to an existing invoice</wsdl:documentation>
      <wsdl:input message="tns:ApplyPaymentSoapIn" />
      <wsdl:output message="tns:ApplyPaymentSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="SubmitBatch">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Submits a batch of TaxSvc requests to be processed.</wsdl:documentation>
      <wsdl:input message="tns:SubmitBatchSoapIn" />
      <wsdl:output message="tns:SubmitBatchSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetBatch">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets the status and results of a submitted batch.</wsdl:documentation>
      <wsdl:input message="tns:GetBatchSoapIn" />
      <wsdl:output message="tns:GetBatchSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="CancelBatch">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Cancels an incomplete batch operation.</wsdl:documentation>
      <wsdl:input message="tns:CancelBatchSoapIn" />
      <wsdl:output message="tns:CancelBatchSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Ping">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Tests connectivity and version of the service</wsdl:documentation>
      <wsdl:input message="tns:PingSoapIn" />
      <wsdl:output message="tns:PingSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="IsAuthorized">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Checks authentication and authorization to one or more operations on the service.</wsdl:documentation>
      <wsdl:input message="tns:IsAuthorizedSoapIn" />
      <wsdl:output message="tns:IsAuthorizedSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="TaxSvcSoap" type="tns:TaxSvcSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetTax">
      <soap:operation soapAction="http://avatax.avalara.com/services/GetTax" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:GetTaxProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetTaxHistory">
      <soap:operation soapAction="http://avatax.avalara.com/services/GetTaxHistory" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:GetTaxHistoryProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="PostTax">
      <soap:operation soapAction="http://avatax.avalara.com/services/PostTax" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:PostTaxProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CommitTax">
      <soap:operation soapAction="http://avatax.avalara.com/services/CommitTax" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:CommitTaxAuditMessage" part="AuditMessage" use="literal" />
        <soap:header message="tns:CommitTaxProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CancelTax">
      <soap:operation soapAction="http://avatax.avalara.com/services/CancelTax" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:CancelTaxAuditMessage" part="AuditMessage" use="literal" />
        <soap:header message="tns:CancelTaxProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ReconcileTaxHistory">
      <soap:operation soapAction="http://avatax.avalara.com/services/ReconcileTaxHistory" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:ReconcileTaxHistoryProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AdjustTax">
      <soap:operation soapAction="http://avatax.avalara.com/services/AdjustTax" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:AdjustTaxProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ApplyPayment">
      <soap:operation soapAction="http://avatax.avalara.com/services/ApplyPayment" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:ApplyPaymentAuditMessage" part="AuditMessage" use="literal" />
        <soap:header message="tns:ApplyPaymentProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <!--New Methods Begin-->
    <wsdl:operation name="SubmitBatch">
      <soap:operation soapAction="http://avatax.avalara.com/services/SubmitBatch" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:SubmitBatchProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBatch">
      <soap:operation soapAction="http://avatax.avalara.com/services/GetBatch" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:GetBatchProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CancelBatch">
      <soap:operation soapAction="http://avatax.avalara.com/services/CancelBatch" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:CancelBatchProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <!--New Methods End-->
    <wsdl:operation name="Ping">
      <soap:operation soapAction="http://avatax.avalara.com/services/Ping" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:PingProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="IsAuthorized">
      <soap:operation soapAction="http://avatax.avalara.com/services/IsAuthorized" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:IsAuthorizedProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="TaxSvcSoap12" type="tns:TaxSvcSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetTax">
      <soap12:operation soapAction="http://avatax.avalara.com/services/GetTax" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:GetTaxProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetTaxHistory">
      <soap12:operation soapAction="http://avatax.avalara.com/services/GetTaxHistory" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:GetTaxHistoryProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="PostTax">
      <soap12:operation soapAction="http://avatax.avalara.com/services/PostTax" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:PostTaxProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CommitTax">
      <soap12:operation soapAction="http://avatax.avalara.com/services/CommitTax" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:CommitTaxAuditMessage" part="AuditMessage" use="literal" />
        <soap12:header message="tns:CommitTaxProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CancelTax">
      <soap12:operation soapAction="http://avatax.avalara.com/services/CancelTax" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:CancelTaxAuditMessage" part="AuditMessage" use="literal" />
        <soap12:header message="tns:CancelTaxProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ReconcileTaxHistory">
      <soap12:operation soapAction="http://avatax.avalara.com/services/ReconcileTaxHistory" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:ReconcileTaxHistoryProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AdjustTax">
      <soap12:operation soapAction="http://avatax.avalara.com/services/AdjustTax" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:AdjustTaxProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ApplyPayment">
      <soap12:operation soapAction="http://avatax.avalara.com/services/ApplyPayment" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:ApplyPaymentAuditMessage" part="AuditMessage" use="literal" />
        <soap12:header message="tns:ApplyPaymentProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Ping">
      <soap12:operation soapAction="http://avatax.avalara.com/services/Ping" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:PingProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="IsAuthorized">
      <soap12:operation soapAction="http://avatax.avalara.com/services/IsAuthorized" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:IsAuthorizedProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <!--New Methods Begin-->
    <wsdl:operation name="SubmitBatch">
      <soap12:operation soapAction="http://avatax.avalara.com/services/SubmitBatch" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:SubmitBatchProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBatch">
      <soap12:operation soapAction="http://avatax.avalara.com/services/GetBatch" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:GetBatchProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CancelBatch">
      <soap12:operation soapAction="http://avatax.avalara.com/services/CancelBatch" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:CancelBatchProfile" part="Profile" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <!--New Methods End-->
  </wsdl:binding>
  <wsdl:service name="TaxSvc">
    <wsdl:port name="TaxSvcSoap" binding="tns:TaxSvcSoap">
      <soap:address location="http://localhost/avatax.services/Tax/TaxSvc.asmx" />
    </wsdl:port>
    <wsdl:port name="TaxSvcSoap12" binding="tns:TaxSvcSoap12">
      <soap12:address location="http://localhost/avatax.services/Tax/TaxSvc.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>