For the best experience, view this proposal on a desktop. On mobile, the portal screens are shown as preview images — tap any to enlarge. 建议使用电脑浏览本建议书。 在手机上,门户界面以预览图呈现,点击任一图片即可放大。
Phase 2 · Internal AI Portal · Proposal第二阶段 · 内部 AI 门户 · 建议书

Phase 1 gave your customers an AI.
Phase 2 gives your team one.
第一阶段,AI 服务客户。
第二阶段,AI 服务团队

A secure portal where staff log in and ask questions of live SQL Accounting data, in Chinese or English, and get figures and charts in seconds. Around that core sit eight automations that remove daily manual work — supplier documents, payment verification, delivery run sheets, alerts, and voice ordering on the WhatsApp bot you already run. 一个安全的内部门户:员工登录后,即可用中文或英文向 SQL Accounting 的实时数据提问,数秒内得到数字与图表。围绕这个核心,另有八项自动化功能,消除每日的手工作业——供应商单据、付款核实、送货单、提醒通知,以及在现有 WhatsApp 机器人上新增的语音下单。

Every portal screen below opens live. Click Open this screen live on any mockup and the real prototype loads in place — click around it as you read. 下方每个门户界面都可实时打开。在任一界面图上点击 打开实时界面,真实原型即在原位加载,可一边阅读一边操作。

Scroll to read the proposal向下滚动阅读建议书
What changes on day one上线首日的改变
< 30sec
to answer a routine data question. Today it takes 10 to 60 minutes of asking accounts and waiting. 回答一个常规数据问题。目前需向账房查询并等待 10 至 60 分钟。
< 2min
per supplier document — photograph, review, approve. Today it is 5 to 10 minutes of keying. 处理一份供应商单据——拍照、核对、批准。目前需手工录入 5 至 10 分钟。
100%
of payment receipts audited against the bank statement each period. Today most claims are taken on trust. 每期所有付款收据均与银行月结单核对。目前多数付款声明只能凭信任接受。
1day
to detect a customer who has gone quiet or dropped a product. Today it depends on someone remembering. 发现客户停止下单或停买某产品。目前全靠人记得。
What we're building建设内容

Nine modules. One login. One permission model. 九个模块一次登录一套权限

Eight of the nine live inside the portal. The ninth extends the WhatsApp chatbot Phase 1 already delivered. Every module shares the same accounts, the same roles and the same notification feed, so a staff member learns one place, not nine. 九个模块中有八个位于门户内部,第九个则扩展第一阶段已交付的 WhatsApp 机器人。所有模块共用同一套账号、角色与通知中心,员工只需熟悉一个系统,而非九个。

MD1

WhatsApp EnhancementsWhatsApp 功能增强

Voice-message ordering and handwritten-photo orders on the Phase 1 pipeline. Delivered first, before the portal. 在第一阶段的流程上新增语音下单与手写单据拍照下单。最先交付,早于门户。

MD2

Portal Core, Auth & Roles门户核心、登录与权限

Login, roles, user management, notifications, audit log and a role-aware dashboard. Full phone parity. 登录、角色、用户管理、通知、审计日志,以及按角色呈现的仪表板。手机端功能完全对等。

MD3 · Core核心

AI Data ChatAI 数据对话

The centrepiece. Ask live SQL Accounting data anything, in Chinese or English, and get tables and charts back. 整个项目的核心。用中文或英文向 SQL Accounting 实时数据提问,得到表格与图表。

MD4

Team Collaboration团队协作

Channels and direct messages, with the AI mentionable in any of them. Decisions and data stay together. 频道与私讯,并可在任何对话中 @AI。决策与数据留在同一处。

MD5

Company Knowledge Base公司知识库

SOPs and internal documents the AI cites by source. Useful conversations can be saved back into it. AI 引用并注明出处的作业程序与内部文件。有价值的对话可回存为知识条目。

MD6

Supplier PO Intake供应商采购单录入

Photograph a supplier document, the AI extracts it, a human approves, and it posts to SQL Accounting. 拍下供应商单据,AI 自动提取,经人工批准后过账至 SQL Accounting。

MD7

Payment Reconciliation付款核实与冲账

Every customer receipt audited against the bank statement. A claim with no matching credit never posts. 每张客户收据都与银行月结单核对。没有对应进账的付款声明绝不过账。

MD8

Alerts & Reminders提醒与警报

Any staff member sets a watch by asking for it in plain language. No forms, no admin request. 任何员工用日常语言说一句,即可设定监控。无需表单,无需向管理员申请。

MD9

Delivery Run Sheet送货单与司机交收

Runs built from the day's invoices, printed on A4, and closed out from the page the driver brings back. 依当日发票编排路线,打印于 A4 纸;司机带回的单据用于交收与对账。

How it is built建设原则

The AI proposes. Your staff decide. AI 提出建议员工作出决定

Six rules the whole system is designed around. They are the reason the portal can be trusted with accounting data. 整个系统围绕六条规则设计。正是这些规则,让门户足以被托付会计数据。

Ask, don't dig直接问,不必翻

Any authorised staff member queries live company data conversationally. No report request, no waiting on accounts.获授权的员工可直接对话式查询公司实时数据,无需提交报表申请,也不必等账房。

Human in control人为把关

Every write into SQL Accounting passes a review-and-approve screen first. Nothing posts on the AI's word alone.任何写入 SQL Accounting 的动作都必须先经审核批准界面。AI 的判断本身不足以过账。

Prove, don't assume要凭证,不凭信

A customer's receipt is a claim. The bank statement is the proof. A claim with no matching credit is reported for chasing.客户的收据只是声明,银行月结单才是凭证。无对应进账的声明将被列出追讨。

A brain that compounds越用越聪明

Internal documents become a knowledge base the AI cites. A useful answer can be saved back into it as a new entry.内部文件构成 AI 引用的知识库;有用的答案可回存为新条目。

Chinese or English, everywhere中英文皆可

The interface, the AI's answers and the training guides all come in both. Staff use whichever they think in.界面、AI 回答与培训指南均有双语版本,员工以惯用语言操作。

A phone is not a lesser device手机端不打折

Every module works on a phone. Tables become cards, dialogs become bottom sheets. Nothing is desktop-only.所有模块均可在手机上使用:表格转为卡片,对话框转为底部面板,没有任何功能仅限电脑。

Module 01 · WhatsApp Enhancements模块 01 · WhatsApp 功能增强

Customers who prefer to talk. And those who prefer to write. 有人习惯说有人习惯写

This module extends the WhatsApp chatbot you already run — no new architecture, no migration. It is delivered first, before the portal, because it has no portal dependency and puts something live in front of customers within weeks. 本模块直接扩展您现有的 WhatsApp 机器人——不改架构,无需迁移。它是最先交付的模块,排在门户之前,因为它不依赖门户,可在数周内让客户用上。

Voice-message orders语音下单

Production feature · accuracy measured before acceptance正式功能 · 验收前先测准确率

