Avalara.AvaTax.SoapClient 16.8.2

dotnet add package Avalara.AvaTax.SoapClient --version 16.8.2
                    
NuGet\Install-Package Avalara.AvaTax.SoapClient -Version 16.8.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Avalara.AvaTax.SoapClient" Version="16.8.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Avalara.AvaTax.SoapClient" Version="16.8.2" />
                    
Directory.Packages.props
<PackageReference Include="Avalara.AvaTax.SoapClient" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Avalara.AvaTax.SoapClient --version 16.8.2
                    
#r "nuget: Avalara.AvaTax.SoapClient, 16.8.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Avalara.AvaTax.SoapClient@16.8.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Avalara.AvaTax.SoapClient&version=16.8.2
                    
Install as a Cake Addin
#tool nuget:?package=Avalara.AvaTax.SoapClient&version=16.8.2
                    
Install as a Cake Tool

Avalara AvaTax SOAP Client

Avalara.AvaTax.Adapter — the SOAP (ASMX) client for the AvaTax service.

Platform: .NET Framework 2.0 or later, Windows only. This library uses ASMX SOAP (System.Web.Services), MSMQ (System.Messaging) and COM interop, none of which exist on .NET Core / .NET 5+.

What's new in 16.8.1

Adds Profile.ClientSupportMultiTax, which tells the service that your client understands multi-tax responses. It is sent as the ClientSupportMultiTax element of the Profile SOAP header and defaults to false, so nothing changes until you opt in.

using Avalara.AvaTax.Adapter.TaxService;

TaxSvc svc = new TaxSvc();
svc.Profile.Client = "MyIntegration,1.0";
svc.Profile.ClientSupportMultiTax = true;   // opt in

The resulting SOAP header:

<Profile xmlns="http://avatax.avalara.com/services">
  <Name>...</Name>
  <Client>MyIntegration,1.0</Client>
  <Adapter>...</Adapter>
  <Machine>...</Machine>
  <ClientSupportMultiTax>true</ClientSupportMultiTax>
</Profile>

Because the element is optional in the service contract (minOccurs="0"), older services and stored payloads that omit it still deserialize correctly, defaulting to false.

Upgrading from 16.8.0

This is a drop-in upgrade. AssemblyVersion remains 16.8.0.0, so existing direct references and binding redirects keep working without changes — only AssemblyFileVersion moves to 16.8.1.0. The release adds the property above and removes no public API. In particular:

  • TaxType and every other enum keep their exact numeric values, so values you have persisted to a database or serialized to disk continue to mean the same thing.
  • Password-related API (RequestSecurity.Password, UsernameToken.Password, CompanyReturn.EfilePassword) is unchanged.

One small caveat carried over from source changes made after 16.8.0 shipped:

  • Members of Avalara.AvaTax.Adapter.LogService.LogLevel were re-cased from DEBUG, INFO, WARNING, ERROR, FATAL, NONE to Debug, Info, Warning, Error, Fatal, None. The numeric values are unchanged, so only source that names them needs updating. Note the separate Avalara.AvaTax.Adapter.LogLevel enum still uses the original upper-case names.
  • The LogSvc.LogMessage(string, LogLevel, string) overload was removed.

Configuration

This package does not ship an Avalara.AvaTax.Adapter.dll.config. Add the following to your application's config file and supply your own values:

<configSections>
  <sectionGroup name="AvaTax">
    <section name="ServiceConfig"   type="Avalara.AvaTax.Adapter.XmlSerializerSectionHandler, Avalara.AvaTax.Adapter" />
    <section name="RequestSecurity" type="Avalara.AvaTax.Adapter.XmlSerializerSectionHandler, Avalara.AvaTax.Adapter" />
  </sectionGroup>
</configSections>

<AvaTax>
  <ServiceConfig>
    <Url>https://avatax.avalara.net/</Url>
    <RequestTimeout>300</RequestTimeout>
  </ServiceConfig>
  <RequestSecurity>
    <Account>YOUR_ACCOUNT_NUMBER</Account>
    <License>YOUR_LICENSE_KEY</License>
  </RequestSecurity>
</AvaTax>

Never commit real account or license values to source control.

License

Apache License 2.0. Full text: https://www.apache.org/licenses/LICENSE-2.0

Third-party components

This assembly statically includes Apache log4net (https://logging.apache.org/log4net/), Copyright The Apache Software Foundation, also licensed under the Apache License 2.0. Its types appear in this assembly as an implementation detail and are not supported API.

Support

http://developer.avalara.com/

Product Compatible and additional computed target framework versions.
.NET Framework net is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Avalara.AvaTax.SoapClient:

Package Downloads
SuperiorAcumaticaPackage

Dependencies required to compile the SuperiorAcumaticaSolution for Acumatica 2026 R1 Build 26.100.0175

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
16.8.2 263 8/11/2026
16.8.1 134 7/28/2026
16.8.0 113,320 12/9/2016

FIX RELEASE. Upgrade if you are on 16.8.1, particularly if you set
Profile.ClientSupportMultiTax = true.

16.8.1 could not read the responses its own MultiTax opt-in produces. TaxDetail/TaxType is
declared as xs:string by the service contract, but this SDK deserialized it into a closed
enum, so a tax type the enum did not list - "RentalLeasing", for example - threw
"Instance validation error: 'RentalLeasing' is not a valid value for ProxyTaxType" and
failed the ENTIRE tax calculation, not just the affected line. 16.8.2 reads it as a string,
so unrecognized tax types can no longer break a response.

* TaxDetail.TaxType (the TaxType enum) still reports every value it has always reported. A
 tax type this release predates now reports None instead of throwing.
* NEW TaxDetail.TaxTypeName returns the tax type exactly as the service sent it. Read this
 if you need the precise value; it is never lossy.
* NEW TaxDetail.TaxTypeGroupId, TaxSubTypeId, IsFee and TaxTypeId. The service was already
 sending these and the SDK was discarding them.

The same defect is fixed in three other enums, which likewise rejected values the contract
declares. Each one aborted a whole response:
* DocumentType gains CustomsInvoice and CustomsOrder.
* TaxOverrideType gains DeriveTaxable and OutOfHarbor.
* LocationType gains GoodsPlaceOrServiceRendered and Import.
Existing members keep their numbers, so anything you have persisted still means the same
thing.

DROP-IN from 16.8.0 and 16.8.1: AssemblyVersion remains 16.8.0.0, so direct references and
binding redirects keep working; only AssemblyFileVersion moves, to 16.8.2.0. COM callers are
unaffected - new members are appended, so existing DispIds do not move. Regenerate the type
library only if you want to call the new members.

One deliberate change to the public surface, for callers of the Proxies plumbing namespace
rather than the documented API: ProxyTaxDetail.TaxType is now a string rather than a
ProxyTaxType. Code bound to it needs recompiling. Avalara.AvaTax.Adapter.TaxService.TaxDetail,
which is what virtually all integrations use, loses nothing.

See the included README.md for usage and a configuration reference.