Releases: avadev/Avalara-SDK-Python
25.9.0
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).
- Handles TIN match for W9s as
- 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
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
, andGET
on/avalara1099/1099/forms
(single model per form type).- New request/response models:
Form1099Nec
,Form1099Misc
,Form1099R
,Form1099K
,Form1099Int
,Form1099Div
,Form1095C
,Form1095B
,Form1042S
- New request/response models:
-
Consolidated request models for
POST /avalara1099/1099/bulk-upsert
(single model per form type).- New request/response model:
Form1099ListRequest
- New request/response model:
-
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
withlink
field - Updated
jobData.type
totype
- Maintained backward compatibility for
processedForms
array
- Moved all job attributes from
- new response model:
-
Field name changes for API consistency:
recipientTin
totin
(affects all form types).fedIncomeTaxWithheld
tofederalIncomeTaxWithheld
(affects 1099-MISC and 1099-R forms).nameDba
todbaName
(affects Issuers)primaryWithholdingAgentName
toName
(affects 1042-S form)primaryWithholdingAgentEin
toEin
(affects 1042-S form)formType
totype
(affectsPOST /avalara1099/1099/bulk-upsert
)
-
GET /avalara1099/1099/jobs
changed toGET /avalara1099/jobs
-
BREAKING CHANGE:
PUT /avalara1099/w9/forms/{id}
returns error responses following the current format of the other endpoints, as defined by theErrorResponse
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
andentryStatusDate
properties are now nested within anentryStatus
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
toFederalIncomeTaxWithheld
(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)
- Previous: Returned
- 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:
- Handle both 200 and 201 status codes as successful responses
- Process the new
W9FormBaseResponse
format instead of the previous form-specific data models
- Response Type Change:
-
BREAKING CHANGE: Federal and State E-file now supports custom date scheduling:
-
federalEFile
boolean field replaced withfederalEfileDate
DateOnly field (supported for all form types). -
stateEFile
boolean field replaced withstateEfileDate
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
andGET /w9/forms/{id}
when trying to retrieve W9s with pending TIN match verification.
25.8.2
A1099
- BREAKING CHANGE: FatcaFilingRequirement type changed from string to boolean.
- BREAKING CHANGE: Field name changes for API consistency:
recipientEmail
toemail
;recipientNonUsProvince
tononUsProvince
;foreignProvince
tononUsProvince
;totalCapitalGainDistr
tototalCapitalGainDistributions
;unrecapSec1250Gain
tounrecapturedSection1250Gain
.
- 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
- Endpoint
- BREAKING CHANGE: Field name changes for API consistency:
25.8.1
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
tomedicalAndHealthCarePayments
- Renamed
excessGoldenParachute
toexcessGoldenParachutePayments
- Renamed
grossAmountPaidAttorney
togrossProceedsPaidToAttorney
- Renamed
section409AIncome
tononqualifiedDeferredCompensation
Customer Impact: Existing 1099-MISC integrations will need to update their property names to match the new naming convention.
25.8.0
What's Changed
- ELR v1.4 APIs are now released!
25.7.2
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
toValidationErrorResponse
-
CoveredIndividualReference
toCoveredIndividualReferenceResponse
-
Form1095B
toForm1095BListItemResponse
-
Form1099Base
toForm1099BaseResponse
-
Form1099K
toForm1099KListItemResponse
-
Form1099List
toForm1099ListResponse
-
Form1099Misc
toForm1099MiscListItemResponse
-
Form1099Nec
toForm1099NecListItemResponse
-
Form1099R
toForm1099RListItemResponse
-
Form1099StatusDetail
toForm1099StatusDetailResponse
-
StateEfileStatusDetailApp
toStateEfileStatusDetailResponse
25.7.0
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
What's Changed
- 25.6.0 by @svc-developer in #1
New Contributors
- @svc-developer made their first contribution in #1
Full Changelog: 24.12.1...25.6.0
24.12.1
Update module pattern for namespaces in SDK
24.12.0
Avalara Unified SDK - ELR V1.2 Initial release of SDK