A quick guide to the everyday workflows. Each company keeps its own separate books, users and
data. Use the EN / ไทย switch in the top bar to change the interface language.
1 · Signing in & the dashboard
- Each person logs in with their own email & password. Your role decides what you can see (owner sees everything; finance, HR, sales, etc. see their own areas).
- Change your own password anytime with 🔑 Password (next to Sign out). HQ accounts change it on the PANPURI Thailand (HQ) site so it applies across every country.
- The Dashboard shows Revenue, Expenses, Net profit and Assets, a chart, and cards for money To receive, To pay and To reimburse. Click any of those cards to jump to the matching list.
- Period bar (All · YTD · Quarter · Month · Year · Custom) scopes the tiles, chart and categories to a time range. Balances (receivables/payables) always show the current position.
2 · Adding a transaction
- Click + Add invoice. Pick the type — Revenue, Expense, Asset, Liability or Equity.
- Fill counterparty, date, category, net amount and the sales-tax %. The tax is named and rated for this entity's country — VAT 7% in Thailand, GST 9% in Singapore, SST in Malaysia, and so on. Optionally tag Business unit, Channel and Store, and attach the source document (PDF/photo).
- With AI turned on, drop a PDF and the details are filled for you. Record part-payment or a deposit right on the form.
- In the Transactions list you can filter, group (Year → Month, by Category, Channel, Store…), edit ✏️, record payments, and export to CSV/Excel.
- 📥 To file (capture now, post later): snap a photo, upload, forward by email, or send via LINE — items wait in three lanes. 🧾 Invoices & bills and 💳 Expense receipts (staff reimbursement) post to the books; 📁 Documents (contracts, licences, company papers) skips bookkeeping and files straight to Google Drive under Documents / folder / year / month, with the AI suggesting a name and folder. Each lane has its own email address (…, …-exp, …-doc) and the mobile 📸 button captures to any of them. Every item also has a ⬇ Download (save a copy to your computer) and a ↔ Move to… (if it landed in the wrong lane); on the Documents lane the folder box suggests the folders you already have in Drive so filing stays consistent.
- 🟢 LINE capture: staff can send photos straight from LINE. In 📥 To file → LINE capture the owner generates a one-time link code; each person adds the shared My Virtual CFO Official Account, sends the code once (e.g. Link ABC123) to link themselves to this company, then just sends a photo. In the chat they type invoice, expense or document to pick the lane, and the bot confirms each filing. The code is the firewall — a person only ever reaches the companies they've linked to.
- Multiple companies on LINE: to send to more than one company (e.g. Triple P and MNQ), generate a separate link code inside each company and send each one to the OA once. After that, every photo first asks “Which company?” with buttons, then the lane — so one LINE account files to all the companies you're linked to. (PANPURI is excluded from LINE by design.)
3 · Importing historical revenue & expenses
- ⚙ menu → 🏬 Import revenue or 🧾 Import expenses. Download the Excel/CSV template, fill one row per month (by store/channel/category), upload, preview, then Import. Or type rows straight into the grid.
- Each row becomes a transaction dated the month-end, so it flows into the dashboard, statements and VAT.
4 · Reconcile bank & Payment run
- ⇄ Reconcile: upload a bank statement; the app suggests matches to your invoices/bills (by amount, name and month). Confirm to mark them reconciled; small fee differences can be auto-posted.
- 💸 Payment run: batch the bills that are due (weekly for urgent, monthly for recurring), based on each vendor's credit terms, and export a bank transfer file. Each transfer pays the vendor net of withholding tax, and staff reimbursements owed can ride in the same batch. Processed bills are then reconciled by the bank statement.
- 🏦 KBank bulk-payment file BETA: upload KBank's own K‑Cash Connect Excel template once and the app fills each run into it (macros kept) for a ready-to-upload file. Beta — always open the file and check the totals & account numbers before uploading it to the bank.
5 · Expense reports (staff reimbursement)
- 💳 Expense Report: anyone can file the money they paid on the company's behalf — receipts and all → submit → an approver approves → accounting reimburses & books it. To-do badges show what's waiting on you.
- Add one line per receipt. Each line carries its own Category (cost element), BU and Cost center — all picked from your existing lists — plus its own currency & rate. Blank BU lines fall back to the report's default profit center.
- When accounting reimburses, every line posts as its own expense entry with that line's cost element, BU and cost center — so a single trip that mixes travel, meals and taxis splits correctly across the P&L and profit centers instead of landing in one lump.
6 · Issue documents & payroll
- 🧾 Issue: create quotations, tax invoices and receipts (a quotation can convert to an invoice). Issue the official 50 ทวิ withholding certificate for vendors/employees. Edit the company logo, contacts and document messages here.
- 👥 Payroll: run monthly payroll with SSO and PND1 tax, fixed + variable allowances and bonuses; download payslips and the PND1 return.
7 · Tax filings
- 🧾 Tax filings (top bar): pick a month to see what's due to the revenue authority, with the figures pulled from your books. Download each schedule (Excel/CSV) or print the official-style form to file.
- Thailand shows the full set — PP30 (VAT return) plus PND 1 / PND 3 / PND 53 withholding. PND3 (individuals) vs PND53 (companies) is split automatically by the payee's tax ID, so set each vendor's Tax ID under 🏷 Vendors.
- Other countries show their own system in their own currency — e.g. Singapore GST (F5), Malaysia SST, Japan Consumption Tax. Hong Kong & Macau (no GST/VAT) have nothing to file here. The Thai 50 ทวิ / PND forms appear only for Thailand.
- 🧾 Tax invoice / receipt (ใบกำกับภาษี/ใบเสร็จรับเงิน): in Thailand you claim input VAT on the tax invoice — issued when you pay — not the original bill. On any VATable expense, the Doc column shows 🧾 + tax inv until you attach it: upload/photograph it, mark it “same document as the bill” (for a combined ใบกำกับภาษี/ใบเสร็จ), or pull it from 📥 To file, and record its number & date. Once attached it turns green and files to Drive under Tax invoices & receipts.
- The VAT report & PP30 then use the tax-invoice number and month for purchases (so input VAT lands in the right period). The Reports window lists any VATable bills still awaiting a tax invoice — paid ones first, with the input VAT that isn't claimable until the doc arrives.
- 📝 Official ภ.พ.30 (Thailand): on the PP30 card, 📝 Official ภ.พ.30 opens a review dialog that fills the real Revenue Department PDF from your books. It pre-fills your taxpayer details, the 16 computation lines, and the correct month/head-office boxes; you adjust the few things the form can't know — exempt sales, credit carried forward, filing date (which auto-calculates the late-filing surcharge เงินเพิ่ม), and any penalty — then ⬇ Download PDF or ✓ Mark as filed. Your company seal & signatory print in the คำรับรอง box (upload the seal under ⚙ → company details). Each generated form is also archived to Drive under Tax filings / PP30.
- Mark as filed & carried credit: once you mark a month filed, it shows ✓ Filed on the card and the What's-due calendar, and — this is the useful part — its net credit carries into next month's line 10 automatically, accumulating across a run of credit months so you don't re-key it. Use undo on the badge if you filed by mistake.
8 · Statements, Scorecard, Profitability & Budget
- 📊 Statements: management or statutory P&L plus a balance sheet (continues from your opening balances). Multi-currency companies get a ฿ THB toggle (P&L at average rate, balance sheet at closing).
- 📈 Scorecard: Actual vs Budget vs Last-year, by profit center / channel / store, with cost elements grouped under your Level-1 groups.
- 🏆 Profitability: margin by channel, expandable to each store (contribution or fully-loaded).
- 🎯 Budget: enter yearly budgets by category and profit center.
9 · Setup (owner / finance)
- 🗂 Structure: define cost-element groups (Level 1 → Level 2), group business units under parents, and group stores under channels; reorder with ▲▼. Rename any dimension safely (it cascades everywhere).
- 🌐 Countries & FX: set this company's base currency and enter monthly FX rates to THB (feeds the ฿ THB toggle).
- ☁️ Google Drive: connect this company's Drive to mirror uploaded documents into Company / Year / Month.
- 👤 Team: add members, set roles, reset passwords, mark approvers, and view the activity log. Share link gives your accountant a read-only view.
- Roles & access: pick a preset role (Owner, Finance, Treasury, Accounts Payable, Accounts Receivable, HR, Sales, Management, Accountant, Viewer…) or open the role editor to fine-tune access per module (— / View / Edit) and save it as a new custom role. Owners can adjust any preset; the Owner role itself stays locked to full access. Everyone keeps Expense report access so they can reclaim what they paid out of pocket.
- Segregation of duties is built in: Accounts Payable records bills but can't release cash, Treasury runs payments but can't create bills, and Accounts Receivable owns the money-in side — so recording and paying never sit with one person.
Multiple companies (and country entities) each run separately — open them from the My Companies portal. HQ single sign-on: a group (HQ) account signs in once on the portal and can then open every country without logging in again; signing out anywhere signs you out of them all. Local/market staff sign in directly on their own country's link.
Questions your team hits repeatedly? Tell us and we'll add them here.