R

Standard Operating Procedures

PT Recharge Pod Ltd Bali — Financial Operating System
← Dashboard
Version: 2.0 Date: April 2026 Prepared by: Barrie Elsden, Systems & Technical Lead SOPs: 15 procedures (SOP 0–14)
NEED HELP? (BUTUH BANTUAN?) If you are stuck or confused at any step:

Procedures

  1. 0Getting Started — Your First Day (Memulai — Hari Pertama Anda)
  2. 1Monthly WHT Summary — Verify Automatic Delivery to Yoga
  3. 2Bank Statement Upload & Review
  4. 3Transaction Approval Process
  5. 4Responding to Telegram Alerts
  6. 5Payroll Monthly Checklist
  7. 6Monthly Close Procedure
  8. 7Adding a New Supplier or Contact
  9. 8Telegram Group Guide
  10. 9Yoga's Responsibilities vs Team Responsibilities
  11. 10Expense & Receipt Submission
  12. 11Petty Cash Claims
  13. 12Reimbursement Requests
  14. 13DJP Tax Filing Calendar
  15. 14BPJS Monthly Submission
0

Getting Started — Your First Day (Memulai — Hari Pertama Anda)

It is your first day working with the finance system. You have a laptop on your desk and a phone in your pocket. By the end of this procedure, you will be able to open the two tools you will use every day — the Dashboard and Telegram — and you will know where to go for help.
PurposeLearn how to access the two tools you will use every day: the Dashboard and Telegram
FrequencyOne time — when you first join the team
OwnerNew team member (with help from Ami)

Steps

  1. Open Google Chrome on your laptop (the round colourful icon on your desktop or taskbar at the bottom of the screen)
  2. In the address bar at the top (the long white box), type: finance.regenesispod.com and press Enter
  3. You will see the login page — a dark blue screen with the Regenesis logo
  4. Type your username in the first box (Ami will give you this — it is usually your first name in lowercase, like ‘wina’ or ‘bern’)
  5. Type your password in the second box (Ami will give you this too — keep it safe, do not share it)
  6. Click the gold Access Dashboard button
  7. You are now on the Financial Overview page — this is your home screen. You will see cash position, income, expenses, and a chart
  8. On the left side, you will see small icons — these are the different pages: Overview, Accounts, Transactions, Reports, Employees, and more. Click any icon to go to that page
  9. Now set up Telegram: download Telegram from the App Store (iPhone) or Play Store (Android) if you do not have it
  10. Ami will add you to 3 finance groups. You will see them appear in your Telegram app
  11. That is it — you are ready. Start with SOP 8 (Telegram Group Guide) to understand what each group is for

What if something goes wrong?

  • Wrong password? Ask Ami — she can check your login details
  • Page does not load? Check your internet connection. Try refreshing the page (press F5 or the circular arrow at the top)
  • Screen looks different from what the SOP describes? Take a screenshot and send it to the Finance Operations Telegram group

Done when: You can log into the dashboard and you can see the 3 finance Telegram groups on your phone.

1

Monthly WHT Summary — Verify Automatic Delivery to Yoga

It is the 2nd of the month. You sit down at your desk with your morning coffee. Your phone buzzes — Telegram has a new message from the Finance Operations group. The system has already sent last month's WHT (Withholding Tax / Pajak Potong — tax the company must hold back from payments to suppliers) summary to Yoga overnight. Your job is simply to check that it arrived and that the numbers look right.
PurposeConfirm the automated monthly WHT summary was sent to the tax advisor
FrequencyOnce per month, by the 5th
OwnerAmi / Finance Team (verify only — the system does the work)
Time Needed10 minutes

How It Works

On the 1st of each month, the WHT Auto-Report workflow (W15) automatically:

  • Pulls WHT data from Google Sheets (WHT_TRACKER tab)
  • Generates a formatted WHT summary with a CSV (a spreadsheet file format — like Excel but simpler) file attached
  • Sends it to Yoga via the Finance Operations Telegram group
  • Sends Ami a confirmation alert

Steps

  1. Open Telegram on your phone or laptop
  2. Go to the Finance Operations group
  3. Look for a message from the bot that says something like "WHT Monthly Report — March 2026 sent to Yoga" — it should have been posted on the 1st
  4. If you see the message, tap on the attached CSV file to make sure it downloaded correctly and is not empty
  5. If you did NOT see the message by the 2nd of the month, tell Justin immediately
  6. Open a browser and go to finance.regenesispod.com
  7. Log in with your username and password
  8. Go to the WHT section on the dashboard
  9. Check that the totals make sense for last month — look at the number of suppliers, the total WHT amount, and compare with the previous month
  10. If Yoga sends a reply or question in the Telegram group, respond there or ask Justin for help
You do NOT need to: Log into Xero or Google Sheets. Manually create or email the summary. Calculate anything — the W15 workflow does it all automatically.

Done when: Yoga confirms receipt on Telegram and you have verified the numbers on the dashboard.

If something goes wrong: If the automatic summary was not sent, tell Justin immediately. As a fallback, open the dashboard, go to the WHT section, download the data, and send it to Yoga manually via Telegram.
2

