R

Tax & Compliance

Standard Operating Procedures — PT Recharge Pod Ltd Bali
Department: Tax & Compliance Generated: April 2026 SOPs: 5 procedures Source: ClickUp Docs (auto-generated)

Procedures

0

SOP 0: Tax & Compliance Overview — What Yoga Does vs What the Team Does

PurposeClearly separate responsibilities between Yoga (external tax advisor), the internal finance team, and automated systems — so nothing falls through the cracks and no one duplicates work.
FrequencyReference document — review quarterly or when roles change.
OwnerYoga (tax advisor) / Justin (oversight)
Time NeededN/A (reference document)

SOP 0: Tax & Compliance Overview — What Yoga Does vs What the Team Does

Purpose

Clearly separate responsibilities between Yoga (external tax advisor), the internal finance team, and automated systems — so nothing falls through the cracks and no one duplicates work.

Cross-References

Finance SOP 9: Yoga Responsibilities vs Team — the finance-side mirror of this document

Frequency

Reference document — review quarterly or when roles change.

Owner

Yoga (tax advisor) / Justin (oversight)

Maintainer

Wina

Time Needed

N/A (reference document)

  1. What Yoga Files with DJP (Government Tax Authority)

\[table-embed:1:1 Tax Type | 1:2 Full Name | 1:3 What It Is | 1:4 Filing Deadline | 2:1 PPh 21 | 2:2 Pajak Penghasilan Pasal 21 | 2:3 Employee income tax | 2:4 20th of following month | 3:1 PPh 23 | 3:2 Pajak Penghasilan Pasal 23 | 3:3 Withholding tax on services/royalties | 3:4 20th of following month | 4:1 PPh 26 | 4:2 Pajak Penghasilan Pasal 26 | 4:3 Withholding tax on payments to non-residents | 4:4 20th of following month | 5:1 PPN | 5:2 Pajak Pertambahan Nilai | 5:3 Value Added Tax (VAT) | 5:4 End of following month | 6:1 SPT Tahunan | 6:2 Surat Pemberitahuan Tahunan | 6:3 Annual Corporate Tax Return | 6:4 April 30 each year |\]

Yoga's role: Prepares the returns, files them via DJP Online, provides proof of filing (BPE — Bukti Penerimaan Elektronik).

  1. What the Team Prepares for Yoga

\[table-embed:1:1 Data | 1:2 Responsible | 1:3 Deadline | 1:4 Notes | 2:1 Bank statements (all accounts) | 2:2 Ami | 2:3 By 3rd of month | 2:4 Download from BNI/other banks | 3:1 Payroll summary | 3:2 Ami | 3:3 By 3rd of month | 3:4 Gross salary, deductions, net pay per employee | 4:1 WHT summaries | 4:2 Ami (system-assisted) | 4:3 By 3rd of month | 4:4 Cross-check with n8n Workflow W15 output | 5:1 Vendor invoices with tax | 5:2 Ami | 5:3 By 3rd of month | 5:4 Any invoices showing PPN or PPh amounts | 6:1 Revenue report | 6:2 Ami | 6:3 By 3rd of month | 6:4 Sales/revenue for the month |\]

Key rule: All data must reach Yoga by the 5th of each month — no exceptions. Late data = late filing = penalties.

  1. What the System Automates

\[table-embed:1:1 System | 1:2 What It Does | 1:3 Workflow | 2:1 n8n W15 | 2:2 Generates WHT (Withholding Tax) reports from transaction data | 2:3 Automated monthly | 3:1 n8n W13 | 3:2 Sends filing deadline reminders to Telegram | 3:3 Automated alerts | 4:1 n8n W9 | 4:2 Alerts on potential penalty situations | 4:3 Triggered by missed deadlines |\]

Note: Automation assists but does NOT replace human review. Ami must verify all automated outputs before sending to Yoga.

  1. BPJS — Handled Internally (Not by Yoga)

\[table-embed:1:1 Program | 1:2 Full Name | 1:3 What It Is | 1:4 Handled By | 2:1 BPJS Kesehatan | 2:2 Health Insurance | 2:3 Mandatory employee health coverage | 2:4 Finance team (Ami) | 3:1 BPJS Ketenagakerjaan | 3:2 Employment Insurance | 3:3 Work accident, death, pension, old age | 3:4 Finance team (Ami) |\]

