Avalara Transactions API

Manage tax transactions

Documentation

Specifications

OpenAPI Specification

avalara-transactions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Avalara 1099 & W-9 1099 Forms Transactions 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: Transactions
  description: Manage tax transactions
paths:
  /transactions:
    get:
      operationId: listTransactions
      summary: Avalara List Transactions
      tags:
      - Transactions
      parameters:
      - name: page
        in: query
        schema:
          type: integer
      - name: pageSize
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: List of transactions
    post:
      operationId: submitTransactions
      summary: Avalara Submit VAT Transactions
      description: Submits a batch of transactions for VAT reporting. Transactions are validated and processed for inclusion in VAT returns.
      tags:
      - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionBatch'
      responses:
        '202':
          description: Transactions accepted for processing
  /api/v2/transactions/create:
    post:
      operationId: createTransaction
      summary: Avalara Create a New Transaction
      description: Creates a new tax transaction. This is the primary method for calculating tax on a sale, purchase, or other taxable event. The transaction can be committed immediately or saved as a temporary document.
      tags:
      - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTransactionModel'
      responses:
        '200':
          description: Transaction created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionModel'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v2/companies/{companyCode}/transactions/{transactionCode}:
    get:
      operationId: getTransactionByCode
      summary: Avalara Retrieve a Single Transaction by Code
      description: Retrieves a transaction by its company code and transaction code, optionally including line item details and summary information.
      tags:
      - Transactions
      parameters:
      - $ref: '#/components/parameters/companyCode'
      - name: transactionCode
        in: path
        required: true
        schema:
          type: string
        description: The transaction code to retrieve
      - name: $include
        in: query
        schema:
          type: string
        description: Comma-separated list of optional data to include (e.g., Lines, Details, Summary)
      responses:
        '200':
          description: Transaction retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionModel'
        '404':
          $ref: '#/components/responses/NotFound'
  /api/v2/companies/{companyCode}/transactions/{transactionCode}/adjust:
    post:
      operationId: adjustTransaction
      summary: Avalara Adjust a Committed Transaction
      description: Adjusts a committed transaction by replacing it with a modified version. The original transaction is voided and a new adjusted transaction is created.
      tags:
      - Transactions
      parameters:
      - $ref: '#/components/parameters/companyCode'
      - name: transactionCode
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdjustTransactionModel'
      responses:
        '200':
          description: Transaction adjusted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionModel'
  /api/v2/companies/{companyCode}/transactions/{transactionCode}/commit:
    post:
      operationId: commitTransaction
      summary: Avalara Commit a Transaction
      description: Marks a transaction as committed, indicating it has been finalized and should be reported to tax authorities.
      tags:
      - Transactions
      parameters:
      - $ref: '#/components/parameters/companyCode'
      - name: transactionCode
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommitTransactionModel'
      responses:
        '200':
          description: Transaction committed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionModel'
  /api/v2/companies/{companyCode}/transactions/{transactionCode}/void:
    post:
      operationId: voidTransaction
      summary: Avalara Void a Transaction
      description: Voids an existing transaction, removing it from tax reporting. Only uncommitted or committed transactions can be voided.
      tags:
      - Transactions
      parameters:
      - $ref: '#/components/parameters/companyCode'
      - name: transactionCode
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoidTransactionModel'
      responses:
        '200':
          description: Transaction voided successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionModel'
  /api/v2/transactions/{transactionCode}/refund:
    post:
      operationId: refundTransaction
      summary: Avalara Create a Refund for a Transaction
      description: Creates a refund transaction based on an existing committed transaction. Supports full, partial, percentage, and tax-only refund types.
      tags:
      - Transactions
      parameters:
      - name: transactionCode
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefundTransactionModel'
      responses:
        '200':
          description: Refund transaction created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionModel'
  /Transactions:
    get:
      operationId: listTransactions
      summary: Avalara List Excise Transactions
      description: Retrieves a list of excise tax transactions.
      tags:
      - Transactions
      parameters:
      - name: startDate
        in: query
        schema:
          type: string
          format: date
      - name: endDate
        in: query
        schema:
          type: string
          format: date
      - name: pageNumber
        in: query
        schema:
          type: integer
          default: 1
      - name: pageSize
        in: query
        schema:
          type: integer
          default: 50
      responses:
        '200':
          description: List of transactions
    post:
      operationId: createTransaction
      summary: Avalara Create an Excise Transaction
      tags:
      - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExciseTransaction'
      responses:
        '201':
          description: Transaction created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExciseTransaction'
  /Transactions/{transactionId}:
    get:
      operationId: getTransaction
      summary: Avalara Retrieve an Excise Transaction
      tags:
      - Transactions
      parameters:
      - name: transactionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Transaction details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExciseTransaction'
  /api/v2/companies/transactions/lines/add:
    post:
      tags:
      - Transactions
      summary: Avalara AddLines
      description: " Add lines to an existing unlocked transaction.\r\n            \r\n The `AddLines` API allows you to add additional transaction lines to existing transaction, so that customer will\r\n be able to append multiple calls together and form an extremely large transaction. If customer does not specify line number\r\n in the lines to be added, a new random Guid string will be generated for line number. If customer are not satisfied with\r\n the line number for the transaction lines, they can turn on the renumber switch to have REST v2 automatically renumber all\r\n transaction lines for them, in this case, the line number becomes: \"1\", \"2\", \"3\", ...\r\n            \r\n A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like\r\n sales, purchases, inventory transfer, and returns (also called refunds).\r\n You 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* AccountPayableSalesTaxDetails (implies lines - only for Account Payable transaction)\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\n If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`.\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, BasicReturns.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                companyCode: DEFAULT
                transactionCode: '1234'
                documentType: SalesInvoice
                lines:
                - number: '1'
                  quantity: 1
                  amount: 100
                  taxCode: PS081282
                  itemCode: Y0001
                  description: Yarn
                renumber: false
      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/companies/{companyCode}/transactions/{transactionCode}/audit:
    get:
      tags:
      - Transactions
      summary: Avalara AuditTransaction
      description: "Retrieve audit information about a transaction stored in AvaTax.\r\n            \r\nThe `AuditTransaction` API retrieves audit information related to a specific transaction.  This audit\r\ninformation includes the following:\r\n            \r\n* The `CompanyId` of the company that created the 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 CreateTransaction call looked like\r\n            \r\nThis API can be used to examine information about a previously created transaction.\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, BasicReturns.\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: companyCode
        in: path
        schema:
          type: string
        required: true
      - name: transactionCode
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/companies/{companyCode}/transactions/{transactionCode}/types/{documentType}/audit:
    get:
      tags:
      - Transactions
      summary: Avalara AuditTransactionWithType
      description: "Retrieve audit information about a transaction stored in AvaTax.\r\n            \r\nThe `AuditTransaction` API retrieves audit information related to a specific transaction.  This audit\r\ninformation includes the following:\r\n            \r\n* The `CompanyId` of the company that created the 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 CreateTransaction call looked like\r\n            \r\nThis API can be used to examine information about a previously created transaction.\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, BasicReturns.\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: companyCode
        in: path
        schema:
          type: string
        required: true
      - name: transactionCode
        in: path
        schema:
          type: string
        required: true
      - name: documentType
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/transactions/lock:
    post:
      tags:
      - Transactions
      summary: Avalara BulkLockTransaction
      description: "This API is available by invitation only.\r\n            \r\nLock a set of transactions uniquely identified by DocumentIds provided. This API allows locking multiple documents at once.\r\nAfter this API call succeeds, documents will be locked and can't be voided.\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).\n\n### Security Policies\n\n* This API requires the user role Compliance Root User.\n* This API depends on the following active services:*Returns* (at least one of):  Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm):  ARA, ARAManaged.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                documentIds:
                - 1
                - 2
                - 3
                - 4
                - 5
                isLocked: 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/companies/{companyCode}/transactions/{transactionCode}/changecode:
    post:
      tags:
      - Transactions
      summary: Avalara ChangeTransactionCode
      description: "Renames a transaction uniquely identified by this URL by changing its `code` value.\r\n            \r\nThis API is available as long as the transaction is in `saved` or `posted` status.  When a transaction\r\nis `committed`, it can be modified by using the [AdjustTransaction](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/AdjustTransaction/) method.\r\n            \r\nAfter this API call succeeds, the transaction will have a new URL matching its new `code`.\r\n            \r\nIf you have more than one document with the same `code`, specify the `documentType` parameter to choose between them.\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* AccountPayableSalesTaxDetails (implies lines - only for Account Payable transaction)\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* TaxDetailsByTaxType - Includes the aggregated tax, exempt tax, taxable and non-taxable for each tax type returned in the transaction summary.\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, BasicReturns.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                newCode: f0b2f99e-de1d-439f-9be0-960fc3c62c07
      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: companyCode
        in: path
        schema:
          type: string
        required: true
      - name: transactionCode
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/transactions/createoradjust:
    post:
      tags:
      - Transactions
      summary: Avalara CreateOrAdjustTransaction
      description: "Records a new transaction or adjust an existing transaction in AvaTax.\r\n            \r\nThe `CreateOrAdjustTransaction` endpoint is used to create a new transaction or update an existing one.  This API\r\ncan help you create an idempotent service that creates transactions\r\nIf there exists a transaction identified by code, the original transaction will be adjusted by using the meta data\r\nin the input transaction.\r\n            \r\nThe `CreateOrAdjustTransaction` API cannot modify any transaction that has been reported to a tax authority using\r\nthe Avalara Managed Returns Service or any other tax filing service.  If you call this API to attempt to modify\r\na transaction that has been reported on a tax filing, you will receive the error `CannotModifyLockedTransaction`.\r\n            \r\nTo generate a refund for a transaction, use the `RefundTransaction` API.\r\n            \r\nAn address is required for calculation. If no address is provided at the line level, the document level address will be used.\r\n\r\nIf you don't specify the field `type` in your request, you will get an estimate of type `SalesOrder`, which will not be recorded in the database.\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\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* AccountPayableSalesTaxDetails (implies lines - only for Account Payable transaction)\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: Avoid using the following strings in your transaction codes as they are encoding strings and will be interpreted differently:\r\n* \\_-ava2f-\\_\r\n* \\_-ava2b-\\_\r\n* \\_-ava3f-\\_\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, BasicReturns.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                adjustmentReason: Other
                adjustmentDescription: Test Description
                createTransactionModel:
                  lines:
                  - 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: {}
  /api/v2/companies/transactions/lines/delete:
    post:
      tags:
      - Transactions
      summary: Avalara DeleteLines
      description: " Remove lines to an existing unlocked transaction.\r\n            \r\n The `DeleteLines` API allows you to remove transaction lines from existing unlocked transaction, so that customer will\r\n be able to delete transaction lines and adjust original transaction the way they like\r\n            \r\n A transaction represents a unique potentially taxable action that your company has recorded, and transactions include actions like\r\n sales, purchases, inventory transfer, and returns (also called refunds).\r\n You 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* AccountPayableSalesTaxDetails (implies lines - only for Account Payable transaction)\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\n If you omit the `$include` parameter, the API will assume you want `Summary,Addresses`.\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, BasicReturns.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                companyCode: DEFAULT
                transactionCode: '1234'
                documentType: SalesInvoice
                lines:
                - '1'
                renumber: false
      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/companies/{companyCode}/AllVariance:
    get:
      tags:
      - Transactions
      summary: Avalara GetAllVarianceReportByCompanyCode
      description: '


        ### Security Policies


        * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.

        * This API depends on the following active services:*Required* (all):  AvaTaxPro, BasicReturns.

        '
      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: companyCode
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/companies/{companyCode}/transactions/{transactionCode}/types/{documentType}:
    get:
      tags:
      - Transactions
      summary: Avalara GetTransactionByCodeAndType
      description: "DEPRECATED: Please use the `GetTransactionByCode` API instead.\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 ' ' w

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