Releases: avadev/Avalara-SDK-Java
25.10.1
A1099
Added
- Endpoint: GET /w9/forms/{id}/pdf– Generate and download PDF files for W9 forms.- Note: Currently supports W9 forms only.
 
Changed
Fixed
- Fixed bulk upsert job status counts not updating for batches >1000 forms. Job status now correctly reports totalRows,totalProcessed,createdValid, etc. after asynchronous processing completes.
25.10.0
Changed
- BREAKING CHANGE:
- Consolidated error response models - ErrorResponseandErrorResponseItem- for all API endpoints and all types of errors.
 Example:{ "title": "One or more validation errors occurred.", "errors": [ { "type": "referenceId", "detail": "'Reference Id' must not be empty." } ] }
 
- Consolidated error response models - 
Fixed
- POST/PUT /avalara1099/w9/forms: fix 500 (Internal Server Error) for W9 form type when trying to check if TIN match is allowed with user account on trial period.
25.9.0
A1099
Changed
- PUT /avalara1099/w9/forms/{id}:- Handles TIN match for W9s as POST /avalara1099/w9/formsdo.
- 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.4
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, andGETon/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 jobDataobject- Moved all job attributes from jobData.attributesto root level
- Replaced jobData.links.selfwithlinkfield
- Updated jobData.typetotype
- Maintained backward compatibility for processedFormsarray
 
- Moved all job attributes from 
 
- new response model: 
- 
Field name changes for API consistency: - recipientTinto- tin(affects all form types).
- fedIncomeTaxWithheldto- federalIncomeTaxWithheld(affects 1099-MISC and 1099-R forms).
- nameDbato- dbaName(affects Issuers)
- primaryWithholdingAgentNameto- Name(affects 1042-S form)
- primaryWithholdingAgentEinto- Ein(affects 1042-S form)
- formTypeto- type(affects- POST /avalara1099/1099/bulk-upsert)
 
- 
GET /avalara1099/1099/jobschanged toGET /avalara1099/jobs
- 
BREAKING CHANGE: PUT /avalara1099/w9/forms/{id}returns error responses following the current format of the other endpoints, as defined by theErrorResponsemodel.
 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: - entryStatusand- entryStatusDateproperties are now nested within an- entryStatusobject:- "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: 
- 
FedIncomeTaxWithheldtoFederalIncomeTaxWithheld(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 W9FormBaseResponseformat instead of the previous form-specific data models
 
 
- Response Type Change:
- 
BREAKING CHANGE: Federal and State E-file now supports custom date scheduling: 
- 
federalEFileboolean field replaced withfederalEfileDateDateOnly field (supported for all form types).
- 
stateEFileboolean field replaced withstateEfileDateDateOnly field (supported for subset of form types and jurisdictions).
- 
recipientEdeliveryDateDateOnly field added for scheduling recipient e-delivery (supported for all form types).
 
- 
Fixed
- Fix error (500 HTTP Status Code) on GET /w9/formsandGET /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:
- recipientEmailto- email;
- recipientNonUsProvinceto- nonUsProvince;
- foreignProvinceto- nonUsProvince;
- totalCapitalGainDistrto- totalCapitalGainDistributions;
- unrecapSec1250Gainto- 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/formsnow 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-upsertnow returns processed forms for improved user experience:
- Small batches (<1000 forms): Returns processedFormsarray 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/formsendpoint for consistency
 
- Endpoint 
 
- BREAKING CHANGE: Field name changes for API consistency:
25.8.1
A1099 SDK
Added
- tinMatchStatusobject added to response (POST w9/forms and GET /w9/forms/{id}).
- secondTinNoticeproperty was added to the responses.
- noTinproperty was added to the responses.
- Support for new form type 1095-Cin the bulk upsert endpoint.
Changed
- BREAKING CHANGE: 1099-MISC property name changes:
- Added fishPurchasedForResaleproperty to both request and response;
- Added fatcaFilingRequirementproperty to request and response ;
- Renamed medicalHealthCarePaymentstomedicalAndHealthCarePayments
- Renamed excessGoldenParachutetoexcessGoldenParachutePayments
- Renamed grossAmountPaidAttorneytogrossProceedsPaidToAttorney
- Renamed section409AIncometononqualifiedDeferredCompensation
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
- 
ValidationErrorApptoValidationErrorResponse
- 
CoveredIndividualReferencetoCoveredIndividualReferenceResponse
- 
Form1095BtoForm1095BListItemResponse
- 
Form1099BasetoForm1099BaseResponse
- 
Form1099KtoForm1099KListItemResponse
- 
Form1099ListtoForm1099ListResponse
- 
Form1099MisctoForm1099MiscListItemResponse
- 
Form1099NectoForm1099NecListItemResponse
- 
Form1099RtoForm1099RListItemResponse
- 
Form1099StatusDetailtoForm1099StatusDetailResponse
- 
StateEfileStatusDetailApptoStateEfileStatusDetailResponse
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