← All insights

Batch-Generate PND.1, PND.3 & PND.53 Filings: A Checklist

· Panda AI
Batch-Generate PND.1, PND.3 & PND.53 Filings: A Checklist

Filing withholding tax forms in Thailand is one of those tasks that looks straightforward until you are managing payroll and vendor payments for dozens of clients at once. PND.1 covers employee income tax withheld monthly, PND.3 handles tax withheld from individual vendors and contractors, and PND.53 covers withholding on payments to juristic persons. When you are preparing all three across a full client portfolio, doing it one form at a time is not viable. Batch generation is the answer, but only when your data is clean, your workflow is structured, and your team knows exactly what to check before hitting submit.

Understand What Each Form Requires Before You Touch Any Software

Before any batch process can work reliably, every team member involved needs a clear picture of what distinguishes these three forms. PND.1 is due by the seventh of the following month and covers salary, wages, bonuses, and other employment income. PND.3 and PND.53 share the same seventh-of-the-month deadline for most payment types, but PND.3 applies when the payee is a natural person and PND.53 applies when the payee is a company, partnership, or other juristic entity. Misclassifying a payee between PND.3 and PND.53 is one of the most common errors Thai accounting teams make during batch runs, and it creates correction filings that eat into any time savings you achieved.

The withholding rate also depends on payment type, not just payee type. Service fees, rent, professional fees, advertising payments, and transport all carry different rates. Make sure your chart of accounts and payment categorisation are consistent across all clients before you attempt any batch generation. If the underlying data is inconsistent, the batch output will be wrong at scale.

Build a Clean Master Data Template First

The foundation of efficient batch generation is a standardised input template that every client feeds into. This template should capture the payee's full legal name exactly as it appears on their tax registration documents, their thirteen-digit tax ID or national ID number, the payment type code that maps to the correct withholding rate, the gross payment amount, the amount withheld, and the payment date. Missing or malformed data in any of these fields will cause the Revenue Department's e-Filing system or your accounting software to reject individual records during the upload.

Assign one person per client to validate the source data before it enters the template. This is not a task to batch itself. Validation has to happen at the individual client level because errors in source data compound when you push everything into a single generation run. Once validated, the template entries can be aggregated and processed together.

Set Up Your Software Environment for Batch Output

Most mid-sized Thai accounting firms use either the Revenue Department's own e-Filing portal, dedicated Thai accounting software such as Express, Peak, or FlowAccount, or a combination of both. Each has different batch capabilities. The Revenue Department portal allows XML file uploads for PND.1 and supports batch entry for PND.3 and PND.53, but formatting requirements are strict. Your software needs to export in the exact schema the portal expects, including the correct form version number, which the Revenue Department updates periodically.

If you are using accounting software that generates the XML or text files for you, check that the software version is current and that the form templates inside it match the latest Revenue Department specifications. An outdated template that outputs a deprecated field structure will fail on upload even if your underlying data is perfect. Build a quarterly check into your workflow to verify that your software provider has updated their filing templates after any Revenue Department announcement.

The Pre-Batch Checklist Your Team Should Run Every Month

This is the practical core of making batch generation reliable. Run through each of these points before you start any generation run for the month.

Confirm the filing period is correctly set in your software and that it matches the actual payment dates in your source data. A payment made on the last day of the month cannot appear in the prior month's filing.

Verify that every payee record has a valid tax ID. Strings of zeros, placeholder numbers, or IDs with the wrong digit count will cause individual record rejections that you may not notice until the Revenue Department sends a penalty notice.

Cross-check that PND.3 payees are classified as natural persons and PND.53 payees are juristic entities. Pull a simple pivot from your template that counts each type and compare it against your client's known vendor list.

Confirm that the withholding rates applied to each payment type code are current. The Revenue Department has issued temporary rate reductions in the past, and if your software or template has not been updated to reflect a reduction or its expiry, your filings will be wrong.

Check that the total withheld amounts in your batch template reconcile against the amounts actually sitting in each client's withholding tax liability account in their books. If these figures do not match before you file, they will not match after, and you will have a reconciliation problem at year-end.

Run a duplicate check on payment records. If a vendor invoice was entered twice in a client's system, it may appear twice in your source data, and the batch process will file both without flagging the duplication.

Upload, Verify, and Archive in One Sequence

Once your batch files are generated, upload them to the Revenue Department portal or submit through your integrated software and immediately download the acknowledgement receipt for each form and each client. Do not wait until the deadline date to batch-upload everything. Processing times on the portal can slow when many firms file simultaneously in the days before the seventh.

After each successful submission, archive the generated file, the acknowledgement receipt, and a copy of the source data that produced it. Store these together by client and by period. When a client's auditor or the Revenue Department requests supporting documentation for a specific filing, you need to be able to produce all three elements quickly without reconstructing what was submitted.

Build the Correction Process Into Your Standard Workflow

Even with a solid checklist, corrections happen. A client discovers a vendor payment was miscategorised, or a payee's tax ID was recorded incorrectly. Thai tax law allows additional filings to correct submitted returns, but the process requires filing a revised form with the correct data and paying any additional tax or penalty due. Build a simple log where team members can record correction requests, including the original filing period, the specific record affected, the nature of the error, and the date the correction was submitted. Tracking corrections across clients in one place also helps you identify whether the same type of error is recurring across your portfolio, which usually points to a gap in your master data template or a step being skipped in the pre-batch checklist.

One platform runs an accounting practice

From invoice OCR to filed Thai tax returns — the platform behind these articles runs real operations in Thailand every day.

Explore the platform →