1 The customer sends a voice note instead of typing.客户发送语音,而非打字。
2 Speech-to-text transcribes it, then a deterministic correction pass runs the text against your existing product and alias lexicon — the hundreds of names Phase 1 already knows, like 斋鹅.语音转文字后,再用确定性的校正程序对照现有的产品与别名词库——第一阶段已收录的数百个名称,例如「斋鹅」。
3 The order is echoed back for the customer to confirm before anything is booked. A mis-heard word is caught by the customer, not by your CS team afterwards.下单前先把订单回读给客户确认。听错的字由客户当场发现,而不是事后由客服补救。
4 From there it joins the normal order pipeline you already trust.之后即进入您已信任的既有下单流程。

Handwritten-photo orders手写单据拍照下单

Trial · shipped with an accuracy report, not a promise试点功能 · 交付准确率报告,而非空头承诺

A customer photographs a handwritten order list and the vision model reads it. This is scoped honestly as a trial: handwriting varies enormously, so it ships with a measured accuracy report on real samples rather than an assurance. Confidence thresholds are not raised casually — anything the model is unsure of drops into the existing CS internal-note flow, exactly where it goes today. 客户拍下手写订单,由视觉模型识别。这一项如实定位为试点:手写差异极大,因此交付的是基于真实样本的准确率报告,而非保证。信心阈值不会被随意调高——模型不确定的内容会转入现有的客服内部备注流程,与今日做法一致。

Both features are accepted only once accuracy has been measured on at least 30 real customer samples, with the CS fallback verified working. 两项功能均须在至少 30 个真实客户样本上测得准确率、并验证客服兜底流程可用后,方视为验收通过。

Module 02 · Portal Core, Auth & Roles模块 02 · 门户核心、登录与权限

The dashboard opens on what needs a human. 仪表板首先呈现的是需要人处理的事

Not a wall of charts. The first band is documents awaiting approval, bank lines to verify, money claimed but never received, alerts that have fired and sync problems — each with a count, a one-line reason and a click straight into its module. A card with nothing in it is left out, and when everything is clear the whole band collapses to one calm line. 不是一整面图表。首列显示的是待批单据、待核对的银行进账、客户声称已付但从未到账的款项、已触发的提醒,以及同步异常——每项都有数量、一句原因,点击即进入对应模块。没有内容的卡片不显示;一切正常时,整列收合为一行简讯。

Email and password login, admin-created accounts, lockout after 5 failed attempts邮箱密码登录,账号由管理员开设,连续 5 次失败即锁定
Roles and data scopes enforced on the server, not just hidden in the interface角色与数据范围在服务器端强制执行,而非仅在界面隐藏
Users module with search, filters and edit — leavers are deactivated, never deleted用户模块支持搜索、筛选与编辑——离职者停用而非删除
Notification centre with unread badge, plus a full history page grouped by day通知中心含未读标记,另有按日分组的完整历史页
Audit log of every login, permission change, approval and posting — filterable and exportable审计日志记录每次登录、权限变更、批准与过账,可筛选并导出
Settings for the SQL Accounting connection, with a live test and the sync scheduleSQL Accounting 连接设置,含实时测试与同步排程
AI provider settings — model per job, token limits and a monthly budget alertAI 供应商设置——按用途选模型、令牌上限与每月预算提醒
A sync log where a run that moved nothing reads as "no changes", not as a failure同步日志中,未产生变动的运行显示为「无变更」,不会被误读为失败
portal.shingtik.com / dashboard
Portal dashboard — prototype
Portal dashboard — prototype preview
Dashboard — tap to enlarge仪表板——点击放大

Illustrative prototype — shown for reference only. Final interface is confirmed at sign-off. 示意原型,仅供参考。最终界面于签核时确认。

portal.shingtik.com / users
Users module — prototype
portal.shingtik.com / settings
Settings — prototype
Users module — prototype preview
Users — tap to enlarge用户管理——点击放大
Settings — prototype preview
Settings — tap to enlarge系统设置——点击放大
Module 03 · AI Data Chat · The centrepiece模块 03 · AI 数据对话 · 核心

"Which outlets owe more than RM 5,000 over 60 days?" 「哪些门市超过 60 天、欠款超过 RM 5,000

Type that, in Chinese or English, and the answer comes back as a table and a chart in seconds — read from live SQL Accounting data through the bridge, with the data's freshness stated on the answer. No report request. No waiting on the accounts department. 用中文或英文输入这句话,数秒内即得到表格与图表——数据经桥接程序取自 SQL Accounting 实时资料,并在答案上标明数据的更新时间。无需提交报表申请,也不必等账房。

Overdue invoices by customer, branch, age bucket or amount按客户、门市、账龄或金额查询逾期发票
Revenue by month, quarter or any period, with comparisons按月、季或任意期间查询营收,并可比较
Top and bottom products by quantity or value按数量或金额排列的畅销与滞销产品
Customer aging, last order date and habitual products客户账龄、最后下单日期与惯购产品
Charts rendered in the conversation and downloadable图表在对话中生成,并可下载
Conversation history, auto-titles, rename and delete对话历史、自动命名、重命名与删除
Share an answer into a channel, or save it to the Knowledge Base可将答案分享到频道,或存入知识库
Quick ask — eight common questions grouped Customers · Money · Stock快速提问——八个常用问题,分为客户 · 账款 · 库存
Read-only query tools; a user only ever sees data their role permits查询工具只读;用户只能看到其角色允许的数据
portal.shingtik.com / ai-chat
AI Data Chat — prototype
AI Data Chat — prototype preview
AI Data Chat — tap to enlargeAI 数据对话——点击放大

Illustrative prototype — shown for reference only. Final interface is confirmed at sign-off. 示意原型,仅供参考。最终界面于签核时确认。

Where the figures come from数字的来源

A mirror of SQL Accounting refreshed every few minutes during business hours, plus live lookups through the bridge for real-time checks. Overnight, when the SQL Accounting PC is off, answers are served from the mirror and labelled with their age.营业时间内每隔数分钟刷新的 SQL Accounting 镜像,加上经桥接程序的实时查询。夜间 SQL Accounting 电脑关机时,答案取自镜像并标明数据时间。

Why it cannot invent a number为何不会编造数字

The AI does not write SQL freely. It calls a fixed set of read-only, parameterised query tools, and the role and data scope are applied outside the model, in the server. An out-of-scope request is refused, not improvised.AI 不会自由撰写 SQL,而是调用一组固定的只读参数化查询工具;角色与数据范围在模型之外的服务器端强制执行。超出范围的请求会被拒绝,而非自行发挥。

Which AI model runs it使用哪个 AI 模型

OpenAI by default, as agreed at the requirements meeting. The provider sits behind an abstraction, so switching later is a settings change and not a rebuild.依需求会议决议,默认使用 OpenAI。供应商置于抽象层之后,日后更换只是设置调整,不需重建。

Module 04 · Team Collaboration模块 04 · 团队协作

Mention the AI in the conversation that needs it. 在需要的对话里直接 @AI

