com.avalara.avatax.services.tax
Interface TaxSvcSoap

All Superinterfaces:
BaseSvcSoap, java.rmi.Remote
All Known Implementing Classes:
TaxSvcSoapStub

public interface TaxSvcSoap
extends BaseSvcSoap

Proxy interface for the Avalara Tax Web Service. Requires a Web Service Deployment Descriptor (WSDD) configuration file at creation time named (for example the sample file avatax4j.wsdd) in the same directory as the project is running. The values in the file will be loaded as the default configuration information.

 Example:
 [Java]
 EngineConfiguration config = new FileProvider("avatax4j.wsdd");
 TaxSvcLocator taxSvcLoc = new TaxSvcLocator(config);

 TaxSvcSoap svc = taxSvcLoc.getTaxSvcSoap(new URL("http://www.avalara.com/services/"));

 // Set the profile
 Profile profile = new Profile();
 profile.setClient("TaxSvcTest,4.0.0.0");
 svc.setProfile(profile);

 // Set security
 Security security = new Security();
 security.setAccount("account");
 security.setLicense("license number");
 svc.setSecurity(security);
 


Method Summary
 AdjustTaxResult adjustTax(AdjustTaxRequest adjustTaxRequest)
          *
 ApplyPaymentResult applyPayment(ApplyPaymentRequest applyPaymentRequest)
          This method is used to apply a payment to a document for cash basis accounting.
 CancelTaxResult cancelTax(CancelTaxRequest cancelTaxRequest)
          Cancels a previously calculated tax; This is for use as a compensating action when posting on the client fails to complete.
 CommitTaxResult commitTax(CommitTaxRequest commitTaxRequest)
          Commits a previously posted tax.
 GetTaxResult getTax(GetTaxRequest getTaxRequest)
          Calculates taxes on a document such as a sales order, sales invoice, purchase order, purchase invoice, or credit memo.
 GetTaxHistoryResult getTaxHistory(GetTaxHistoryRequest getTaxHistoryRequest)
          Retrieves a previously calculated tax document.
 IsAuthorizedResult isAuthorized(java.lang.String operations)
          Checks authentication of and authorization to one or more operations on the service.
 PingResult ping(java.lang.String message)
          Verifies connectivity to the web service and returns version information about the service.
 PostTaxResult postTax(PostTaxRequest postTaxRequest)
          Posts a previously calculated tax
 ReconcileTaxHistoryResult reconcileTaxHistory(ReconcileTaxHistoryRequest reconcileTaxHistoryRequest)
          Reconciles tax history to ensure the client data matches the AvaTax history.
 
Methods inherited from interface com.avalara.avatax.services.base.BaseSvcSoap
getProfile, getSecurity, setProfile, setSecurity
 

Method Detail

getTax

GetTaxResult getTax(GetTaxRequest getTaxRequest)
                    throws java.rmi.RemoteException
Calculates taxes on a document such as a sales order, sales invoice, purchase order, purchase invoice, or credit memo.
The tax data is saved Sales Invoice and Purchase Invoice document types GetTaxRequest.getDocType().

Parameters:
getTaxRequest - -- Tax calculation request
Returns:
GetTaxResult object
Throws:
java.rmi.RemoteException

getTaxHistory

GetTaxHistoryResult getTaxHistory(GetTaxHistoryRequest getTaxHistoryRequest)
                                  throws java.rmi.RemoteException
Retrieves a previously calculated tax document.

This is only available for saved tax documents (Sales Invoices, Purchase Invoices).

A document can be indicated solely by the PostTaxRequest.getDocId() if it is known. Otherwise the request must specify all of PostTaxRequest.getCompanyCode(), see PostTaxRequest.getDocCode() and PostTaxRequest.getDocType() in order to uniquely identify the document.

Parameters:
getTaxHistoryRequest - a GetTaxHistoryRequest object indicating the document for which history should be retrieved.
Returns:
a GetTaxHistoryResult object
Throws:
java.rmi.RemoteException

postTax

PostTaxResult postTax(PostTaxRequest postTaxRequest)
                      throws java.rmi.RemoteException
Posts a previously calculated tax

This is only available for saved tax documents (Sales Invoices, Purchase Invoices).

A document can be indicated solely by the PostTaxRequest.getDocId() if it is known. Otherwise the request must specify all of PostTaxRequest.getCompanyCode(), PostTaxRequest.getDocCode(), and PostTaxRequest.getDocType() in order to uniquely identify the document.

Parameters:
postTaxRequest - a PostTaxRequest object indicating the document that should be posted.
Returns:
a PostTaxResult object
Throws:
java.rmi.RemoteException

commitTax

CommitTaxResult commitTax(CommitTaxRequest commitTaxRequest)
                          throws java.rmi.RemoteException
Commits a previously posted tax.

This is only available for posted tax documents (Sales Invoices, Purchase Invoices). Committed documents cannot be changed or deleted.

