Skip to content

Releases: avadev/Avalara-SDK-Python

25.9.0

19 Sep 18:03
45af0ac
Compare
Choose a tag to compare

A1099

Changed

  • PUT /avalara1099/w9/forms/{id}:
    • Handles TIN match for W9s as POST /avalara1099/w9/forms do.
    • Re-sends form request e-mail when e-mail address is updated (only for forms in 'requested/bounced' status).
  • BREAKING CHANGE:
    • PUT /avalara1099/w9/forms/{id}: request and response models changed to match same models used on POST endpoint.

Fixed

  • Fix invalid updates on PUT /avalara1099/w9/forms/{id}:
    • It was allowed sending "id" parameter and "type" body attribute related to different form types.
    • New behaviour: returns 400 Bad Request if both information are not related to the same form type (e.g., "W9").
  • Fix missing "type" attribute for W9s response bodies (POST /w9/forms, GET /w9/forms/{id}).

25.8.3

29 Aug 16:05
594dc3c
Compare
Choose a tag to compare

Added

  • Endpoint: POST /w9/forms/$create-and-send-email
    • A new endpoint that creates a minimal W9/W4/W8 form and automatically sends an email request to the vendor/payee.
    • Use Case: Streamlined workflow for creating and immediately requesting form completion from vendors/payees without requiring all form details upfront.

Changed

  • BREAKING CHANGE:
    • Consolidated request and response models for POST, PUT, and GET on /avalara1099/1099/forms (single model per form type).

      • New request/response models: Form1099Nec,Form1099Misc,Form1099R,Form1099K,Form1099Int,Form1099Div,Form1095C,Form1095B, Form1042S
    • Consolidated request models for POST /avalara1099/1099/bulk-upsert (single model per form type).

      • New request/response model: Form1099ListRequest
    • POST /avalara1099/1099/bulk-upsert

      • new response model: JobResponse
      • Response Structure: Simplified bulk upsert job response structure by flattening nested jobData object
        • Moved all job attributes from jobData.attributes to root level
        • Replaced jobData.links.self with link field
        • Updated jobData.type to type
        • Maintained backward compatibility for processedForms array
    • Field name changes for API consistency:

      • recipientTin to tin (affects all form types).
      • fedIncomeTaxWithheld to federalIncomeTaxWithheld (affects 1099-MISC and 1099-R forms).
      • nameDba to dbaName (affects Issuers)
      • primaryWithholdingAgentName to Name (affects 1042-S form)
      • primaryWithholdingAgentEin to Ein (affects 1042-S form)
      • formType to type (affects POST /avalara1099/1099/bulk-upsert)
    • GET /avalara1099/1099/jobs changed to GET /avalara1099/jobs

    • BREAKING CHANGE: PUT /avalara1099/w9/forms/{id} returns error responses following the current format of the other endpoints, as defined by the ErrorResponse model.
      Example:

      {
          "title": "One or more validation errors occurred.",
          "errors": [
              {
                  "type": "ReferenceId",
                  "detail": "'Reference Id' must not be empty."
              }
          ]
      }
      
    • BREAKING CHANGE: W9 form response structure change for API consistency:

      • entryStatus and entryStatusDate properties are now nested within an entryStatus object:
          "entryStatus": {
              "status": "manual",
              "time": "2025-06-30T09:47:22.094921"
          }
        
      • This affects all W9 form responses (W9, W4, W8-BEN, W8-BEN-E, W8-IMY forms)
    • BREAKING CHANGE: Field name change for API consistency:

    • FedIncomeTaxWithheld to FederalIncomeTaxWithheld (affects 1099-MISC and 1099-R forms).

    • BREAKING CHANGE: POST /w9forms/{id}/$send-email

      • Response Type Change:
        • Previous: Returned IW9FormDataModelsOneOf (union of W4FormDataModel, W8BeneFormDataModel, W8BenFormDataModel, W8ImyFormDataModel, W9FormDataModel)
        • New: Returns W9FormBaseResponse (same as POST create endpoint)
      • Status Code Changes:
        • 200 OK: Email sent using existing form (form was already in 'Requested' or 'Bounced' status, or an existing reminder form was found)
        • 201 Created: Email sent using newly created minimal form (original form was in 'Signed', 'Manual', or 'Uploaded' status)
        • Previous Behavior: Always returned 200 OK with form-specific data model and sent email regardless of current form status.
        • New Behavior:
          • Returns 201 Created when a new minimal form is automatically created from an existing completed form
          • Returns 200 OK when sending a reminder email for an existing requested form
          • Now uses consistent response format with other form creation endpoints
      • Impact: This is a breaking change. API consumers must update their code to:
        1. Handle both 200 and 201 status codes as successful responses
        2. Process the new W9FormBaseResponse format instead of the previous form-specific data models
    • BREAKING CHANGE: Federal and State E-file now supports custom date scheduling:

    • federalEFile boolean field replaced with federalEfileDate DateOnly field (supported for all form types).

    • stateEFile boolean field replaced with stateEfileDate DateOnly field (supported for subset of form types and jurisdictions).

    • recipientEdeliveryDate DateOnly field added for scheduling recipient e-delivery (supported for all form types).

