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. 下方每个门户界面都可实时打开。在任一界面图上点击 打开实时界面,真实原型即在原位加载,可一边阅读一边操作。
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 机器人。所有模块共用同一套账号、角色与通知中心,员工只需熟悉一个系统,而非九个。
Voice-message ordering and handwritten-photo orders on the Phase 1 pipeline. Delivered first, before the portal. 在第一阶段的流程上新增语音下单与手写单据拍照下单。最先交付,早于门户。
Login, roles, user management, notifications, audit log and a role-aware dashboard. Full phone parity. 登录、角色、用户管理、通知、审计日志,以及按角色呈现的仪表板。手机端功能完全对等。
The centrepiece. Ask live SQL Accounting data anything, in Chinese or English, and get tables and charts back. 整个项目的核心。用中文或英文向 SQL Accounting 实时数据提问,得到表格与图表。
Channels and direct messages, with the AI mentionable in any of them. Decisions and data stay together. 频道与私讯,并可在任何对话中 @AI。决策与数据留在同一处。
SOPs and internal documents the AI cites by source. Useful conversations can be saved back into it. AI 引用并注明出处的作业程序与内部文件。有价值的对话可回存为知识条目。
Photograph a supplier document, the AI extracts it, a human approves, and it posts to SQL Accounting. 拍下供应商单据,AI 自动提取,经人工批准后过账至 SQL Accounting。
Every customer receipt audited against the bank statement. A claim with no matching credit never posts. 每张客户收据都与银行月结单核对。没有对应进账的付款声明绝不过账。
Any staff member sets a watch by asking for it in plain language. No forms, no admin request. 任何员工用日常语言说一句,即可设定监控。无需表单,无需向管理员申请。
Runs built from the day's invoices, printed on A4, and closed out from the page the driver brings back. 依当日发票编排路线,打印于 A4 纸;司机带回的单据用于交收与对账。
Six rules the whole system is designed around. They are the reason the portal can be trusted with accounting data. 整个系统围绕六条规则设计。正是这些规则,让门户足以被托付会计数据。
Any authorised staff member queries live company data conversationally. No report request, no waiting on accounts.获授权的员工可直接对话式查询公司实时数据,无需提交报表申请,也不必等账房。
Every write into SQL Accounting passes a review-and-approve screen first. Nothing posts on the AI's word alone.任何写入 SQL Accounting 的动作都必须先经审核批准界面。AI 的判断本身不足以过账。
A customer's receipt is a claim. The bank statement is the proof. A claim with no matching credit is reported for chasing.客户的收据只是声明,银行月结单才是凭证。无对应进账的声明将被列出追讨。
Internal documents become a knowledge base the AI cites. A useful answer can be saved back into it as a new entry.内部文件构成 AI 引用的知识库;有用的答案可回存为新条目。
The interface, the AI's answers and the training guides all come in both. Staff use whichever they think in.界面、AI 回答与培训指南均有双语版本,员工以惯用语言操作。
Every module works on a phone. Tables become cards, dialogs become bottom sheets. Nothing is desktop-only.所有模块均可在手机上使用:表格转为卡片,对话框转为底部面板,没有任何功能仅限电脑。
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 机器人——不改架构,无需迁移。它是最先交付的模块,排在门户之前,因为它不依赖门户,可在数周内让客户用上。
Production feature · accuracy measured before acceptance正式功能 · 验收前先测准确率
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 个真实客户样本上测得准确率、并验证客服兜底流程可用后,方视为验收通过。
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. 不是一整面图表。首列显示的是待批单据、待核对的银行进账、客户声称已付但从未到账的款项、已触发的提醒,以及同步异常——每项都有数量、一句原因,点击即进入对应模块。没有内容的卡片不显示;一切正常时,整列收合为一行简讯。
Illustrative prototype — shown for reference only. Final interface is confirmed at sign-off. 示意原型,仅供参考。最终界面于签核时确认。
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 实时资料,并在答案上标明数据的更新时间。无需提交报表申请,也不必等账房。
Illustrative prototype — shown for reference only. Final interface is confirmed at sign-off. 示意原型,仅供参考。最终界面于签核时确认。
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 电脑关机时,答案取自镜像并标明数据时间。
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,而是调用一组固定的只读参数化查询工具;角色与数据范围在模型之外的服务器端强制执行。超出范围的请求会被拒绝,而非自行发挥。
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。供应商置于抽象层之后,日后更换只是设置调整,不需重建。
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?,答案便出现在该讨论串中,并按提问者的角色限定范围——销售人员只看到自己的客户,而非全部。
Illustrative prototype — the live view opens on AI Chat; the channels are in the left panel. 示意原型——实时界面从 AI 对话打开,频道位于左侧面板。
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 知道什么。
Illustrative prototype — shown for reference only. Final interface is confirmed at sign-off. 示意原型,仅供参考。最终界面于签核时确认。
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 的同步。依您的决定,现阶段仅支持直接上传,本建议书据此执行。日后新增同步属变更申请,不需重建。
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——因为双方议定的价格在您的系统里,而不在对方的纸张上。
Photograph or upload, multi-page. Page thumbnails let you check before extraction runs.拍照或上传,支持多页。缩略图可先检查,再启动识别。
Named stages, so a slow document reads as work in progress rather than a frozen screen.分阶段显示进度,处理较慢时看得出在运作,而非画面卡住。
Supplier to creditor code, items to stock codes, carton or loose from your own unit mappings.供应商对应债权人代码,品项对应存货编码,箱装或散装依您自设的单位对照。
The document image beside the extracted rows. Every field editable, low confidence highlighted.单据图像与识别结果并排显示,每个栏位可修改,低信心项目高亮标示。
A human clicks approve. Only then does it reach SQL Accounting, with the image archived and audited.由人点击批准,之后才写入 SQL Accounting,单据图像一并归档留痕。
Illustrative prototype — shown for reference only. Final interface is confirmed at sign-off. 示意原型,仅供参考。最终界面于签核时确认。
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 发送付款收据,第一阶段的机器人也已能读取,欠缺的是核实这一步。本模块将每一笔声明与银行月结单核对,只过账银行确认的部分,并且——这正是整件事的意义——告诉您客户声称已付、但从未到账的总额。
Receipt and bank credit agree. Posts a customer payment and knocks off the invoices on approval.收据与银行进账相符。经批准后建立客户付款并冲销发票。
A receipt with no matching credit. Never posts, never reduces a balance. Exported for chasing. This is the finding the audit exists for.有收据但无对应进账。绝不过账,绝不冲减余额,导出以供追讨。这正是核实的意义所在。
Money in the account nobody claimed. The payer is identified on screen, then it posts.账户有进账但无人认领。在界面上确认付款人后再过账。
The receipt says RM 500, the bank shows RM 495. The bank amount posts and the shortfall stays outstanding.收据写 RM 500,银行显示 RM 495。以银行金额过账,差额仍列为未清。
The same reference submitted twice. Held and flagged — at most one claim can ever verify.同一参考号提交两次,予以扣留并标示——最多只有一笔能通过核实。
No amount could be extracted. Surfaced for a person to read. Never guessed.无法提取金额,交由人工阅读,绝不猜测。
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% 没有付款日期。因此比对程序先尝试银行参考号,再以客户加金额加日期区间,最后以客户加日期区间并列明差额——并记录每个判定由哪条规则得出,让会计据以行动,而非凭一个分数信任结果。
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 张收据。
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、通知所有人。
"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.按排程监控,条件成立时触发。触发一次后须待情况解除才会再次触发——因此持续一周的问题不会通知七次。
"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.不涉及数据,只在指定时间通知您指定的对象——个人、角色、频道,或全体同事。
"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.在指定时间只评估一次的条件。通知送达时答案已经确定,讯息本身就是结论,而不是待办事项。
Illustrative prototype — shown for reference only. Final interface is confirmed at sign-off. 示意原型,仅供参考。最终界面于签核时确认。
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 单据——发票、客户、金额、袋数箱数、送货顺序,以及须带回的现金总额。这页纸上的资料不会回到任何系统。本模块负责生成这张单、打印它,并把它读回系统。我们不要求司机改变作业方式,工作集中在前后两端,因为司机手上那页纸本身已经很有效率。
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.司机须交回的「總計」由该趟路线的现金发票计算得出,不可修改。一个能被覆写的对账总额,其实什么也控制不了。
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.月结客户在门口付现金,或开出支票并留下号码——这些都记录在计划栏位旁。打印出的总额绝不改写,差异另列一行,纸本仍可对账。
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.带回的货品会记录到正确的发票并对应存货编码,但在有人确认货品确实已回仓之前,无法开立贷记单草稿。
Illustrative prototype — the run workbench and close-out screens open from this board. 示意原型——路线编排与交收界面均从此看板进入。
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 的那台电脑上。它经由安全隧道向外建立连接——外部无法连入,也不需开放任何防火墙规则。这与参考实作中已验证的做法一致,我们直接采用,而非另起炉灶。
Interface, API, login and roles, the AI orchestrator, and the approval screens. Answers stream as they are written.界面、API、登录与权限、AI 协调器与审批界面。答案边生成边显示。
Portal data plus a continuously refreshed mirror of SQL Accounting, and the knowledge-base search index. One database, no separate search product.门户数据、持续刷新的 SQL Accounting 镜像,以及知识库检索索引。单一数据库,无需额外的检索系统。
Mirror sync, document extraction, alert evaluation, and the queued postings back into SQL Accounting.镜像同步、单据识别、提醒评估,以及排队写回 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 并行运行,经安全隧道向外连接。实时读取供即时查询,经批准的写入用于过账,并持续供给镜像同步。该电脑夜间关机——这是预期情况而非故障,门户会在界面上说明。
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——对话、向量嵌入、语音转文字与图像识别。密钥在设置中加密存储,可按用途选择模型,并设有每月预算提醒以掌握花费。
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 机器人维持现状,继续运行于其原有服务器。第二阶段仅为其新增两个子流程以处理语音与手写订单,并读取它已收集的付款收据。面向客户的系统与内部门户分处不同主机,因此门户的负载绝不会拖慢客户使用的机器人。
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. ● 完整权限 · 自属 仅限本人负责的客户 · — 无权限。送货模块另设第六种「调度」角色。
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 代码库、一个数据库,部署方式与您第一阶段的服务器一致。此处没有任何选择是为了新奇:每一项技术之所以入选,是因为它已经过验证、您的团队已在运维类似系统,或我们审阅的参考实作已在使用。
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,让我们能直接复用参考实作的连接器、同步引擎与对话界面,无需重写。
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.门户数据、跨年度的会计镜像与知识库检索索引全在同一个数据库中,无需另行采购、托管或同步独立的向量数据库。
Live chat delivery, streaming AI answers and presence. Behind them, a job queue running mirror sync, document extraction, alert evaluation and postings.负责实时消息、AI 答案流式输出与在线状态;其后是执行镜像同步、单据识别、提醒评估与过账的作业队列。
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。所有调用统一经过供应商抽象层,且可在设置中按用途选择模型——日后更换供应商属配置调整,而非重写系统。
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 电脑上运行的桥接程序,经由向外的隧道连接。实时读取用于即时查询,增量同步维持镜像更新,经批准的写入用于过账。跨年度数据库轮换时,多年历史资料仍完整保留。
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,部署方式与第一阶段服务器一致——您的团队无需学习第二套运维模式。每日备份并验证还原,另设可用性与错误告警。
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,换取两套系统互不影响。
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 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.网页应用本身,手机端功能完全对等——每个模块都能在手机上使用,无一功能缩水。表格转为堆叠卡片,对话框转为底部面板,控件尺寸适合拇指操作。
Email and password login, admin-managed accounts, and the role matrix — which we will confirm with you during pre-development rather than assume.邮箱密码登录、由管理员管理的账号,以及角色权限矩阵——该矩阵将在开发前与您确认,而非径自假定。
Overdue invoices, revenue, product rankings, customer status and aging, stock queries, chart generation — bilingual throughout.逾期发票、营收、产品排行、客户状态与账龄、库存查询与图表生成——全程支持中英双语。
Channels, direct messages and the AI mentionable in either. The knowledge base with authoring, versioning, review cadence and cited retrieval.频道、私讯,以及可在其中 @AI。知识库包含条目撰写、版本管理、复核周期与带引用的检索。
Supplier PO intake from photo to posting, and payment reconciliation from receipt to verified knock-off. Both approval-gated, both auditable.供应商采购单从拍照到过账,付款核实从收据到已验证冲账。两者均需批准,且全程可追溯。
Runs from invoices, the printed A4 note, close-out by photograph or keyed entry, cash reconciliation, returns and approval-gated posting.依发票生成路线、打印 A4 送货单、以拍照或录入方式交收、现金对账、退货处理与需批准的过账。
Voice-message ordering and the handwritten-photo trial, built on the existing pipeline under the same deployment discipline Phase 1 uses.语音下单与手写拍照试点,建立在现有流程之上,沿用第一阶段的部署规范。
VPS procurement support, deployment, TLS, backups and monitoring. Bilingual documentation, role-specific training, and three months of post-go-live support.VPS 采购协助、部署、TLS、备份与监控。双语文档、按角色的培训,以及上线后三个月的支持。
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. 其中部分曾经讨论并刻意延后,其余则本就不在本次委托范围内。无论属于哪一类,都写在此处,而非留待日后才发现。
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 语音下单一轨刻意排在最前。它不依赖门户,可并行开发,在门户基础尚在建设时即让客户用上——这也以真实可用的功能,而非幻灯片,回应了需求会议中「下个月演示」的期望。
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 个真实样本上测得准确率。
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 对话、投入使用的团队频道,以及已建立初始内容的知识库。试点用户已在其中作业。
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.真实供应商单据经门户过账、完整一期月结单端到端核实、提醒送达正确对象,并完成一趟送货路线的生成、打印、交收与现金对账。
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 在下一阶段开始前无偿修正。上述日期以按时付款为前提;付款延迟将使该阶段及其后所有阶段顺延相同时间。
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:各模块的费用,以及各笔款项的到期时间。模块金额加总正好等于四个里程碑的付款额。
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 | ||
Each milestone is settled before Codech begins the phase it releases, and its gate is the acceptance checkpoint for that work. 每个里程碑的款项于 Codech 开始该阶段前结清,而其验收条件即为该阶段工作的验收检查点。
Project setup and environments, the pre-development package, and the WhatsApp voice-order track.项目启动与环境建置、开发前文件包,以及 WhatsApp 语音下单一轨。
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 数据对话、协作与知识库。这是金额最大的一笔,因为它对应工作量最大的部分。
Supplier PO intake, payment reconciliation, alerts and the delivery run sheet — every approval-gated posting path.采购单录入、付款核实、提醒与送货单——所有需批准才过账的流程。
Hardening, security review, training, documentation, cutover and the runbook. Three months of support starts at go-live.加固、安全审查、培训、文档、系统切换与运维手册。三个月支持期自上线起算。
Paid to third parties, not to Codech. Estimated at current provider pricing.支付给第三方供应商,非 Codech。依供应商现行价格估算。
Your SQL Accounting SDK licence is arranged directly with eStream at their pricing. Phase 1 running costs are unaffected. SQL Accounting SDK 授权由贵司直接向 eStream 按其价格办理。第一阶段的运行成本不受影响。
Stated plainly, so there is nothing to discover in an invoice.明确列出,避免在收到发票时才发现条件。
Availability target 99.5% during business hours, Monday to Saturday, 08:00–18:00.营业时间(周一至周六 08:00–18:00)可用率目标 99.5%。
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 让我们参与第二阶段的规划。第一阶段目前已在正式环境运行,本建议书正是基于建置与运维它的实际经验写成。我们随时可以开始——欢迎透过右侧任一方式与我们联系。