The SPT Tahunan deadline is March 31 for individual taxpayers and April 30 for corporate entities. Every year it arrives on the same date. And every year, the majority of small business owners in Jakarta and beyond spend the final two weeks before the deadline digging through a shoebox of receipts, calling their bank for statements they cannot find online, and piecing together income records they swore they kept somewhere.
I ran a cafe's books this way for two years. I know what it costs: not just the hours, but the errors you make when you are rushing. You miss deductible expenses because you cannot find the documentation. You overstate income because you cannot separate two bank accounts. You file something you are not confident in, and then spend the next month quietly hoping the tax office does not follow up.
Preparing well does not require accounting training. It requires starting in December instead of February, and knowing exactly which categories of information you need to track down.
Why the scramble happens every year
The core problem is not that tax filing is complicated. For most small businesses with a single revenue stream, the calculation is straightforward. The problem is that the documentation was never organized in the first place.
During the year, a cafe owner is focused on running the cafe. Receipts from the bahan baku supplier go in a drawer. The electricity bill PDF lands in an inbox folder nobody checks. The QRIS settlement report sits somewhere in the payment app. None of this feels urgent until the deadline is three weeks away and everything needs to be in one place at once.
The fix is not a better filing system in March. It is a habit built during the year so that by the time January arrives, most of the work is already done.
The documents you actually need
For an individual taxpayer running a small business under their own NPWP, the SPT Tahunan Orang Pribadi requires you to report:
- Gross business income for the year
- Allowable deductions (either using the norma calculation or actual documented expenses)
- Other income sources: salary from a second job, rental income, dividends, interest
- Tax already paid during the year via PPh 25 installments or withholding by counterparties
- Assets and liabilities as of December 31
The documents that support this filing include: monthly bank statements for all accounts you use for business, income receipts or POS settlement reports, expense receipts that you intend to claim as deductions, proof of tax payments made during the year (Surat Setoran Pajak or SSP), and any Bukti Potong (tax withholding certificates) received from clients who withheld PPh 23 on your invoices.
Missing any of these does not mean you cannot file. It means you will file with less precision, which increases the chance that what you report does not match what the tax office already knows about you.
Marketplace income is no longer invisible
This is the area where many business owners are still catching up. Since the Direktorat Jenderal Pajak (DJP) began receiving data feeds from major e-commerce and payment platforms, the income you earn through Tokopedia, Shopee, Bukalapak, and similar channels is visible to the tax office even if you never reported it yourself.
The practical implication: if your SPT shows business income of Rp 180 juta but the DJP's data shows Rp 240 juta in marketplace transactions under your NPWP, you will receive a clarification letter. These letters are not audits by default. They are requests for explanation. But they require time and documentation to resolve, and they tend to arrive when you are already busy.
The correct approach is to pull your full marketplace settlement data before filing. Most platforms let you export annual transaction reports. Add that figure to your other income, not as a separate category in daily bookkeeping but as part of your total peredaran bruto (gross turnover).
Norma vs. actual bookkeeping: which one applies to you
Small business owners with annual gross income below Rp 4,8 miliar can choose between two methods for calculating taxable income.
The first is the norma calculation. DJP publishes fixed percentage rates by business type and city classification. A cafe in Jakarta, for example, might use a norma of 35%. This means 35% of your gross income is treated as net taxable income, regardless of your actual expenses. You multiply your gross income by the norma, subtract the PTKP (non-taxable income threshold based on your family status), and apply the progressive tax rate to whatever remains.
The second method is actual bookkeeping. You report your real income and real deductible expenses, and pay tax on the actual net profit. This requires proper documentation for every expense you claim.
The norma method is simpler to file but can result in higher tax if your actual expense ratio is greater than the norma assumes. Actual bookkeeping gives you a more accurate picture but requires the documentation discipline that most small businesses struggle with. If you want to use the actual method for the 2026 tax year, you need to notify DJP and keep records throughout the year, not just at filing time.
Building the habit before December
The owners who file without stress are not smarter than the ones who scramble. They just do one thing every month: they reconcile. At the end of each month, they confirm that their bank statement matches their income and expense records. Any receipt that arrived during the month gets categorized and filed digitally. Any tax payment made during the month gets logged with its date and reference number.
By December, filing becomes mostly a matter of summing up twelve months of clean data. The receipts are already organized. The bank statements are already downloaded. The norma or expense calculation is straightforward because the numbers were tracked as they happened.
If you did not do this during 2025, you are not starting from zero. You are starting from paper. Get the last twelve months of bank statements, group your transactions by category, and build the picture backward. It is slower, but it works.
What Ledgerowl does here, and what it does not
We built Ledgerowl to handle the categorization and monthly draft work automatically, so that the year-end reconciliation is a summary of twelve months already in order rather than a reconstruction from scratch.
To be clear about what this means: Ledgerowl drafts your filing information. It does not submit anything on your behalf. Every figure in the draft goes through your review before it goes anywhere near a DJP portal. If something looks wrong, you change it. If you are uncertain about a specific deduction or income item, that is the moment to consult a licensed tax consultant (Konsultan Pajak) who understands your situation.
We are not saying that automated bookkeeping replaces professional advice for complex cases. If you have multiple entities, disputed withholding certificates, or unusual income sources, bring in a professional. What we are saying is that having clean, categorized books makes that conversation faster and cheaper, because the consultant spends time on judgment calls rather than data entry.
The March deadline will arrive again next year. The question is whether you are building the habit now that makes that deadline feel like a normal end of quarter, or whether you are scheduling another February scramble.