Registry entry

Singapore Individual Income Tax Return (Form B1 equivalent, via myTax Portal, Year of Assessment 2026)

Prepare and e-File an individual employee's Singapore income tax return through myTax Portal, the Inland Revenue Authority of Singapore's (IRAS) Singpass-authenticated online filing service, for Year of Assessment (YA) 2026 (income earned 1 January to 31 December 2025). Over 98% of individuals e-File; myTax Portal pre-fills most employment income, donations and NSman relief from third parties under the Auto-Inclusion Scheme (AIS), plus rental income and personal reliefs carried over from the individual's previous return. The individual reviews the pre-filled figures, declares any additional income not already shown, updates their personal relief claims, reviews a Consolidated Statement, and submits. This document models the field set of that myTax Portal flow, which mirrors the paper Form B1 (for employees; the paper Form B, for the self-employed, is out of scope). Scoped to a Singapore tax resident employee filing their own return; side income from self-employment, a trade, or a rental property may be declared as additional income, but the full Form B self-employed/partnership return, non-resident filing, and the separate employer-filed IR21 tax-clearance process for a departing non-Singapore-Citizen employee are out of scope. It does not submit the return; the live myTax Portal and the live iras.gov.sg source are always authoritative (see VERIFICATION.md).

Registry entry

sg/iras/individual-income-tax-return-formb1

Jurisdiction
Singapore · national
Version
1.0.0
Verification
draft

GovSchema spec v0.3

Authoritative source IRAS 'e-Filing your Income Tax Return' guidance page (the myTax Portal step-by-step flow, mirroring the paper Form B1), corroborated against IRAS's 'Basic guide for new individual taxpayers', 'Tax reliefs', 'What is taxable, what is not', and 'Tax reliefs, rebates and deductions' guidance pages

Machine access

Registry catalog
registry/index.jsonone record per schema id

Field reference

56 fields across 7 steps, read from the published schema.json — names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.

Portal access

  • hasSingpassOrSfa boolean required

    myTax Portal is accessed using Singpass (Singapore Citizens, Permanent Residents and eligible foreigners) or a Singpass Foreign user Account (SFA, for those not eligible for Singpass). One of the two is required to e-File.

Filing status

  • yearOfAssessment integer required

    The Year of Assessment being filed. Individuals are taxed on income earned in the preceding calendar year; for example, YA 2026 taxes income earned from 1 Jan 2025 to 31 Dec 2025.

    range: 2000–2100
  • taxpayerFilingCategory enum required

    The message myTax Portal displays once you log in with Singpass/SFA, which determines what action is required: required_to_file = you must file between 1 Mar and 18 Apr regardless of income or AIS participation; no_filing_service = you are under the No-Filing Service, not required to file, but must verify the pre-filled income/relief information is correct by 18 Apr (you may still choose to file an adjustment); direct_notice_of_assessment = no action needed unless IRAS tells you otherwise, your Notice of Assessment will be finalised from records on file; no_notification = no message displayed, meaning no further action is required unless your total income exceeded $22,000, your self-employment net profit exceeded $6,000, or you are a non-resident who derived Singapore income.

    enum: required_to_file | no_filing_service | direct_notice_of_assessment | no_notification

Identity and tax residency

  • nricOrFinNumber string required

    Your National Registration Identity Card (NRIC) number (Singapore Citizens/Permanent Residents) or Foreign Identification Number (FIN), used to authenticate via Singpass/SFA. The exact character format was not independently confirmed against myTax Portal's own field validation for this document; see VERIFICATION.md.

    length: 1–20classification: pii
  • fullName string required

    Your full name as registered with Singpass/SFA.

    length: 1–150classification: pii
  • isTaxResident boolean required

    Whether you are a Singapore tax resident (including a non-Singapore Citizen present in Singapore for more than 183 days in the year), which determines your applicable tax rates and, per the 'Tax reliefs' page, whether you may claim any personal reliefs at all — only a tax resident can claim tax relief.

Review pre-filled employment income

  • employerParticipatesInAis boolean optional

    If your employer participates in AIS, your employment income is transmitted directly to IRAS and pre-filled in your return. If not, you must have Form IR8A ready and enter your employment income yourself.

  • employerWillTransmitIncomeDetailsNotYetShown boolean optional

    Tick this if your AIS-participating employer's income details are not yet shown under 'Employment Income and Expenses' in your return, to confirm you do not need to manually report them.

  • grossEmploymentIncome number optional

    Total employment income for the year, per Form IR8A. Only needs manual entry if your employer does not participate in AIS.

  • wasPostedOverseasWholeYear boolean optional

    If you were posted to work overseas for the whole of the preceding calendar year, you are not required to declare your employment income details.

