Avalara MultiDocument API

Multi-document transaction management

Documentation

Specifications

OpenAPI Specification

avalara-multidocument-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Avalara 1099 & W-9 1099 Forms MultiDocument API
  description: The Avalara 1099 and W-9 API automates collection, validation, and e-filing of IRS forms including 1099 variants (1099-NEC, 1099-MISC, 1099-K, 1099-INT, 1099-DIV), 1095 forms, W-2, and 1042-S. It provides endpoints for creating, updating, managing, and filing various IRS information returns.
  version: '1.0'
  contact:
    name: Avalara Developer Relations
    url: https://developer.avalara.com/
    email: developer.relations@avalara.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  termsOfService: https://legal.avalara.com/#siteterms
servers:
- url: https://api.avalara.com/1099/v1
  description: 1099 API Production
- url: https://api.sbx.avalara.com/1099/v1
  description: 1099 API Sandbox
security:
- bearerAuth: []
tags:
- name: MultiDocument
  description: Multi-document transaction management
paths:
  /api/v2/multidocument/transactions/create:
    post:
      operationId: createMultiDocumentTransaction
      summary: Avalara Create a Multi-document Transaction
      description: Creates a transaction that spans multiple companies or jurisdictions, managing related documents as a single group.
      tags:
      - MultiDocument
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMultiDocumentModel'
      responses:
        '200':
          description: Multi-document transaction created
  /api/v2/transactions/multidocument/{code}/type/{type}/adjust:
    post:
      tags:
      - MultiDocument
      summary: Avalara AdjustMultiDocumentTransaction
      description: "Adjusts the current MultiDocument transaction uniquely identified by this URL.\r\n            \r\nA transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like\r\nsales, purchases, inventory transfer, and returns (also called refunds).\r\n            \r\nWhen you adjust a transaction, that transaction's status is recorded as `Adjusted`.\r\n            \r\nBoth 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.\r\n            \r\nTransactions that have been previously reported to a tax authority by Avalara Managed Returns are considered locked and are no longer available for adjustments.\r\n            \r\nNOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request:\r\n* Replace '/' with '\\_-ava2f-\\_'  For example: document/Code becomes document_-ava2f-_Code\r\n* Replace '+' with '\\_-ava2b-\\_'  For example: document+Code becomes document_-ava2b-_Code\r\n* Replace '?' with '\\_-ava3f-\\_'  For example: document?Code becomes document_-ava3f-_Code\r\n* Replace '%' with '\\_-ava25-\\_'  For example: document%Code becomes document_-ava25-_Code\r\n* Replace '#' with '\\_-ava23-\\_'  For example: document#Code becomes document_-ava23-_Code\r\n* Replace ' ' with '%20'  For example: document Code becomes document%20Code\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, BatchServiceAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.\n* This API depends on the following active services:*Required* (all):  AvaTaxPro.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                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: '2023-08-13'
                  customerCode: ABC
                  purchaseOrderNo: 2023-08-13-001
                  addresses:
                    singleLocation:
                      line1: 2000 Main Street
                      city: Irvine
                      region: CA
                      country: US
                      postalCode: '92614'
                  commit: true
                  currencyCode: USD
                  description: Yarn
      parameters:
      - name: Content-Type
        in: header
        schema:
          type: string
        example: application/json
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: 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/).
        example: AvaTax Postman Collection
      - name: code
        in: path
        schema:
          type: string
        required: true
      - name: type
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/transactions/multidocument/{code}/type/{type}/audit:
    get:
      tags:
      - MultiDocument
      summary: Avalara AuditMultiDocumentTransaction
      description: "Retrieve audit information about a MultiDocument transaction stored in AvaTax.\r\n            \r\nThe audit API retrieves audit information related to a specific MultiDocument transaction.  This audit\r\ninformation includes the following:\r\n            \r\n* The `code` of the MultiDocument transaction\r\n* The `type` of the MultiDocument transaction\r\n* The server timestamp representing the exact server time when the transaction was created\r\n* The server duration - how long it took to process this transaction\r\n* Whether exact API call details were logged\r\n* A reconstructed API call showing what the original create call looked like\r\n            \r\nA transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like\r\nsales, purchases, inventory transfer, and returns (also called refunds).\r\n            \r\nNOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request:\r\n* Replace '/' with '\\_-ava2f-\\_'  For example: document/Code becomes document_-ava2f-_Code\r\n* Replace '+' with '\\_-ava2b-\\_'  For example: document+Code becomes document_-ava2b-_Code\r\n* Replace '?' with '\\_-ava3f-\\_'  For example: document?Code becomes document_-ava3f-_Code\r\n* Replace '%' with '\\_-ava25-\\_'  For example: document%Code becomes document_-ava25-_Code\r\n* Replace '#' with '\\_-ava23-\\_'  For example: document#Code becomes document_-ava23-_Code\r\n* Replace ' ' with '%20'  For example: document Code becomes document%20Code\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.\n* This API depends on the following active services:*Required* (all):  AvaTaxPro.\n"
      parameters:
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: 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/).
        example: AvaTax Postman Collection
      - name: code
        in: path
        schema:
          type: string
        required: true
      - name: type
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/transactions/multidocument/commit:
    post:
      tags:
      - MultiDocument
      summary: Avalara CommitMultiDocumentTransaction
      description: "Marks a list of transactions by changing its status to `Committed`.\r\n            \r\nTransactions that are committed are available to be reported to a tax authority by Avalara Managed Returns.\r\n            \r\nA transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like\r\nsales, purchases, inventory transfer, and returns (also called refunds).\r\n            \r\nAny changes made to a committed transaction will generate a transaction history.\r\n\r\nNOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request:\r\n* Replace '/' with '\\_-ava2f-\\_'  For example: document/Code becomes document_-ava2f-_Code\r\n* Replace '+' with '\\_-ava2b-\\_'  For example: document+Code becomes document_-ava2b-_Code\r\n* Replace '?' with '\\_-ava3f-\\_'  For example: document?Code becomes document_-ava3f-_Code\r\n* Replace '%' with '\\_-ava25-\\_'  For example: document%Code becomes document_-ava25-_Code\r\n* Replace '#' with '\\_-ava23-\\_'  For example: document#Code becomes document_-ava23-_Code\r\n* Replace ' ' with '%20'  For example: document Code becomes document%20Code\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin.\n* This API depends on the following active services:*Required* (all):  AvaTaxPro.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                code: b7ea8db8-42f7-40db-8592-d31ed6c5cb6c
                type: SalesInvoice
                commit: true
      parameters:
      - name: Content-Type
        in: header
        schema:
          type: string
        example: application/json
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: 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/).
        example: AvaTax Postman Collection
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/transactions/multidocument:
    post:
      tags:
      - MultiDocument
      summary: Avalara CreateMultiDocumentTransaction
      description: "Records a new MultiDocument transaction in AvaTax.\r\n            \r\nA traditional transaction requires exactly two parties: a seller and a buyer.  MultiDocument transactions can\r\ninvolve a marketplace of vendors, each of which contributes some portion of the final transaction.  Within\r\na MultiDocument transaction, each individual buyer and seller pair are matched up and converted to a separate\r\ndocument.  This separation of documents allows each seller to file their taxes separately.\r\n            \r\nThis API will report an error if you attempt to create a transaction when one already exists with the specified `code`.\r\nIf you would like the API to automatically update the transaction when it already exists, please set the `allowAdjust`\r\nvalue to `true`.\r\n            \r\nTo generate a refund for a transaction, use the `RefundTransaction` API.\r\n            \r\nThe field `type` identifies the kind of transaction - for example, a sale, purchase, or refund.  If you do not specify\r\na `type` value, you will receive an estimate of type `SalesOrder`, which will not be recorded.\r\n            \r\nThe origin and destination locations for a transaction must be identified by either address or geocode.  For address-based transactions, please\r\nprovide addresses in the fields `line`, `city`, `region`, `country` and `postalCode`.  For geocode-based transactions, please provide the geocode\r\ninformation in the fields `latitude` and `longitude`.  If either `latitude` or `longitude` or both are null, the transaction will be calculated\r\nusing the best available address location information.\r\n            \r\nYou may specify one or more of the following values in the `$include` parameter to fetch additional nested data, using commas to separate multiple values:\r\n            \r\n* Lines\r\n* Details (implies lines)\r\n* Summary (implies details)\r\n* Addresses\r\n* SummaryOnly (omit lines and details - reduces API response size)\r\n* LinesOnly (omit details - reduces API response size)\r\n* ForceTimeout - Simulates a timeout.  This adds a 30 second delay and error to your API call.  This can be used to test your code to ensure it can respond correctly in the case of a dropped connection.\r\n            \r\nIf you omit the `$include` parameter, the API will assume you want `Summary,Addresses`.\r\n            \r\nNOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request:\r\n* Replace '/' with '\\_-ava2f-\\_'  For example: document/Code becomes document_-ava2f-_Code\r\n* Replace '+' with '\\_-ava2b-\\_'  For example: document+Code becomes document_-ava2b-_Code\r\n* Replace '?' with '\\_-ava3f-\\_'  For example: document?Code becomes document_-ava3f-_Code\r\n* Replace '%' with '\\_-ava25-\\_'  For example: document%Code becomes document_-ava25-_Code\r\n* Replace '#' with '\\_-ava23-\\_'  For example: document#Code becomes document_-ava23-_Code\r\n* Replace ' ' with '%20'  For example: document Code becomes document%20Code\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.\n* This API depends on the following active services:*Required* (all):  AvaTaxPro.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                lines:
                - companyCode: DEFAULT
                  reportingLocationCode: ReportLocation111
                  number: '1'
                  quantity: 1
                  amount: 100
                  taxCode: PS081282
                  itemCode: Y0001
                  description: Yarn
                type: SalesInvoice
                companyCode: DEFAULT
                date: '2023-08-13'
                customerCode: ABC
                purchaseOrderNo: 2023-08-13-001
                addresses:
                  singleLocation:
                    line1: 2000 Main Street
                    city: Irvine
                    region: CA
                    country: US
                    postalCode: '92614'
                commit: true
                currencyCode: USD
                description: Yarn
      parameters:
      - name: Content-Type
        in: header
        schema:
          type: string
        example: application/json
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: 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/).
        example: AvaTax Postman Collection
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    get:
      tags:
      - MultiDocument
      summary: Avalara ListMultiDocumentTransactions
      description: "List all MultiDocument transactions within this account.\r\n            \r\nThis endpoint is limited to returning 1,000 MultiDocument transactions at a time.  To retrieve more than 1,000 MultiDocument\r\ntransactions, please use the pagination features of the API.\r\n            \r\nA transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like\r\nsales, purchases, inventory transfer, and returns (also called refunds).\r\n            \r\nSearch for specific objects using the criteria in the `$filter` parameter; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .\r\nPaginate your results using the `$top`, `$skip`, and `$orderby` parameters.\r\n            \r\nYou may specify one or more of the following values in the `$include` parameter to fetch additional nested data, using commas to separate multiple values:\r\n            \r\n* Lines\r\n* Details (implies lines)\r\n* Summary (implies details)\r\n* Addresses\r\n* SummaryOnly (omit lines and details - reduces API response size)\r\n* LinesOnly (omit details - reduces API response size)\r\n            \r\nNOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request:\r\n* Replace '/' with '\\_-ava2f-\\_'  For example: document/Code becomes document_-ava2f-_Code\r\n* Replace '+' with '\\_-ava2b-\\_'  For example: document+Code becomes document_-ava2b-_Code\r\n* Replace '?' with '\\_-ava3f-\\_'  For example: document?Code becomes document_-ava3f-_Code\r\n* Replace '%' with '\\_-ava25-\\_'  For example: document%Code becomes document_-ava25-_Code\r\n* Replace '#' with '\\_-ava23-\\_'  For example: document#Code becomes document_-ava23-_Code\r\n* Replace ' ' with '%20'  For example: document Code becomes document%20Code\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.\n* This API depends on the following active services:*Required* (all):  AvaTaxPro.\n"
      parameters:
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: 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/).
        example: AvaTax Postman Collection
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/transactions/multidocument/{code}/type/{type}:
    get:
      tags:
      - MultiDocument
      summary: Avalara GetMultiDocumentTransactionByCodeAndType
      description: "Get the current MultiDocument transaction identified by this URL.\r\n            \r\nIf this transaction was adjusted, the return value of this API will be the current transaction with this code.\r\n            \r\nYou may specify one or more of the following values in the `$include` parameter to fetch additional nested data, using commas to separate multiple values:\r\n            \r\n* Lines\r\n* Details (implies lines)\r\n* Summary (implies details)\r\n* Addresses\r\n* SummaryOnly (omit lines and details - reduces API response size)\r\n* LinesOnly (omit details - reduces API response size)\r\n            \r\nNOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request:\r\n* Replace '/' with '\\_-ava2f-\\_'  For example: document/Code becomes document_-ava2f-_Code\r\n* Replace '+' with '\\_-ava2b-\\_'  For example: document+Code becomes document_-ava2b-_Code\r\n* Replace '?' with '\\_-ava3f-\\_'  For example: document?Code becomes document_-ava3f-_Code\r\n* Replace '%' with '\\_-ava25-\\_'  For example: document%Code becomes document_-ava25-_Code\r\n* Replace '#' with '\\_-ava23-\\_'  For example: document#Code becomes document_-ava23-_Code\r\n* Replace ' ' with '%20'  For example: document Code becomes document%20Code\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.\n* This API depends on the following active services:*Required* (all):  AvaTaxPro.\n"
      parameters:
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: 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/).
        example: AvaTax Postman Collection
      - name: code
        in: path
        schema:
          type: string
        required: true
      - name: type
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/transactions/multidocument/{id}:
    get:
      tags:
      - MultiDocument
      summary: Avalara GetMultiDocumentTransactionById
      description: "Get the unique MultiDocument transaction identified by this URL.\r\n            \r\nA traditional transaction requires exactly two parties: a seller and a buyer.  MultiDocument transactions can\r\ninvolve a marketplace of vendors, each of which contributes some portion of the final transaction.  Within\r\na MultiDocument transaction, each individual buyer and seller pair are matched up and converted to a separate\r\ndocument.  This separation of documents allows each seller to file their taxes separately.\r\n            \r\nThis endpoint retrieves the exact transaction identified by this ID number even if that transaction was later adjusted\r\nby using the `AdjustTransaction` endpoint.\r\n            \r\nA transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like\r\nsales, purchases, inventory transfer, and returns (also called refunds).\r\n            \r\nYou may specify one or more of the following values in the `$include` parameter to fetch additional nested data, using commas to separate multiple values:\r\n            \r\n* Lines\r\n* Details (implies lines)\r\n* Summary (implies details)\r\n* Addresses\r\n* SummaryOnly (omit lines and details - reduces API response size)\r\n* LinesOnly (omit details - reduces API response size)\r\n            \r\nNOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request:\r\n* Replace '/' with '\\_-ava2f-\\_'  For example: document/Code becomes document_-ava2f-_Code\r\n* Replace '+' with '\\_-ava2b-\\_'  For example: document+Code becomes document_-ava2b-_Code\r\n* Replace '?' with '\\_-ava3f-\\_'  For example: document?Code becomes document_-ava3f-_Code\r\n* Replace '%' with '\\_-ava25-\\_'  For example: document%Code becomes document_-ava25-_Code\r\n* Replace '#' with '\\_-ava23-\\_'  For example: document#Code becomes document_-ava23-_Code\r\n* Replace ' ' with '%20'  For example: document Code becomes document%20Code\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.\n* This API depends on the following active services:*Required* (all):  AvaTaxPro.\n"
      parameters:
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: 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/).
        example: AvaTax Postman Collection
      - name: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/transactions/multidocument/{code}/type/{type}/refund:
    post:
      tags:
      - MultiDocument
      summary: Avalara RefundMultiDocumentTransaction
      description: "Create a refund for a MultiDocument transaction.\r\n            \r\nA traditional transaction requires exactly two parties: a seller and a buyer.  MultiDocument transactions can\r\ninvolve a marketplace of vendors, each of which contributes some portion of the final transaction.  Within\r\na MultiDocument transaction, each individual buyer and seller pair are matched up and converted to a separate\r\ndocument.  This separation of documents allows each seller to file their taxes separately.\r\n            \r\nThe `RefundTransaction` API allows you to quickly and easily create a `ReturnInvoice` representing a refund\r\nfor a previously created `SalesInvoice` transaction.  You can choose to create a full or partial refund, and\r\nspecify individual line items from the original sale for refund.\r\n            \r\nThe `RefundTransaction` API ensures that the tax amount you refund to the customer exactly matches the tax that\r\nwas calculated during the original transaction, regardless of any changes to your company's configuration, rules,\r\nnexus, or any other setting.\r\n            \r\nThis API is intended to be a shortcut to allow you to quickly and accurately generate a refund for the following\r\ncommon refund scenarios:\r\n            \r\n* A full refund of a previous sale\r\n* Refunding the tax that was charged on a previous sale, when the customer provides an exemption certificate after the purchase\r\n* Refunding one or more items (lines) from a previous sale\r\n* Granting a customer a percentage refund of a previous sale\r\n            \r\nFor more complex scenarios than the ones above, please use `CreateTransaction` with document type `ReturnInvoice` to\r\ncreate a custom refund transaction.\r\n            \r\nYou may specify one or more of the following values in the `$include` parameter to fetch additional nested data, using commas to separate multiple values:\r\n            \r\n* Lines\r\n* Details (implies lines)\r\n* Summary (implies details)\r\n* Addresses\r\n* SummaryOnly (omit lines and details - reduces API response size)\r\n* LinesOnly (omit details - reduces API response size)\r\n            \r\nIf you omit the `$include` parameter, the API will assume you want `Summary,Addresses`.\r\n\r\nNOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request:\r\n* Replace '/' with '\\_-ava2f-\\_'  For example: document/Code becomes document_-ava2f-_Code\r\n* Replace '+' with '\\_-ava2b-\\_'  For example: document+Code becomes document_-ava2b-_Code\r\n* Replace '?' with '\\_-ava3f-\\_'  For example: document?Code becomes document_-ava3f-_Code\r\n* Replace '%' with '\\_-ava25-\\_'  For example: document%Code becomes document_-ava25-_Code\r\n* Replace '#' with '\\_-ava23-\\_'  For example: document#Code becomes document_-ava23-_Code\r\n* Replace ' ' with '%20'  For example: document Code becomes document%20Code\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.\n* This API depends on the following active services:*Required* (all):  AvaTaxPro.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                refundTransactionCode: 66d322fb-3750-4480-867a-519967282c72
                refundDate: '2023-08-13'
                refundType: Full
                referenceCode: Refund for a committed transaction
      parameters:
      - name: Content-Type
        in: header
        schema:
          type: string
        example: application/json
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: 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/).
        example: AvaTax Postman Collection
      - name: code
        in: path
        schema:
          type: string
        required: true
      - name: type
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/transactions/multidocument/verify:
    post:
      tags:
      - MultiDocument
      summary: Avalara VerifyMultiDocumentTransaction
      description: "Verifies that the MultiDocument transaction uniquely identified by this URL matches certain expected values.\r\n            \r\nIf the transaction does not match these expected values, this API will return an error code indicating which value did not match.\r\n            \r\nA transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like\r\nsales, purchases, inventory transfer, and returns (also called refunds).\r\n            \r\nNOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request:\r\n* Replace '/' with '\\_-ava2f-\\_'  For example: document/Code becomes document_-ava2f-_Code\r\n* Replace '+' with '\\_-ava2b-\\_'  For example: document+Code becomes document_-ava2b-_Code\r\n* Replace '?' with '\\_-ava3f-\\_'  For example: document?Code becomes document_-ava3f-_Code\r\n* Replace '%' with '\\_-ava25-\\_'  For example: document%Code becomes document_-ava25-_Code\r\n* Replace '#' with '\\_-ava23-\\_'  For example: document#Code becomes document_-ava23-_Code\r\n* Replace ' ' with '%20'  For example: document Code becomes document%20Code\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.\n* This API depends on the following active services:*Required* (all):  AvaTaxPro.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                code: ABC
                type: SalesInvoice
      parameters:
      - name: Content-Type
        in: header
        schema:
          type: string
        example: application/json
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: 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/).
        example: AvaTax Postman Collection
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/transactions/multidocument/{code}/type/{type}/void:
    post:
      tags:
      - MultiDocument
      summary: Avalara VoidMultiDocumentTransaction
      description: "Voids the current transaction uniquely identified by this URL.\r\n            \r\nA transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like\r\nsales, purchases, inventory transfer, and returns (also called refunds).\r\n            \r\nWhen you void a transaction, that transaction's status is recorded as `DocVoided`.\r\n            \r\nTransactions that have been previously reported to a tax authority by Avalara Managed Returns Service are considered `locked`,\r\nand they are no longer available to be voided.\r\n            \r\nNOTE: If your companyCode or transactionCode contains any of these characters /, +, ? or a space please use the following encoding before making a request:\r\n* Replace '/' with '\\_-ava2f-\\_'  For example: document/Code becomes document_-ava2f-_Code\r\n* Replace 

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/avalara/refs/heads/main/openapi/avalara-multidocument-api-openapi.yml