Channels and direct messages in the familiar shape. The difference is that the AI is a participant: type @AI which of my customers are overdue more than RM 2,000? in the sales channel and the answer lands in the thread, scoped to the role of the person who asked — so a salesperson sees their own accounts, not everyone's. 熟悉的频道与私讯形式,不同之处在于 AI 也是成员:在销售频道输入 @AI 我哪些客户逾期超过 RM 2,000?,答案便出现在该讨论串中,并按提问者的角色限定范围——销售人员只看到自己的客户,而非全部。

Public and private channels, with member management公开与私密频道,含成员管理
One-to-one and small-group direct messages一对一与小组私讯
The AI mentionable in any channel or DM, answering in-thread任何频道或私讯皆可 @AI,答案就在讨论串内
Attachments, images, and AI answers carrying tables and charts支持附件、图片,以及带表格与图表的 AI 答案
Mentions, unread markers, and the shared notification feed提及、未读标记,以及共用的通知中心
Full-text search across every channel and DM you belong to对所有所属频道与私讯进行全文搜索
portal.shingtik.com / channels / sales-team
Team channel with the AI mentioned — prototype
Team channel — prototype preview
Team channel — tap to enlarge团队频道——点击放大

Illustrative prototype — the live view opens on AI Chat; the channels are in the left panel. 示意原型——实时界面从 AI 对话打开,频道位于左侧面板。

Module 05 · Company Knowledge Base模块 05 · 公司知识库

A curated brain. Not a document dump with search on top. 一个经人整理的知识库而非加上搜索的文件堆

You upload a PDF, Word file, spreadsheet or a photograph of a printed SOP. The AI reads it and writes a summary into the entry. A person then edits that text and publishes it — and that edited text, not the original file, is what the AI can read. So anyone can open an entry and see exactly what the AI knows. 您上传 PDF、Word 文件、试算表,或一张打印作业程序的照片。AI 读取后将摘要写入条目内容,再由人编辑并发布——AI 能读到的是这段经人编辑的文字,而非原始档案。因此任何人打开条目,就能确切看到 AI 知道什么。

Upload PDF, Word, Excel, text or images — scans and photos are read too支持 PDF、Word、Excel、文本与图片——扫描件与照片同样可读
Draft, published and archived states — a draft never reaches the AI草稿、已发布与已归档三种状态——草稿绝不进入 AI
Near-duplicate detection on publish, so conflicting copies do not pile up发布时检测近似重复,避免堆积互相矛盾的副本
Version history with author, timestamp and one-click restore版本历史含作者、时间戳,可一键还原
Folder tree, tags, and visibility by role — the AI never cites what you cannot open文件夹树、标签与按角色的可见性——AI 绝不引用您无权打开的内容
A review interval per entry, so a stale SOP surfaces instead of rotting quietly每条目设复核周期,过期的作业程序会主动浮现,而非悄悄失效
Save a useful AI conversation back as a proposed entry可将有价值的 AI 对话回存为待审条目
Every knowledge-based answer cites the entry it came from每个基于知识库的答案都注明来源条目
If nothing matches, the AI says the knowledge base does not cover it若无匹配内容,AI 会直接说明知识库未涵盖该问题
portal.shingtik.com / knowledge-base
Knowledge Base — prototype
Knowledge Base — prototype preview
Knowledge Base — tap to enlarge知识库——点击放大

Illustrative prototype — shown for reference only. Final interface is confirmed at sign-off. 示意原型,仅供参考。最终界面于签核时确认。

Not included in Phase 2第二阶段不包含

Google Drive and Google Sheets sync into the knowledge base. Your decision was direct upload only for now, and the proposal holds to it. Adding a sync later is a change request, not a rebuild. 与 Google Drive、Google Sheets 的同步。依您的决定,现阶段仅支持直接上传,本建议书据此执行。日后新增同步属变更申请,不需重建。

Module 06 · Supplier PO Intake模块 06 · 供应商采购单录入

Photograph the paper. Check the rows. Approve. 拍下单据核对内容按下批准

Today a supplier document takes five to ten minutes of keying. Here it takes a photograph and a check. The AI reads the supplier, date, invoice number, items and quantities — and never the prices. Prices come from SQL Accounting, because the price you agreed is the one in your system, not the one printed on someone else's paper. 目前录入一份供应商单据需手工输入五至十分钟,现在只需拍照并核对。AI 读取供应商、日期、发票号、品项与数量,但绝不读取价格。价格一律取自 SQL Accounting——因为双方议定的价格在您的系统里,而不在对方的纸张上。

01

Capture拍摄

Photograph or upload, multi-page. Page thumbnails let you check before extraction runs.拍照或上传,支持多页。缩略图可先检查,再启动识别。

02

Extract识别

Named stages, so a slow document reads as work in progress rather than a frozen screen.分阶段显示进度,处理较慢时看得出在运作,而非画面卡住。

03

Match匹配

Supplier to creditor code, items to stock codes, carton or loose from your own unit mappings.供应商对应债权人代码,品项对应存货编码,箱装或散装依您自设的单位对照。

04

Review审核

The document image beside the extracted rows. Every field editable, low confidence highlighted.单据图像与识别结果并排显示,每个栏位可修改,低信心项目高亮标示。

05

Approve & post批准并过账

A human clicks approve. Only then does it reach SQL Accounting, with the image archived and audited.由人点击批准,之后才写入 SQL Accounting,单据图像一并归档留痕。

Capture from the AI chat too — the same pipeline, without switching modules也可在 AI 对话中拍摄上传——同一条流程,无需切换模块
Unmatched suppliers or items go to an exception queue, not into a bad posting无法匹配的供应商或品项进入例外队列,而非勉强过账
Resolving an exception can update the mapping table, so the next one matches处理例外时可更新对照表,下一次即可自动匹配
Duplicate invoice numbers are detected before anything posts twice重复发票号在重复过账前即被侦测
One searchable queue with status as a filter — nothing hides behind a tab单一可搜索队列,以状态作筛选——不会有内容藏在分页后面
The audit record notes which surface approved it, chat or module审计记录注明是在对话还是模块中批准的
portal.shingtik.com / po-intake
Supplier PO Intake — prototype
Supplier PO Intake — prototype preview
PO Intake — tap to enlarge采购单录入——点击放大

Illustrative prototype — shown for reference only. Final interface is confirmed at sign-off. 示意原型,仅供参考。最终界面于签核时确认。

Module 07 · Payment Reconciliation & Knockoff模块 07 · 付款核实与冲账

A receipt is a claim. The bank statement is the proof. 收据只是声明银行月结单才是凭证

Customers already send payment receipts over WhatsApp, and the Phase 1 bot already reads them. What has been missing is the check. This module audits every claim against the bank's own statement, posts what the bank confirms, and — the point of the whole exercise — tells you the total customers claimed that never arrived. 客户已透过 WhatsApp 发送付款收据,第一阶段的机器人也已能读取,欠缺的是核实这一步。本模块将每一笔声明与银行月结单核对,只过账银行确认的部分,并且——这正是整件事的意义——告诉您客户声称已付、但从未到账的总额

Six audit outcomes — every claim lands in exactly one六种核实结果——每笔声明必属其一

Verified已核实

Receipt and bank credit agree. Posts a customer payment and knocks off the invoices on approval.收据与银行进账相符。经批准后建立客户付款并冲销发票。