Bank Statement Upload & Review

It is the 3rd of the month. You need to download last month's bank statement from Permata iBusiness and send it to the system so it can categorise (sort and match each transaction to the correct account) all the transactions. Here is exactly how you do it, step by step.
PurposeUpload the monthly bank statement so transactions get categorised automatically
FrequencyWithin the first 5 days of each month
OwnerAmi / Finance Team
Time Needed30–60 minutes

Part 1: Download from Permata iBusiness

  1. Open a browser on your laptop and go to ib.permatabank.com
  2. Log in with the company's iBusiness credentials (ask Justin if you do not have them)
  3. Click Account Information in the menu on the left
  4. Click Transaction History
  5. Select the correct account (e.g., Permata IDR Operating)
  6. Set the date range to last month — for example, 1 March 2026 to 31 March 2026
  7. Click Search to load the transactions
  8. Click Download and choose CSV format — do not choose Excel or PDF
  9. The file will download to your computer — it will be named something like "transaction_history_20260301_20260331.csv"
  10. Repeat for BNI accounts if needed (same process on BNI Direct portal)

Part 2: Send to the System via Telegram

  1. Open Telegram on your phone or laptop
  2. Go to the Finance Operations group
  3. Tap the paperclip icon (attach file)
  4. Select the CSV file you just downloaded
  5. In the message caption, type the bank name, for example: Permata IDR March 2026
  6. Send the message
  7. The Bank CSV Auto-Import workflow (W16) will pick up the file automatically
  8. Wait 1–2 minutes — you will receive a reply in the same group: "Processing complete — X transactions imported, Y categorised automatically"

Part 3: Review on the Dashboard

  1. Open your browser and go to finance.regenesispod.com
  2. Log in and go to the transaction review section
  3. You will see two types of transactions:
    • CATEGORISED (about 48%) — the system matched these to an account automatically using 70 bank rules. Quickly check they look correct
    • UNCATEGORISED — these need your input. Click on each one and select the correct expense account from the dropdown (a box you click to see a list of choices)
  4. For any transaction you are not sure about:
    • Under Rp 5,000,000 — use your best judgement or ask a colleague
    • Over Rp 5,000,000 — ask Justin to approve (send him a screenshot via WhatsApp)
  5. Once every transaction is categorised, click Confirm at the bottom of the page
You only use two tools: Telegram (to upload the CSV) and the Dashboard (to review transactions). Everything else happens in the background automatically.

Done when: All transactions categorised on the dashboard. No uncategorised items remaining.

If something goes wrong: If the CSV will not upload, check the file format — it must be .csv, not .xls or .pdf. If the bot does not reply within 5 minutes, tell Justin. If a bank rule is matching the wrong account, note the transaction details and tell Justin so the rule can be fixed.
3

Transaction Approval Process

You have just finished uploading this month's bank statement (SOP 2). The system categorised about half the transactions automatically, but there are 25 uncategorised items waiting for you. Some are straightforward (the team lunch at Warung Babi Guling), but a few are large payments you do not recognise. Here is how to work through them.
PurposeReview and approve transactions that need human judgement
FrequencyAfter each bank statement import, or when flagged by alerts
OwnerAmi (first review), Justin (final approval for large amounts)

Steps

  1. Open finance.regenesispod.com on your laptop and log in
  2. Go to the transaction review section — you will see a list of uncategorised items
  3. Work through each transaction one by one:
    • Read the description — this shows the supplier name and reference number from the bank statement
    • If you recognise it (e.g., "TRANSFER TO CV GANESHA" — that is the cleaning company), select the correct expense account from the dropdown
    • If it is a regular payment you see every month, it will get easier each time
  4. For WHT-applicable suppliers (shipping companies, consultants, service providers):
    • The bank rules should have flagged these automatically
    • Verify the WHT article and percentage using the table below
    • If you see "Article 23 (tax rule for payments to Indonesian companies) — 2%" next to a freight company, that is correct
  5. For amounts over Rp 5,000,000 that you do not recognise:
    • Do NOT approve it yourself
    • Take a screenshot of the transaction on the dashboard
    • Send it to Justin via WhatsApp with a message like: "Hi Justin, there is a payment of Rp 12,500,000 to PT XYZ on 15 March — do you know what this is for?"
    • Wait for Justin's reply before categorising
  6. For transactions you really cannot identify:
    • Ask the team — someone may remember making the payment
    • If still unclear after asking, mark it with a note "Ask Justin" and move on to the next one
  7. Once all items are reviewed, click Confirm — the data syncs to Xero automatically

WHT Reference (Quick Lookup)

Supplier TypeWHT ArticleRate
Domestic shipping / freight (JNE, Tiki, etc.)Art 232%
International shipping (DHL, UPS)Art 232%
Domestic services (cleaning, security, etc.)Art 232%
Foreign companies (e.g., MAESTRO CORPORATE LIMITED)Article 26 (tax rule for payments to foreign companies)20% (pending treaty review)*