Filing: Monthly via BPJS online portal. Deadline: 15th of each month.

Done When

Every team member knows exactly what they prepare vs what Yoga files

Data handoff dates (3rd to 5th) are in everyone's calendar

Automated workflows (W9, W13, W15) are active and monitored

BPJS responsibilities are clearly assigned to Ami

If Something Goes Wrong

Yoga does not receive data on time: Ami escalates to Justin immediately. Do NOT wait — penalties start automatically.

Automated reports look wrong: Ami manually prepares the data and flags the workflow issue to the tech team.

Confusion about who does what: Refer to this SOP. If still unclear, Justin decides.

TBD Items

TBD — confirm with Yoga: Exact format Yoga prefers for data delivery (email, Google Drive, WhatsApp?)

TBD — confirm with Yoga: Does Yoga handle LKPM filing or just tax returns?

1

SOP 1: Monthly DJP Tax Filing Process

PurposeEnsure all monthly tax returns (PPh 21, PPh 23, PPh 26, PPN) are prepared, filed, and confirmed on time every month — with zero penalties.
FrequencyMonthly — every month, no exceptions.
OwnerYoga (filing) / Ami (data preparation) / Justin (oversight)
Time NeededData preparation: 2-3 hours (Ami, by 3rd)

SOP 1: Monthly DJP Tax Filing Process

Purpose

Ensure all monthly tax returns (PPh 21, PPh 23, PPh 26, PPN) are prepared, filed, and confirmed on time every month — with zero penalties.

Cross-References

Tax SOP 0: Overview of Yoga vs Team responsibilities

Finance SOP 13: DJP Calendar — master calendar of all tax deadlines

Finance SOP 9: Yoga Responsibilities vs Team

Frequency

Monthly — every month, no exceptions.

Owner

Yoga (filing) / Ami (data preparation) / Justin (oversight)

Maintainer

Wina

Time Needed

Data preparation: 2-3 hours (Ami, by 3rd)

Data review and handoff: 1 hour (Ami, by 5th)

Filing: Yoga handles independently after receiving data

Monthly Filing Timeline

\[table-embed:1:1 Day of Month | 1:2 Who | 1:3 Action | 2:1 1st-3rd | 2:2 Ami | 2:3 Prepare all data: bank statements, payroll summary, WHT summaries, vendor invoices, revenue report | 3:1 3rd-5th | 3:2 Ami | 3:3 Review data, package it, send to Yoga | 4:1 5th | 4:2 Ami to Yoga | 4:3 DATA HANDOFF DEADLINE — Yoga must have everything by end of day | 5:1 6th-19th | 5:2 Yoga | 5:3 Prepares PPh 21, PPh 23, PPh 26 returns | 6:1 20th | 6:2 Yoga | 6:3 PPh 21/23/26 FILING DEADLINE — filed via DJP Online | 7:1 21st-28th | 7:2 Yoga | 7:3 Prepares PPN return | 8:1 End of month | 8:2 Yoga | 8:3 PPN FILING DEADLINE — filed via DJP Online | 9:1 Within 3 days of filing | 9:2 Yoga to Ami | 9:3 Sends proof of filing (BPE) for each return |\]

Step-by-Step: Data Preparation (Ami)

Step 1: Download Bank Statements (Day 1-2)

Log into each bank portal (BNI, others)

Download the previous month's full statement in PDF and CSV

Save to the designated Google Drive folder: Finance > Tax > \[YYYY-MM\] > Bank Statements

Step 2: Prepare Payroll Summary (Day 1-2)

Export payroll data from the payroll system/spreadsheet

Include: employee name, NPWP, gross salary, PPh 21 withheld, BPJS contributions, net pay

Save to: Finance > Tax > \[YYYY-MM\] > Payroll

Step 3: Compile WHT Summaries (Day 2-3)

Check n8n Workflow W15 output for automated WHT report

Cross-reference with actual vendor payments

Ensure every payment to a vendor/contractor with WHT has a Bukti Potong prepared

Save to: Finance > Tax > \[YYYY-MM\] > WHT