Declare additional income

  • hasRentalIncome boolean optional

    Did you receive rental income from property in Singapore?

  • grossRentalIncome number optional

    Gross rental income

  • rentalExpensesClaimed number optional

    Expenses related to the rental income declared above (e.g. mortgage interest, property tax, repairs), claimed as a deduction.

  • hasSelfEmploymentOrTradeIncome boolean optional

    Did you have self-employed, partnership, trade, business, profession, vocation, gig-work or freelance income?

  • selfEmploymentNetProfit number optional

    Net profit from self-employment/trade/business/gig work

  • businessOrPartnershipTaxReferenceNumber string optional

    Required for self-employed persons and partners only.

    length: 0–20
  • hasOverseasIncomeReceivedInSingapore boolean optional

    Generally, overseas income received in Singapore is not taxable, except in some circumstances (e.g. income received through a Singapore partnership, or derived from a trade/business/employment exercised through a Singapore permanent establishment).

  • overseasIncomeReceivedInSingaporeAmount number optional

    Overseas income received in Singapore (reportable amount)

  • hasOtherTaxableIncome boolean optional

    myTax Portal's 'Declare other sources of income' screen ('+ADD NEW') does not have its individual boxes documented in public IRAS guidance, so this is modelled as one catch-all group rather than one field per income type — see VERIFICATION.md. Note that betting/lottery winnings (e.g. Toto, 4D) are explicitly NOT taxable per the source and are out of scope for this field.

  • otherTaxableIncomeAmount number optional

    Other taxable income amount

  • otherTaxableIncomeDescription string optional

    Free-text description of the income type (e.g. 'taxable dividends', 'royalty'), since the portal's own box labels for this screen are not independently documented.

    length: 0–500

Update personal reliefs

  • dependantsIncomeUnder8000 boolean optional

    A single filing question that gates several dependant-based reliefs claimed below (Spouse, Qualifying Child, Working Mother's Child, Parent, Grandparent Caregiver). Select true only if the relevant dependant's annual income did not exceed $8,000.

  • isClaimingSpouseRelief boolean optional

    Claiming Spouse Relief?

  • spouseReliefIsDisabilityVariant boolean optional

    Claiming the disability variant (Spouse Relief (Disability))?

  • spouseReliefAmount number optional

    Spouse Relief amount claimed

  • isClaimingQualifyingChildRelief boolean optional

    Claiming Qualifying Child Relief?

  • childReliefIsDisabilityVariant boolean optional

    Claiming the disability variant (Child Relief (Disability))?

  • qualifyingChildReliefAmount number optional

    Modelled per-child as a single amount; the portal's example shows this relief claimed once per child (e.g. $4,000 per child) — the current flat field model (GSP-0009) cannot express a repeating per-child structure, so a multi-child return is represented by one representative amount. See VERIFICATION.md.

  • isClaimingWorkingMothersChildRelief boolean optional

    Claiming Working Mother's Child Relief (WMCR)?

  • workingMothersChildReliefAmount number optional

    WMCR is a percentage of the mother's earned income per child (the source's worked example shows 15%/20%/25% for the 1st/2nd/3rd child); modelled as a single computed amount per child, same repeating-structure limitation as qualifyingChildReliefAmount.

  • isClaimingParentRelief boolean optional

    Claiming Parent Relief?

  • parentReliefIsDisabilityVariant boolean optional

    Claiming the disability variant (Parent Relief (Disability))?

  • parentReliefAmount number optional

    May be shared/apportioned with siblings claiming Parent Relief on the same parent; if you decline your share, inform your siblings so they can claim it.

  • isClaimingGrandparentCaregiverRelief boolean optional

    Claiming Grandparent Caregiver Relief?

  • grandparentCaregiverReliefAmount number optional

    Grandparent Caregiver Relief amount claimed

  • isClaimingSiblingRelief boolean optional

    This relief is inherently the disability variant — the source lists only 'Sibling Relief (Disability)', with no separate non-disability sibling relief.

  • siblingReliefAmount number optional

    Sibling Relief (Disability) amount claimed

  • isClaimingNSmanSelfRelief boolean optional

    IRAS computes the statutory relief amount itself from NSman service/testing records reported to it; no dollar amount is entered by the filer, the same discipline used for AU myTax's T1/T2 ATO-computed offset codes.

  • isClaimingNSmanWifeRelief boolean optional

    IRAS computes the statutory relief amount itself; no dollar amount is entered by the filer.

  • isClaimingNSmanParentRelief boolean optional

    IRAS computes the statutory relief amount itself; no dollar amount is entered by the filer.

  • isClaimingLifeInsuranceRelief boolean optional

    Claiming Life Insurance Relief?

  • lifeInsuranceReliefAmount number optional

    Life Insurance Relief amount claimed

  • isClaimingSrsRelief boolean optional

    Claiming SRS Relief (Supplementary Retirement Scheme contributions)?

  • srsReliefAmount number optional

    SRS Relief amount claimed

  • isClaimingCpfCashTopUpRelief boolean optional

    Claiming CPF Cash Top-up Relief?

  • cpfCashTopUpReliefAmount number optional

    CPF Cash Top-up Relief amount claimed

  • isClaimingCpfReliefForEmployees boolean optional

    IRAS computes this relief itself from mandatory CPF contributions reported by an AIS-participating employer; no dollar amount is entered by the filer.

  • isClaimingCpfReliefForSelfEmployed boolean optional

    Claiming CPF Relief for Self-Employed?

  • cpfReliefForSelfEmployedAmount number optional

    CPF Relief for Self-Employed amount claimed

  • isClaimingCpfReliefAsPlatformWorker boolean optional

    Claiming CPF Relief as a Platform Worker?

  • cpfReliefAsPlatformWorkerAmount number optional

    CPF Relief as a Platform Worker amount claimed

  • isClaimingCpfReliefMedisaveContributions boolean optional

    Claiming CPF Relief (Compulsory and Voluntary Medisave Contributions)?

  • cpfReliefMedisaveContributionsAmount number optional

    CPF Relief (Medisave Contributions) amount claimed