*Art 26 rate may be reduced to 0% under tax treaty — awaiting Yoga's advice. Do NOT change these rates yourself. If Yoga confirms different rates, Justin will update the bank rules.

Important: Art 26 vs Art 23 for foreign consultants Foreign consultants who invoice through Indonesian PTs (e.g., PT Grand Vision Perspective, PT Soul Centred Living) are classified as Art 23 (2% domestic), NOT Art 26. Art 26 (20%) only applies to overseas companies with no Indonesian PT registration.

Done when: All transactions categorised and approved. No pending items on the dashboard.

If something goes wrong: If a bank rule is matching the wrong account, do not try to change the rule yourself. Note the transaction details (date, amount, supplier name, what it matched to, what it should be) and tell Justin so the rule can be corrected.
4

Responding to Telegram Alerts

Your phone buzzes during lunch. You pick it up and see a Telegram notification: "PAYROLL ANOMALY DETECTED — Salary for Ketut increased by 45% vs last month." That sounds wrong. What do you do? This SOP tells you exactly how to handle every type of alert the system sends.
PurposeKnow what to do when you receive a system alert on Telegram
FrequencyAs alerts arrive (daily, weekly, or monthly depending on type)
OwnerAmi (first response), escalate to Justin if needed

When You Get an Alert

  1. Pick up your phone and open Telegram
  2. Read the full message carefully — do not just skim the title
  3. Check which group it came from (this tells you the urgency — see SOP 8 for group details)
  4. Find the alert type in the table below and follow the action

Alert Types and What To Do

AlertWhat It MeansWhat To Do
Payroll — Weekly DigestSummary of this week's payroll statusRead it. If anything looks different from what you expect, open the dashboard and check the Payroll section
Payroll — Monthly SummaryEnd-of-month payroll totalsOpen the dashboard, check the payroll totals match. Forward to Justin with a message: "Payroll summary for your review"
Payroll Anomaly DetectedSomething unusual — a salary changed significantly or a new name appearedCheck immediately on the dashboard. If the change is expected (e.g., a raise was approved), reply in the group "Confirmed — approved raise." If unexpected, tell Justin right away
WHT Tax Deadline ApproachingTax payment is due soon (by the 20th)Check that you have already done SOP 1 this month. If not, do it now. Ask Yoga if filing is on track
DJP (Direktorat Jenderal Pajak — the Indonesian tax office) Filing ReminderMonthly tax return due date approachingCheck with Yoga that he has everything he needs. Ask: "Do you need anything from us for this month's filing?"
Budget Alert — OverspendA department or expense category is over budgetOpen the dashboard and check which category is over. Forward the alert to Justin with: "This department is over budget by Rp X — should we investigate?"
System ErrorA workflow had a technical problemForward the full message directly to Barrie. Do NOT try to fix it yourself
Weekly Health ReportSummary of all system status — green means OK, red means problemRead it. If everything is green, no action needed. If any items are red, forward to Justin with: "Health report shows issues — please review"
General rule: If you are not sure what to do with an alert, forward it to Justin with a short note explaining what you are unsure about. It is always better to ask than to ignore.

Done when: You have read the alert, taken the action described above (or forwarded it), and replied in the group to confirm you saw it.

If alerts stop coming: If you normally get alerts every day or week but suddenly stop receiving them for more than 3 days, tell Justin immediately. It may mean a workflow has stopped running.
5

Payroll Monthly Checklist

It is the 20th of the month. Payday is on the 25th, which means you need to start preparing payroll now. You have 27 employees to pay, and each one needs the correct salary, tax deductions, and BPJS (Badan Penyelenggara Jaminan Sosial — Social Security) contributions. Here is how to make sure everything is right before you send the payment file to the bank.
PurposeEnsure payroll runs correctly each month
FrequencyBy the 23rd of each month (2 days before payday)
OwnerAmi (preparation), Justin (approval)
Time Needed1–2 hours

Steps

  1. Open finance.regenesispod.com and log in
  2. Go to the Payroll section
  3. You will see a list of all 27 active employees — check that every person you expect to see is there
  4. For each employee, verify:
    • Name — spelled correctly
    • Base salary — matches their contract
    • Allowances — transport, meals, health (if applicable)
    • Bank account number — matches what they gave you
  5. Check for changes since last month:
    • Did anyone join the company? Add them with their start date and salary
    • Did anyone resign or get terminated? Mark them as inactive
    • Did anyone get a raise? Update the salary and note the reason (e.g., "Annual review — approved by Justin 15 March")
  6. Look at the PPh (Pajak Penghasilan — Income Tax) 21 column — the tax amount should be roughly the same as last month unless there was a salary change. If it looks very different, something might be wrong
  7. Look at the BPJS columns — both Kesehatan (health) and Ketenagakerjaan (employment) should be listed. If anyone shows "0" when they should have BPJS, check their employment status
  8. Check the total payroll amount at the bottom — compare it with last month. Is the difference expected? (For example, if you hired 2 people, the total should be higher by roughly 2 salaries)
  9. Take a screenshot of the payroll summary and send it to Justin via WhatsApp: "Payroll for [month] is ready for your review. Total: Rp [amount]. Please approve."
  10. Wait for Justin to reply with approval
  11. Once approved, the Permata Batch Payment workflow (W18) generates the bank payment file automatically on the 25th
  12. After payment is processed, check the Payroll Reconciliation alert on Telegram — it should confirm all payments matched
  13. If the reconciliation shows a mismatch (e.g., "Expected Rp 45,000,000 but bank shows Rp 44,500,000"), investigate before the next cycle — a common cause is a returned payment due to wrong bank details

