# AdjustMultiDocumentTransaction

Adjust a MultiDocument transaction

`POST /api/v2/transactions/multidocument/{code}/type/{type}/adjust`

**API:** AvaTax API
**Tag:** MultiDocument
**API Version:** v2
**Base URL:** https://sandbox-rest.avatax.com/
**Content-Type:** `application/json`
**Accepts:** `application/json`
**Authentication:** API Key (`Authorization` in header) or OAuth 2.0 or Basic (username + license key)

Source: https://developer.avalara.com/products/crossborder/api/methods/MultiDocument/AdjustMultiDocumentTransaction/

## Description

Adjusts the current MultiDocument transaction uniquely identified by this URL.
            
A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like
sales, purchases, inventory transfer, and returns (also called refunds).
            
When you adjust a transaction, that transaction's status is recorded as `Adjusted`.
            
Both the revisions will be available for retrieval based on their code and ID numbers. Only transactions in Committed status can be reported on a tax filing by Avalara's Managed Returns Service.
            
Transactions that have been previously reported to a tax authority by Avalara Managed Returns are considered locked and are no longer available for adjustments.
            
NOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request:
* Replace '/' with '\_-ava2f-\_'  For example: document/Code becomes document_-ava2f-_Code
* Replace '+' with '\_-ava2b-\_'  For example: document+Code becomes document_-ava2b-_Code
* Replace '?' with '\_-ava3f-\_'  For example: document?Code becomes document_-ava3f-_Code
* Replace '%' with '\_-ava25-\_'  For example: document%Code becomes document_-ava25-_Code
* Replace '#' with '\_-ava23-\_'  For example: document#Code becomes document_-ava23-_Code
* Replace ' ' with '%20'  For example: document Code becomes document%20Code

### Security Policies

* This API requires one of the following user roles: AccountAdmin, AccountOperator, AvaTaxOnlyAccountAdmin, AvaTaxOnlyCompanyAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
* This API depends on the following active services:*Required* (all):  AvaTaxPro.

## Parameters

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `code` | string | path | Yes | The transaction code for this MultiDocument transaction |
| `type` | string | path | Yes | The transaction type for this MultiDocument transaction |
| `include` | string | query | No | Specifies objects to include in this fetch call |
| `X-Avalara-Client` | string | header | No | Identifies the software you are using to call this API.  For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/) . |

## Request Body

**Schema:** `AdjustMultiDocumentModel`

Replace an existing MultiDocument transaction recorded in AvaTax with a new one.

| Property | Type | Required | Description |
|---|---|---|---|
| `adjustmentReason` | string | **Yes** | A reason code indicating why this adjustment was made Values: `NotAdjusted`, `SourcingIssue`, `ReconciledWithGeneralLedger`, `ExemptCertApplied`, `PriceAdjusted`, `ProductReturned`, `ProductExchanged`, `BadDebt`, `Other`, `Offline`. Example: `NotAdjusted`. |
| `adjustDescription` | string | No | If the AdjustmentReason is "Other", specify the reason here.
            
This is required when the AdjustmentReason is 8 (Other). Example: `Price was dropped.`. |
| `newTransaction` | CreateMultiDocumentModel | **Yes** | Replace the current MultiDocument transaction with tax data calculated for this new MultiDocument transaction |

## Responses

| Status | Description | Schema |
|---|---|---|
| 200 | Success | `MultiDocumentModel` |
| 400 | Bad Request |  |
| 401 | Unauthorized |  |
| 404 | Not Found |  |

### 200 Response: `MultiDocumentModel`

A MultiDocument transaction represents a sale or purchase that occurred between more than two companies.
            
A traditional transaction requires exactly two parties: a seller and a buyer.  MultiDocument transactions can
involve a marketplace of vendors, each of which contributes some portion of the final transaction.  Within
a MultiDocument transaction, each individual buyer and seller pair are matched up and converted to a separate
document.  This separation of documents allows each seller to file their taxes separately.

| Property | Type | Required | Description |
|---|---|---|---|
| `id` | integer | No | The unique ID number of this MultiDocument object. Example: `12`. |
| `accountId` | integer | No | The unique ID number of the AvaTax customer account that created this MultiDocument object. Example: `123456`. |
| `code` | string | No | The transaction code of the MultiDocument transaction.
            
All individual transactions within this MultiDocument object will have this code as a prefix. Example: `98602f3c-dfa4-4388-990a-26e8aca1e3b0`. |
| `type` | string | No | Indicates the type of MultiDocument transaction.  Common values are:
            
* SalesOrder - An estimate that is not permanently recorded
* SalesInvoice - An invoice that can be reported on a tax return
            
For more information about document types, see [DocumentType](https://developer.avalara.com/api-reference/avatax/rest/v2/models/enums/DocumentType/) Values: `SalesOrder`, `SalesInvoice`, `PurchaseOrder`, `PurchaseInvoice`, `ReturnOrder`, `ReturnInvoice`, `InventoryTransferOrder`, `InventoryTransferInvoice`, `ReverseChargeOrder`, `ReverseChargeInvoice`, `CustomsInvoice`, `CustomsOrder`, `InventoryTransferOutboundInvoice`, `InventoryTransferOutboundOrder`, `Any`. Example: `SalesOrder`. |
| `createdUserId` | integer | No | The user ID of the user who created this record. Example: `87954`. |
| `createdDate` | string | No | The date/time when this record was created. Example: `2026-07-02T00:00:00+00:00`. |
| `modifiedDate` | string | No | The date/time when this record was last modified. Example: `2026-07-02T00:00:00+00:00`. |
| `modifiedUserId` | integer | No | The user ID of the user who last modified this record. Example: `66783`. |
| `documents` | TransactionModel[] | No | A separate document will exist for each unique combination of buyer and seller in this MultiDocument transaction. |

## Example Request

```bash
curl -X POST "https://sandbox-rest.avatax.com/api/v2/transactions/multidocument/{code}/type/{type}/adjust" \
  -H "Authorization: Basic <credentials>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
  "adjustmentReason": "PriceAdjusted",
  "adjustDescription": "Price was dropped.",
  "newTransaction": {
    "lines": [
      {
        "companyCode": "DEFAULT",
        "reportingLocationCode": "ReportLocation111",
        "number": "1",
        "quantity": 1,
        "amount": 100,
        "taxCode": "PS081282",
        "itemCode": "Y0001",
        "description": "Yarn"
      }
    ],
    "type": "SalesInvoice",
    "companyCode": "DEFAULT",
    "date": "2026-07-02",
    "customerCode": "ABC",
    "purchaseOrderNo": "2026-07-02-001",
    "addresses": {
      "singleLocation": {
        "line1": "2000 Main Street",
        "city": "Irvine",
        "region": "CA",
        "country": "US",
        "postalCode": "92614"
      }
    },
    "commit": true,
    "currencyCode": "USD",
    "description": "Yarn"
  }
}'
```