A document can be indicated solely by the CommitTaxRequest.getDocId() if it is known. Otherwise the request must specify all of CommitTaxRequest.getCompanyCode(), CommitTaxRequest.getDocCode(), and CommitTaxRequest.getDocType() in order to uniquely identify the document.

Parameters:
commitTaxRequest - a CommitTaxRequest object indicating the document that should be committed.
Returns:
a CommitTaxResult object
Throws:
java.rmi.RemoteException

cancelTax

CancelTaxResult cancelTax(CancelTaxRequest cancelTaxRequest)
                          throws java.rmi.RemoteException
Cancels a previously calculated tax; This is for use as a compensating action when posting on the client fails to complete.

This is only available for saved tax document types (Sales Invoices, Purchase Invoices). A document that is saved but not posted will be deleted if canceled. A document that has been posted will revert to a saved state if canceled (in this case CancelTax should be called with a CancelTaxRequest.getCancelCode() of PostFailed). A document that has been committed cannot be reverted to a posted state or deleted. In the case that a document on the client side no longer exists, a committed document can be virtually removed by calling CancelTax with a CancelCode of DocDeleted. The record will be retained in history but removed from all reports.

A document can be indicated solely by the CancelTaxRequest.getDocId() if it is known. Otherwise the request must specify all of CancelTaxRequest.getCompanyCode(), CancelTaxRequest.getDocCode(), and CancelTaxRequest.getDocType() in order to uniquely identify the document.

Parameters:
cancelTaxRequest - a CancelTaxRequest object indicating the document that should be canceled.
Returns:
a CancelTaxResult object
Throws:
java.rmi.RemoteException

reconcileTaxHistory

ReconcileTaxHistoryResult reconcileTaxHistory(ReconcileTaxHistoryRequest reconcileTaxHistoryRequest)
                                              throws java.rmi.RemoteException
Reconciles tax history to ensure the client data matches the AvaTax history.

The Reconcile operation allows reconciliation of the AvaTax history with the client accounting system. It must be used periodically according to your service contract.

Because there may be a large number of documents to reconcile, it is designed to be called repetitively until all documents have been reconciled. It should be called until no more documents are returned. Each subsequent call should pass the previous results ReconcileTaxHistoryRequest.getLastDocId().

When all results have been reconciled, Reconcile should be called once more with ReconcileTaxHistoryRequest.getLastDocId() equal to the last document code processed and ReconcileTaxHistoryRequest.isReconciled() set to true to indicate that all items have been reconciled. If desired, this may be done incrementally with each result set. Just send Reconciled as true when requesting the next result set and the prior results will be marked as reconciled.

The postTax(com.avalara.avatax.services.tax.PostTaxRequest), commitTax(com.avalara.avatax.services.tax.CommitTaxRequest), and cancelTax(com.avalara.avatax.services.tax.CancelTaxRequest) operations can be used to correct any differences. getTax(com.avalara.avatax.services.tax.GetTaxRequest) should be called if any committed documents are out of balance (GetTaxResult.getTotalAmount() or GetTaxResult.getTotalTax() don't match the accounting system records). This is to make sure the correct tax is reported.

Parameters:
reconcileTaxHistoryRequest - a Reconciliation request
Returns:
A collection of documents that have been posted or committed since the last reconciliation.
Throws:
java.rmi.RemoteException

ping

PingResult ping(java.lang.String message)
                throws java.rmi.RemoteException
Verifies connectivity to the web service and returns version information about the service.

This replaces TestConnection and is available on every service.

Parameters:
message - For future use
Returns:
a PingResult object
Throws:
java.rmi.RemoteException

isAuthorized

IsAuthorizedResult isAuthorized(java.lang.String operations)
                                throws java.rmi.RemoteException
Checks authentication of and authorization to one or more operations on the service.

This operation allows pre-authorization checking of any or all operations. It will return a comma delimited set of operation names which will be all or a subset of the requested operation names. For security, it will never return operation names other than those requested, i.e. protects against phishing.

Example: isAuthorized("GetTax,PostTax")

Parameters:
operations - a comma-delimited list of operation names.
Returns:
a IsAuthorizedResult object
Throws:
java.rmi.RemoteException

adjustTax

AdjustTaxResult adjustTax(AdjustTaxRequest adjustTaxRequest)
                          throws java.rmi.RemoteException
*

The AdjustTax operation allows user to Adjust document on the AvaTax system. Adjustment is allowed for Commited documents. If Document status is GetTaxResult.locked then system will not process any AdjustTax call. A valid AdjustTaxRequest.adjustmentReason is required for Adjusting a document.

Throws:
java.rmi.RemoteException

applyPayment

ApplyPaymentResult applyPayment(ApplyPaymentRequest applyPaymentRequest)
                                throws java.rmi.RemoteException
This method is used to apply a payment to a document for cash basis accounting. Applies a payment date to an existing invoice

It sets the document PaymentDate and changes the reporting date from the DocDate default. It may be called before or after a document is committed. It should not be used for accrual basis accounting

Parameters:
applyPaymentRequest -
Returns:
a ApplyPaymentResult object
Throws:
java.rmi.RemoteException