Done when: All 27 employees paid, reconciliation matches, Justin has signed off.

If something goes wrong: If BPJS numbers look wrong, check the employee's start date and salary band — new employees within their first month may not yet have BPJS. If PPh 21 looks wrong, check that gross taxable income includes all allowances. If in doubt, ask Justin.
6

Monthly Close Procedure

It is the last day of the month (or the 1st of the new month). Everything from this month — bank statements, payroll, tax summaries — needs to be checked and confirmed so the books are clean. Think of it like closing the cash register at the end of the day, but for the whole company and the whole month.
PurposeClose the month's books and confirm everything is accurate
FrequencyLast working day of each month (or first 2 days of next month)
OwnerAmi (preparation), Justin (review and approval)
Time Needed2 hours

Checklist

  1. Open finance.regenesispod.com and log in
  2. First, confirm all the earlier SOPs are done for this month:
    • Bank statements uploaded and reviewed? (SOP 2) — check the transaction review section for any remaining uncategorised items
    • WHT summary sent to Yoga? (SOP 1) — check the Finance Operations Telegram group
    • Payroll processed and reconciled? (SOP 5) — check the Payroll section on the dashboard
    • BPJS submitted? (SOP 14) — check submission confirmations
  3. Go to the Overview page on the dashboard and review:
    • Bank balances — do they match what you expect? Compare with the balance on your last bank statement
    • Monthly spending — scroll through the expense categories. Any surprises? Anything much higher than normal?
    • Budget vs actual — are any departments significantly over budget?
  4. If you see something unexpected (e.g., "Travel expenses are 3x higher than usual"), make a note — you will include this in the summary for Justin
  5. Go to the Reports page and download:
    • Monthly summary (PDF)
    • Transaction list (CSV) — keep this as a backup
  6. Write a short summary for Justin (3–5 bullet points). Here is an example:
    • "Total income this month: Rp 1,200,000,000"
    • "Total expenses this month: Rp 890,000,000"
    • "R&D spending was 15% over budget — mostly the new pod prototype materials"
    • "Cash position: Rp 5,400,000,000 across all accounts"
    • "No unusual items. All bank statements reconciled."
  7. Send this summary to Justin via WhatsApp along with the PDF report
  8. Schedule a 30-minute call or meeting with Justin to review together (or he may just reply with "Approved" if everything looks clean)
  9. Once Justin approves, the month is officially closed — no more changes to that month's data

Done when: Justin has reviewed and approved the monthly summary. You have the PDF saved.

If something goes wrong: If bank balances on the dashboard do not match the bank statement, there may be an uncategorised or missing transaction. Go back to the transaction review section and check for pending items. If you still cannot find the difference, note the amount and tell Justin.
7

Adding a New Supplier or Contact

A new invoice has arrived from a company you have never paid before — "PT Bali Fresh Catering" for the office lunch programme. They are not in the system yet, so when the bank statement comes in next month, their payment will show as uncategorised. You need to add them now so everything matches correctly later.
PurposeCorrectly add a new supplier so categorisation rules and tax tracking work
FrequencyWhen the company starts paying a new supplier
OwnerAmi / Finance Team
Time Needed15 minutes

Before You Start

Gather these details from the invoice or the supplier directly:

  • Company name (exactly as it will appear on bank statements — this is critical)
  • Email address and phone number
  • Tax number — NPWP (Nomor Pokok Wajib Pajak — tax identification number) if they have one
  • Bank account details for payment

Steps

  1. Open finance.regenesispod.com and log in
  2. Go to the Contacts / Suppliers section
  3. Click Add New Supplier
  4. Fill in the supplier name — use the EXACT name that appears on bank statements, not the name on their logo or website. For example, the bank might show "PT BALI FRESH CATERING" in all caps — type it exactly like that
  5. Fill in email, phone, and address if you have them
  6. Enter their NPWP (tax ID number) if they provided one — this is important for WHT tracking
  7. Now decide if Withholding Tax (WHT / Pajak Potong) applies to this supplier:
    • Is it a shipping or logistics company (JNE, Tiki, Sicepat, DHL, etc.)? → Art 23 WHT at 2%
    • Is it a domestic service provider (cleaning, security, maintenance, consulting)? → Art 23 WHT at 2%
    • Is it a foreign company with no Indonesian registration? → Art 26 WHT at 20%
    • Is it a regular goods supplier (office supplies, food, equipment)? → No WHT
  8. If WHT applies, note the supplier name, article (23 or 26), and rate (2% or 20%)
  9. Tell Justin that a new WHT supplier was added — a bank rule may need to be created so future payments are categorised automatically
  10. Click Save — the contact syncs to Xero automatically
