AI Accounting in Singapore: GST, ACRA Filings and Software Choices

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Accounting in Singapore: GST, ACRA Filings and Software Choices.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Accounting in Singapore: GST, ACRA Filings and Software Choices.

Use AI as a checker, never as the filer. Export the quarter's transactions, ask an assistant to flag GST coding that breaks IRAS's F5 rules, and let it draft a calendar of GST, ECI and ACRA deadlines. A named person still files through myTax Portal and Bizfile, because each filing is a declaration that someone signs for.

The checks are only as good as the export they read. An assistant cannot see a supplier bill nobody posted, and it cannot tell whether an overseas customer qualifies for zero-rating. The stakes justify the effort: IRAS charges S$200 as soon as a GST return is late and S$200 for every further completed month, capped at S$10,000 per return, and ACRA's late annual return penalty is S$300 or S$600 depending on how late.

Follow me on Instagram@sagnikteaches

What the assistant checks and what a person files

Split the work along one line. Anything that reads and compares can go to the assistant; anything that declares goes to a person. That keeps an accountable human where IRAS and ACRA expect one, and it keeps the assistant on jobs where a mistake is cheap to catch.

Connect on LinkedInSagnik Bhattacharya
JobThe assistantA person
GST coding review of the quarter's ledger exportFlags lines that break a stated rule and names the ruleDecides each flag and fixes the record in the accounting software
Tie-out of the F5 figures to the ledgerLists the lines behind each box and explains gapsSigns off the reconciliation
Deadline calendarDrafts the table from year-end datesConfirms each date against the IRAS and ACRA pages
Client reminders for missing documentsDrafts the email from a list of gapsChecks and sends it
Registration, zero-rating and exemption callsSets out the facts the decision turns onDecides, with the accountant or an IRAS ruling if unsure
Filing the F5, ECI, corporate tax return and annual returnNothingLogs in, checks, submits, keeps the acknowledgement

Two habits keep the table honest. The assistant never holds a login to myTax Portal or Bizfile, and every flag it raises ends with a person's initials and a date in the working file. A wrong flag costs a minute of someone's time. A wrong filing costs a penalty and a correction.

Subscribe on YouTube@sagnikteaches

The F5 boxes, and why two of them are never recalculated

IRAS's guidance on completing the GST F5 return runs box by box. These are the ones that matter for a coding review. Every figure is in Singapore dollars, foreign-currency transactions included, and a quarter with no activity still needs a nil return.

BoxWhat goes inA check the assistant can run
1Standard-rated supplies at 9%, excluding the GST chargedDoes it agree to standard-rated sales in the ledger, net of credit notes?
2Zero-rated supplies, such as exports and qualifying international servicesDoes every line have the evidence IRAS expects?
3Exempt supplies, such as residential property and financial servicesIs anything coded exempt that should be standard-rated, or the reverse?
4Boxes 1, 2 and 3 added by the formDoes it equal total supplies in the sales listing?
5Taxable purchases, excluding GST, where the GST can be claimedAre any blocked items sitting in here?
6Output tax dueIs it the sum of GST actually charged?
7Input tax and refunds claimed, less any repaymentsIs it the sum of GST that can be claimed, with repayments deducted?
8Net GST: Box 6 minus Box 7Under S$5 either way means no payment and no refund
13Revenue from the profit and loss accountCan the gap to Box 4 be explained?

IRAS says to track Box 6 and Box 7 separately rather than multiplying Box 1 or Box 5 by 9%, because rounding methods differ. A small sum shows why. Take ten invoices of S$12.50. If the software rounds each invoice's GST half-up to the cent, each carries S$1.13 and the ten total S$11.30; 9% of the S$125.00 total is S$11.25. Five cents is trivial, yet a gap nobody can explain makes a reviewer distrust the rest of the return. Tell the assistant which figure is authoritative: the software's GST report, never a recomputation.

Box 14 applies only to businesses that cannot claim all their input tax, such as banks and investment-holding companies, which must account for GST on services bought from overseas suppliers. A business making only taxable supplies leaves it blank, so a check that asks the assistant to "complete every box" will invent work.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