Step 4: Gather Vendor Invoices (Day 2-3)

Collect all vendor invoices from the month that include PPN or PPh amounts

Verify tax amounts match what was withheld/paid

Save to: Finance > Tax > \[YYYY-MM\] > Invoices

Step 5: Prepare Revenue Report (Day 2-3)

Compile total revenue for the month from all sources

Break down by: domestic sales, export sales, service income

Save to: Finance > Tax > \[YYYY-MM\] > Revenue

Step 6: Package and Send to Yoga (Day 3-5)

Review all documents for completeness

Create a cover email/message listing all documents included

Send to Yoga via agreed channel (TBD — confirm preferred method)

Confirm Yoga received everything

Penalty Reference

\[table-embed:1:1 Tax Type | 1:2 Late Filing Penalty | 1:3 Late Payment Penalty | 2:1 PPh 21 | 2:2 Rp 100,000/month | 2:3 2% per month on unpaid tax | 3:1 PPh 23 | 3:2 Rp 100,000/month | 3:3 2% per month on unpaid tax | 4:1 PPh 26 | 4:2 Rp 100,000/month | 4:3 2% per month on unpaid tax | 5:1 PPN | 5:2 Rp 500,000/month | 5:3 2% per month on unpaid tax |\]

Important: Penalties accumulate. A single month of missed PPh filings across all 3 types = Rp 300,000. Add PPN = Rp 800,000. This adds up fast.

Done When

All data sent to Yoga by 5th of the month

Yoga confirms receipt of all documents

PPh 21/23/26 filed by 20th (BPE received)

PPN filed by end of month (BPE received)

All BPEs saved to Finance > Tax > \[YYYY-MM\] > Filing Proofs

No penalty notifications received

If Something Goes Wrong

Data not ready by 3rd: Ami works overtime or asks for help. Escalate to Justin if blockers exist. Never miss the 5th.

Yoga not responsive: Justin contacts Yoga directly. If Yoga is unavailable, Justin must arrange alternative filing.

BPE not received after filing: Follow up with Yoga within 3 days. Filing without proof = filing did not happen.

Penalty notice received: Immediately inform Justin. Determine cause (late data vs late filing). Document for future prevention.

Bank portal down: Try again. If still down by Day 3, call the bank. Download from branch if necessary.

TBD Items

TBD — confirm with Yoga: Preferred data delivery method (email, Drive link, WhatsApp?)

TBD — confirm with Yoga: Does Yoga need access to the Google Drive folder directly?

TBD — confirm with Ami: Are all bank portals accessible with current credentials?

2

SOP 2: Company Permits and Licenses Register

PurposeTrack all company permits, licenses, and registrations in one place — ensuring nothing expires without warning and renewals start on time.
FrequencyReview monthly. Update immediately when any permit status changes.
OwnerYoga / Justin
Time NeededMonthly review: 30 minutes

SOP 2: Company Permits and Licenses Register

Purpose

Track all company permits, licenses, and registrations in one place — ensuring nothing expires without warning and renewals start on time.

Cross-References

Tax SOP 3: LKPM Quarterly Reporting (one of the key compliance obligations)

HR SOPs: KITAS/RPTKA management for foreign workers

Frequency

Review monthly. Update immediately when any permit status changes.

Owner

Yoga / Justin

Maintainer

Wina

Time Needed

Monthly review: 30 minutes

Renewal process: varies (1 week to 3 months depending on permit)

Permit Register

ALL details below are TBD — to be confirmed by Yoga/Nina. This is the template structure; actual dates, numbers, and statuses must be filled in.