Claimed, never arrived声称已付,从未到账

A receipt with no matching credit. Never posts, never reduces a balance. Exported for chasing. This is the finding the audit exists for.有收据但无对应进账。绝不过账,绝不冲减余额,导出以供追讨。这正是核实的意义所在。

Received, no receipt已收款,无收据

Money in the account nobody claimed. The payer is identified on screen, then it posts.账户有进账但无人认领。在界面上确认付款人后再过账。

Amount differs金额不符

The receipt says RM 500, the bank shows RM 495. The bank amount posts and the shortfall stays outstanding.收据写 RM 500,银行显示 RM 495。以银行金额过账,差额仍列为未清。

Duplicate claim重复声明

The same reference submitted twice. Held and flagged — at most one claim can ever verify.同一参考号提交两次,予以扣留并标示——最多只有一笔能通过核实。

Unreadable receipt收据无法辨读

No amount could be extracted. Surfaced for a person to read. Never guessed.无法提取金额,交由人工阅读,绝不猜测。

Why the matcher ranks rules instead of looking up a reference number为何采用规则排序,而非直接比对参考号

We measured this against your live Phase 1 receipt corpus rather than assuming it. Bank-transfer screenshots frequently do not show the fields a simple lookup would need: 71% carry no invoice number, 29% no reference id, 27% no usable amount and 31% no payment date. So the matcher tries bank reference first, then customer with amount and date window, then customer with a date window and a stated difference — and records which rule produced each verdict, so your accountant can act on a result rather than trust a score. 这不是假设,而是针对第一阶段现有收据实测的结果。银行转账截图往往不显示简单比对所需的栏位:71% 没有发票号,29% 没有参考号,27% 没有可用金额,31% 没有付款日期。因此比对程序先尝试银行参考号,再以客户加金额加日期区间,最后以客户加日期区间并列明差额——并记录每个判定由哪条规则得出,让会计据以行动,而非凭一个分数信任结果。

portal.shingtik.com / payment-reconciliation
Payment Reconciliation — prototype
Payment Reconciliation — prototype preview
Payment Reconciliation — tap to enlarge付款核实——点击放大

Illustrative prototype — shown for reference only. Final interface is confirmed at sign-off. 示意原型,仅供参考。最终界面于签核时确认。

One dependency to flag plainly. Receipts reach this module from a database, which means the Phase 1 Payment Receipt Recorder must first be extended to write them there. That is a small piece of Phase 1 work we would start before this module begins. The Google Sheet is deliberately not the source: that write path failed silently for eight weeks and lost 264 receipts. 须明确说明的一项前置条件。收据由数据库进入本模块,因此第一阶段的付款收据记录器必须先扩展为写入数据库。这是第一阶段的一小部分工作,我们会在本模块开始前先行处理。刻意不采用 Google 表格作为来源:该写入路径曾静默失效八周,遗失 264 张收据。

Module 08 · Alerts & Reminders模块 08 · 提醒与警报

"Tell me if K46 hasn't ordered in 3 days." 「K46 三天没下单就通知我

Type that sentence and the alert exists. The portal shows back the rule it built — what it watches, when it checks, who it tells — with change and remove on the same card. There is no form to learn and no request to an administrator. Amend it the same way: make it 7 days, also tell Ms. Lim, tell everyone. 输入这句话,提醒即已建立。门户会把它所建立的规则回示给您——监控什么、何时检查、通知谁——并在同一张卡片上提供修改与删除。无需学习表单,也无需向管理员申请。修改方式同样简单:改成 7 天也通知 Ms. Lim通知所有人

Kind 01 · Condition类型 01 · 条件

"tell me if K46 hasn't ordered in 3 days"

Watched on a schedule and fires when it becomes true. It fires once, then waits for the situation to clear before it can fire again — so a problem lasting a week does not notify you seven times.按排程监控,条件成立时触发。触发一次后须待情况解除才会再次触发——因此持续一周的问题不会通知七次。

Kind 02 · Reminder类型 02 · 提醒

"company meeting Friday 3pm"

No data involved. It simply fires at the stated time, to the people you named — an individual, a role, a channel, or everyone.不涉及数据,只在指定时间通知您指定的对象——个人、角色、频道,或全体同事。

Kind 03 · Checkpoint类型 03 · 定点检查

"on the 25th, tell me if they still owe"

A condition evaluated once, at a stated time. It already knows the answer when it reaches you, so the message is the finding, not a task.在指定时间只评估一次的条件。通知送达时答案已经确定,讯息本身就是结论,而不是待办事项。

Templates for the common watches, plus your own past alerts turned back into a sentence常用监控的模板,另可将过往提醒还原成可直接编辑的句子
If a required detail is missing, nothing is created and the AI asks for it若缺少必要细节,则不建立任何内容,由 AI 主动询问
Every change reported as a before-and-after difference, never applied silently每次修改均以前后对照呈现,绝不静默套用
An alert only ever reads what its creator is allowed to see, re-checked each run提醒只能读取建立者有权查看的数据,每次运行重新检查
One sortable list of every alert — what it checks, who set it, when it last fired所有提醒集中于一张可排序清单——检查什么、谁设定、上次何时触发
A dedicated alert indicator in the top bar, separate from the notification bell顶栏设有独立的提醒指示器,与通知铃分开
Day counts use business days unless you ask for calendar days天数默认以工作日计算,除非您指明以日历日计算
Conditions run on the synced mirror, so alerting does not need the bridge online条件在同步镜像上评估,因此提醒不依赖桥接程序在线
Every alert carries the data-as-of timestamp it was judged on每则提醒都标明其判断所依据的数据时间
portal.shingtik.com / alerts
Alerts and reminders — prototype
Alerts and reminders — prototype preview
Alerts — tap to enlarge提醒管理——点击放大

Illustrative prototype — shown for reference only. Final interface is confirmed at sign-off. 示意原型,仅供参考。最终界面于签核时确认。

Module 09 · Delivery Run Sheet & Driver Close-out模块 09 · 送货单与司机交收

The paper stays. The re-keying goes. 纸张保留重复录入取消

Today one A4 pad page is written by hand for every driver, every day — invoices, customers, amounts, bags and cartons, stop order, and the cash total to bring back. Nothing on that page returns to any system. This module builds the sheet, prints it, and reads it back in. We are not asking your drivers to change how they work. The effort goes into the two ends, because the page in the driver's hand is already the efficient part. 目前每天为每位司机手写一页 A4 单据——发票、客户、金额、袋数箱数、送货顺序,以及须带回的现金总额。这页纸上的资料不会回到任何系统。本模块负责生成这张单、打印它,并把它读回系统。我们不要求司机改变作业方式,工作集中在前后两端,因为司机手上那页纸本身已经很有效率。

