// Adds dimensions UUID, Author and Topic into GA4
Thursday, September 24, 2026
27.2 C
Singapore

$12 billion of previously-undeclared Indonesian wealth held in Singapore reported to taxman

By: Kheng-Liang Tan

Under a new tax-amnesty scheme, more than $12 billion of previously undeclared assets held in Singapore by wealthy Indonesians have since been reported to Indonesia’s taxman.

Approximately 12% has since been repatriated to Indonesia.

Initiated by President Jokowi, this tax amnesty scheme seeks to incentivise wealthy Indonesians to pay a small penalty for previously undeclared assets.

Under the first phase, Indonesians pay just 2% tax should they agree to repatriate their monies to Indonesia while those who decide to leave their assets abroad pay 4%.

Such a scheme aims to raise tax revenue and bring capital back to Indonesia.

According to a statement from the Indonesian government, assets in Singaporean represent “as much as 76.14 per cent of total repatriated funds and 74.51 per cent of total declared foreign assets”.

In his book A Nation Cheated, Singapore Democratic Party Chief Dr. Chee Soon Juan has been highly critical of Singapore’s banking system saying that Singapore’s economic “success came mostly from being the money laundering center for corrupt Indonesian businessmen ”

Some US$200 billion (S$273 billion) in Indonesian wealth is said to be stashed in Singapore.

 

Hot this week

American man goes full Singaporean with Singlish wedding vows: ‘Baby Bonus, CDA top-ups…’

Forget the usual “in sickness and in health”. This American groom promised to be “steady pom pi pi” and apply for BTO with his bride. 😂

Mercedes driver, 19, pleads not guilty over Johor crash that killed 5 people, including his own brother & 10 y/o girl

The Malaysian student studying in Singapore faces a dangerous driving charge after a June crash that killed four family members and his own elder brother

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks