• umkm
  • engineering
  • e-commerce

Website Sales Data for Coretax Annual Filing (Indonesian SMEs)

Prepare website sales data for Coretax annual SPT filing: monthly gross turnover, QRIS reconciliation, checkout exports, and fewer DJP audit mismatches.

6 min read
Website Sales Data for Coretax Annual Filing (Indonesian SMEs)

Coretax annual filing in 2026 is the first tax season many Indonesian micro and small businesses enter monthly gross turnover without downloading legacy PDF e-Forms. Coretax itself ranked among Indonesia's top Google searches in 2025 — not because owners enjoy tax week, but because the unified portal at coretaxdjp.pajak.go.id wires billing, 0.5% final income tax payments, and annual SPT drafts into one browser workflow. What usually breaks is not the login screen; it is website sales data (and WhatsApp orders) never summarized by month, so the L-3B attachment gets filled from memory.

This article explains how to build monthly gross turnover from checkout and payment gateways in line with reporting — not a full accounting course, but the engineering-first flow we use for SMBs in Nganjuk, East Java, and nationwide omnichannel sellers.

1. What Coretax Changes for Individual Business Owners

DJP positions Coretax as a unified tax administration system: browser login, SPT drafts, electronic signing, no desktop installer. Under the 0.5% final income tax scheme (Government Regulation 55/2022), monthly payments created through billing can prepopulate your annual draft — less typing, more visibility when internal records do not match.

For online sellers, the practical shifts are:

  • Turnover is entered per calendar month (January–December) in the business attachment, not as one annual guess.
  • Data sources mix: marketplace dashboards, QRIS settlements, virtual account transfers, and owned-website orders.
  • Turnover tax exemptions for individuals (thresholds defined by DJP, often discussed as a Rp500 million annual facility) are calculated by the system — the numbers you type must be consistent, not hopeful.

If you are a VAT-registered taxpayer (PKP) issuing e-Faktur, read PPN 11% and Coretax on business websites. This piece targets SMBs reporting business turnover from digital channels without routine VAT invoices.

2. L-3B Attachment and the Turnover Definition You Must Collect

For many SMBs in Coretax, the critical section is Attachment L-3B (monthly gross turnover recap). The figure is gross sales turnover, not net profit and not always equal to cash in the bank on the same day.

ConceptTypically includedTypically excluded
Website gross turnoverProduct/service amounts customers pay before final tax calculationVAT if you are PKP (separate reporting)
Full refundReduces the month when processedBank admin fees
Store discountStill part of gross; net tracked separatelyMarketplace subsidies you never book as sales
Shipping charged to buyerPart of gross if you invoice itPass-through shipping with no markup

A classic mistake: summing QRIS settlement batches as turnover when transaction dates span month-end. The fix is not avoiding QRIS — see QRIS MDR changes for website checkout — but separating transaction date from settlement date.

3. Why an Owned Website Helps Filing (When Data Is Structured)

Marketplaces provide turnover reports, but definitions of "earnings" do not always match DJP's monthly recap. A website you control can be the system of record for:

  • Order timestamps (WIB timezone)
  • Channel (website, whatsapp, offline)
  • Payment method (QRIS, GoPay, BCA VA, COD)
  • Refund and cancellation status

Without a website, many SMBs rely on WhatsApp screenshots — that does not scale at annual filing time. The same foundation supports financing readiness; see digital bookkeeping for Indonesian SMBs.

4. Minimum Order Schema (Monthly Export Ready)

Design the orders table so one SQL query or pivot produces 12 monthly rows:

YAML
order_id: "ORD-2026-09304"
ordered_at: "2026-03-15T10:22:00+07:00"
channel: "website"
gross_amount: 350000
discount_amount: 25000
refund_amount: 0
payment_method: "qris"
payment_status: "paid"
settlement_at: "2026-03-16T08:00:00+07:00"
is_cancelled: false

Calendar-month aggregation logic:

sql
SELECT
  DATE_TRUNC('month', ordered_at AT TIME ZONE 'Asia/Jakarta') AS month,
  SUM(gross_amount - refund_amount) AS gross_turnover
