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...
Add customer
Customers
Add property/unit
Properties
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}}, {{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.
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...
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
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.
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
Change password
Users & roles
User list loads after login.