Consolidated Statement and declaration

  • reviewedConsolidatedStatement boolean required

    A Consolidated Statement is displayed showing all income, deductions and reliefs, with any manually-updated fields marked '(Updated)'. Confirm you have reviewed it before submitting.

  • declarationConfirmed boolean required

    Check the declaration box before selecting Submit. No exact declaration statement text is published on this source page; see VERIFICATION.md.

  • submissionDate date required

    Must be on or before 18 Apr of the filing year.

Verification record

This file is the source-review record for this document version, per the manual-source-review-v1 practice.

Current claim

  • status: draft
  • verification.method: manual-source-review-v1
  • verification.lastVerifiedAt: 2026-07-02

The document was derived entirely from IRAS's own live guidance pages describing the myTax Portal e-Filing flow and its underlying reliefs/income rules. The full field-by-field comparison the practice requires against the live, Singpass-authenticated myTax Portal screens (Procedure step 2) has not been completed, so this remains draft, not verified.

Sources examined

What was confirmed against the source

| Source element | Field(s) | |---|---| | Step 1: Singpass/SFA requirement | hasSingpassOrSfa | | Basic guide Step 2/3: Year of Assessment, four-row Taxpayer Group table | yearOfAssessment, taxpayerFilingCategory | | Singpass/SFA login (identity) | nricOrFinNumber, fullName | | Tax residency page + Tax reliefs eligibility note (residents only may claim reliefs) | isTaxResident | | Step 2 (required documents)/Step 4 (pre-fill description): AIS employer participation, Form IR8A | employerParticipatesInAis, grossEmploymentIncome | | Step 5, "What if my employment income details are not shown above?" tick-box | employerWillTransmitIncomeDetailsNotYetShown | | Step 5, overseas-posting exemption from declaring employment income | wasPostedOverseasWholeYear | | "What is taxable" — rent from property; "Tax reliefs, rebates and deductions" — rental expense deductions | hasRentalIncome, grossRentalIncome, rentalExpensesClaimed | | "What is taxable" — trade/business/profession/vocation, gig/freelance; Step 2 required documents (business/partnership tax reference number) | hasSelfEmploymentOrTradeIncome, selfEmploymentNetProfit, businessOrPartnershipTaxReferenceNumber | | "What is taxable" — income received from overseas | hasOverseasIncomeReceivedInSingapore, overseasIncomeReceivedInSingaporeAmount | | Step 5 "+ADD NEW" other-income screen; "What is taxable" catch-all categories (dividends, interest, gains, annuity, alimony, estate/trust, royalty, SRS withdrawals; winnings explicitly NOT taxable) | hasOtherTaxableIncome, otherTaxableIncomeAmount, otherTaxableIncomeDescription | | Step 6 Filing Tip (the $8,000 dependant-income question) | dependantsIncomeUnder8000 | | Tax reliefs page's 13-item list (11 active reliefs for YA2026, two lapsed and excluded — see below) | isClaimingSpouseRelief through cpfReliefMedisaveContributionsAmount | | Step 7: Consolidated Statement review, declaration checkbox, Submit | reviewedConsolidatedStatement, declarationConfirmed, submissionDate |