Runs built each morning from the day's invoices, grouped by delivery area每天清晨依当日发票按送货区域自动编排路线
Built from the synced mirror, so the sheet is ready before the SQL Accounting PC is switched on基于同步镜像生成,因此 SQL Accounting 电脑开机前单据已备妥
An unassigned list shows everything eligible not yet on a run — hold one back with a reason未分配清单列出所有符合条件但尚未编入路线的发票,可注明原因暂缓
Create a run by hand for a second truck or an afternoon drop可手动新增路线,供第二辆车或下午班次使用
Stops pre-sorted into last time's order; change it once and it becomes the default站点按上次的送货顺序预排;调整一次即成为默认顺序
Parcel counts suggested from the invoice's unit of measure for the packer to correct依发票的计量单位推算袋箱数,供包装人员修正
A print-ready A4 delivery note to download and print on blank paper生成可直接打印的 A4 送货单,用空白纸打印即可
Close out by photographing the marked-up page, or by keying only the exceptions交收时可拍下已批注的单据,或仅录入例外情况
Undelivered stops release their invoices back to the list and appear on the next run未送达的站点会将发票退回清单,并出现在下一趟路线中

A control total nobody can type over无法被覆写的对账总额

The 總計 the driver hands back is calculated from the cash-terms invoices on that run. It cannot be edited. A control total someone can overwrite controls nothing.司机须交回的「總計」由该趟路线的现金发票计算得出,不可修改。一个能被覆写的对账总额,其实什么也控制不了。

What was planned, and what actually happened计划如何,实际如何

A statement customer who paid cash at the door, or a cheque with its number — recorded beside what the sheet planned. The printed total is never rewritten; the difference is shown as its own line, so the paper still reconciles.月结客户在门口付现金,或开出支票并留下号码——这些都记录在计划栏位旁。打印出的总额绝不改写,差异另列一行,纸本仍可对账。

A return is a claim until the rack says otherwise退货在货上架前只是声明

Goods brought back are recorded against the right invoice and matched to a stock code, but a credit note cannot be drafted until someone confirms the goods are physically back.带回的货品会记录到正确的发票并对应存货编码,但在有人确认货品确实已回仓之前,无法开立贷记单草稿。

portal.shingtik.com / delivery-runs
Delivery runs — prototype
Delivery runs — prototype preview
Delivery runs — tap to enlarge送货路线——点击放大

Illustrative prototype — the run workbench and close-out screens open from this board. 示意原型——路线编排与交收界面均从此看板进入。

System architecture系统架构

Your accounting PC never opens a port. 您的会计电脑无需开放任何端口

SQL Accounting is reached through a small bridge agent that runs on the PC where SQL Accounting is already installed. It dials out through a secure tunnel — nothing dials in, and no firewall rule is opened. This is the same pattern proven in the reference implementation, which we reviewed and adopted wholesale rather than inventing our own. 系统透过一个小型桥接程序访问 SQL Accounting,该程序运行在已安装 SQL Accounting 的那台电脑上。它经由安全隧道向外建立连接——外部无法连入,也不需开放任何防火墙规则。这与参考实作中已验证的做法一致,我们直接采用,而非另起炉灶。

Who uses it使用者
Office browser办公室浏览器
Phone browser手机浏览器
Customers on WhatsAppWhatsApp 上的客户
New VPS · Phase 2新增 VPS · 第二阶段
portal.shingtik.com
The portal application门户应用

Interface, API, login and roles, the AI orchestrator, and the approval screens. Answers stream as they are written.界面、API、登录与权限、AI 协调器与审批界面。答案边生成边显示。

The database数据库

Portal data plus a continuously refreshed mirror of SQL Accounting, and the knowledge-base search index. One database, no separate search product.门户数据、持续刷新的 SQL Accounting 镜像,以及知识库检索索引。单一数据库,无需额外的检索系统。

The background worker后台作业

Mirror sync, document extraction, alert evaluation, and the queued postings back into SQL Accounting.镜像同步、单据识别、提醒评估,以及排队写回 SQL Accounting 的过账作业。

Your SQL Accounting PC您的 SQL Accounting 电脑

A bridge agent runs beside SQL Accounting and dials out through a secure tunnel. Live reads for real-time checks, approved writes for postings, and the feed that keeps the mirror current. The PC is off overnight — that is expected, not a fault, and the portal says so on screen.桥接程序与 SQL Accounting 并行运行,经安全隧道向外连接。实时读取供即时查询,经批准的写入用于过账,并持续供给镜像同步。该电脑夜间关机——这是预期情况而非故障,门户会在界面上说明。

The AI providerAI 供应商

OpenAI by default — chat, embeddings, speech-to-text and vision. The key is stored encrypted in Settings, the model is chosen per job, and a monthly budget alert keeps spend visible.默认使用 OpenAI——对话、向量嵌入、语音转文字与图像识别。密钥在设置中加密存储,可按用途选择模型,并设有每月预算提醒以掌握花费。

Existing VPS · Phase 1 · topology unchanged现有 VPS · 第一阶段 · 架构不变

The WhatsApp chatbot keeps running exactly as it does today, on its own server. Phase 2 adds two new sub-workflows to it for voice and handwritten orders, and reads the payment receipts it already captures. The customer-facing system and the internal portal stay on separate machines, so portal load can never slow the chatbot your customers use.WhatsApp 机器人维持现状,继续运行于其原有服务器。第二阶段仅为其新增两个子流程以处理语音与手写订单,并读取它已收集的付款收据。面向客户的系统与内部门户分处不同主机,因此门户的负载绝不会拖慢客户使用的机器人。

WhatsApp respond.io n8n

Five roles. Enforced on the server. 五种角色由服务器端强制执行

Roles were not discussed at the requirements meeting, so the matrix below is our starting proposal, to be confirmed with you during pre-development. What is not open to negotiation is where it is enforced: data scope is applied in the backend, outside the AI. The AI can only call query tools that have already been filtered to the asking user. No prompt can widen access, because the prompt never reaches the filter. 需求会议中尚未讨论角色权限,因此下表是我们的初步建议,将在开发前与您确认。不可变更的是执行的位置:数据范围在后端、AI 之外强制执行。AI 只能调用已按提问者过滤过的查询工具。任何提示词都无法扩大权限,因为提示词根本触及不到过滤逻辑。

Capability权限 Admin管理员 Management管理层 Accountant会计 Sales销售 Purchasing采购
Users, roles and system settings用户、角色与系统设置
AI chat — revenue and company-wide analyticsAI 对话——营收与全公司分析own自属
AI chat — overdue invoices and receivablesAI 对话——逾期发票与应收账款own自属
AI chat — product rankings and stockAI 对话——产品排行与库存
Channels, direct messages and @AI频道、私讯与 @AI
Supplier PO intake — approve and post采购单录入——批准与过账
Payment reconciliation — approve and post付款核实——批准与过账
Alerts — create for yourself提醒——为自己设定
Audit log审计日志

● full access · own limited to that person's own customers · — no access. A sixth role for dispatch is added with the delivery module. ● 完整权限 · 自属 仅限本人负责的客户 · — 无权限。送货模块另设第六种「调度」角色。

Technology stack技术栈

A pragmatic, modern stack. No moonshots. 务实的现代技术栈不做冒险尝试

