The POST /api/v2/companies/{companyCode}/transactions/{transactionCode}/void
method provides a mechanism to recover from posting problems and cancelled transactions. The effect of the void endpoint depends upon the current state of the document (uncommitted/saved, posted, or committed), and the parameter code
made in the request body.
Let’s run through a couple of quick examples to see how things might look. Depending on your workflow, you may come across instances where a transaction was cancelled prior to any money transfers. Since you don’t owe the customer a refund; depending on how you’ve submitted the transaction to AvaTax you might either attempt to void or delete the transaction.
For the first case let’s assume you’ve already Saved
and Committed
a transaction but your customer found an issue when they looked over their receipt. In this case you might like to void the transaction altogether and re-submit a new one. Since you’ve already committed the transaction for reporting your best option is to record the void with the DocVoided
code
. Here’s what your request might look like in that case:
{
"companyCode": 555,
"transactionCode": "5555555aa-5aa5-5a55-a555-55a555a5555a",
"code": "DocVoided",
"commit": true
}
The Response will be a detailed summary of this action of the following structure:
{
"id": 55555555,
"code": "5555555aa-5aa5-5a55-a555-55a555a5555a",
"companyId": 5555555,
"date": "2016-09-15T00:00:00",
"taxDate": "2016-09-15T00:00:00",
"paymentDate": "1900-01-01T00:00:00",
"status": "Cancelled",
"type": "SalesInvoice",
...
"lines": [
{
...
}
"details": [
{
...
},
],
"parameters": {}
],
"addresses": [
{
...
},
{
...
}
],
"summary": [
{
...
},
{
...
}
],
"parameters": {}
}
You’ll notice this transaction has now been cancelled as it states in the response: "status": "Cancelled"
. Also, when viewed in the AvaTax Website the transaction will now be Voided under your companies transactions tab. This will allow for the transaction to be included in any reports you might wish to file.
Now that we’ve run through a couple of example requests using the REST API, here are the various types of REST v2 supported code
parameters.
code | Uncommitted (Saved) | Uncommitted (Posted) | Committed | Committed (Adjusted) | Voided |
---|---|---|---|---|---|
Unspecified | Uncommitted (Saved) | Uncommitted (Posted) | Committed | Committed (Adjusted) | Voided |
PostFailed | DocStatusError | Saved | DocStatusError | DocStatusError | DocStatusError |
DocVoided | Voided | Voided | Voided | Voided | Voided |
Adjustment Cancelled | DocStatusError | DocStatusError | DocStatusError | Removes last adjustment. | DocStatusError |
Further reference on the request/response parameters can be found in our API references.