Running a coding check on one quarter's export

The main example is an illustrative eleven-person electrical contractor that files quarterly. Its first-draft return for the July to September quarter, taken straight from the accounting software, shows S$412,300 of standard-rated sales and S$186,500 of taxable purchases. At 9% that is S$37,107.00 of output tax, S$16,785.00 of input tax and S$20,322.00 to pay by 31 October.

  1. Export the quarter's transaction detail with tax codes as a CSV: line ID, date, contact, description, account, tax code, net amount and GST amount.
  2. Delete anything personal first: NRIC or FIN numbers, home addresses, personal bank details. Business names can stay.
  3. Paste the lines in blocks of a few hundred, with the prompt below.
  4. Take every flag back to the accounting software. Change the source record, re-run the GST report, then re-check. Never edit the assistant's copy and file from that.
You are reviewing a GST ledger export for a GST-registered business that files quarterly.
Columns: ID, date, contact, description, account, tax code, net amount, GST amount (all SGD).

List only the lines that break one of these rules or need a person to check:
1. GST claimed on running costs of a motor car, club subscriptions, staff medical costs or
   insurance, benefits for a staff member's family, or private expenses (not claimable).
2. Zero-rated sales to overseas customers (a person must confirm the zero-rating conditions
   and the evidence).
3. Gifts to one recipient for one occasion costing more than S$200 before GST, where GST was
   claimed on the purchase (treated as a supply by the business).
4. A sale or disposal of a business asset with no GST charged.
5. A supplier line with GST claimed and no supplier GST registration number in the description.
6. A bill with GST claimed that is unpaid more than 12 months after its due date.

Return a table: ID | rule number | what you saw | what a person should check.
Do not change any figure and do not decide the treatment. If the data cannot tell you,
write "cannot tell". If no line breaks a rule, say so.

The output below is illustrative, but it has the shape to expect: a short table, each row naming the rule, and a plain "cannot tell" where the export lacks the facts.

IDRuleWhat the assistant sawWhat a person checks
04121"Fuel and servicing, company vehicle", GST S$147.60 claimedVehicle type, because some vehicles fall outside IRAS's motor-car definition
03771"Staff medical check-ups", GST S$72.00 claimedWhether any IRAS exception applies
04583"Festive hampers, clients", S$320 net, GST S$28.80 claimedCost per recipient per occasion; over S$200 before GST, with input tax claimed, makes it a supply
02916Bill 14 months past due, GST S$450.00 claimed, no payment recordedPayment status; repay the input tax if still unpaid
03335Supplier invoice, GST S$216.00, no registration number in the descriptionCannot tell: check the PDF and the supplier's registration

Rules 2 and 4 returned nothing for this contractor, and the assistant said so rather than padding the list. That matters, because an assistant that always finds the same number of problems is guessing. Test the prompt before trusting it: take a past quarter whose errors you already know, plant two or three obvious ones (a gift over S$200, a club subscription with GST claimed), and confirm the assistant finds them without inventing others.

Two edits belong on that output before anyone acts. Line 0412 was a director's private passenger car registered to the company, so the claim came out. Had it been a goods van, the answer could differ, and the description alone could never settle it. Line 0333 was a false alarm: the registration number sat on the PDF invoice, and the clerk had not copied it into the ledger. The assistant judged only the text it was given, so for rule 5 the better input is the invoice itself, which is the next job.

Tying the return back to the ledger before anyone files

After the person has settled the five flags, the contractor's return moves. The hamper line turned out to be a single S$320 hamper for one client at one festival, so it counts as a supply: Box 1 rises by S$320 and Box 6 by S$28.80. Had it been four S$80 hampers for four clients, nothing would change. The car and medical claims come out of Box 5 and Box 7. The unpaid bill's input tax is repaid, which IRAS treats as a deduction inside Box 7.