One TypeScript codebase, one database, deployed the same way your Phase 1 server already is. Nothing here is chosen to be interesting. Each piece is chosen because it is proven, because your team already operates something like it, or because the reference implementation we reviewed already uses it. 一套 TypeScript 代码库、一个数据库,部署方式与您第一阶段的服务器一致。此处没有任何选择是为了新奇:每一项技术之所以入选,是因为它已经过验证、您的团队已在运维类似系统,或我们审阅的参考实作已在使用。

Codebase代码库
1
TypeScript, front and back前后端同为 TypeScript
Databases数据库
1
Portal, mirror and search in one门户、镜像与检索合一
Mirror refresh镜像刷新
5–15min分钟
In business hours. The meeting said nightly营业时间内。会议原订每晚一次
Ports opened on your PC电脑需开放端口
0
The bridge dials out, never in桥接程序只向外连接
Application & interface应用与界面
Next.js React Tailwind CSS shadcn/ui

One full-stack framework serving the interface and the API. It lets us reuse the connectors, sync engine and chat interface from the reference implementation rather than writing them again.单一全栈框架同时提供界面与 API,让我们能直接复用参考实作的连接器、同步引擎与对话界面,无需重写。

Data & search数据与检索
PostgreSQL 16 pgvector Prisma

Portal data, the multi-year accounting mirror, and the knowledge-base search index all live in one database. No separate vector product to license, host or keep in step.门户数据、跨年度的会计镜像与知识库检索索引全在同一个数据库中,无需另行采购、托管或同步独立的向量数据库。

Realtime & jobs实时与后台作业
Socket.IO Redis BullMQ

Live chat delivery, streaming AI answers and presence. Behind them, a job queue running mirror sync, document extraction, alert evaluation and postings.负责实时消息、AI 答案流式输出与在线状态;其后是执行镜像同步、单据识别、提醒评估与过账的作业队列。

AI modelsAI 模型
Chat & reasoning对话与推理OpenAI
Document & image reading单据与图像识别OpenAI vision
Voice transcription语音转写OpenAI STT
Knowledge retrieval知识检索OpenAI embeddings

OpenAI by default, as agreed at the meeting. Every call goes through one provider abstraction, and the model is selectable per job in Settings — so changing provider later is configuration, not a rewrite.依会议决议默认使用 OpenAI。所有调用统一经过供应商抽象层,且可在设置中按用途选择模型——日后更换供应商属配置调整,而非重写系统。

SQL Accounting accessSQL Accounting 访问
SDK Bridge Cloudflare Tunnel

A bridge agent on the SQL Accounting PC, reached through an outbound tunnel. Live reads for real-time lookups, incremental sync for the mirror, and approved writes for postings. Multi-year history is preserved across your yearly database rollover.在 SQL Accounting 电脑上运行的桥接程序,经由向外的隧道连接。实时读取用于即时查询,增量同步维持镜像更新,经批准的写入用于过账。跨年度数据库轮换时,多年历史资料仍完整保留。

Hosting & operations托管与运维
Docker Compose Traefik Let's Encrypt

A new dedicated VPS, deployed the same way your Phase 1 server is — so your team is not learning a second operational model. Daily backups with verified restores, uptime and error alerting.新增一台专用 VPS,部署方式与第一阶段服务器一致——您的团队无需学习第二套运维模式。每日备份并验证还原,另设可用性与错误告警。

Why a new server, and not the one you already have为何要新增服务器,而非沿用现有的

Co-hosting on the Phase 1 VPS costs nothing extra, and we considered it. We are not recommending it. That host has had CPU throttling incidents, and portal work — document reading, knowledge indexing, live connections — is exactly the kind of load that causes them. Your customers' chatbot should not slow down because someone in the office uploaded a stack of supplier invoices. Two servers keep the blast radius separate for roughly RM 125 a month. 与第一阶段的 VPS 共用主机不需额外费用,我们也评估过,但不建议这么做。该主机曾发生 CPU 限流事件,而门户的工作负载——单据识别、知识库索引、实时连接——正是造成限流的那一类。客户使用的机器人,不该因为办公室有人上传一叠供应商发票而变慢。每月约 RM 125,换取两套系统互不影响。

Scope of work项目范围

What is in. And plainly, what is not. 包含什么以及明确不包含什么

Twelve areas of delivery, plus the exclusions written where you can see them rather than buried in fine print. The exclusions list is the more useful half of this section. 十二项交付内容,以及写在明处、而非埋在细则里的除外事项。这一节中,除外清单往往是更有用的那一半。

The portal application门户应用

The web application itself, with full phone parity — every module usable on a phone, none degraded. Tables become stacked cards, dialogs become bottom sheets, controls are sized for a thumb.网页应用本身,手机端功能完全对等——每个模块都能在手机上使用,无一功能缩水。表格转为堆叠卡片,对话框转为底部面板,控件尺寸适合拇指操作。

Authentication and access control身份验证与权限控制

Email and password login, admin-managed accounts, and the role matrix — which we will confirm with you during pre-development rather than assume.邮箱密码登录、由管理员管理的账号,以及角色权限矩阵——该矩阵将在开发前与您确认,而非径自假定。

AI access to your accounting dataAI 访问会计数据

Overdue invoices, revenue, product rankings, customer status and aging, stock queries, chart generation — bilingual throughout.逾期发票、营收、产品排行、客户状态与账龄、库存查询与图表生成——全程支持中英双语。

Collaboration and knowledge协作与知识管理

Channels, direct messages and the AI mentionable in either. The knowledge base with authoring, versioning, review cadence and cited retrieval.频道、私讯,以及可在其中 @AI。知识库包含条目撰写、版本管理、复核周期与带引用的检索。

Document and payment automation单据与付款自动化

Supplier PO intake from photo to posting, and payment reconciliation from receipt to verified knock-off. Both approval-gated, both auditable.供应商采购单从拍照到过账,付款核实从收据到已验证冲账。两者均需批准,且全程可追溯。

Delivery run sheets and close-out送货单与交收

Runs from invoices, the printed A4 note, close-out by photograph or keyed entry, cash reconciliation, returns and approval-gated posting.依发票生成路线、打印 A4 送货单、以拍照或录入方式交收、现金对账、退货处理与需批准的过账。

WhatsApp enhancementsWhatsApp 功能增强

Voice-message ordering and the handwritten-photo trial, built on the existing pipeline under the same deployment discipline Phase 1 uses.语音下单与手写拍照试点,建立在现有流程之上,沿用第一阶段的部署规范。

Infrastructure and enablement基础设施与培训

VPS procurement support, deployment, TLS, backups and monitoring. Bilingual documentation, role-specific training, and three months of post-go-live support.VPS 采购协助、部署、TLS、备份与监控。双语文档、按角色的培训,以及上线后三个月的支持。

Not in Phase 2第二阶段不包含

The honest boundaries. 明确的边界

Some of these were discussed and deliberately deferred; others are simply outside what this engagement covers. Either way, they are listed here rather than discovered later. 其中部分曾经讨论并刻意延后,其余则本就不在本次委托范围内。无论属于哪一类,都写在此处,而非留待日后才发现。

