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/