BoxFirst draftAfter the checksWhy it moved
1 Standard-rated suppliesS$412,300S$412,620Gift of S$320 counted as a supply
5 Taxable purchasesS$186,500S$184,060Car costs S$1,640 and medical S$800 removed
6 Output taxS$37,107.00S$37,135.80GST of S$28.80 on the gift
7 Input tax claimedS$16,785.00S$16,115.40Less S$147.60, S$72.00 and the S$450.00 repayment
8 Net GST to payS$20,322.00S$21,020.40Up by S$698.40

Two further steps close the loop. First, have the assistant list the ledger lines behind Box 6 and Box 7, then add them in the spreadsheet yourself, since language models can misadd long columns. Second, explain the gap between Box 13 and Box 4. IRAS says revenue is taken from the profit and loss account and can differ from total supplies, and here the gap is exactly the S$320 gift: Box 13 stays at S$412,300 while Box 4 becomes S$412,620. A difference you can name in one sentence is a reconciled difference.

The cost of skipping the check is concrete. The first draft would have understated tax by S$698.40, and IRAS says penalties can reach 200% of tax owed, although errors disclosed voluntarily can attract reduced penalties or none, depending on the conditions. Ask your accountant how those conditions apply to your case.

Reading supplier invoices before the input tax is claimed

GST can only be claimed against a valid tax invoice or a simplified tax invoice. IRAS lists what a full tax invoice shows: the words "Tax Invoice", the supplier's name, address and GST registration number, an invoice number and date, the customer's name and address, a description, the 9% rate, and the amounts excluding GST, the GST and the total. It must be issued to a GST-registered customer within 30 days of the supply. A simplified tax invoice, with fewer fields, is allowed only when the total including GST does not exceed S$1,000.

That list suits a reading job. Hand the assistant a batch of supplier PDFs and a tight instruction.

For each attached supplier invoice, fill one row:
supplier name | GST registration number (quote it, or write "not shown") |
title shown (Tax Invoice / Simplified Tax Invoice / neither) | invoice date |
GST amount | total including GST | issue.
Flag "issue" only for: no registration number, no tax invoice title, a total over S$1,000
marked as simplified, or GST charged without a rate stated. Do not infer missing fields.
InvoiceRegistration numberTitleTotal incl. GSTIssue
Cable supplier, 3 SepQuotedTax InvoiceS$2,616.00None
Tool hire, 11 SepNot shownTax InvoiceS$392.40No registration number
Switchgear order, 19 SepQuotedSimplified Tax InvoiceS$1,350.00Simplified title above S$1,000

This is illustrative. The tool-hire row goes to a person, who checks whether the supplier is GST-registered on IRAS's lookup and asks for a corrected invoice; a supplier that charges GST without being registered is charging it wrongly, and that GST cannot be claimed back. The switchgear row goes back to the supplier for a full tax invoice. If your software supports InvoiceNow, ask whether it offers the validation check IRAS suggests for wrongful GST charges from suppliers that are not registered, because that check does this job at the source.

InvoiceNow changes where the ledger data comes from

InvoiceNow is the national e-invoicing network built on the Peppol standard. IRAS requires GST-registered businesses to submit invoice data through InvoiceNow-Ready solutions, in phases that depend on your status and size.

DateWho it applies to
1 November 2025Companies that register for GST voluntarily within six months of incorporation
1 April 2026Businesses applying for voluntary registration from that date
1 April 2028Compulsory registrations from that date, and existing registrants with annual supplies of S$200,000 or less
1 April 2029Existing registrants with annual supplies up to S$1,000,000
1 April 2030Existing registrants with annual supplies up to S$4,000,000
1 April 2031Existing registrants above S$4,000,000

"Annual supplies" means Box 4 totals for periods ending in calendar year 2025. IRAS has been notifying registrants that registered before 2026 of their own date; a business that has not heard, for example because it had no returns for periods ending in 2025, will be told later. IRAS also offers a date calculator. Three details matter for the person doing the books:

  • Invoice data goes to IRAS by the earlier of the date you file the return and its due date, so the data must be right before the return is.
  • Records are still kept for at least five years, and filing accurate returns stays your job.
  • Onboarding means getting a Peppol ID tied to your UEN through the software provider or an accredited access point. IRAS says it can take as little as three months.

