一家合作社金融机构此前把社员档案、储蓄、贷款和投资人资本分散在纸质记录与电子表格之间,既无法审计任何一个网点,也无法干净地完成日终结账。我们构建了一套系统把这些全部收拢:社员登记、每日收款、从申请到放款的完整贷款流程、多网点总账、投资人资本,以及一份记录谁做了什么的审计日志。工作人员在每笔收款发生时当场记录,管理者审批贷款并完成日终结账,而权限模型决定每个角色能看到什么、能做什么,而不是简单地把按钮藏起来。本案例研究中展示的一切都运行在预置的演示数据上;真实的社员档案从不出现在作品集材料中。
完整故事
一家曾经依靠纸张和电子表格运作的合作社,如今如何通过一本经过审计的总账,处理每一笔收款、每一笔贷款、每个投资人账户和每天的日终结账。
一家靠纸张运转的合作社
Al-Insaf 是一家由小商户组成的储蓄合作社。社员小额存钱、小额借款,外勤人员每天上门收取分期还款和储蓄,并把每一笔款项记在本子上。社员档案、储蓄、贷款和投资人资本分散在纸质记录和电子表格之间,贷款要在一张张办公桌之间传递等人签字,既无法审计一个网点,也无法干净利落地完成日终结账。
此前的一套系统证明了这个思路行得通,但几乎任何人都能查看和修改几乎任何内容。合作社需要一套符合自身真实运作方式的系统,一套社员和投资人都能放心托付资金的系统。
每一笔款项,发生的那一刻就入账
过去,一笔收款在有人把它录入之前,只存在于外勤人员的笔记本里。现在,可以按姓名、电话或卡号找到社员,储蓄存款、取款、费用或支出当场记到其名下,每条记录还可以带上收款地点的 GPS 位置。当天的现金收入、现金支出和净额就显示在表单旁边,办公室因此能实时看到当天的情况,而不是等到第二天早上。
任何记录都不会事后改写。错误的记录会被冲销,只有经理才能更正收款,因此办公室可以信任收到的每一个数字,社员也可以相信自己付的钱都已入账。



每晚结账、每晚平衡的账簿
每个界面背后都有一本按网点分设的复式记账总账。每天夜里,定时结账程序会在所有网点运行,锁定当天的记录,检查试算平衡,并为库存现金生成快照;需要时,也可以手动结束或重新打开某一天。月末结账从本就平衡的每一天开始。


从申请到最后一期还款,委员会全程可追踪的贷款
过去,一笔贷款靠纸质文件在办公桌之间流转,没人能确切说出它进行到了哪一步。现在,申请只需录入一次,就会公开地从待审批推进到已批准,再到已放款,每一步由谁操作、为何操作都有记录,包括驳回及其原因。已放款的贷款附带分期还款计划,每一期都标明已收或逾期;申请表、贷款函和 angikarnama(即社员签署的承诺书)都从同一条记录打印。
申请、审批和放款是彼此分开的权限,可以按角色(管理员、经理、外勤人员、监察员和社员)开启,也可以单独授予某一个人,无需改动代码。权限模型决定每个角色能看到什么、能做什么,而不是把按钮藏起来;网点员工只能看到自己的网点,审计日志记录谁改了什么。



为担责的人,一眼看清整个网点
仪表盘把网点的整体状况集中在一个屏幕上:活跃社员、未偿贷款、储蓄总额、投资人资本、本月收款情况以及资金去向,支出类别则使用办公室记账所用的语言。月度总账和报表只需点击一下即可打开。
过去以对账开场的委员会会议,如今直接从决策开始;办公室里可以用浅色主题,漫长的夜晚则可以换成深色主题。



同一场对话,用每个人思考时的语言
办公室和外勤员工在平台内部互发消息,因此关于某位社员或某天收款的问题会留在负责它的网点,而不是散落在某人的私人聊天软件里。整个界面一键即可在孟加拉语和英语之间切换,每位社员登记时都会同时录入两种文字的姓名,消息既可以看译文,也可以看原文。
员工用自己思考时的语言工作,也没人需要再开一个应用去问今天过得怎么样。



