The question most freelancers cannot answer on the spot is “has this client actually paid in full?” Not out of laziness — but because the lines in your banking app never match the invoices you issued. Transfers arrive short because tax was withheld, and clients regularly lump two projects into one payment.
Here is a monthly routine that closes the loop in about 15 minutes.
Export the file from your bank
Open the app or internet banking for the account clients pay into, select the month, and download the transaction list as CSV. If your bank offers several formats, always take CSV — a PDF statement looks nice and imports into nothing.
Glance at the file to confirm it has the three columns that matter: date, description, amount. If there are summary rows or decorative headers above the data, delete them first.
One habit makes this far easier: receive all client payments into a single account. If money lands in three accounts, you will run this process three times every month.
Import into MANA
Go to the finance section and choose to import transactions. Upload the CSV, map the file's columns to the fields MANA expects (date, description, amount), and confirm.
Already-imported rows are skipped, so overlapping date ranges will not create duplicates.
Let the first matching pass run
After import, MANA proposes matches between incoming payments and your outstanding invoices, based on amount, date proximity, and the name in the transfer description.
Your job is to approve correct matches, not to hunt for them. Payments made in full without withholding usually match on their own.
Handle what didn't match
This is where the real time goes, and there are five recurring causes.
1. Short by exactly 3%
The most common one. A corporate client withheld tax before transferring, so a 30,000 THB invoice arrives as 29,100 THB.
What to do: match the payment to the invoice as normal, then record the 900 THB difference as withholding tax. The invoice is settled in full rather than lingering with a strange residual balance, and your running total of tax withheld increases automatically. Then request the 50 ทวิ certificate from the client the same day. Do not wait for March.
2. Short by an odd small amount
Usually an interbank or inbound international transfer fee. Record the difference as a bank fee — a legitimate business cost if you deduct actual expenses.
3. One transfer covering several invoices
85,000 THB arrives as a single line but covers three invoices. Split the payment across them by their real amounts. Do not write off one invoice with a note saying “included in the other payment” — next year you will not remember.
4. Partial payment
For a 50% deposit, record it as a partial payment. The invoice keeps showing a remaining balance and stays in your follow-up list, which is exactly what you want.
5. Not income at all
Transfers from your own account, refunds from a shop, money a friend paid back. Mark these as unrelated to any invoice so your year-to-date revenue does not inflate — that figure matters, because it is the same one you measure against the 1.8 million baht VAT threshold.
Three checks before you close the month
- No transaction left in limbo. Every line is either matched or explicitly marked.
- The unpaid list is honest. Open outstanding invoices and look at days overdue. Anything past seven days gets a follow-up email that same day.
- Withheld tax total equals the number of certificates you hold. If they disagree, a 50 ทวิ is missing — and right now is the easiest moment you will ever have to ask for it.
Why 15 minutes is worth it
Three things follow. You know what will actually land next month instead of guessing. No invoice quietly disappears for six months. And at filing time your revenue total and your withheld tax total are already sitting there, instead of you reconstructing a year of transfer slips in the last week of March.
