DOCS/FLUX/Vat Filing
Single Filing
Submit a single VAT transaction for processing and filing via the FLUX API. This endpoint is designed for real-time or low-volume VAT submissions where each transaction is filed individually.
Use this when:
- You want to file VAT for a single schedule
- You do not require batch processing
HTTP Request
POSThttps://api.taxstreem.com/v1/flux/vat-filing/single
Request Body
The following parameters are required for this action.
| Parameter | Type | Description |
|---|---|---|
| encryptedPayload | string | The encrypted payload of the TaxPromax credentials of the filing user. |
| filingId | string | Your unique ID for the filing. |
| month | number | The month you are filing for. |
| year | number | The year you are filing for. |
| vatStatus | number | The status of the transaction (e.g., 0-VATABLE, 1-ZERO RATED, 2-VAT EXEMPT). |
| amount | number | The amount for the item exclusive of VAT. |
| item | string | The item name e.g. Baby diapers. |
| narration | string | A description or narration for the item. |
| taxId | string | The unique Tax Identification Number of the customer, if not provided, just use 0. |
| beneficiary | string | The name of the customer, if not provided, just use 'retail customer'. |
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
| Property | Value |
|---|---|
| Algorithm | AES-256-GCM |
| Key Derivation | SHA-256(sharedSecret) |
| IV (Nonce) | 12 bytes (96-bit) random |
| Auth Tag | 16 bytes (128-bit) |
| Encoding | Base64 |
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/vat-filing/single \
-H "x-api-key: txsm_test_SK489c..." \
-H "Content-Type: application/json" \
-d {
"encryptedPayload": 'encrypted_string_...',
"filingId": '123-abuiod-90',
"month": 1,
"year": 2024,
"data": [
{"vatStatus": 1,"amount": 5000,"item": "Baby diapers","narration": "Bought kisskid diaper","taxId": "2345544-0001","beneficiary": "Retail Customer"}
]
}
Example Response
202 Accepted
{
"status": "accepted",
"message": "schedule accepted successfully",
"data": {
"id": "xaee2ddf-effvkfes",
"created_at": "2026-02-20T10:00:00Z"
}
}