How to Report Investment Taxes: Stocks & Mutual Funds 2026
How to file SPT Tahunan for investors: required documents, filling Form 1770, reporting investments on DJP Online.
Note: This article discusses Indonesian financial products and markets. The principles apply globally, though specific products, regulations, and tax treatments vary by country.
Reporting Investments in Your Annual Tax Return
Every year, you are required to file an SPT (Surat Pemberitahuan — Tax Return) for PPh (Pajak Penghasilan — Income Tax) Orang Pribadi (Individual) — including your investment assets and income from investments. Although investment taxes are already automatically withheld (final), reporting is still mandatory.
Deadline for filing SPT Tahunan PPh Orang Pribadi: March 31 each year for the previous tax year.1
Which SPT Form?
| Form | For Whom |
|---|---|
| 1770SS | Gross income ≤ Rp 60 million/year, single employer |
| 1770S | Gross income > Rp 60 million/year, employee |
| 1770 | Has business/freelance work |
Most employees with investments use Form 1770S. If you’re an employee with salary above Rp 60 million/year and have investments, this is your form.
Two Things That Must Be Reported
1. Asset List (Daftar Harta)
All your investment assets as of December 31 must be reported in Attachment IV Section A — Assets at Year End (Harta pada Akhir Tahun).
2. Income from Investments
Investment income that has been subject to final tax is reported in Attachment III — Income Subject to PPh Final (Penghasilan yang Dikenakan PPh Final).
How to Report Each Instrument
Stocks
In the Asset List:
| Column | Fill In |
|---|---|
| Asset Code (Kode Harta) | 031 (Stocks purchased for resale) or 032 (Stocks) |
| Asset Name (Nama Harta) | “Stocks at PT [Broker] — [list of main issuers]“ |
| Year of Acquisition (Tahun Perolehan) | Year you first purchased |
| Acquisition Cost (Harga Perolehan) | Total purchase value (not current market value) |
| Notes (Keterangan) | Broker name, securities account number |
Important: What is reported is the acquisition cost (purchase price), not the market price as of December 31. Many people make mistakes here.
In Final Income:
- Report total capital gains that have been subject to PPh Final 0.1%
- Report total dividends received (and taxes already withheld)
- This information is usually available in the annual report from your broker
Mutual Funds
In the Asset List:
| Column | Fill In |
|---|---|
| Asset Code (Kode Harta) | 034 (Mutual Funds / Reksa Dana) |
| Asset Name (Nama Harta) | “Mutual Fund [product name] at [platform]“ |
| Year of Acquisition (Tahun Perolehan) | Year you first purchased |
| Acquisition Cost (Harga Perolehan) | Total purchase value |
| Notes (Keterangan) | Platform name (Bibit/Bareksa/etc.), number of units |
In Income:
- Mutual fund gains are not a tax object for individuals
- No need to report as income
- Just report in the asset list
SBN (Surat Berharga Negara — Government Securities: ORI, SBR, SR, ST)
In the Asset List:
| Column | Fill In |
|---|---|
| Asset Code (Kode Harta) | 033 (Bonds / Obligasi) |
| Asset Name (Nama Harta) | “ORI025” or “ST012” (according to series) |
| Year of Acquisition (Tahun Perolehan) | Year of purchase |
| Acquisition Cost (Harga Perolehan) | Nominal value at purchase |
| Notes (Keterangan) | Distribution partner name |
In Final Income:
- Report total coupons received during the tax year
- 10% tax has been withheld — report as PPh Final income
Deposits
In the Asset List:
| Column | Fill In |
|---|---|
| Asset Code (Kode Harta) | 014 (Deposits / Deposito) |
| Asset Name (Nama Harta) | “Deposit [bank name]“ |
| Year of Acquisition (Tahun Perolehan) | Year of placement |
| Acquisition Cost (Harga Perolehan) | Deposit principal value |
| Notes (Keterangan) | Bank name, account number |
In Final Income:
- Report total deposit interest received
- 20% tax has been withheld
Gold
In the Asset List:
| Column | Fill In |
|---|---|
| Asset Code (Kode Harta) | 015 (Precious metals / Logam mulia) |
| Asset Name (Nama Harta) | “Gold [form: Antam/digital/jewelry]“ |
| Acquisition Cost (Harga Perolehan) | Purchase price |
Steps to File SPT Online (DJP Online)
Preparation
Before starting, gather the following documents:
| Document | Source |
|---|---|
| Withholding slip 1721-A1 (from employer) | Company HRD |
| Stock portfolio report | Broker app (Stockbit/Ajaib/IPOT) |
| Mutual fund portfolio report | App (Bibit/Bareksa) |
| SBN coupon proof | Email from distribution partner |
| Deposit interest proof | Bank statement |
Most investment platforms provide an annual summary that you can download at the beginning of the year. Take advantage of this feature.
Steps
-
Login to djponline.pajak.go.id
- Use your NPWP (Nomor Pokok Wajib Pajak — Taxpayer Identification Number) and password
- If you don’t have an account yet, register first with EFIN from the tax office
-
Select “Lapor” (Report) → “e-Filing”
- Choose Form 1770S (for employees)
- Fill in the tax year
-
Fill in main income data
- Enter data from withholding slip 1721-A1
-
Fill in Attachment III — PPh Final Income
- Add investment income that has been subject to final tax:
- Stock capital gains (PPh Final 0.1%)
- Dividends (PPh Final 10%)
- SBN coupons (PPh Final 10%)
- Deposit interest (PPh Final 20%)
-
Fill in Attachment IV — Asset List (Daftar Harta)
- Add all investment assets as of December 31
- Use the appropriate asset codes
- Fill in acquisition cost (not market value)
-
Review and Submit
- Double-check all data
- Get verification code
- Submit SPT
How Long Does It Take?
If documents are ready, filling out the SPT usually takes 30-60 minutes. Most time is spent entering the asset list.
Tips for Easier Reporting
1. Keep records throughout the year
Don’t wait until March to gather data. Create a simple spreadsheet and record every investment transaction. Or just screenshot your portfolio summary at the end of December.
2. Use export features from platforms
| Platform | Tax Report Feature |
|---|---|
| Bibit | Annual tax summary (download in app) |
| Stockbit | Realized profit/loss + dividend report |
| Bareksa | Portfolio summary |
| IPOT | Annual transaction report |
3. Combine similar assets
You don’t have to report each stock one by one. You can combine them:
- “Stocks at Stockbit — BBCA, BBRI, TLKM, etc.” with total acquisition cost
4. Consistency is more important than perfect precision
Make sure total assets in SPT are consistent from year to year. If last year you reported mutual funds at Rp 20 million and this year Rp 30 million, the difference should be explainable from your income.
Common Mistakes and How to Avoid Them
Mistake 1: Reporting Market Value Instead of Acquisition Cost
Wrong: You bought stocks for Rp 50 million, now worth Rp 80 million. You report Rp 80 million. Correct: Report Rp 50 million (your purchase price).
Why: The asset list shows what you paid, not current value. Capital gains only matter when you sell, and are already taxed as final.
Mistake 2: Not Reporting Unrealized Gains
Some investors think “I haven’t sold, so no tax, no report.” Wrong.
- Asset list: Must report holdings even if unsold
- Income: Only report when sold (and tax was withheld)
Mistake 3: Double-Counting Dividend Tax
If you received Rp 10 million in dividends, Rp 1 million was already withheld (10% final tax). Some people mistakenly think they need to pay another tax.
Correct approach: Report the gross dividend (Rp 10 million) and note that tax was already withheld. No additional tax is due — this is “final.”
Mistake 4: Forgetting to Update When Assets Are Sold
If you sold all your stocks in 2025, your asset list for tax year 2025 should show zero (or lower amount). Don’t copy-paste last year’s asset list without checking current holdings.
Mistake 5: Mixing Up Acquisition Years
If you bought stocks in 3 different years (2023, 2024, 2025), you can either:
- Option A: List separately with correct acquisition years
- Option B: Combine under earliest year
Either is acceptable, but stay consistent year-to-year.
Step-by-Step Example: Employee Investor Filing SPT 1770S
Let’s walk through a complete example:
Profile:
- Name: Budi
- Status: Employee, annual salary Rp 120 million (gross)
- Investments:
- Stocks (bought 2024): Rp 30 million → now worth Rp 35 million (unrealized gain)
- Mutual funds at Bibit: Rp 20 million
- ST012 (Sukuk Tabungan): Rp 10 million
- Bank deposit: Rp 15 million
Income received in 2025:
- Dividends from stocks: Rp 1.2 million (10% tax = Rp 120k already withheld)
- Sold some stocks, realized gain: Rp 2 million (0.1% tax = Rp 2k already withheld)
- ST012 coupons: Rp 600k (10% tax = Rp 60k already withheld)
- Deposit interest: Rp 450k (20% tax = Rp 90k already withheld)
Filling Form 1770S:
Part A: Main Income (from employer)
- Enter salary from 1721-A1 slip: Rp 120 million
- Tax already withheld (from 1721-A1): Rp X million (let’s say Rp 5 million)
Attachment III: PPh Final Income
| Description | Gross Amount | Tax Withheld |
|---|---|---|
| Stock capital gains | Rp 2,000,000 | Rp 2,000 (0.1%) |
| Dividends | Rp 1,200,000 | Rp 120,000 (10%) |
| ST012 coupons | Rp 600,000 | Rp 60,000 (10%) |
| Deposit interest | Rp 450,000 | Rp 90,000 (20%) |
Total investment income: Rp 4,250,000 Total tax withheld: Rp 272,000
Attachment IV: Asset List
| Asset Code | Name | Acquisition Year | Acquisition Cost | Notes |
|---|---|---|---|---|
| 031 | Stocks at Stockbit — BBCA, TLKM, UNVR | 2024 | Rp 30,000,000 | Account 123456 |
| 034 | Mutual funds at Bibit — Sucorinvest Equity Fund | 2023 | Rp 20,000,000 | 50,000 units |
| 033 | ST012 (Sukuk Tabungan) | 2025 | Rp 10,000,000 | Via Bareksa |
| 014 | Deposit — Bank Mandiri | 2024 | Rp 15,000,000 | Account 789012 |
Total assets reported: Rp 75,000,000
Result:
- Budi’s final tax calculation remains based on salary (from 1721-A1)
- Investment income is final — already taxed, no recalculation
- Total tax payable/refundable depends on salary withholding vs actual calculation
- Assets are documented — safe if questioned later
What If You Made Mistakes in Previous Years?
If you realize you forgot to report investments in previous SPT filings:
Option 1: Voluntary Correction (Pembetulan)
You can file a corrected SPT through DJP Online:
- Login to djponline.pajak.go.id
- Select “Lapor” → “Pembetulan SPT”
- Choose the tax year to correct
- Fill in the missing assets/income
- Submit
Benefit: Shows good faith, usually no penalty if done voluntarily before audit.
Option 2: Wait and Explain If Audited
If the missing assets don’t materially affect your tax calculation (e.g., mutual funds with no taxable gain), some people wait. If questioned during audit, explain it was an oversight.
Risk: Auditor may impose penalties if they consider it material.
Recommendation: If the amounts are significant, file a correction voluntarily. It’s safer.
How DJP Verifies Investment Assets
DJP has access to various data sources to cross-check your SPT:
Automatic Exchange of Information (AEoI)
- Banks report account balances above certain thresholds
- Investment platforms report customer holdings
- DJP can see if you have accounts you didn’t report
Third-Party Data Matching
- Your broker reports transactions to tax authorities
- Mutual fund platforms share data with DJP
- SBN distribution partners report coupon payments
Lifestyle vs Income Analysis
If you report low income but have large investment portfolios, DJP may question the source of funds. Having consistent SPT history showing gradual asset accumulation is your defense.
Red Flags That Trigger Audits
- Large jumps in asset value with no clear income source
- Inconsistencies year-over-year (assets disappearing/appearing without explanation)
- High spending (property purchases, luxury cars) vs reported income
- Anonymous tips (yes, this happens — disgruntled ex-partners, business rivals)
Digital Tools to Simplify SPT Filing
DJP Online Mobile App
Download the “DJP Online” app (Android/iOS) to:
- File SPT from your phone
- Check SPT status
- Upload supporting documents
Third-Party Tax Software
Several apps help with SPT filing:
- [EMPLOYER-REDACTED] — automated import from investment platforms
- Klikpajak — guided SPT filling with explanations
- Pajakku — personal tax management
These can save time, but verify their calculations — you’re still responsible for accuracy.
Spreadsheet Template
Create a simple tracking sheet:
| Date | Transaction Type | Platform | Amount | Tax Withheld | Notes |
|---|---|---|---|---|---|
| 2025-03-15 | Stock sale | Stockbit | +Rp 2M gain | Rp 2k (0.1%) | Sold BBCA |
| 2025-06-20 | Dividend | Stockbit | +Rp 600k | Rp 60k (10%) | TLKM dividend |
| … | … | … | … | … | … |
At year-end, sum up each column → directly transfer to SPT.
What Happens If You Don’t Report?
| Violation | Penalty |
|---|---|
| Late filing SPT | Fine of Rp 100,000 |
| Not filing at all | Fine + potential audit |
| Assets not reported | Discovered during audit → tax + 200% penalty |
Reporting investments in your SPT is not just an obligation — it also protects you. If at some point you cash out a large investment, DJP (Direktorat Jenderal Pajak — Directorate General of Taxes) can ask where the money came from. If it’s already reported in your SPT, you’re safe.
Summary
| Item | What to Do |
|---|---|
| Asset list | Report all investment assets (acquisition cost) |
| Final income | Report dividends, capital gains, coupons, interest |
| Form | 1770S for most employees |
| Deadline | March 31 each year |
| Platform | djponline.pajak.go.id |
| Time required | 30-60 minutes if data is ready |
Investment tax reporting in Indonesia is actually not complicated. Most is already withheld as final — you just report, not recalculate.
Disclaimer: This article is for educational purposes only, not tax advice. Consult with a tax consultant for your specific situation.
Related Articles
- Investment Tax: Complete Guide
- Tax Guide for Beginners
- Mutual Fund Tax
- Dividend Tax
- Stock Final Tax (PPh 0.1%)
Footnotes
-
Based on Article 3 paragraph (3) of the KUP Law ↩