Skip to content

25.8.3

Compare
Choose a tag to compare
@svc-developer svc-developer released this 29 Aug 16:05
· 2 commits to main since this release
594dc3c

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.