ERP backend is live.
The live system now has SQLite database storage, auth sessions, modules, and starter records APIs.
Ready: HTTPS, database, backend API, login, module map, starter CRUD.
Finance follow-up
Loading finance summary...
All modules
What needs action today?
Inspired by ERP leaders: work queues first, modules second. Staff should process sales, contracts, invoices, collections and receipts from here.
Lead → Sale → Contract → Schedule → Invoice → Email → Collection → Receipt → Statement
Quick actions
Most common staff jobs, one tap away.
Priority work queues
Loading...
ERP process pipeline
Loading...
Notifications / alerts
Loading...
Notifications
Internal alert inbox for invoice-ready, due-soon, overdue, payment slip and contract follow-up work. Acknowledge or snooze only hides the alert; it does not change invoices, payments or customer data.
Staff use
Use this to keep today’s queue clean after a staff member has seen an alert, while the Workflow Center stays focused on active unresolved work.
Active alerts
Loading notifications...
Add customer
Customers
Add property/unit
Properties
Projects / Construction
Construction command center for milestone billing readiness, planning dates, forecast and blockers. Read-only: it does not approve invoices, send customer emails or change payments.
Actions
Loading project schedule...
Construction billing campaigns
Loading campaigns...
Milestones
Loading milestones...
Risks / blockers
Loading risks...
Planning schedule
Imported from Google Sheet tab Dates.
Message templates
Imported from Google Sheet tab messageSheet.
Agents / Commission
Imported from Google Sheet tab AGENTS.
Print template references
Old print tabs are stored as visual references for future ERP PDF templates.
Quota summary
Imported from Google Sheet tab Quota.
Meaning
Foreign/Thai ownership quota summary by project. This is reference/reporting data, not unit ownership changes.
Nationality summary
Imported from Google Sheet tab Nationality.
Meaning
Customer nationality count and percentage summary. This is reporting data only.
Customer change records
Staged from Google Sheet tab Customer change. These are review-only for now; no ownership/name/quota changes are applied automatically.
Sales records
Imported from Google Sheet tab O. Sales. These create customer and property records, but not invoices/payments.
Milestone billing
Staff workflow: preview customers linked to a construction milestone, create draft invoices, then review/email them. Nothing is sent automatically.
Start with preview. Staff can review before creating invoices.
Email sending setup
Connect company SMTP/email account. Use test first. Real campaign sends require this to be configured.
Campaigns
Campaign email template
Available placeholders: {{customer}}, {{milestone}}, {{unit}}, {{amount}}, {{currency}}, {{invoice_no}}, {{invoice_link}}, {{balance_statement_link}}, {{portal_link}}
Preview / email drafts
No preview loaded.
Campaign item review
Review warnings before creating invoices or sending emails. Skipped records will be ignored.
Select a campaign.
Email logs
No logs loaded.
Email Preflight
Read-only checklist before any real invoice campaign send. It checks customer emails, draft/approved invoice status, portal links, sent logs and SMTP configuration without sending anything.
Controls
Select a campaign in Milestone Billing first; otherwise the newest campaign is checked.
Loading SMTP status...
Preflight rows
Loading email preflight...
Contract worklist
One place to check each sold unit: customer/property link, signed contract document, and payment schedule/invoice readiness.
Search contracts
Search by unit, customer, email, status or old payment-plan text.
This is read-only workflow guidance. It does not alter contracts, invoices, or payments.
Contracts / payment schedules
Loading contracts...
Payment schedule worklist
Derived from milestone campaign items, invoices and payments. This does not change invoices or payments; it helps staff see what is due, unsent, overdue or paid.
Search / filter
Use this before sending invoice emails or chasing collection.
Milestones / invoice schedule
Loading schedule...
Collections follow-up
Staff queue for outstanding invoices. Record call/email status, next action, promise-to-pay date and owner without sending emails or recording payments.
Search / filter
Use this before calling customers. It does not send reminders or approve payments.
Outstanding invoice follow-up
Loading collections...
Customer Statements / Balances
Open customer balance statements to verify total price, payment plan, issued invoices, paid amounts, outstanding balance and payments received.
Loading customers...
How to check
Click Open balance next to a customer, or click the row to see customer detail and unit-level balance buttons.
Balance statements open in a new printable page.
Customers
Loading customer statements...
Customer detail
Click a customer row to see units, invoices, payments and unit balance buttons.
Owners register
Owner-first view for sold units: customer profile, units, ownership/quota type, contract value, invoices, payments, outstanding balance, documents and follow-up gaps.
Search / filter
Read-only worklist. It does not change ownership, approve payments or send customer emails.
Owner profiles / balances
Loading owners...
Customer Portal
Customers can open a secure portal from their invoice email. The portal shows unit/contract info, invoices, balance, payments, agreed changes and linked documents.
Loading sample portal links...
How it works
Each invoice has a random public token. The email can include:
Invoice link
/public/invoice?token=...
Customer portal
/portal?token=...
Portal links do not expose ERP login. They only show that customer/unit’s related data.
Create invoice
Invoices
Payment Slip Review
Customers upload bank slips from the portal. Staff checks amount/invoice match, then approves to create a payment/receipt.
Loading slips...
Record payment
Payments
Document storage
Attach contracts, passports, layouts, signed changes and receipts to a customer, unit, invoice or contract record.
Document checklist
Suggested records to attach per sold unit:
Documents
Accounting dashboard
Read-only accounting view for finance close: live A/R, receipts, draft invoice exposure, journal preview and reconciliation warnings. It does not post journals, approve payments or send emails.
Finance close checklist
Loading close controls...
Reconciliation warnings
Loading reconciliation...
Journal preview
Preview only: invoices debit Accounts receivable; payments debit Cash/bank. Formal accounting export/posting can be added after chart-of-accounts decisions.
Loading journal preview...
Activity Timeline
One searchable history across invoices, payments, uploaded slips, documents, customer changes and staff actions.
Read-only operational view; it does not change customer data, invoices or payments.
Why staff use it
Before calling a customer or approving a slip, staff can see the recent story for that unit: invoice created, portal upload, document attached, payment recorded, and any review action.
Recent activity
Loading activity...
HR / Staff role center
Admin-only staff operations view: active users, role permissions, department responsibility map and workload handoff counts. Read-only: it does not create users or change permissions.
Controls
Use Settings to add staff users; use this page to see who owns which operational queue.
Staff
Loading staff...
Responsibilities
Loading role map...
Workload handoff
Loading workloads...
Daily handoff checklist
Loading checklist...
Management Reports
Live operational reports rebuilt inside ERP instead of relying on calculated Google Sheet print tabs. Finance can use this for collections, aging, portal engagement and contract/document gaps.
Report pack
Read-only: these reports do not send emails, approve slips, record payments or change invoices.
Siam Oriental Oasis revenue forecast
Tentative construction dates are kept in settings and are not shown on customer balance statements until confirmed.
Loading revenue forecast...
A/R aging
Loading...
Invoice status
Loading...
Monthly invoicing / collections
Loading...
Contracts / documents
Loading...
Top overdue invoices
Loading...
Security Center
Admin-only posture check before bulk email, finance approvals, imports or credential work. Read-only: this page does not rotate credentials, send emails, approve payments or delete data.
Security actions
Use this as a checklist. It highlights risk; staff still act in the proper module.
Posture / risks
Loading security posture...
Access & email
Loading...
Uploads & portal
Loading...
Recent audit actions
Loading...
Formula audit
Shows which Google Sheet tabs are source data vs calculated/reporting views. Calculated tabs should be rebuilt as ERP reports, not imported as fixed numbers.
Backup Center
Create a local protected SQLite backup before risky finance, import, email or configuration work. Backups stay on the server under protected data storage.
Current database
Loading backup state...
Recent backups
Loading backups...
Google Sheets OAuth setup
No service-account key needed. Add OAuth Client ID/Secret from Google Cloud, then connect with Google login.
Connection status
Loading...
Redirect URI to add in Google Cloud:
https://erp.siamoriental.net/api/integrations/google-sheets/oauth/callback
Sheet inspector
After OAuth is connected, load tabs, headers, and sample rows before mapping/importing.
Waiting for OAuth connection.
Import mapping draft
Mapping drafts
Company settings
Numbering
Bank / payment details
Project schedule settings
Use tentative text until exact dates are confirmed. These dates are not shown on customer balance statements.
Change password
Add staff user
Create internal ERP users without emailing credentials. Give the temporary password privately and require password change on first login.
Users & roles
User list loads after login.
Role permissions
Finance actions are now permission-gated. New non-admin users can work in their lane without access to user management, imports, backups or SMTP settings.
Loading role matrix...