Fixed

  • Fix error (500 HTTP Status Code) on GET /w9/forms and GET /w9/forms/{id} when trying to retrieve W9s with pending TIN match verification.

25.8.2

15 Aug 15:59
b0de571
Compare
Choose a tag to compare

A1099

  • BREAKING CHANGE: FatcaFilingRequirement type changed from string to boolean.
    • BREAKING CHANGE: Field name changes for API consistency:
      • recipientEmail to email;
      • recipientNonUsProvince to nonUsProvince;
      • foreignProvince to nonUsProvince;
      • totalCapitalGainDistr to totalCapitalGainDistributions;
      • unrecapSec1250Gain to unrecapturedSection1250Gain.
    • BREAKING CHANGE: Several 1099-DIV fields changed from string to decimal:
      • totalOrdinaryDividends
      • qualifiedDividends
      • totalCapitalGainDistributions
      • unrecapturedSection1250Gain
      • section1202Gain
      • collectiblesGain
      • section897OrdinaryDividends
      • section897CapitalGain
      • nondividendDistributions
      • federalIncomeTaxWithheld
      • section199ADividends
      • investmentExpenses
      • foreignTaxPaid
      • cashLiquidationDistributions
      • noncashLiquidationDistributions
      • exemptInterestDividends
      • specifiedPrivateActivityBondInterestDividends
    • BREAKING CHANGE: GET /w9/forms now returns a paginated list response, and each item in the list follows the same response schema as GET /w9/forms/{id}.
    • Enhanced bulk upsert
      • Endpoint POST /avalara1099/1099/forms/$bulk-upsert now returns processed forms for improved user experience:
      • Small batches (<1000 forms): Returns processedForms array immediately in response, eliminating need for polling jobs endpoint.
      • Large batches (≥1000 forms): Continues to use asynchronous job processing with job ID for status polling
      • Processed forms result set follows the same schema as GET /avalara1099/1099/forms endpoint for consistency

25.8.1

31 Jul 02:29
2b1993d
Compare
Choose a tag to compare

A1099 SDK

Added

  • tinMatchStatus object added to response (POST w9/forms and GET /w9/forms/{id}).
  • secondTinNotice property was added to the responses.
  • noTin property was added to the responses.
  • Support for new form type 1095-C in the bulk upsert endpoint.

Changed

  • BREAKING CHANGE: 1099-MISC property name changes:
  • Added fishPurchasedForResale property to both request and response;
  • Added fatcaFilingRequirement property to request and response ;
  • Renamed medicalHealthCarePayments to medicalAndHealthCarePayments
  • Renamed excessGoldenParachute to excessGoldenParachutePayments
  • Renamed grossAmountPaidAttorney to grossProceedsPaidToAttorney
  • Renamed section409AIncome to nonqualifiedDeferredCompensation

Customer Impact: Existing 1099-MISC integrations will need to update their property names to match the new naming convention.

25.8.0

29 Jul 15:56
c6c0b37
Compare
Choose a tag to compare

What's Changed

  • ELR v1.4 APIs are now released!

25.7.2

17 Jul 17:08
7f9bc41
Compare
Choose a tag to compare

A1099 SDK

BREAKING CHANGE: Object name changes for SDK:FormRequestCsvBase to FormRequestListItemBase
BREAKING CHANGE: Field name changes for API consistency:PayerMadeDirectSales to DirectSalesIndicator

Customer Impact: Existing SDK integrations will need to update their SDK version to the latest.

In the context of a form list object from GET /1099/forms, name: List1099Forms

  • ValidationErrorApp to ValidationErrorResponse

  • CoveredIndividualReference to CoveredIndividualReferenceResponse

  • Form1095B to Form1095BListItemResponse

  • Form1099Base to Form1099BaseResponse

  • Form1099K to Form1099KListItemResponse

  • Form1099List to Form1099ListResponse

  • Form1099Misc to Form1099MiscListItemResponse

  • Form1099Nec to Form1099NecListItemResponse

  • Form1099R to Form1099RListItemResponse

  • Form1099StatusDetail to Form1099StatusDetailResponse

  • StateEfileStatusDetailApp to StateEfileStatusDetailResponse

25.7.0

03 Jul 22:54
Compare
Choose a tag to compare

A1099 Changes

Fixed

  • Update GET /1099/forms to support return types of 1099-NEC and 1099-MISC.

BREAKING CHANGE: Field name changes for API consistency:

  • RecipientFederalId renamed to Tin
  • FederalIdType renamed to tinType
  • streetAddress renamed to address
  • streetAddressLine2 renamed to address2
  • addressRecipientSecond renamed to address2

25.6.0

19 Jun 21:53
a28d253
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 24.12.1...25.6.0

24.12.1

16 Jan 21:01
Compare
Choose a tag to compare

Update module pattern for namespaces in SDK

24.12.0

14 Jan 16:32
Compare
Choose a tag to compare

Avalara Unified SDK - ELR V1.2 Initial release of SDK