TaxStreem Logo
DOCS/flux/wht-filing

Batch WHT Filing

Submit multiple WHT filing returns in a single bulk request.

POSThttps://api.taxstreem.com/v1/wht/filing/batch

Request Body

Top-level parameters for the batch request.

ParameterTypeRequiredDescription
batchIdstringRequiredUnique identifier for this batch request.
payloadarrayRequiredArray of WHT filing items. Each item follows the WHT filing item schema.

payload[ ] — WHT Item Schema

FieldTypeRequiredDescription
encryptedPayloadstringRequiredAES-256-GCM encrypted TaxPromax credentials.
filingIdstringRequiredUnique idempotency key for this filing.
monthnumberRequiredNumeric month (1-12).
yearnumberRequired4-digit filing year.
whtAmountnumberRequiredTotal WHT amount to file.
taxIdstringRequiredBusiness Tax Identification Number.
interestAmountnumberRequiredAccrued interest amount if filing late.
penaltyAmountnumberRequiredPenalty amount if filing late.
scheduleUrlstringRequiredURL to the uploaded WHT schedule file.

Encrypted Payload

The encryptedPayload field in each item is required and carries the encrypted credentials.

Response

Returns 202 Accepted on success. Listen for the wht.filing.success webhook for final confirmation.

Example Request
curl -X POST https://api.taxstreem.com/v1/wht/filing/batch \
  -H "x-api-key: txsm_test_SK489c..." \
  -H "Content-Type: application/json" \
  -d '{
   "batchId": "batch_wht_98234",
   "payload": [
      {
         "encryptedPayload": "aXZJVkpTT05...YWx1ZQ==",
         "filingId": "filing_wht_2343dfw_1",
         "month": 1,
         "year": 2026,
         "whtAmount": 15000,
         "taxId": "12345678-0001",
         "interestAmount": 0,
         "penaltyAmount": 0,
         "scheduleUrl": "https://storage.taxstreem.com/schedules/jan_wht_schedule_vendor1.csv"
      },
      {
         "encryptedPayload": "aXZJVkpTT05...YWx1ZQ==",
         "filingId": "filing_wht_2343dfw_2",
         "month": 1,
         "year": 2026,
         "whtAmount": 25000,
         "taxId": "87654321-0002",
         "interestAmount": 0,
         "penaltyAmount": 0,
         "scheduleUrl": "https://storage.taxstreem.com/schedules/jan_wht_schedule_vendor2.csv"
      }
   ]
}'
Example Response
202 Accepted
{
  "status": "accepted",
  "message": "batch WHT filing accepted successfully",
  "data": {
    "batchId": "batch_wht_98234",
    "recordCount": 2,
    "creditsUsed": 4,
    "creditsRemaining": 496,
    "created_at": "2026-02-20T10:00:00Z"
  }
}