Important: Art 26 vs Art 23 for foreign consultants Foreign consultants who invoice through Indonesian PTs (e.g., PT Grand Vision Perspective, PT Soul Centred Living) are classified as Art 23 (2% domestic), NOT Art 26. Art 26 (20%) only applies to overseas companies with no Indonesian PT registration. If you are unsure, ask Justin.

Done when: Supplier appears on the dashboard, WHT status is noted, and Justin has been told (if WHT applies).

If something goes wrong: If the supplier name on the bank statement turns out to be different from what you entered (e.g., you entered "Bali Fresh Catering" but the bank shows "PT BALI FRESH"), the bank rule will not match. Always check the bank statement spelling first. If you need to fix the name later, edit the contact on the dashboard.
8

Telegram Group Guide

You have just been added to three Telegram groups for the finance system. Messages are coming in from all three and you are not sure which one to pay attention to first. This guide explains what each group is for, what kind of messages you will see, and how to behave in each one.
PurposeUnderstand the 3 finance Telegram groups and how to use them
FrequencyReference guide — read once, use as needed
OwnerAll finance team members

Group 1: Ami Daily Briefings

What it is for: Morning summaries and daily status updates. This group gives you a quick picture of where things stand each day. Think of it as your morning newspaper for finance.
  • What you will see: Daily cash position, pending items count, weekly digest summaries, payroll status updates
  • What to do: Read the messages each morning when you arrive. If everything looks normal, react with a thumbs-up so Ami or Justin knows you saw it. If something looks wrong, reply in the group with your question
  • Do NOT: Post unrelated messages here. This group is for system-generated briefings only

Group 2: Finance Operations

What it is for: Tax and compliance alerts, WHT summaries, DJP reminders, and bank statement processing. This is where the system sends operational messages. Yoga (the tax advisor) also receives WHT reports here.
  • What you will see: Monthly WHT summaries (sent to Yoga automatically), DJP filing reminders, bank CSV processing confirmations, tax deadline warnings, penalty alerts
  • What to do: When a WHT summary is sent, confirm you saw it. When a bank CSV is processed, check the dashboard for uncategorised items. When a deadline reminder comes in, make sure you or Yoga are on track
  • Upload bank CSVs here: This is where you send bank statement files for processing (see SOP 2)

Group 3: Finance Approvals

What it is for: Action-required decisions. Messages in this group need someone (usually Justin) to make a decision or approve something. Treat every message here as urgent.
  • What you will see: Large transaction approvals, budget overspend alerts needing a decision, payroll sign-off requests, unusual items that the system flagged
  • What to do: If you are Justin — review and reply with your decision (approve, reject, or "need more info"). If you are Ami — make sure Justin sees these messages. If he has not replied within 24 hours, send him a reminder
  • Do NOT: Approve things in this group unless Justin has given you explicit permission for that type of approval

Quick Reference

GroupPriorityYour Action
Ami Daily BriefingsLow — informationalRead and react with thumbs-up
Finance OperationsMedium — operationalRead, verify, upload CSVs here
Finance ApprovalsHigh — action requiredEnsure Justin reviews and decides

Done when: You have read and understood what each group is for. Bookmark this SOP for reference.

9

Yoga's Responsibilities vs Team Responsibilities

Yoga (our tax advisor at Rajawali Consulting) handles the government filings and tax returns. Our team handles the day-to-day data entry, bank uploads, and payroll. Sometimes people get confused about who does what. This SOP makes it crystal clear so nothing falls through the cracks.
PurposeClear separation of responsibilities between Yoga and the finance team
FrequencyReference guide — review monthly
OwnerJustin (oversight), Ami (team coordination), Yoga (tax compliance)

What Yoga Does (Tax Advisor)

TaskWhenDetails
DJP monthly tax filingBy the 20th of each monthFiles PPh 21, PPh 23, PPh 26 returns to the Indonesian tax office (DJP)
PPN (Pajak Pertambahan Nilai — Value Added Tax / VAT) filingEnd of each monthFiles the monthly VAT return
Annual tax returnsMarch/April each yearPrepares and files the corporate annual tax return (SPT Tahunan)
Bukti Potong (withholding certificates)Monthly and annuallyIssues official WHT certificates to suppliers and employees
Tax advisoryAs neededAnswers questions about rates, treaty relief, new regulations

What Your Team Does (Finance / Operations)

TaskWhenDetails
Bank statement uploadFirst 5 days of monthDownload CSV from bank portal, send via Telegram (SOP 2)
Transaction categorisationAfter bank uploadReview uncategorised items on the dashboard (SOP 3)
Payroll preparationBy the 23rdVerify employee data, get Justin's approval (SOP 5)
BPJS submissionBy the 20th / 15thDownload reports, submit to BPJS portals (SOP 14)
Receipt and expense collectionOngoingCollect receipts, submit via dashboard (SOP 10)
New supplier setupWhen neededAdd contacts with correct names and WHT status (SOP 7)

What the System Does Automatically

