Build the GST F5 Return from Sales and Purchase Data
Skill: Convert sales/purchase data into the IRAS GST F5 return boxes
Region: Singapore Category: Tax — GST (IRAS Form GST F5) Does: Takes a period's sales and purchase data (CSV/JSON/ledger) and produces the GST F5 return box values (Boxes 1–15) as a structured JSON dataset ready to key into myTax Portal. Standard: IRAS Form GST F5 — Return of Goods and Services Tax
The AI computes the box figures from the data you provide; it does not file. File through myTax Portal within one month after the end of each prescribed accounting period. GST is 9% (from 1 Jan 2024). Validate the boxes against your accounting records and IRAS guidance before submitting; an F5 once filed can only be corrected via a GST F7.
When this applies
- A GST-registered business files its periodic GST F5 (usually quarterly; some file monthly).
- Use it to consolidate output tax on supplies and input tax on purchases into the 15 prescribed boxes.
- Not for the e-invoice document itself (see
einvoicing/build-invoicenow-peppol-invoice.md); not for GST F7 (correction) or F8 (final) — those reuse the same boxes with different context.
Conversion procedure
- Read the source. Accept CSV/JSON ledgers or a trial balance of output and input tax. Identify the prescribed accounting period (start/end).
- Classify supplies. Split sales into standard-rated, zero-rated, and exempt; classify purchases as taxable (with claimable input tax). Identify imports (and whether under a scheme such as MES) and reverse-charge / customer-accounting items.
- Normalize. All amounts to whole or 2-dp dollars per IRAS convention (Boxes report dollar amounts; output/input tax to the cent). Period dates
YYYY-MM-DD. - Compute the boxes using the calculation rules. Recompute Box 4, 6, 7, 8 from their components; never copy a printed total.
- Emit the JSON dataset of boxes.
- Validate with the checklist.
Source → GST F5 box map
| From the source | → Box |
|---|---|
| Total standard-rated supplies (value, excl. GST) | box1_standard_rated_supplies |
| Total zero-rated supplies | box2_zero_rated_supplies |
| Total exempt supplies | box3_exempt_supplies |
| Total of Boxes 1+2+3 | box4_total_supplies |
| Total taxable purchases (value, excl. GST) | box5_taxable_purchases |
| Output tax due | box6_output_tax_due |
| Input tax and refunds claimed | box7_input_tax_claimed |
| Net GST (Box 6 − Box 7) | box8_net_gst |
| Total value of goods imported under MES/A3PL/other approved schemes | box9_imports_under_schemes |
| Did you make bad-debt relief claims? | box11_bad_debt_relief |
| Pre-registration input tax | box12_pre_registration_claims |
| Revenue | box13_revenue |
| Reverse charge / imported services | box14_imported_services_reverse_charge |
| Customer accounting (prescribed goods) | box15_customer_accounting |
Document structure
gst_f5
├── registration (GST reg no / UEN)
├── period (start, end)
├── box1..box5 (supply / purchase values)
├── box6, box7, box8 (output tax, input tax, net GST)
├── box9 (imports under approved schemes)
├── box11..box12 (bad-debt relief, pre-registration)
├── box13 (revenue)
└── box14, box15 (reverse charge, customer accounting)
Code tables
Box meanings (IRAS GST F5)
| Box | Label |
|---|---|
| 1 | Total value of standard-rated supplies |
| 2 | Total value of zero-rated supplies |
| 3 | Total value of exempt supplies |
| 4 | Total value of (1) + (2) + (3) |
| 5 | Total value of taxable purchases |
| 6 | Output tax due |
| 7 | Input tax and refunds claimed |
| 8 | Net GST to be paid (+) / claimed (−) |
| 9 | Total value of goods imported under MES / A3PL / other schemes |
| 11 | Bad-debt relief claimed |
| 12 | Pre-registration claims |
| 13 | Revenue |
| 14 | Imported services subject to reverse charge |
| 15 | Customer accounting supplies (prescribed goods) |
(Box 10 — "Did you claim refunds under Tourist Refund Scheme" — applies to retailers; include when relevant.)
Calculation rules
- Box 4 =
Box 1 + Box 2 + Box 3(supply values, GST-exclusive). - Box 6 (output tax) = standard-rated supplies × 9% + GST accounted under reverse charge / customer accounting, to the cent.
- Box 7 (input tax) = claimable input tax on taxable purchases + bad-debt relief, subject to apportionment for partially-exempt businesses.
- Box 8 =
Box 6 − Box 7; positive = payable to IRAS, negative = refund. - Box 13 (revenue) is the main-income figure for the period (may differ from Box 4).
- Recompute Box 4/6/7/8 from components; flag mismatches with the source.
Worked example (end-to-end)
Input — quarterly ledger summary
GST reg / UEN: 201912345A
Period: 1 Apr 2026 – 30 Jun 2026
Standard-rated supplies: 500,000.00 (output tax 45,000.00)
Zero-rated supplies (exports): 80,000.00
Exempt supplies: 0
Taxable purchases: 200,000.00 (input tax 18,000.00)
Revenue: 580,000.00
After classification + computation (intermediate)
Box1 500000.00 ; Box2 80000.00 ; Box3 0.00 ; Box4 580000.00
Box5 200000.00 ; Box6 45000.00 ; Box7 18000.00 ; Box8 27000.00 ; Box13 580000.00
Output — GST F5 dataset
{
"registration": "201912345A",
"period": { "start": "2026-04-01", "end": "2026-06-30" },
"box1_standard_rated_supplies": 500000.00,
"box2_zero_rated_supplies": 80000.00,
"box3_exempt_supplies": 0.00,
"box4_total_supplies": 580000.00,
"box5_taxable_purchases": 200000.00,
"box6_output_tax_due": 45000.00,
"box7_input_tax_claimed": 18000.00,
"box8_net_gst": 27000.00,
"box9_imports_under_schemes": 0.00,
"box11_bad_debt_relief": 0.00,
"box12_pre_registration_claims": 0.00,
"box13_revenue": 580000.00,
"box14_imported_services_reverse_charge": 0.00,
"box15_customer_accounting": 0.00
}
Normalisations shown: dates to YYYY-MM-DD; Box 4 recomputed 500000 + 80000 + 0 = 580000; Box 6 recomputed 500000 × 9% = 45000; Box 8 recomputed 45000 − 18000 = 27000 (net GST payable).
Validation checklist
- All required figures extracted; AI asked about anything missing or ambiguous (nothing invented)
- Box 4 = Box 1 + Box 2 + Box 3
- Box 6 reconciles to standard-rated supplies × 9% plus any reverse-charge/customer-accounting output tax
- Box 7 reflects only claimable input tax (apportioned if partially exempt)
- Box 8 = Box 6 − Box 7, sign correct (payable vs refund)
- Boxes 9, 14, 15 completed where imports/reverse charge/customer accounting apply
- Box 13 revenue populated; period dates within the prescribed accounting period
- Figures reconcile to the GST ledger before filing on myTax Portal (within 1 month of period end)
Last updated: 2026-06-13 — verify the current GST rate, F5 box definitions, and IRAS filing deadlines before use.