Support exists: IRAS lists a GST InvoiceNow Transition Grant of S$1,000 for businesses with annual supplies up to S$4,000,000, and free-of-charge packages from selected providers. For your checks the effect is the same in every phase. Today a bookkeeper types or imports supplier details; once invoices travel as Peppol data, the supplier's registration number and the GST amount should arrive as structured fields rather than typed text, so a coding check starts from cleaner input.

A filing calendar a spreadsheet keeps for you

Ask the assistant to draft the calendar from your clients' year-end dates, then calculate every date with formulas rather than prose. For month-end year-ends, =EOMONTH(B2,6) gives six months on; use EDATE for any other year-end and check the result by hand. The table shows the rules for a company with a 31 December 2025 year-end.

FilingRuleDate for this company
GST F5, calendar quartersFile and pay one month after the period ends30 April, 31 July, 31 October, 31 January
Estimated chargeable income (ECI)Within three months of the year-end, unless revenue is S$5 million or less and ECI is nil31 March 2026
AGMWithin six months of the year-end (non-listed); a private company can instead send financial statements to all members within five months30 June 2026, or 31 May 2026
ACRA annual returnWithin seven months of the year-end (non-listed)31 July 2026
Corporate tax return (Form C-S, C-S (Lite), C, or the Form for Dormant Company)30 November of the Year of Assessment30 November 2026

Special GST accounting periods run one month from their own end date, so a client on a non-calendar period needs its own row. Penalties belong in the same sheet, because they set how much slack a reminder needs: S$200 plus S$200 per completed month for a late F5 (S$800 after three completed months), and S$300 for an annual return up to three months late or S$600 beyond that. ACRA's own worked example puts a composition offer for a late AGM at S$500 or more, and one offer can cover a late AGM and a late annual return together.

Pre-filing checks for the ACRA annual return

The annual return is an online form listing the company's details, directors, secretary and members, with the AGM declaration and, where required, financial statements. A company must declare its AGM position whether it held a meeting, was exempt or dispensed with one. The assistant's useful work is comparison, not preparation of the filing.

  • AGM logic: from the year-end date and the date financial statements went to members, which route applies and does the declaration match?
  • Figures: do the draft financial statements agree to the trial balance and to last year's comparatives?
  • People: do the directors and secretary match the last return and any changes since?
  • Format: full XBRL, or simplified XBRL for smaller non-publicly accountable companies whose revenue and total assets are each S$500,000 or less. ACRA lists the BizFinx Preparation Tool, approved accounting software or a corporate service provider as the ways to prepare and file.

The audit-exemption test is a good quick sum for an accountancy practice to run. A private company qualifies as small if it meets at least two of three limits in each of the last two consecutive financial years: revenue of S$10 million or less, total assets of S$10 million or less, and 50 or fewer full-time employees. Take a client with revenue of S$9.4 million, assets of S$10.6 million and 38 employees last year, then S$8.2 million, S$11.5 million and 41 this year. Assets fail both years, but revenue and headcount pass both, so two of three hold each time. The assistant can lay this out; a person checks the group rule that applies if the company belongs to a group.

When documents are missing, let the assistant draft the request and let a person send it. A prompt that works: "From this checklist of items still outstanding for [client name], write a short email to [first name] listing each item, why we need it and the date we need it by. Plain tone, no threats, no mention of penalties." The chase workflow in how to chase missing client records with AI covers cadence and escalation.

Software options and the questions that settle the choice

Vendor pages describe what the product can do; the lists below describe what has been accredited. Check both, with dates. This table shows what I read in November 2026.