\[table-embed:1:1 # | 1:2 Permit/License | 1:3 Full Name | 1:4 Issuing Authority | 1:5 Reg Number | 1:6 Issue Date | 1:7 Expiry Date | 1:8 Renewal Lead Time | 1:9 Responsible | 1:10 Status | 2:1 1 | 2:2 NIB | 2:3 Nomor Induk Berusaha (Business ID Number) | 2:4 OSS/BKPM | 2:5 TBD | 2:6 TBD | 2:7 Permanent (no expiry) | 2:8 N/A | 2:9 Justin | 2:10 TBD | 3:1 2 | 3:2 NPWP | 3:3 Nomor Pokok Wajib Pajak (Tax ID) | 3:4 DJP | 3:5 TBD | 3:6 TBD | 3:7 Permanent | 3:8 N/A | 3:9 Yoga | 3:10 TBD | 4:1 3 | 4:2 LKPM Registration | 4:3 Investment Activity Report Registration | 4:4 BKPM via OSS | 4:5 TBD | 4:6 TBD | 4:7 Ongoing (quarterly filing) | 4:8 Quarterly | 4:9 Yoga | 4:10 TBD | 5:1 4 | 5:2 KITAS | 5:3 Limited Stay Permit (for foreign workers) | 5:4 Immigration (Imigrasi) | 5:5 TBD | 5:6 TBD | 5:7 TBD | 5:8 3 months before expiry | 5:9 Justin/Nina | 5:10 TBD | 6:1 5 | 6:2 RPTKA | 6:3 Foreign Worker Employment Plan | 6:4 Ministry of Manpower | 6:5 TBD | 6:6 TBD | 6:7 TBD | 6:8 3 months before expiry | 6:9 Justin/Nina | 6:10 TBD | 7:1 6 | 7:2 IMTA/Notifikasi | 7:3 Foreign Worker Permit | 7:4 Ministry of Manpower via TKA Online | 7:5 TBD | 7:6 TBD | 7:7 TBD | 7:8 2 months before expiry | 7:9 Justin/Nina | 7:10 TBD | 8:1 7 | 8:2 Company Registration | 8:3 PT PMA Registration | 8:4 MOLHR (AHU Online) | 8:5 TBD | 8:6 TBD | 8:7 Permanent | 8:8 N/A | 8:9 Justin | 8:10 TBD | 9:1 8 | 9:2 BPJS Kesehatan | 9:3 Health Insurance Registration | 9:4 BPJS Kesehatan | 9:5 TBD | 9:6 TBD | 9:7 Ongoing | 9:8 N/A | 9:9 Ami | 9:10 TBD | 10:1 9 | 10:2 BPJS Ketenagakerjaan | 10:3 Employment Insurance Registration | 10:4 BPJS Ketenagakerjaan | 10:5 TBD | 10:6 TBD | 10:7 Ongoing | 10:8 N/A | 10:9 Ami | 10:10 TBD | 11:1 10 | 11:2 Domicile Letter | 11:3 Surat Domisili | 11:4 Local village office (Banjar/Kelurahan) | 11:5 TBD | 11:6 TBD | 11:7 TBD | 11:8 1 month before expiry | 11:9 Justin/Nina | 11:10 TBD |\]

Step-by-Step: Monthly Permit Review

Step 1: Open the Permit Register

Access this SOP task or the linked spreadsheet (if created)

Review each permit row

Step 2: Check Expiry Dates

For each permit with an expiry date, calculate months remaining

If months remaining is less than or equal to Renewal Lead Time — FLAG FOR RENEWAL

Highlight flagged permits in red

Step 3: Verify Permit Status

For permits marked "Active" — confirm they are still valid

For permits marked "In Renewal" — check progress with responsible person

For permits marked "Expired" — ESCALATE TO JUSTIN IMMEDIATELY

Step 4: Update the Register

Update any changed dates, numbers, or statuses

Add any new permits obtained during the month

Remove any permits that no longer apply

Step 5: Report

Send monthly permit status summary to Justin

Flag any permits approaching renewal

Flag any permits with unknown status

Renewal Process

Step 1: Identify Permit Needing Renewal

Per the monthly review, a permit is flagged for renewal

Step 2: Assign to Responsible Person

Justin assigns renewal to the responsible person listed in the register

Set a deadline for completion (before expiry date)

Step 3: Gather Required Documents

Responsible person identifies required documents for renewal

Collects and prepares all paperwork

TBD — document requirements vary per permit; Yoga/Nina to provide checklists

Step 4: Submit Renewal Application

Submit via the appropriate channel (online portal, in-person, via agent)

Save proof of submission

Track progress

Step 5: Receive Renewed Permit

Once renewed, update the register with new dates and numbers

Save digital copy of renewed permit to: Legal > Permits > \[Permit Name\]

Inform Justin of completion

Done When

All permits are listed in the register with current status

No permits have expired without action

All permits approaching renewal have been flagged

Monthly review has been completed and reported to Justin

If Something Goes Wrong

Permit expired without renewal: Escalate to Justin and Yoga immediately. Some permits have grace periods — check with Yoga.

Cannot determine permit status: Contact Yoga or Nina to verify. Do not assume "active" without confirmation.

Renewal rejected: Escalate to Justin. Determine reason, fix, and resubmit. Document the rejection reason.

New regulation requires additional permits: Yoga should flag this. Justin decides on action plan.

TBD Items

TBD — Yoga/Nina: Fill in ALL registration numbers, issue dates, expiry dates

TBD — Yoga/Nina: Confirm which permits Regenesis currently holds

TBD — Yoga/Nina: Provide renewal document checklists for each permit

TBD — Justin: Decide if this register should also live in a Google Sheet for easier tracking

TBD — Nina: Confirm KITAS/RPTKA details for all foreign workers

3

SOP 3: LKPM Quarterly Reporting

PurposeFile the mandatory LKPM (Laporan Kegiatan Penanaman Modal — Investment Activity Report) on time every quarter to maintain compliance with BKPM regulations and avoid penalties.
FrequencyQuarterly — filed within 10 days after the end of each quarter.
OwnerYoga (filing) / Justin (approval and data)
Time NeededData gathering: 2-3 hours (Justin/Ami)

SOP 3: LKPM Quarterly Reporting

Purpose

File the mandatory LKPM (Laporan Kegiatan Penanaman Modal — Investment Activity Report) on time every quarter to maintain compliance with BKPM regulations and avoid penalties.

Cross-References

Tax SOP 0: Overview of Yoga vs Team responsibilities

Tax SOP 2: Company Permits and Licenses Register (LKPM is a tracked obligation)

Finance SOPs: For financial data needed in the report

Frequency

Quarterly — filed within 10 days after the end of each quarter.

\[table-embed:1:1 Quarter | 1:2 Period | 1:3 Filing Deadline | 2:1 Q1 | 2:2 January - March | 2:3 April 10 | 3:1 Q2 | 3:2 April - June | 3:3 July 10 | 4:1 Q3 | 4:2 July - September | 4:3 October 10 | 5:1 Q4 | 5:2 October - December | 5:3 January 10 |\]

Owner

Yoga (filing) / Justin (approval and data)

Maintainer

Wina

Time Needed

Data gathering: 2-3 hours (Justin/Ami)

Filing: Yoga handles via OSS portal

What Is LKPM?

LKPM is a mandatory report for all PMA (foreign investment) companies in Indonesia. It reports on:

Investment Realization — How much of the approved investment has been realized (spent)

Employment Data — Number of Indonesian and foreign workers employed

Production/Revenue Data — Business output and revenue figures

Problems/Obstacles — Any issues affecting the investment

Filed via: OSS (Online Single Submission) system at oss.go.id

Legal basis: BKPM Regulation No. 5/2021

Step-by-Step: Quarterly LKPM Filing

Step 1: Calendar Reminder (2 weeks before deadline)

n8n workflow should trigger a reminder 2 weeks before each quarterly deadline

If no reminder received, Ami manually flags to Justin and Yoga

Begin data gathering immediately

Step 2: Gather Investment Realization Data (Justin/Ami)

Compile total capital expenditure for the quarter

Break down by category:

Land and buildings

Machinery and equipment

Other fixed assets

Working capital

Compare against approved investment plan (RPTKA/NIB)

Calculate cumulative realization to date

Step 3: Gather Employment Data (Ami)

Total Indonesian employees (end of quarter):

Male / Female breakdown

By department/function

Total foreign employees (end of quarter):

By nationality

KITAS/permit numbers

Any changes from previous quarter

Step 4: Gather Production/Revenue Data (Ami/Justin)

Total revenue for the quarter

Number of units produced/sold (pods)

Export vs domestic breakdown

Capacity utilization

Step 5: Prepare Data Package for Yoga (Ami)

Compile all data into a summary document

Send to Yoga by 5 days after quarter end (gives Yoga 5 days to file)

Include any supporting documents Yoga requests

Step 6: Yoga Files via OSS (Yoga)

Yoga logs into OSS portal

Fills in LKPM report with provided data

Submits the report

Downloads proof of filing (Tanda Terima)

Sends Tanda Terima to Ami for records

Step 7: Archive Filing Proof (Ami)

Save Tanda Terima to: Legal > LKPM > \[YYYY-QX\] > Filing Proof

Save data package to same folder

Update the Permits Register (Tax SOP 2) with filing date

Penalties for Non-Filing

\[table-embed:1:1 Violation | 1:2 Consequence | 2:1 First missed filing | 2:2 Written warning from BKPM | 3:1 Continued non-filing | 3:2 Activity restriction (partial business suspension) | 4:1 Prolonged non-compliance | 4:2 Revocation of business license (NIB) |\]

This is serious. LKPM non-compliance can result in the company losing its right to operate. It is not just a fine — it can shut down the business.

Done When

Data package sent to Yoga by 5 days after quarter end

Yoga confirms LKPM filed via OSS

Tanda Terima (proof of filing) received and archived

Permits Register updated with filing date

No warning letters received from BKPM

If Something Goes Wrong

Data not ready in time: Justin prioritizes — this is legally critical. Overtime if necessary. Partial data is better than no filing.

Yoga misses deadline: Justin contacts Yoga immediately. If Yoga is unresponsive, Justin must file directly or find alternative. Escalate to legal counsel.

OSS system down: Document the system outage (screenshots). BKPM sometimes extends deadlines for system issues. Contact BKPM helpline.

Warning letter received: Respond immediately. Contact Yoga and legal counsel. File the overdue report ASAP. Prepare a response letter to BKPM.

Unsure what data to report: Contact Yoga for guidance. Refer to previous quarter's filing as template.

TBD Items

TBD — confirm with Yoga: Does Yoga currently file LKPM or does Nina/Justin handle it?

TBD — confirm with Yoga: Access credentials for OSS portal — who has them?

TBD — confirm with Justin: Approved investment plan figures for comparison

TBD — confirm with Yoga: Previous LKPM filings — are they all up to date?

4

SOP 4: Annual Tax Return (SPT Tahunan)

PurposeFile the annual corporate tax return (SPT Tahunan Badan) accurately and on time, ensuring full compliance with Indonesian tax law.
FrequencyAnnually — filed once per year.
OwnerYoga (preparation and filing) / Justin (review and approval)
Time NeededData gathering: 1-2 weeks (Ami)

SOP 4: Annual Tax Return (SPT Tahunan)

Purpose

File the annual corporate tax return (SPT Tahunan Badan) accurately and on time, ensuring full compliance with Indonesian tax law.

Cross-References

Tax SOP 0: Overview of Yoga vs Team responsibilities

Tax SOP 1: Monthly DJP Tax Filing Process — monthly filings feed into the annual return

Finance SOPs: Annual financial statements, ledger, reconciliation

Frequency

Annually — filed once per year.

Owner

Yoga (preparation and filing) / Justin (review and approval)

Maintainer

Wina

Time Needed

Data gathering: 1-2 weeks (Ami)

Preparation: Yoga handles (typically 2-4 weeks)

Review: 1-2 days (Justin)

Key Deadline

\[table-embed:1:1 Item | 1:2 Detail | 2:1 Fiscal year end | 2:2 December 31 | 3:1 Filing deadline | 3:2 April 30 of the following year | 4:1 Filed via | 4:2 DJP Online (e-Filing) | 5:1 Tax type | 5:2 PPh Badan (Corporate Income Tax) |\]

Late filing penalty: Rp 1,000,000 (one million rupiah) per SPT Tahunan Badan filed late. Plus interest on any underpaid tax.

Annual Filing Timeline

\[table-embed:1:1 When | 1:2 Who | 1:3 Action | 2:1 January | 2:2 Ami | 2:3 Begin compiling annual financial data | 3:1 January-February | 3:2 Ami | 3:3 Reconcile all monthly tax filings (PPh 21/23/26, PPN) | 4:1 February | 4:2 Ami | 4:3 Prepare annual financial statements (or coordinate with auditor) | 5:1 By March 1 | 5:2 Ami to Yoga | 5:3 Deliver complete data package to Yoga | 6:1 March | 6:2 Yoga | 6:3 Prepares SPT Tahunan Badan | 7:1 Early April | 7:2 Yoga to Justin | 7:3 Draft SPT for Justin's review | 8:1 Mid April | 8:2 Justin | 8:3 Reviews, asks questions, approves | 9:1 By April 30 | 9:2 Yoga | 9:3 FILES SPT Tahunan via DJP Online | 10:1 Within 1 week | 10:2 Yoga to Ami | 10:3 Provides BPE (proof of filing) and final SPT copy |\]

Step-by-Step: Annual Data Preparation (Ami)

Step 1: Compile Full-Year Financial Statements

Balance Sheet (Neraca) as of December 31

Profit and Loss Statement (Laporan Laba Rugi) for the full year

Cash Flow Statement

Notes to Financial Statements

If audited — coordinate with auditor for audit report

Step 2: Reconcile Monthly Tax Payments

List all PPh 21 payments made during the year (12 months)

List all PPh 23 payments made during the year

List all PPh 26 payments made during the year

List all PPN payments made during the year

Cross-reference each with BPE (proof of payment/filing)

Total each category — these become credits on the annual return

Step 3: Compile Bukti Potong (Withholding Tax Certificates)

Gather all Bukti Potong received from clients/customers (tax withheld on payments TO Regenesis)

These are tax credits — they reduce the annual tax liability

Organize by type (PPh 23, PPh 22, etc.)

Total all Bukti Potong amounts

Step 4: Prepare Employee Tax Summary (for PPh 21)

Annual summary of all employee income and PPh 21 withheld

Form 1721-A1 for each employee (annual withholding certificate)

Ensure totals match monthly PPh 21 filings

Step 5: Gather Supporting Documents

Company NPWP certificate

Previous year's SPT Tahunan (for comparison)

Company registration documents (Akta, NIB)

Any tax assessment letters received during the year

Transfer pricing documentation (if applicable — TBD confirm with Yoga)

Step 6: Package and Deliver to Yoga

Organize all documents in a clear folder structure

Create a cover document listing everything included

Deliver to Yoga by March 1 — this gives Yoga 2 full months to prepare

Be available for questions from Yoga throughout March-April

Justin's Review Checklist

When Yoga presents the draft SPT for review:

Revenue figures — Do they match the company's internal records?

Expenses — Are all legitimate business expenses included?

Tax credits — Are all Bukti Potong and monthly tax payments credited?

Tax liability — Does the calculated tax seem reasonable given the year's performance?

Comparative — How does it compare to last year's filing?

Sign-off — Approve for filing or request corrections

Done When

All annual financial data delivered to Yoga by March 1

Yoga prepares draft SPT Tahunan

Justin reviews and approves the draft

SPT Tahunan filed via DJP Online by April 30

BPE (proof of filing) received and archived

Final SPT copy saved to: Legal > Tax > SPT Tahunan > \[YYYY\]

Employee 1721-A1 forms distributed to employees

If Something Goes Wrong

Financial statements not ready by February: Escalate to Justin. Consider engaging an external bookkeeper to assist. This is non-negotiable — late data = late filing = Rp 1,000,000 penalty.

Yoga needs more time: If Yoga flags that April 30 is at risk, Justin must decide: (a) request deadline extension from DJP, or (b) find additional tax support.

Discrepancy between monthly filings and annual totals: Investigate immediately. This may require amended monthly returns. Yoga advises on the approach.

Bukti Potong missing: Contact clients/customers to request copies. These are tax credits the company is entitled to — do not leave money on the table.

Justin unavailable for review: Designate an alternate reviewer (TBD — who is the backup?). Filing cannot be delayed for review.

Audit triggered by DJP: Contact Yoga immediately. Do not respond to DJP directly. Yoga manages all tax authority communication.

TBD Items

TBD — confirm with Yoga: Is transfer pricing documentation required for Regenesis?

TBD — confirm with Yoga: Does Regenesis need an external audit for tax filing purposes?

TBD — confirm with Justin: Who is the backup reviewer if Justin is unavailable?

TBD — confirm with Yoga: Are all previous years' SPT Tahunan filings up to date?

TBD — confirm with Ami: Are all 12 months of Bukti Potong accounted for?