What is NOT independently confirmed (out of scope), and honesty flags

  • Form B (self-employed) is entirely out of scope. The catalog candidate itself scoped this document to "Form B1 (employees); Form B for the self-employed" as a separate process. A side income declaration for self-employment/trade (hasSelfEmploymentOrTradeIncome and its two dependent fields) is modelled because the e-Filing flow lets an employee-primary filer declare it as additional income, but the full Form B return for a primarily-self-employed filer — different filing deadline, different obligations — is not modelled here.
  • The employer-filed IR21 tax-clearance process is out of scope. The "Basic guide" Step 5 describes a non-Singapore-Citizen employee's tax clearance when leaving Singapore or changing jobs; this is filed by the employer, not the individual, and is a distinct process from the annual individual return this document models. No fields for it were added.
  • Coarser sourcing grain than a form-derived schema. Unlike au/ato/individual-tax-return-mytax (extracted from a printed PDF with numbered items and box labels) or ca/cra/individual-income-tax-and-benefit-return-t1 (a fillable PDF), this document is sourced entirely from prose guidance pages because IRAS publishes no downloadable individual-return form at all — confirmed by direct fetch of the forms index, not assumed. The clearest instance: the e-Filing page's Step 5 "Declare other sources of income" screen is described only as a generic "+ADD NEW" details page, with no individual box names given — hasOtherTaxableIncome/ otherTaxableIncomeAmount/otherTaxableIncomeDescription is therefore one catch-all field group (citing the "What is taxable" page's category list in its own description) rather than one field per income type. A future revision that can drive the live, authenticated myTax Portal screens should replace this with individually-named fields.
  • Repeating per-child relief structure not expressible. Qualifying Child Relief and Working Mother's Child Relief are both genuinely per-child (the Tax reliefs page's worked example shows a family claiming QCR on 3 children and WMCR at 15%/20%/25% rates per child) — a repeating structure the flat v0.3 field model (GSP-0009) cannot express, the same limitation recorded for AU myTax's multiple-employer/multiple-health-policy rows and IE Form 11S/NZ IR3's repeating panels. qualifyingChildReliefAmount and workingMothersChildReliefAmount each model a single representative amount; a filer with more than one qualifying child is only partially served by v1.0.0.
  • No dollar amount fields for IRAS-computed reliefs. The three NSman reliefs (Self/Wife/Parent) and CPF Relief for Employees are modelled as claim-only booleans with no corresponding amount field, because none of the sourced pages describe the filer typing a dollar figure for them — IRAS computes these directly from third-party-reported NSman service/testing records and mandatory employee CPF contributions. This mirrors the AU schema's treatment of ATO-computed T1/T2 offset codes (a code is entered, not a raw dollar amount) — not a gap, a deliberate reflection of who computes the figure.
  • Two catalog-listed reliefs deliberately excluded, not merely unclaimed. Foreign Domestic Worker Levy Relief ("Lapsed with effect from YA 2025") and Course Fees Relief ("Lapsed with effect from YA 2026") are both gone for Year of Assessment 2026, the edition this document targets — they are not modelled as fields at all, rather than modelled and left perpetually false, since a future YA2027+ document version would need to re-confirm they stay lapsed rather than silently reappearing as dead fields. This is an editorial exclusion decision, not an oversight; a prior YA (e.g. a hypothetical YA2024 edition) would need both reliefs restored.
  • No NRIC/FIN format regex is asserted. nricOrFinNumber uses minLength/maxLength only, no pattern, matching the discipline sg/acra/sole-proprietorship-registration's ownerNricOrFin field already used — no source reviewed this cycle independently confirmed the character format against myTax Portal's own validation.
  • No attestation documents[] entry. None of the four sourced pages give the declaration checkbox's exact statement text (the e-Filing page says only "Check the declaration box and select 'Submit'"); the same discipline gb/ukvi/standard-visitor-visa and de/bmi/passport-application used when a sign-off statement's exact wording wasn't independently sourced. declarationConfirmed models the act of checking the box, not a quoted statement.

Why every field here is optional except the compulsory few