FROM orders
WHERE is_cancelled = false
  AND payment_status = 'paid'
GROUP BY 1
ORDER BY 1;

If you also sell on Tokopedia or Shopee, keep marketplace turnover on a separate sheet, then add months in a master workbook — do not import twice into Coretax.

5. Reconciling Gateways, QRIS, and Bank Statements

A lightweight finance rhythm for SMBs without a full accounting team:

  1. Transaction day — gross turnover from the website database (or WooCommerce export).
  2. Weekly — match Midtrans, Xendit, or Doku dashboards (gross vs fees vs net settlement).
  3. Monthly — compare database totals with prepopulated final tax payments in Coretax; document gaps (refunds, unpaid COD, month-end pending orders).
SignalUse forDo not use directly as gross turnover
Gateway dashboardFees, settlement, disputes—
Bank statementCash verificationGross turnover (lagging / mixed personal)
Order databaseL-3B monthly lines—
Marketplace reportSeparate channelDuplicated with website rows

If channel margin is still unclear, run net margin: marketplace vs website first — SPT turnover stays gross, but margin clarity prevents misclassified discounts or platform subsidies.

6. Export Patterns from Common SMB Stacks

Spreadsheet + manual WhatsApp — 12 month columns plus channel rows; fine under ~30 orders/month. Risk: copy-paste errors.

WordPress + WooCommerce — order export plugins; align date_created and total; treat refunds as separate rows or meta.

Custom Next.js / Laravel — admin endpoint GET /reports/monthly-gross?year=2025 returning JSON/CSV; archive CSV per tax year in cloud storage, not only on the owner's laptop.

POS + website — distinct order_id prefixes (POS-, WEB-) so POS–website integration does not double-count when merged.

For any pattern, validate one sample month: compare export totals with a manual sum of five random orders. If the delta is not zero, fix timezone or pending status handling.

7. Pre-Submit Checklist in Coretax

  • January–December turnover summed across all business channels
  • Refunds reduce the correct month
  • Monthly 0.5% payments match Coretax prepopulation
  • Operating bank account separated from personal use
  • Website export CSV/PDF archived for at least five years
  • Accountant review if you have employment income plus business income

8. Comparison: Manual Entry vs Website Pipeline

AspectMemory-based entryWebsite-backed pipeline
SPT prep time2–5 stressful days2–4 hours of review
Audit mismatch riskHighLow with monthly reconciliation
Upfront costRp0Database/export setup
Scalability beyond ~100 orders/monthPoorGood
Bank / KUR readinessWeakStrong with 12 consistent months

Conclusion

Website sales data for Coretax annual filing is not a March sprint — it is a monthly habit: calendar gross turnover, refunds applied correctly, and gateway reconciliation before you submit in Coretax DJP. The new portal removes paperwork friction, but it cannot replace clean checkout records on channels you own.

Zero Args Technology builds checkout flows, payment webhooks, and simple monthly turnover exports without over-engineering. Start a conversation if you want L-3B-ready exports from an existing site or one you are planning.

Frequently asked questions

Must website turnover match my bank statement exactly for Coretax?

Reported turnover is gross sales from your business, not always equal to bank balance on the same dates because of QRIS settlement timing, refunds, and COD. You need monthly reconciliation notes that explain any gap.

What if I sell on marketplaces and on my own website?

Combine gross turnover per month from every channel you report in one return without double-counting. Keep marketplace and website totals separate in internal records, then sum by month for the L-3B attachment.

Does this article replace a tax advisor?

No. This focuses on data structure and engineering flow from website to monthly totals. Tax status, SPT model, and turnover exemptions must be confirmed with an accountant or Indonesia's Directorate General of Taxes (DJP).

Which order fields are required for SPT-ready reporting?

At minimum: order_id, transaction date, gross_amount, refund_amount, channel, payment_method, and settlement status. Without refunds and consistent dates, monthly turnover drifts away from prepopulated final income tax payments in Coretax.

Related articles

Have a project in mind?

Let's talk about what you need. We'd love to help turn your idea into a real product.