Deferred — can be scoped later延后处理——日后可另行规划
Meeting recording and automatic minutes. Parked at the meeting as "evaluate whether needed".会议录音与自动记录。会议中列为「再评估是否需要」而暂缓。
Predictive order prompts pushed to customers. Marked 第二步/未来 at the meeting. The portal will alert your staff; it will not message your customers.主动向客户推送预测性下单提示。会议中标示为「第二步/未来」。门户会提醒您的员工,但不会主动发讯息给您的客户。
Google Drive and Sheets sync into the knowledge base. Your decision: direct upload only for now.知识库与 Google Drive、Sheets 同步。依您的决定:现阶段仅支持直接上传。
Barcode scanning, route optimisation and vehicle tracking on the delivery module.送货模块的条码扫描、路线优化与车辆追踪。
Out of scope范围之外
Native iOS and Android apps. The portal is a web application that works properly on a phone browser.原生 iOS 与 Android 应用。门户是网页应用,在手机浏览器上完整可用。
Editing or restructuring SQL Accounting master data, or changes to your SQL Accounting licence.修改或重整 SQL Accounting 主数据,或变更您的 SQL Accounting 授权。
Accounting advice or chart-of-accounts redesign. We build the system; your accountants own the accounting.会计咨询或会计科目表重整。我们负责建置系统,会计事务仍由贵司会计人员主导。
Replacing the Phase 1 chatbot architecture. Phase 2 extends it. It does not rebuild it.替换第一阶段的机器人架构。第二阶段只作扩展,不作重建。
Any posting made without a human approving it. This one is not a scope limit. It is a design rule.任何未经人工批准的过账。这一条不是范围限制,而是设计原则。
What we need from ShingTik需要 ShingTik 配合的事项

Five inputs, none of them large. 五项配合事项都不繁重

One real bank statement PDF, so we can confirm the credits extract cleanly before building against it一份真实的银行月结单 PDF,以便在开发前确认进账资料能否顺利提取
The supplier-name mapping table from the purchasing department采购部门的供应商名称对照表
Confirmation of the role permission matrix, or your amendments to it确认角色权限矩阵,或提出修改意见
The staff list, with each salesperson mapped to their agent code员工名单,并注明各销售人员对应的业务代码
Which document type supplier intake should post — purchase order, purchase invoice or goods received确认采购录入应过账为哪种单据类型——采购单、采购发票或收货单
A window to install the bridge agent on the SQL Accounting PC安排一个时段,在 SQL Accounting 电脑上安装桥接程序
Timeline & milestones时间表与里程碑

Something live in five weeks. Everything live in twenty-three. 五周内有功能上线二十三周内全部完成

The WhatsApp voice-ordering track is pulled to the front deliberately. It has no dependency on the portal, so it can be built in parallel and put in front of customers while the portal foundation is still being laid — which also satisfies the "demo next month" expectation from the requirements meeting with something real rather than a slide. WhatsApp 语音下单一轨刻意排在最前。它不依赖门户,可并行开发,在门户基础尚在建设时即让客户用上——这也以真实可用的功能,而非幻灯片,回应了需求会议中「下个月演示」的期望。

23 weeks from kickoff自启动起算 23 周

Portal track门户轨道 Parallel track并行轨道
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
P0 · Pre-development & prototypeP0 · 开发前准备与原型
P1a · WhatsApp voice ordersP1a · WhatsApp 语音下单
P1 · Portal foundationP1 · 门户基础
P2 · AI Data ChatP2 · AI 数据对话
P3 · CollaborationP3 · 团队协作
P4 · Knowledge BaseP4 · 知识库
P5 · Document automationP5 · 单据自动化
P6 · Alerts & remindersP6 · 提醒与警报
P6b · Delivery run sheetP6b · 送货单
P7 · Hardening & go-liveP7 · 加固与上线
MS1
~Week 5约第 5 周

Prototype signed off, voice ordering live原型签核、语音下单上线

The four pre-development documents, a clickable prototype of every module, and WhatsApp voice orders running on the live chatbot with accuracy measured on at least 30 real samples.四份开发前文件、涵盖所有模块的可点击原型,以及在正式机器人上运行的 WhatsApp 语音下单,并已在至少 30 个真实样本上测得准确率。

MS2
~Week 13约第 13 周

The portal, in daily use门户投入日常使用

Login and roles on the new server, AI chat answering from live accounting data, team channels in use and the knowledge base seeded. Pilot users are working in it.新服务器上的登录与权限、可从实时会计数据作答的 AI 对话、投入使用的团队频道,以及已建立初始内容的知识库。试点用户已在其中作业。

MS3
~Week 20约第 20 周

The automations, proven on real work自动化功能经实务验证

Real supplier documents posted through the portal, a full statement period audited end to end, alerts reaching the right people, and one delivery run built, printed and closed out with its cash reconciled.真实供应商单据经门户过账、完整一期月结单端到端核实、提醒送达正确对象,并完成一趟送货路线的生成、打印、交收与现金对账。

MS4
~Week 23约第 23 周

Acceptance and go-live验收与正式上线

Security review, user acceptance testing signed off, staff trained, documentation and runbook handed over, production cutover complete. Three months of support begins here.完成安全审查、用户验收测试签核、员工培训、文档与运维手册交付,以及正式环境切换。三个月支持期由此开始。

Each milestone's gate is also its acceptance checkpoint. Any gate not met is remedied by Codech at no additional cost before the next phase starts. The dates assume payment on schedule; a late payment shifts that phase and everything after it by the same period. 每个里程碑的验收条件同时也是其验收检查点。未达成的项目由 Codech 在下一阶段开始前无偿修正。上述日期以按时付款为前提;付款延迟将使该阶段及其后所有阶段顺延相同时间。

Project investment项目费用

One fixed fee. Shown two ways. 一个固定总价两种呈现方式

The same RM 46,000 appears below as what each module costs and as when each amount falls due. The module figures roll up exactly into the four milestone payments. 下方以两种方式呈现同一笔 RM 46,000:各模块的费用,以及各笔款项的到期时间。模块金额加总正好等于四个里程碑的付款额。

Total, one-time一次性总额
RM 46,000
Fixed. All nine modules.固定价,涵盖全部九个模块。
Payments付款次数
4
Payable in advance of each phase于各阶段开始前支付
Duration工期
~23wks
First delivery live at week 5第 5 周即有功能上线
Support included含支持期
3mo个月
After go-live, at no extra cost上线后提供,不另收费

What each Ringgit buys. 每一分钱买到什么

Eleven lines, including the pre-development package and the hardening phase that bookend the build. 共十一项,包含前后两端的开发前准备与上线加固阶段。

