TaxStreem Logo
DOCS/FLUX/Wht Filing

Batch Filing

Submit multiple Withholding Tax (WHT) transactions in one request for processing and filing via the FLUX API. This endpoint is ideal for bulk vendor payments or periodic WHT remittance.

Use this when:

  • You are filing WHT for multiple vendors or payments
  • You are processing payroll, contracts, or bulk disbursements
  • You want efficient, consolidated tax filing

HTTP Request

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

Request Body

The following parameters are required for this action.

ParameterTypeDescription
batchIdstringUnique identifier for the batch.
payloadarrayList of single filing objects (encryptedPayload,month,year, beneficiaryName, beneficiaryTin, transactionDate, transactionDesc, transactionAmount, rate, taxAmount, scheduleReference).

Encrypted Payload (In-Flight Encryption)

FLUX requires sensitive credentials to be encrypted at the application layer before transmission. This provides defense-in-depth on top of HTTPS.

The encryptedPayload field must contain a Base64-encoded AES-256-GCM encrypted JSON object.

Encryption Specification

PropertyValue
AlgorithmAES-256-GCM
Key DerivationSHA-256(sharedSecret)
IV (Nonce)12 bytes (96-bit) random
Auth Tag16 bytes (128-bit)
EncodingBase64

Payload Format

The final transmitted value must be:

Base64( IV[12] || Ciphertext || AuthTag[16] )
  • IV is randomly generated per request
  • Ciphertext is encrypted JSON
  • AuthTag is automatically appended by GCM
Example Request
curl -X POST https://api.taxstreem.com/v1/flux/wht-filing/batch \
  -H "x-api-key: txsm_test_SK489c..." \
  -H "Content-Type: application/json" \
  -d {
    "batchId": "batch_123",
    "payload": [
      {
        "encryptedPayload": 'encrypted_string_...',
        "filingId": '123-abuiod-90',
        "month": 1,
        "year": 2024,
        "data": [
           {
               "beneficiaryName": "John Doe",
               "beneficiaryTin": "2345544-0001",
               "transactionDate": "2024-03-20",
               "transactionDesc": "Consultancy Services",
               "transactionAmount": 50000,
               "rate": 5,
               "taxAmount": 2500,
               "scheduleReference": "REF-123456"
           }
        ]
      }
          ]
     }
Example Response
202 Accepted
{
  "status": "accepted",
  "message": "schedule accepted successfully",
  "data": {
    "id": "xaee2ddf-effvkfes",
    "created_at": "2026-02-20T10:00:00Z"
  }
}