Avalara Tax Determination API

Calculate excise taxes on transactions

Documentation

Specifications

OpenAPI Specification

avalara-tax-determination-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Avalara 1099 & W-9 1099 Forms Tax Determination 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: Tax Determination
  description: Calculate excise taxes on transactions
paths:
  /TaxDetermination:
    post:
      operationId: calculateExciseTax
      summary: Avalara Calculate Excise Taxes
      description: Calculates excise taxes for a transaction containing one or more line items with product, origin, destination, and movement information.
      tags:
      - Tax Determination
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaxDeterminationRequest'
      responses:
        '200':
          description: Tax determination results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaxDeterminationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    TaxDeterminationRequest:
      type: object
      required:
      - effectiveDate
      - transactionLines
      properties:
        effectiveDate:
          type: string
          format: date
          description: Date for tax determination
        invoiceNumber:
          type: string
        invoiceDate:
          type: string
          format: date
        titleTransferCode:
          type: string
          enum:
          - Origin
          - Destination
          description: Title transfer point
        transactionType:
          type: string
          description: Type of excise transaction
        seller:
          $ref: '#/components/schemas/TransactionParty'
        buyer:
          $ref: '#/components/schemas/TransactionParty'
        transactionLines:
          type: array
          items:
            $ref: '#/components/schemas/TransactionLine'
    ExciseAddress:
      type: object
      properties:
        line1:
          type: string
        line2:
          type: string
        city:
          type: string
        region:
          type: string
          description: State or province code
        postalCode:
          type: string
        country:
          type: string
          description: ISO 3166 country code
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
    ExciseTaxDetail:
      type: object
      properties:
        taxType:
          type: string
          description: Type of excise tax
        jurisdiction:
          type: string
          description: Taxing jurisdiction
        taxRate:
          type: number
          format: double
        taxAmount:
          type: number
          format: double
        taxableAmount:
          type: number
          format: double
        exemptAmount:
          type: number
          format: double
        rateType:
          type: string
          enum:
          - PerUnit
          - Percentage
    TransactionLine:
      type: object
      properties:
        lineNumber:
          type: string
        productCode:
          type: string
          description: Excise product code
        unitOfMeasure:
          type: string
          enum:
          - GAL
          - LTR
          - BBL
          - TON
          - EA
          description: Unit of measure
        quantity:
          type: number
          format: double
          description: Quantity of product
        amount:
          type: number
          format: double
          description: Line amount
        origin:
          $ref: '#/components/schemas/ExciseAddress'
        destination:
          $ref: '#/components/schemas/ExciseAddress'
        billOfLadingNumber:
          type: string
        carrierName:
          type: string
        modeOfTransport:
          type: string
          enum:
          - Truck
          - Pipeline
          - Rail
          - Vessel
    TaxDeterminationLine:
      type: object
      properties:
        lineNumber:
          type: string
        productCode:
          type: string
        taxes:
          type: array
          items:
            $ref: '#/components/schemas/ExciseTaxDetail'
        totalTax:
          type: number
          format: double
    TaxDeterminationResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - Success
          - Error
          - Partial
        transactionLines:
          type: array
          items:
            $ref: '#/components/schemas/TaxDeterminationLine'
        totalTaxAmount:
          type: number
          format: double
    TransactionParty:
      type: object
      properties:
        companyId:
          type: string
        locationId:
          type: string
        name:
          type: string
        address:
          $ref: '#/components/schemas/ExciseAddress'
        licenseNumber:
          type: string
  responses:
    Unauthorized:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 bearer token
externalDocs:
  description: 1099 & W-9 API Documentation
  url: https://developer.avalara.com/api-reference/avalara1099/avalara1099/