OptionWhat I could verifyStill to ask
Xero (Singapore)Named on IMDA's accredited InvoiceNow-Ready provider list, version dated 12 October 2026. Plans are Starter, Standard and Premium; Starter's page lists 20 invoices and 5 bills.The period for those limits, and how invoice data reaches IRAS on your plan. Xero's e-invoicing page describes registration as free but does not spell out the submission step.
QuickBooks Online (Singapore)Intuit's help centre has an InvoiceNow set-up article, tagged for Simple Start, Essentials and Plus. It asks for admin rights, an active Corppass account with Admin or Authorised Officer rights and a correct UEN, and says a UEN can be registered with only one e-invoicing provider.Who your access point provider is, and when you must switch it on: the article says QuickBooks cannot work out your turnover automatically. Intuit and QuickBooks did not appear on the IMDA list dated 12 October 2026 when I searched it, so ask Intuit about accreditation.
Free-of-charge InvoiceNow packageIMDA's list, dated 17 September 2026, names providers whose full package is free for GST-registered businesses; most run to 31 March 2031 and a few end on 31 March 2027.Whether it takes invoices from your bookkeeping tool by import or integration, or means retyping.
Local accounting packagesAutoCount, SQL Account, Sage 300 and several Odoo partners appear on the accredited list.Whether the F5 report shows the lines behind each box.

Six questions separate the options on any shortlist:

  1. Is the product on IMDA's accredited list under that name, and what is the date on the list?
  2. Does the GST report give F5 box figures and let you open the lines behind each one?
  3. Which plan includes InvoiceNow submission, and is there an extra charge?
  4. Can it export transaction detail with tax codes to CSV for the checks above?
  5. Does its AI feature explain why it suggested a tax code, and can you switch it off?
  6. What happens to your Peppol registration if you change provider?

On question five, the plan pages I read describe transaction categorisation and chat features. None says it checks codes against IRAS rules, so treat any such claim as something to test on your own export. Xero versus QuickBooks on AI features compares the two generally, and the upload-to-review workflow shows where a coding check fits in a monthly cycle.

What to keep out of the AI tool

A GST coding check needs amounts, tax codes, dates and business names. It does not need identity numbers, home addresses or personal bank details, so strip them from every export. Use a business plan, not a personal account: ChatGPT Business and Claude Team are set not to train on business content by default, but confirm the setting in your workspace. Tell clients how AI is used on their files in your engagement letter, and keep a short log of what each check covered. Is it safe for an accountant to use ChatGPT with client data? goes through the questions to settle first.

Questions accountants ask before trusting an assistant with GST work

Can AI tell me whether my business must register for GST?

It can set out the facts, but a person decides. IRAS's compulsory test is taxable turnover above S$1 million in a calendar year, or a reasonable expectation of more than that in the next 12 months. IRAS says a forecast needs support such as signed contracts or accepted quotations. A business plan or sales target alone does not trigger registration.

Can an assistant prepare the XBRL financial statements for ACRA?

No. ACRA lists three ways to prepare and file them: its BizFinx Preparation Tool, approved accounting software, or a corporate service provider. An assistant can compare draft figures with the ledger and list items that need mapping, but the filing itself has to come from one of those routes and be submitted by a person.

Does a dormant company still file an annual return?

Yes. ACRA says companies must file even if inactive or dormant, for as long as the company is live on its register. Dormant companies must also file tax returns unless IRAS grants a waiver. An assistant can list which of your clients are dormant, but whether a company counts as dormant is a call for the director and accountant.

Which AI plan suits a two-person practice?

Business plans such as ChatGPT Business and Claude Team start at $20 per seat per month billed annually, or $25 monthly, with a two-seat minimum. Both are set not to train on business content by default, but check the setting in your own workspace before pasting any client export, and read the data terms in your engagement letter.

Further reads

Sources: IRAS pages on GST filing, due dates, penalties, the F5 form, tax invoices, record keeping, registration and the GST InvoiceNow requirement; IRAS pages on ECI and the corporate tax filing season; ACRA pages on AGMs, annual returns, late filing, audit exemption and XBRL; IMDA's InvoiceNow solution lists; Xero and QuickBooks help and pricing pages; OpenAI and Anthropic pricing pages. All read in November 2026.

Want your quarter-end GST checks set up properly?

On a 1:1 call we'll map your GST and annual-filing steps, pick the one check worth automating first, and decide whether your current accounting software can already do it.

Book a 1:1 call with me