Line项目 What it delivers交付内容 Paid in计入 Fee (RM)费用 (RM)
Pre-development & prototype开发前准备与原型 The four specification documents, plus the clickable all-module prototype that becomes the visual contract for the build四份规格文件,以及作为建置视觉依据的全模块可点击原型 MS1 2,000
MD1 · WhatsAppWhatsApp 增强 Voice-message orders live on the existing pipeline, plus the handwritten-photo trial with its accuracy report在现有流程上线的语音下单,以及附准确率报告的手写拍照试点 MS1 1,000
MD2 · Portal core门户核心 Dashboard, login, roles, Users, Settings, notifications, audit log, bilingual shell and phone parity across the application仪表板、登录、角色、用户、设置、通知、审计日志、双语框架,以及全应用的手机端对等体验 MS2 5,500
MD3 · AI Data ChatAI 数据对话 Bridge integration, the mirror sync engine, role-scoped query tools, chart generation, bilingual conversations and sharing桥接整合、镜像同步引擎、按角色限定的查询工具、图表生成、双语对话与分享 MS2 8,000
MD4 · Collaboration团队协作 Channels, direct messages, @AI in any conversation, realtime delivery and search频道、私讯、任意对话中 @AI、实时传送与搜索 MS2 3,000
MD5 · Knowledge Base知识库 Entry authoring with AI summarisation, the duplicate gate, version history, folder tree, review cadence and cited retrieval含 AI 摘要的条目撰写、重复检测、版本历史、文件夹树、复核周期与带引用的检索 MS2 6,000
MD6 · PO Intake采购单录入 Extraction, the editable review workspace, capture from AI chat, posting, exception queue and document queue识别提取、可编辑的审核工作区、从 AI 对话拍摄上传、过账、例外队列与单据队列 MS3 4,500
MD7 · Payment Reconciliation付款核实 Receipt sync, the audit engine, the verification screen, knock-off ledger, statement tie-out and posting收据同步、核实引擎、验证界面、冲账明细、月结单勾稽与过账 MS3 6,000
MD8 · Alerts提醒 Three trigger kinds, plain-language authoring, recipients, the alert list and the dedicated indicator三种触发类型、日常语言设定、通知对象、提醒清单与专属指示器 MS3 2,000
MD9 · Delivery Run Sheet送货单 Runs from invoices, the unassigned list, manual runs, learned stop order, the printed A4 sheet, close-out, cash reconciliation and returns依发票生成路线、未分配清单、手动新增路线、记忆送货顺序、A4 打印单、交收、现金对账与退货 MS3 6,000
Hardening, UAT & go-live加固、验收与上线 Performance and security review, acceptance test scripts, training, documentation, cutover and the operations runbook性能与安全审查、验收测试脚本、培训、文档、系统切换与运维手册 MS4 2,000
Total, one-time一次性总额 46,000

When each amount falls due. 各笔款项何时到期

Each milestone is settled before Codech begins the phase it releases, and its gate is the acceptance checkpoint for that work. 每个里程碑的款项于 Codech 开始该阶段前结清,而其验收条件即为该阶段工作的验收检查点。

MS1 · On approval签约时
RM 3,000
6.5% of total占总额 6.5%

Project setup and environments, the pre-development package, and the WhatsApp voice-order track.项目启动与环境建置、开发前文件包,以及 WhatsApp 语音下单一轨。

MS2 · ~Week 4约第 4 周
RM 22,500
48.9% of total占总额 48.9%

The portal build block — core, AI data chat, collaboration and the knowledge base. The largest payment because it is the largest block of work.门户建置主体——核心、AI 数据对话、协作与知识库。这是金额最大的一笔,因为它对应工作量最大的部分。

MS3 · ~Week 14约第 14 周
RM 18,500
40.2% of total占总额 40.2%

Supplier PO intake, payment reconciliation, alerts and the delivery run sheet — every approval-gated posting path.采购单录入、付款核实、提醒与送货单——所有需批准才过账的流程。

MS4 · ~Week 18约第 18 周
RM 2,000
4.4% of total占总额 4.4%

Hardening, security review, training, documentation, cutover and the runbook. Three months of support starts at go-live.加固、安全审查、培训、文档、系统切换与运维手册。三个月支持期自上线起算。

Monthly running costs每月运行成本

Paid to third parties, not to Codech. Estimated at current provider pricing.支付给第三方供应商,非 Codech。依供应商现行价格估算。

VPS hostingVPS 主机托管
2 vCPU · 8 GB RAM · 100 GB NVMe, billed annually2 核 · 8 GB 内存 · 100 GB NVMe,按年计费
RM 125
OpenAI usageOpenAI 用量
Scales with staff use. Per-user limits and a budget alert keep it controlled.随员工使用量变动。设有个人用量上限与预算提醒以控制花费。
RM 250–900
Backup storage备份存储
Provider snapshots or object storage供应商快照或对象存储
RM 25–50
Domain and TLS certificate域名与 TLS 证书
A subdomain of your existing domain, certificate free使用现有域名的子域名,证书免费
No cost无费用

Your SQL Accounting SDK licence is arranged directly with eStream at their pricing. Phase 1 running costs are unaffected. SQL Accounting SDK 授权由贵司直接向 eStream 按其价格办理。第一阶段的运行成本不受影响。

Payment terms付款条款

Stated plainly, so there is nothing to discover in an invoice.明确列出,避免在收到发票时才发现条件。

Each milestone is invoiced about two weeks before its phase is scheduled to start, and work on that phase begins once payment is received.各里程碑于其阶段预定开始前约两周开立发票,收款后该阶段即行开工。
Any milestone gate not met is remedied at no additional cost before the next phase starts.任何未达成的里程碑验收条件,均于下一阶段开始前无偿修正。
A payment received later than scheduled shifts that phase and every date after it by the same period.款项延后收到,将使该阶段及其后所有日期顺延相同时间。
Three months of support after go-live is included: bug fixes, monitoring and minor adjustments. Beyond that, support is ad-hoc and quoted per request — there is no monthly retainer.上线后含三个月支持:错误修复、监控与小幅调整。此后支持按需报价,无月度维护费。
Scope changes beyond what is listed here are quoted separately. Third-party price changes pass through at cost.超出本文所列范围的变更另行报价。第三方价格调整按成本转嫁。
Proposal validity: 30 days from issue. SST added where applicable.本建议书自签发日起 30 天内有效。如适用,另加销售与服务税。

Response times during the support period支持期内的响应时间

Availability target 99.5% during business hours, Monday to Saturday, 08:00–18:00.营业时间(周一至周六 08:00–18:00)可用率目标 99.5%。

P1
Portal down, or a wrong posting门户中断或过账错误
2 business hours to respond, 1 business day to fix2 个工作小时内响应,1 个工作日内修复
P2
A module unusable, no workaround模块无法使用且无替代方案
4 business hours to respond, 3 business days to fix4 个工作小时内响应,3 个工作日内修复
P3
Degraded, but a workaround exists功能受影响但有替代方案
1 business day to respond, fixed in the next release1 个工作日内响应,于下次发布修复
P4
Cosmetic, or a question外观问题或咨询
2 business days to respond, scheduled into the backlog2 个工作日内响应,排入待办清单
Prepared by建议书提交方
Codech Solutions logo

Codech Solutions.

Thank you for the opportunity to scope Phase 2 with ShingTik. Phase 1 is running in production today, and this proposal is written from what we learned building and operating it. We are ready to start whenever you are — reach out through any of the channels on the right. 感谢 ShingTik 让我们参与第二阶段的规划。第一阶段目前已在正式环境运行,本建议书正是基于建置与运维它的实际经验写成。我们随时可以开始——欢迎透过右侧任一方式与我们联系。

End of proposal建议书结束.