Filing Tax on Multiple Platform Income in Malaysia 2026: Upwork, Fiverr, Shopee & Local Work
Malaysian freelancers and SME owners increasingly juggle income from Upwork, Fiverr, Shopee, Grab, TikTok Shop, and direct clients. Here is how to aggregate every stream for Form B, convert foreign currency correctly, and stay compliant with MyInvois and LHDN record-keeping rules.

Disclaimer: This article is general information for Malaysian freelancers and small-business owners with multiple income streams. It is not professional tax advice. Filing rules are set by the Income Tax Act 1967 and administered by the Inland Revenue Board of Malaysia (LHDN / HASiL). Consult a licensed tax agent for material questions.
Why platform-income aggregation is the top filing risk for Malaysian freelancers
The Malaysian freelance economy has exploded past 1.5 million active workers, and most of them now earn through at least two platforms. A typical profile in 2026 looks like this: freelance design on Upwork and Fiverr, a side shop on Shopee or TikTok Shop, occasional delivery runs on Grab or Lalamove, and direct invoices to a handful of local SME clients. Each stream sits in a different currency, a different payout schedule, and a different data silo — and LHDN expects you to add them all up on a single Form B every year.
When LHDN audits freelancers, the most common adjustment is not expense denial but unreported platform income. PayPal, Stripe, Payoneer, Shopee Seller Centre, and TikTok Shop Malaysia all share data with HASiL under the MyInvois initiative and data-matching programmes. Missing a Fiverr payout because the money never hit your local bank is the easiest way to land a penalty. This guide walks through aggregating every stream, converting foreign currency, mapping platforms to Form B fields, and keeping records for the seven-year retention period.
Step 1: List every active income stream
Before you touch the form, write down every platform and direct client that paid you in the calendar year 2025 (YA 2025, filed in 2026). A practical template:
- Platform name (Upwork, Fiverr, Shopee, Grab, TikTok Shop, Lazada, FastGig, etc.)
- Currency received (USD, SGD, EUR, MYR)
- Gross payout for the year (before platform fees, taxes, or withholding)
- Platform fee / commission deducted
- Net payout you actually received
- Withholding tax withheld (some US platforms withhold automatically)
You will need gross figures, not net, because both the commission and any withholding are reclaimed as deductible business expenses rather than omitted from income. LHDN taxes gross business receipts minus allowable expenses, so hiding the platform fee in a net number would undercount your deductions as well as your income.
Step 2: Convert foreign currency correctly
LHDN accepts two conversion methods for foreign-currency income:
- Actual rate on payout date — the most accurate and the default for audit purposes. Use the rate that your bank, Wise, or PayPal actually applied when converting to MYR, and keep the statement.
- Average rate for the year — acceptable only for genuinely continuous small-value receipts where date-by-date conversion is impractical. LHDN cites Bank Negara Malaysia's Exchange Rates page as the authoritative source.
If you leave USD in a PayPal balance and only convert once a quarter, you still recognise the MYR value at the time the income was earned, not when you eventually withdrew. Keep the PayPal activity log as evidence of the earning date. Many auditors at Big 4 firms such as Deloitte Malaysia and KPMG Malaysia recommend a simple monthly spreadsheet converting each payout in the month it is earned — it takes 15 minutes a month and prevents year-end reconstruction stress.
Step 3: Map each platform to the right Form B field
Form B treats all self-employment income as a single aggregate, but internally you should group your streams so the business profit and the allowable deductions line up with what really happened. The main buckets:
Professional services (design, coding, writing, consulting, translation)
Upwork, Fiverr, Toptal, Contra, direct SME invoices. Reported as business income in Part B of Form B (Pendapatan Perniagaan). Commission fees, platform subscriptions, Zoom, Figma, Canva Pro, and software licences are deductible.
E-commerce (physical products)
Shopee, Lazada, TikTok Shop, own Shopify store. Reported as business income. COGS, shipping to customers, Shopee/Lazada transaction fees, ad credits, and packaging are deductible. If you move into the MyInvois Phase 3 (RM1M–5M) band, self-billed e-invoices become mandatory from July 2026 — see our Phase 3 compliance guide.
Gig delivery / transport
Grab, Foodpanda, Lalamove, InDrive. Reported as business income. Under the Gig Workers Act 2025, SESSS contributions are now mandatory from July 2026, and the platform 1.25% matching payment is part of assessable income (offset by your own 1.25%, which is deductible).
Content creator / affiliate revenue
YouTube AdSense, TikTok Creator Rewards, Instagram reels bonuses, Shopee / Lazada affiliate commissions. LHDN treats these as business income unless it is clearly a one-off hobby payment.
Rental and passive income
If you also rent out a spare room or a commercial unit, report under Pendapatan Sewa (rental), not business income. Platform fees from Airbnb or Booking.com are deductible against the rental.
If a single transaction is ambiguous (e.g., a one-off YouTube sponsorship as a hobbyist), err on the side of declaring. LHDN's position, reiterated by PwC Malaysia, is that a reliable pattern of receipts is income even if small.
Step 4: Pull the data out of every platform
The annual tax pack you need from each service is usually labelled Earnings Summary, Tax Information, or Annual Statement. Useful sources:
- Upwork: Reports → Transactions → Certificate of Earnings
- Fiverr: Analytics → Earnings → Download CSV for the year
- Shopee Seller Centre: Finance → Income → Export statements
- Lazada Seller Center: Finance → Statements
- TikTok Shop Malaysia: Finance → Income Center
- Grab: Partner app → Earnings → Yearly summary
- Payoneer / Wise / PayPal: Activity → Download CSV and filter by year
Export the raw CSVs even if you also use the platform's summary dashboard — reconciliation against your bank deposits is only possible with transaction-level data.
Step 5: Build a single MYR earnings ledger
Combine everything into one ledger with these columns:
- Date earned / payout date
- Platform
- Client or order reference
- Currency and gross amount
- Exchange rate and MYR gross
- Platform fee (MYR)
- Withholding tax (MYR)
- Net received (MYR)
The column that goes on Form B is the MYR gross. Platform fees go into Commissions / Platform fees inside your expense schedule, and withholding tax paid overseas is usually creditable against your Malaysian tax via a double-tax-agreement claim or reported as an expense if no DTA applies.
Using Denpyo to streamline the ledger
Most platforms email payout confirmations and deposit notices as PDF or image. Denpyo can auto-extract the date, platform name, currency, gross amount, and fee from a photo or screenshot and keep a searchable digital archive — useful when LHDN issues a data-matching query two or three years later. Pair it with the Denpyo income tax calculator to model how combined platform income pushes you into higher brackets.
Step 6: Identify deductions specific to multi-platform workers
On top of the standard freelancer deductions covered in our business expenses guide, multi-platform earners commonly miss:
- Platform subscriptions and premium memberships (Upwork Plus, Fiverr Pro, Shopee Ads credits, TikTok Shop ad tokens).
- Payment-processor fees (PayPal 4.4% + fixed MYR fee, Wise 0.35%, Payoneer 2% withdrawal).
- Foreign-exchange losses when USD weakens between earning and withdrawal — deductible if properly documented.
- SESSS / EPF self-employed contributions you make under i-Saraan Plus.
- Bookkeeping and accounting software (Xero, Bukku, Biztory, Denpyo Pro).
- Multi-factor authentication tokens, e-invoicing add-ons, and MyInvois middleware subscriptions.
Step 7: Aggregate and file on Form B
Inside the ezHASiL e-BE/eBorang B flow, enter:
- Total gross business income from all platforms — a single MYR figure.
- Allowable expenses totalled across all streams.
- Capital allowances on shared equipment (one camera used for Fiverr, TikTok, and Shopee livestreams is apportioned by usage).
- Personal reliefs (EPF/SESSS, lifestyle relief, parental care, SOCSO, childcare, education) — see the progressive rates guide.
- Any foreign tax credit supported by the platform's 1042-S (US) or equivalent statement.
The LHDN e-filing deadline for Form B is 15 July 2026 (for YA 2025 income). Missing the deadline triggers a late-filing penalty of up to 300% of unpaid tax in the worst cases — see our penalties guide.
Worked example: designer-shop-rider hybrid
Arief runs UX design on Upwork, sells printed T-shirts on Shopee, and does weekend Grab Food deliveries. 2025 figures:
- Upwork gross (USD 18,000 at an average MYR 4.45): MYR 80,100
- Upwork fees (10%): MYR 8,010 deductible
- Shopee gross: MYR 62,000
- Shopee fees, shipping, ad credits: MYR 14,500 deductible
- Grab gross: MYR 9,800
- Grab fuel, maintenance, phone plan: MYR 3,900 deductible
- Total gross business income: MYR 151,900
- Total business expenses: MYR 31,510 (fees) + MYR 22,000 (other operating: software, home-office share, SESSS, COGS, etc.) = MYR 53,510
- Capital allowance on camera + laptop pool: MYR 4,800
- Statutory income: 151,900 − 53,510 − 4,800 = MYR 93,590
- Personal reliefs (self RM9,000 + EPF/SOCSO/SESSS RM4,000 + lifestyle RM2,500 + parental RM3,000): RM18,500
- Chargeable income ≈ RM75,090
Based on 2026 progressive rates, Arief's income tax is about RM5,920 before any rebates. Missing any one of the platform streams would drop his declared income but also his deductible fees — and would still understate his real earnings by tens of thousands, risking penalties well above any short-term saving.
Record-keeping: the seven-year rule
The Income Tax Act 1967 requires you to keep business records for seven years. For multi-platform workers that means:
- Platform CSVs and PDF tax statements per year
- Bank statements showing each payout
- Screenshots of exchange rates or Wise/PayPal conversion confirmations
- Invoices or contracts for direct clients
- Fee schedules and affiliate statements
Denpyo's receipt archive, plus a clearly named folder per platform per year (e.g., 2025-Upwork, 2025-Shopee), is usually enough to satisfy an LHDN audit request. For the digital recordkeeping rules, see our 7-year record-keeping guide.
Common mistakes
- Only declaring what hit the Malaysian bank. Income earned is income, even if it stays in PayPal or Payoneer all year.
- Netting fees against income. Always report gross and deduct fees separately — it increases your deductible total.
- Using year-end FX rates for every payout. BNM's daily rates matter, especially in a volatile USD/MYR year.
- Forgetting US withholding. Check whether the platform withheld US tax; if yes, you may need a Form W-8BEN on file to avoid the 30% rate.
- Mixing rental and platform income. Rental goes to Pendapatan Sewa, not business income — different expense rules apply.
Summary
Multi-platform Malaysian freelancers and SME owners have the same legal obligation as any other business: declare gross earnings, deduct allowable expenses, and keep the paper trail. The challenge is operational — pulling data out of five different dashboards, converting three currencies, and matching every payout to a bank line. A monthly aggregation habit, Denpyo's digital archive, and a single Form B ledger of gross MYR figures turn what looks like a nightmare into a 60-minute job before 15 July. Run the numbers through our tax savings estimator and verify each expense with the expense deductibility checker to make sure every deductible ringgit is in the return.
Track expenses, maximize deductions
Denpyo scans your receipts and finds tax savings automatically.