Like au/ato/individual-tax-return-mytax, myTax Portal's defining shape is reviewing a pre-filled return: IRAS states it "will pre-fill" employment income (from AIS-participating employers), donations, NSman Relief, rental income (from last year's declaration or e-stamped tenancy records), and prior reliefs before the individual ever opens the return. A field being optional here therefore reflects both (a) genuine applicability — most income/relief items apply only to some filers, exactly as the source describes — and (b) the pre-fill shape itself, since myTax Portal may already show a correct value the filer never manually enters. Only the access gate (hasSingpassOrSfa), the core identity/filing-status facts every filer genuinely needs (yearOfAssessment, taxpayerFilingCategory, nricOrFinNumber, fullName, isTaxResident), and the final Consolidated Statement review/declaration/submission-date fields are required: true. This is the second published GovSchema document exercising the "review a pre-filled return" shape (after AU myTax); the still-open DE ELSTER candidate shares it too ([[gov430-taxes-vertical-and-gsp0019]]).

Time-versioning and the edition axis (flagged spec gap, fifth jurisdiction)

Singapore's Year of Assessment is genuinely time-versioned — income earned in one calendar year (e.g. 1 Jan-31 Dec 2025) is assessed and filed the following year (YA 2026, by 18 April 2026) — but this shape fits none of spec v0.3's closed edition.scheme enum (us-tax-year / gb-tax-year / award-year, SPEC.md §5.7): it isn't a split fiscal year like the US/UK schemes, and naming it after either of those countries would misattribute the jurisdiction. Rather than mislabeling the scheme or unilaterally extending a closed enum, this document is published at the plain, non-edition registry path (registry/sg/iras/individual-income-tax-return-formb1/1.0.0/schema.json). This is the fifth reference schema to hit this exact gap, after IE Form 11S, NZ IR3, CA T1, and AU myTax — further reinforcing spec/proposals/0019-generalize-edition-scheme-calendar-tax-year.md as a genuinely cross-jurisdictional need. Check spec/proposals/README.md's status line for GSP-0019 before assuming it is still undecided.

Worked mock-data walkthrough (no live portal access)

myTax Portal is Singpass/SFA-authenticated and not reachable pre-login in this environment, the same constraint as sg/ica/passport-application and sg/acra/sole-proprietorship-registration. A representative walkthrough instead:

  1. hasSingpassOrSfa = true → proceeds past the access gate.
  2. yearOfAssessment = 2026, taxpayerFilingCategory = "required_to_file".
  3. nricOrFinNumber = "S1234567D" (illustrative only — no real NRIC), fullName = "Tan Wei Ling", isTaxResident = true.
  4. employerParticipatesInAis = true, employerWillTransmitIncomeDetailsNotYetShown = true, wasPostedOverseasWholeYear = false — employment income is left to myTax Portal's own pre-fill (grossEmploymentIncome not collected).
  5. hasRentalIncome = false, hasSelfEmploymentOrTradeIncome = false, hasOverseasIncomeReceivedInSingapore = false, hasOtherTaxableIncome = false — no additional income to declare.
  6. dependantsIncomeUnder8000 = true, isClaimingSpouseRelief = false, isClaimingQualifyingChildRelief = true, childReliefIsDisabilityVariant = false, qualifyingChildReliefAmount = 4000, isClaimingSrsRelief = true, srsReliefAmount = 15300, isClaimingCpfReliefForEmployees = true (no amount field — IRAS-computed).
  7. reviewedConsolidatedStatement = true, declarationConfirmed = true, submissionDate = "2026-04-10".

The conformance packet in conformance/sg/iras/individual-income-tax-return-formb1/1.0.0/ implements this scenario and was checked programmatically against this schema's own required/requiredWhen constraints (0 errors).

Path to a verified claim (next step)

To advance to status: verified, a reviewer applies manual-source-review-v1 Procedure step 2 against the live, Singpass-authenticated myTax Portal screens, replaces the catch-all hasOtherTaxableIncome group with individually-named fields once the portal's own screen labels can be read, and records the outcome here — shipping a new schema version if discrepancies are found (VERSIONING.md §3, immutability).

Re-verification

Per the practice's Cadence, nextReviewBy is set to 2027-01-01 (6 months), and in any case before the Year of Assessment 2027 filing season opens, since the source content (relief list, thresholds, filing dates) changes annually.

View the raw record (VERIFICATION.md)

Version history

  • 1.0.0 draft latest this page has verification record schema.json

Independent and non-affiliated

GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Inland Revenue Authority of Singapore or any government. The authoritative source is always the live government form and its official instructions.