Automated TaskWorkflowWhat Happens
WHT monthly summary to YogaW15On the 1st, the system sends a WHT report + CSV to Yoga via Telegram
DJP filing remindersW13Reminds Ami about upcoming DJP deadlines via Telegram
Penalty and deadline alertsW9Warns about late filing penalties before they happen
Payroll anomaly detectionW5Flags unusual changes in payroll data
Bank CSV categorisationW16Automatically matches transactions to accounts using 70 bank rules
Batch payment fileW18Generates the Permata bank payment CSV on the 25th
Payroll journal entryW19Creates Xero journal entries from payroll data on the 28th
The golden rule: Yoga handles government filings. Our team handles data accuracy. The system handles the connections between them. If you are ever unsure whether something is your responsibility or Yoga's, ask Justin.

Done when: Everyone on the team understands their responsibilities. Review this SOP at the start of each month.

10

Expense & Receipt Submission

You just came back from a meeting and paid Rp 75,000 for parking and Rp 350,000 for a business lunch with a potential supplier. You have both receipts in your wallet. You need to submit these expenses so they are recorded properly and you can get reimbursed. Here is exactly what to do.
PurposeSubmit business expenses with proper receipts for tracking and reimbursement
FrequencyAs expenses occur — do not wait more than 1 week
OwnerAny employee who spends money on behalf of the company
Time Needed5 minutes per expense