按资金攸关的标准来测试
因为资金确实攸关。每次改动都会运行集成测试套件,重放各条资金路径,包括存款、贷款全生命周期、投资人付款和日终结账,确保新功能不会悄无声息地破坏任何余额。登录、OpenFGA 权限、功能开关和审计追踪都来自 gm-libs,这是工作室自己的 NestJS 软件包,最先在这个平台上经受打磨。
对社员来说,这意味着付出的每一笔钱都被记录、被尊重;对外勤人员来说,是一目了然的一天;对委员会来说,是敢于为之背书的账簿;对投资人来说,是可以自行核对的账户;对合作社来说,则是一条可以一个网点一个网点扩展而不失控的道路。本文中的每个界面展示的都是预置的演示数据,这与平台对待社员档案的方式一致。
投资人能确切看到自己的资金状况
投资人与社员的储蓄一起向合作社投入资本,这笔钱必须像任何一笔存款一样被仔细核算。每位投资人都有一个账户,显示其当前资本、已投入金额、已提取金额和已向其支付的款项,每个数字背后都有一份注明日期的对账单。
追加资本、提取资本和向投资人付款,都与其他所有业务一样过入同一本复式记账总账,且只有超级管理员可以操作,管理员和监察员只能查看。网点仪表盘上的投资人资本就是这些账户的合计,支付给投资人的利息列入网点的支出,所以当投资人问起自己的资金状况时,办公室依据账簿而不是凭记忆作答。



整个月,一张表
办公室过去要在电子表格里手工重做的月度账目,如今就是一张表:每位社员按行排列,每一天按列排开,每笔存款和取款各占一格,每位社员的合计列在最后。哪一天空缺,一眼便知;这张表还能导出为 Excel,表头可选孟加拉语或英语,供委员会存档。


你可能也喜欢
CoverFanz:表演者市场平台的管理后台
这套管理后台让 CoverFanz 的创始人从上线第一天起,无需求助开发人员就能运营一个表演者市场平台。每一位粉丝、表演者和演出场所都在同一个列表中,附带订阅状态;新场所在地址核实之前一直待在审批队列里;举报会附上原因;表演类型是一份由创始人掌控的列表。它与应用在同一个月内、基于同一套 GraphQL API 构建。
Webanion:带 MCP 服务器的无头 CMS 作品集平台
静态作品集网站既承载不了五种语言的内容,也跟不上背后写作的节奏,于是我们用一个平台取代了它。一套无头 CMS 保存每一份案例研究、文章和记录;一个 Next.js 前端以英语、孟加拉语、西班牙语、印地语和中文呈现它们;一台 MCP 服务器则把同样的内容开放给 AI 助手,让被问及这些工作的智能体去读取源头,而不是根据抓取结果猜测。搜索、媒体管理、审批流程和一个公开的发现层都运行在它之上。证据是递归的:你正在阅读的这个页面,正由本条目所描述的系统提供。
Sukalyan Research Group:一所大学药学实验室的网站
Jahangirnagar University 的 Department of Pharmacy 中 Sukalyan Research Group 的网站,由 Sukalyan Kumar Kundu 教授领导:七个研究方向及其技术和论文,一份按年份归类、可筛选的一百二十四条 Google Scholar 记录的论文列表,首席研究员的简介,按姓名和肖像列出的成员,一面校友去向墙,一个 Lab Life 图库,以及带邮件清单的四条路径加入页面。Next.js 静态导出,React 和 TypeScript,Tailwind CSS,所有内容都在一个查询函数之后,因此迁移到无头 CMS 时其他一切都不必改变。作为单个容器部署在自托管的 Kubernetes 集群上。

博客是来自生产一线的笔记:架构决策、经受住真实用户考验的 AI 系统、能自己挣回成本的基础设施。写于工作之中,而不是隔岸观火。



