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.
All modules
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}}
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.
Create invoice
Invoices
Record payment
Payments
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.