Steps

  1. Take a clear photo of the receipt with your phone right away — before it fades or gets lost. Make sure the photo shows:
    • The date
    • The vendor/store name
    • The total amount
    • What was purchased (itemised if possible)
  2. Open your phone or laptop browser and go to finance.regenesispod.com
  3. Log in with your username and password
  4. Click the + New Transaction button (gold button in the top right area of the overview page)
  5. The transaction panel opens from the right side of the screen
  6. Fill in the details:
    • Date: The date of the purchase (today's date if you just bought it)
    • Vendor: Type the name of the store or supplier (e.g., "Warung Pak Made" or "Pertamina Gas Station")
    • Category: Select from the dropdown — common ones include:
      • Meals & Entertainment — team lunches, client dinners
      • Transport & Fuel — parking, petrol, Grab rides
      • Office Supplies — pens, paper, printer ink
      • If none of the categories seem right, choose "Other" and describe it in the notes
    • Amount: Enter the number without currency symbols (e.g., type "350000" for Rp 350,000)
    • Payment Source: Select how you paid:
      • "Company Card" if you used the company debit/credit card
      • "Reimbursement" if you paid with your own money (see also SOP 12)
      • "Petty Cash" if you used office cash (see also SOP 11)
  7. Click Choose File and upload the receipt photo — make sure the image is clear and readable
  8. Add a short note explaining the expense, for example: "Business lunch with PT Bali Fresh Catering rep — discussing office lunch programme"
  9. Click Submit — you will see a green confirmation message
  10. Ami will review your submission within 24 hours. You will receive a notification when it is approved or if more information is needed
Receipt requirements: Every expense needs a receipt. No receipt = no reimbursement. If you lost the receipt, write a short explanation of what happened and submit with a note "Receipt lost — [reason]". Justin will decide whether to approve it.

Done when: Expense appears on the dashboard with receipt attached. Ami has reviewed and approved it.

If something goes wrong: If the file will not upload (too large or wrong format), try taking a new photo or reducing the image size. Accepted formats: JPG, PNG, PDF. Maximum file size: 5 MB. If the category you need is not in the dropdown, select "Other" and describe it in the notes field.
11

Petty Cash Claims

Wayan from the warehouse just came to your desk. He says he used Rp 150,000 from the office petty cash box to buy cleaning supplies for the showroom. He hands you a receipt from Toko Bangunan. You need to record this so the petty cash balance stays accurate and the expense is tracked.
PurposeRecord petty cash spending so the physical cash matches the system records
FrequencyEach time someone uses petty cash
OwnerAmi (petty cash custodian), any employee can submit
Time Needed5 minutes per claim

Steps

  1. When someone takes money from the petty cash box, they must bring you the receipt and tell you what it was for
  2. Take a photo of the receipt (if you do not already have one)
  3. Open finance.regenesispod.com and log in
  4. Click the + New Transaction button
  5. Fill in the details:
    • Date: The date the money was spent
    • Vendor: The store name from the receipt (e.g., "Toko Bangunan Bali")
    • Category: Select the appropriate expense type (e.g., "Cleaning & Maintenance" for cleaning supplies)
    • Amount: The exact amount on the receipt (e.g., 150000)
    • Payment Source: Select "Petty Cash"
  6. Upload the receipt photo
  7. In the notes, write who spent the money and what for, for example: "Wayan — cleaning supplies for showroom"
  8. Click Submit

Monthly Petty Cash Reconciliation

  1. On the last working day of each month, count the physical cash in the petty cash box
  2. Open the dashboard and go to the petty cash summary (under Reports or the Petty Cash section)
  3. Compare: Starting balance minus total claims this month = what should be left in the box
  4. If the physical count matches the system, you are done
  5. If there is a difference:
    • Check if any receipts were not entered into the system
    • Check if anyone took cash without a receipt
    • Note the difference amount and tell Justin
  6. If the petty cash box is getting low (under Rp 500,000), request a top-up from Justin

Done when: Every petty cash receipt is entered into the dashboard. Monthly reconciliation matches physical cash.

If something goes wrong: If someone cannot produce a receipt, have them write a note with the date, amount, what was purchased, and their signature. Enter it into the system with a note "No receipt — handwritten note attached." Justin will decide whether to approve.
12

Reimbursement Requests

It is lunchtime and you just paid for a team lunch with your own money — Rp 450,000 at Warung Babi Guling for 5 people during a project meeting. You need to get that money back. Here is how to submit a reimbursement so it goes into your next payroll.
PurposeGet reimbursed for money you spent personally on company business
FrequencyAs needed — submit by the 25th to be included in that month's payroll
OwnerAny employee who paid with personal money
Time Needed5–10 minutes

Steps

  1. Take a clear photo of the receipt right away — the date, amount, and vendor name must be readable
  2. Open finance.regenesispod.com on your phone or laptop and log in
  3. Click the + New Transaction button (gold button, top right)
  4. The transaction panel slides open from the right
  5. Fill in:
    • Date: The date you made the purchase
    • Vendor: Type the restaurant or store name (e.g., "Warung Babi Guling")
    • Category: Select "Meals & Entertainment" from the dropdown
    • Amount: Enter the amount (e.g., 450000 for Rp 450,000)
    • Payment Source: Select "Reimbursement"
  6. Click Choose File and upload the receipt photo — make sure the date, amount, and vendor name are readable in the photo
  7. Add a note: "Team lunch — 5 people, project meeting"
  8. Click Submit — you will see a green confirmation
  9. Ami will review it within 24 hours. If approved, the amount is added to your next payroll
Deadline reminder: Submit your reimbursement by the 25th of the month to be included in that month's payroll. Anything submitted after the 25th will go into next month's payroll instead.

What Happens After You Submit

  • Ami reviews the submission and checks the receipt
  • If approved, you will see "Approved" status on the dashboard next to your expense
  • The reimbursement amount is included in your salary payment on the 25th
  • If Ami needs more information, you will get a notification — reply promptly

Done when: Expense submitted with receipt. Status shows "Approved" on the dashboard. Amount appears in your next payslip.

If something goes wrong: If you lost the receipt, submit with a written explanation of what you bought, where, and when. Note "Receipt lost" in the notes field. Justin will decide whether to approve. For amounts over Rp 500,000 without a receipt, approval is unlikely — always keep your receipts.
13

DJP Tax Filing Calendar

It is the 5th of the month. Your phone buzzes with a Telegram reminder: "DJP FILING REMINDER — PPh 21/23/26 due by the 20th." You have 15 days to make sure Yoga has everything he needs to file the tax returns on time. Missing the deadline means penalties — Rp 100,000 per late return. Here is the calendar and what you need to prepare.
PurposeKnow every tax deadline and what the team needs to prepare
FrequencyMonthly calendar — check at the start of each month
OwnerYoga (filing), Ami (preparation), Justin (oversight)

Monthly Tax Calendar

Day of MonthWhat Is DueWho FilesWhat Team Must Prepare Before
By the 5thPrepare data for YogaFinance TeamMake sure bank statements are uploaded (SOP 2), all transactions categorised (SOP 3), and WHT summary was sent (SOP 1)
By the 20thPPh 21 (employee income tax)YogaPayroll data must be finalised. If payroll ran on the 25th, data should already be ready
By the 20thPPh 23 (domestic services WHT)YogaWHT summary (sent automatically by W15 on the 1st). Yoga uses this to prepare the filing
By the 20thPPh 26 (foreign WHT)YogaSame WHT summary. Includes foreign payments if any were made
End of monthPPN (VAT return)YogaSales invoices and purchase invoices for the month. Most of this comes from Xero automatically

What the System Does Automatically

  • W15 (WHT Auto-Report): Sends the WHT summary + CSV to Yoga on the 1st of each month — no manual action needed
  • W13 (DJP Ami Reminder): Sends Ami a Telegram reminder about upcoming deadlines — you will see messages like "PPh 21/23/26 due in 5 days"
  • W9 (Penalty Alerts): Warns about potential late filing penalties before they happen — if you see this alert, act immediately

What You Need To Do Each Month

  1. By the 1st: Nothing — the system sends the WHT summary to Yoga automatically
  2. By the 3rd: Upload bank statements for the previous month (SOP 2)
  3. By the 5th: Finish categorising all transactions (SOP 3). Send a message to Yoga in the Finance Operations group: "All data for [month] is ready. Let me know if you need anything else."
  4. By the 8th: Check with Yoga — "Are you on track for the 20th filings?" If he needs anything, get it to him same day
  5. By the 20th: Yoga files PPh 21/23/26. You should see a confirmation in the Telegram group
  6. By end of month: Yoga files PPN. Check with him if he needs any additional invoices
Penalty warning: Late filing penalty for PPh is Rp 100,000 per return per month late. Late filing penalty for PPN is Rp 500,000 per month late. Late payment penalty is 2% per month on the unpaid amount. These add up fast. Always make sure Yoga has what he needs by the 5th.

Done when: All data prepared by the 5th. Yoga confirms filings were submitted on time. No penalty alerts received.

14

BPJS Monthly Submission

It is the 8th of the month. You need to submit the BPJS contributions for all 27 employees. There are two separate portals — BPJS Kesehatan (health insurance, due by the 20th) and BPJS Ketenagakerjaan (employment insurance, due by the 15th). You need to download the reports from the dashboard and upload them to each portal. Here is the step-by-step process.
PurposeSubmit monthly employee social security contributions to government portals
FrequencyMonthly — Kesehatan by 10th, Ketenagakerjaan by 15th
OwnerAmi / Finance Team
Time Needed30–45 minutes (both portals combined)

Part 1: BPJS Kesehatan (Health Insurance) — Due by the 10th

  1. Open finance.regenesispod.com and log in
  2. Go to the Reports page
  3. Find the BPJS Kesehatan report for this month
  4. Click Download PDF — this contains all 27 employees with their contribution amounts (employee share + employer share)
  5. Review the report quickly:
    • Is the employee count correct? (should be 27)
    • Are there any employees showing Rp 0 contributions? (if so, check their status)
    • Does the total look similar to last month?
  6. Open a new browser tab and go to edabu.bpjs-kesehatan.go.id
  7. Log in with the company's BPJS Kesehatan account (ask Justin if you do not have the credentials)
  8. Go to Monthly Billing
  9. Verify the amounts shown on the portal match the report from the dashboard. If they match, proceed to payment
  10. Complete the payment following the portal instructions
  11. Download or screenshot the payment confirmation
  12. Send the confirmation to the Finance Operations Telegram group with a message: "BPJS Kesehatan [month] — paid and confirmed"

Part 2: BPJS Ketenagakerjaan (Employment Insurance) — Due by the 15th

  1. Go back to finance.regenesispod.com and go to Reports
  2. Find the BPJS Ketenagakerjaan report for this month
  3. Click Download PDF
  4. Review the report:
    • This covers JHT (old age savings), JKK (work accident), JKM (death benefit), and JP (pension)
    • Check that JP (pension) amounts respect the monthly wage cap — the system should calculate this automatically
    • Make sure no active employees are missing
  5. Open a new browser tab and go to sipp.bpjsketenagakerjaan.go.id
  6. Log in with the company's BPJS Ketenagakerjaan account
  7. Go to Monthly Report
  8. Verify the amounts on the portal match your report. If they match, submit and proceed to payment
  9. Complete the payment
  10. Download or screenshot the payment confirmation
  11. Send the confirmation to the Finance Operations Telegram group: "BPJS Ketenagakerjaan [month] — paid and confirmed"
Both confirmations in one place: After completing both submissions, you should have two confirmation messages in the Finance Operations Telegram group. Justin can check there at any time to verify BPJS was done.

Done when: Both portals show "Paid" status. Both confirmations posted to Telegram. Reports saved.

If something goes wrong: If the portal amounts do not match the dashboard report, do NOT submit. Note the differences and tell Justin. Common causes: a new employee was not registered on the BPJS portal yet, or an employee's salary was updated in payroll but not on the BPJS portal. These need to be fixed before submitting. If the portal is down (this happens sometimes), try again later — but do not miss the deadline.
A

Appendix: System Architecture

What You See and Use Every Day

As a team member, you only interact with two tools:

Your Phone / Laptop | |--- Telegram | Upload bank CSVs here | Receive alerts and reminders | Post confirmations (BPJS, etc.) | |--- Dashboard (finance.regenesispod.com) Review and approve transactions Check balances, payroll, reports Submit expenses and receipts Download PDFs and CSVs

What Runs in the Background (You Do Not Need to Touch This)

Telegram Upload | v n8n Automation (19+ workflows running 24/7) | |--- Categorises bank transactions (70 rules) |--- Generates WHT summaries for Yoga |--- Sends alerts and reminders |--- Creates payroll payment files |--- Creates journal entries for Xero | v Google Sheets (data storage and calculations) | v Xero (official accounting records) | v Dashboard (displays everything to you)

Key Workflows

CodeNameWhat It DoesWhen It Runs
W5Payroll Anomaly DetectionFlags unusual payroll changesWhen payroll data changes
W9WHT Tax Deadline AlertsWarns about approaching tax deadlinesBefore the 20th each month
W13DJP Ami ReminderReminds Ami about DJP filing deadlines5 days before each deadline
W15WHT Monthly Auto-ReportSends WHT summary + CSV to Yoga1st of each month
W16Bank CSV Auto-ImportProcesses uploaded bank statementsWhen you send a CSV via Telegram
W18Permata Batch PaymentGenerates bank payment file for payroll25th of each month
W19Payroll Journal AutoCreates Xero journal entries from payroll28th of each month
Key message: You use Dashboard + Telegram. Everything else (n8n, Google Sheets, Xero) runs invisibly in the background. You never need to open or log into those systems.