只搬三样。 期初库存、客户欠款、商品与客户档案——剩下十年的流水留在旧本子里,一张都不用动。
这个答案常常让人不踏实。手写的本子记了十几年,Excel 里几万行,翻起来还热乎;真要把它们撇下,感觉像是把家底扔了。但换系统这件事栽跟头,十次有八次栽在「既然要换,就全部搬过去」这句话上——搬了三个月,生意照样用本子记,系统里躺着一堆自己都不敢信的数。
十年的单据搬过去,错的不会变对,只会变多
先说为什么不搬。
旧本子里的记法是随着生意长出来的,不是按一套规矩定下来的。同一款货,前年记「白胚布」,去年改叫「棉布 A 货」,今年按供应商的叫法写成一串英文;单位一会儿是件、一会儿是箱、拆零那段时间又冒出个「半箱」;客户那栏,「老张」和「张老板」是一个人,「Mama Grace」和她儿子用的是同一个账号。这些在本子上完全不影响你做生意,因为解释权在你脑子里。可一旦要导进系统,每一条记录都得挂到唯一的商品编码和客户编码上,这件事的工作量比导入本身大得多,而且只要有一处对不上,往后所有靠它算出来的数——成本、毛利、动销——就全是歪的。
更要命的是错误会往前传。历史进价录错一行,系统按移动加权往下算,这个品往后每一单的成本都带着这点偏差;等你发现毛利不对,回头查的是三年前一张谁也想不起来的单。搬一万行,只要几十行是猜着填的,整张报表就没人敢用了。
那历史到底有没有用?有,但用途只有两个:查一笔陈年老账,应付税务或审计检查。这两件事旧本子和旧 Excel 原样就能满足,不需要它们住进新系统。所以真正该搬的,是能让生意从明天继续往下走的那三样:手上有多少货、谁欠我多少钱、货和人叫什么名字。别的都不是起点,是包袱。
旧本子别扔,法定留存年限躲不掉。OHADA 成员国按《会计法与财务信息统一法》第 24 条,会计账簿和原始凭证保存 10 年;南非按《税务管理法》2011 年(Tax Administration Act, No. 28 of 2011)第 29 条,记录须自提交相关申报表之日起保存 5 年,若已被通知审计还要留到程序结束。装箱、标年份、放干燥的地方,这是它们接下来的工作。
单位没统一之前别开始盘,期初库存以盘出来的数为准
期初库存只有一个正确来源:切换前的那一次全仓盘点。账面数不是来源,它只配拿来和盘点数对一次差异。
手写账记了十几年,账实一定有差。拆零卖掉忘了减的、样品被拿走的、赔给客户的、压在角落发霉的,十年攒下来通常是个不小的数。这个差在旧本子上补不回来,但在切换这一刻可以一次性认掉:盘出来多少就是多少,差异不往回追,只在账上做一笔期初盘盈盘亏。要是把账面数直接录成期初,等于把十年的误差原样搬进新系统,三个月后第一次盘点它还会冒出来,那时候你连是旧账的错还是新系统用错了都分不清。
但盘点之前有一件事必须先做完,顺序反了整个期初都会乱——统一单位和包装规格。
档口里同一个货有好几种说法是常态:进货按箱、批发按打、零卖按件;东南亚的服装档口还有 kodi(20 件一手)和 lusin(12 件一打)两套并行的数法,中间没有公约数。盘点那天,一个伙计按箱报、另一个按件报、第三个报了个「三打半」,这三个数写进同一张盘点表,期初就已经错了,而且错得看不出来。稳妥的做法是在盘点之前把每个品的主单位定成最小的那个(通常是件或支),箱、打、kodi 全部建成最小单位的倍数,比例写死在商品档案上——一箱 12 打、一打 12 支,这条货的换算链就是 1 箱 = 144 支;另一条货一箱 24 打,链就是 288 支。这一层怎么设,批发按箱进、零售按件卖怎么算库存那篇讲得更细。盘点表上只留最小单位一栏,伙计报箱数的时候由系统换算,不让任何人现场心算。
盘点本身的纪律,盘点与盘盈盘亏怎么理清那篇已经写过,这里只补跟切换有关的两条。一是复盘的口子要事先定好:我的建议是数量差异超过 3% 的品项、以及货值排在前 20 的品项,不管差多少都复盘一次,因为期初错在贵货上,之后几个月的毛利表就全废了。二是差异特别大的品项先别急着改数,去查一下是不是同一个货被建了两条档案——切换前的盘点里,重复建档是差异的头号来源,比偷和丢加起来都多。
还有一类货,盘的时候最让人犹豫:放了三五年没动过的。丢了可惜,录进期初又会把库存金额和周转率一起搞脏。合用的办法是单开一个「待处理仓」,把这些货按实物数量原样录进去,但排除在正常的补货和报表口径之外,等有空了再决定是降价清还是报损。多仓库存与调拨这一层本来就是让每个仓各自站位的,死库存单独占一个位置,比混在主仓里假装它还能卖强。
只有售价没有进价:期初成本定哪一个,往后三个月的毛利表都跟着它走
手写本子上十有八九只记了卖多少钱,成本那栏是空的,或者写着一个老板自己看得懂的暗码。期初导入的时候,这一格躲不过去。
两个选项。一是用最近一次进货的到岸价,二是把这个品近几次进货按数量加权,算一个移动加权成本。差别在于这批期初货的账面成本贴不贴近它真实的进货成本。行情一年没大动的品,两种算法差不了多少,用最近一次进货价省事;今年涨过一波、或者汇率动得厉害的品,用最近一次进货价会把成本抬高,毛利看着偏低,用加权则会把老批次的低价摊进来,毛利看着偏高。
不管选哪一种,有两件事不能做。别填 0——填 0 的后果是这批期初货卖出去时毛利等于售价,第一个月的报表会漂亮得离谱,等你按这个数去给业务员算提成、去决定哪个品该加大进货,就等于拿一个假信号在做真决策。别拿卖价倒推,比如统一按售价的七折当成本:这个数看着合理,可你自己都说不清它是怎么来的,日后账对不上也查不出原因,反而比明摆着的估价更危险。
现实的做法是翻最近一次进货的单据,发票、装箱单、运费和清关的账一起算,按到岸口径摊到每一件上;实在找不到单据的品项,按当时的市场进价填,同时在商品档案上标一个期初估价的记号。这个记号很重要——三个月后看毛利表,你得知道哪几行的数是估出来的。到岸成本怎么摊才摊得准,海运清关汇率都摊进去怎么算真实毛利那篇讲了口径。
好消息是这个误差会自己消失。期初那批货卖完、新的进货按真实价格进来,系统重算移动加权,成本就回到正轨了,通常是两到三个进货周期的事。所以期初成本价的任务不是绝对准确,是别错得离谱、并且让人知道它是估的。
欠款这一栏,等对账单签了字再录进系统
应收是三样里最敏感的一样,因为它直接关系到钱,而且旧本子上的记法往往最随意——一页纸上记着日期、人名和数字,中间还夹着「还了两万」「换了一箱货」这种半句话。
录法分两类。有欠条、有日期、双方都认的,逐笔录进去,单据日期写原始日期,不要写切换日。这一条常被忽略,代价却很具体:账龄是从单据日期长出来的,全写成切换日,那么切换第二天所有欠款的账龄都是 0 天,谁逾期了、谁该停止发货,系统一概看不出来,你等于白上了这套东西。反过来,只剩一个总数、说不清是哪几单哪一天的,就挂一笔期初应收,日期统一写切换日,备注里注明是历史合计,往后新发生的每一单都规规矩矩记,半年后这个模糊的总额会被慢慢还掉,账龄结构自然就清了。
真正要坚持的纪律是顺序:先对账签字,再录系统。切换的时候出一张对账单送到客户手上,请他签字,或者至少在聊天里回一句确认并截图存档,然后才把这个数录进去。这时候对账客户通常最配合,因为他自己也想知道到底欠多少;而这张签了字的对账单,是往后唯一能拿出来说理的凭据——录进系统的数再整齐,没有对方确认过,扯起皮来仍然只是你的一面之词。多币种的欠款按原币种录,别先折成一个币,折算那一层交给系统。往后每月怎么滚动对账、账龄怎么排催收顺序,对账单与账龄催收那篇接得上。
供应商这头同理,但简单得多。供应商数量通常是客户的零头,一家一家发对账单、拿回确认,两三天能走完;录法一样按单据原始日期挂期初应付。唯一要多留一手的是在途货:切换那天已经付了款、货还在海上的,别录成应付,也别录成库存,挂成在途或预付,等货到港、按实收数量入库再转。这一格错了,期初的库存金额和欠供应商的钱会同时错两次。
商品编码要在导入前定死,中文品名别直接灌进去
档案这一样看起来最轻松,实际上是返工率最高的一样,因为它错了不会当场报错,要等三个月后才以各种奇怪的方式冒出来。
第一件事是编码规则。旧 Excel 里多半没有编码,只有品名;导入时如果让系统自动生成一串流水号,短期能跑,但盘点、调拨、对账的时候人对着一串没含义的数字完全无从判断。合用的规则是短、有含义、不会变:类别加规格加序号,控制在 8 到 12 位,字母数字混用没关系。要避开的是把会变的东西编进去——价格、年份、供应商名称、存放库位,这几样一变,编码就得跟着改,而编码一改,之前所有引用它的单据就断了线。同一个款换了工厂、换了供应商,只要规格没变就沿用原编码,把供应商记在进货单上,不要记在编码里。
第二件事更容易被忽略:中文品名不能直接导进去。
在海外做批发,看这条记录的不止你一个人。仓库里拣货的是当地员工,柜台开单的也是当地员工,打印给客户的送货单和报价单上写的必须是他们读得懂的文字;在强制电子发票的国家,票面上那一栏货物名称还要照当地税局的口径填。旧 Excel 里那一列中文品名,对这些人和这些场合统统无效。所以商品档案至少要有两栏名称——你自己看的中文名,和当地语言的正式品名——而且这两栏要在导入那一刻一起填。等上线之后再补,几千条记录没人会真的去补,最后的结果是员工在开单时现场翻译,今天这么写、明天那么写,同一个货在客户那里变成了三个名字。录单的是当地员工,界面本身也得是他们的语言,英文批发管理这一层的意思就是员工用英文开单记账、老板后台切中文看同一条记录,字段名认得出来,品名和单位这几格才不会被随手填一个能保存的值。
把这两件事合起来,一张能用的导入模板大致是四份表,必填的格子并不多:
- 商品:商品编码、中文名、当地语言名、最小单位、包装换算比例、期初成本价
- 客户:客户编码、正式名称(和开票抬头一致)、联系电话、结算币种、赊账额度与账期
- 期初库存:商品编码、仓库、数量(按最小单位)、单位成本
- 期初应收/应付:客户或供应商编码、单据原始日期、币种、金额
四份表里,前两份必须先导、后两份才有地方挂。至于具体的模板长什么样、哪些字段在你那一版里是必填,按你所在国家和版本的真实支持范围跟方案商确认,别照着别人的模板填。
切换放在盘完那天晚上,第二天照常开单
时点这件事,很多人纠结的是「月初还是月中」,其实真正的约束是盘点——期初必须是盘出来的,那么切换时点就只能跟着盘点走。
最顺的安排是让两件事重合:月末最后一天打烊后盘仓,盘完当晚录期初,次月一号开始在新系统里开单。这样账期、报表和税务申报期天然切齐,第一张月报就是完整的一个月,不会出现半个月在本子上、半个月在系统里的糊涂账。月中切换不是不行,但你得接受第一个月的报表是残的,并且要跟会计事先说好这个月怎么出数。
关门的时间只有盘点那一段,通常是打烊到第二天开门前的四到八个小时。这段时间仓里不收货也不出货,把数点死。盘点前一两天做一点安排就能省不少事:能往后挪一天到的柜往后挪,拆散的箱先归位,退货先处理完。当晚要是真有熟客来提货,按老办法手写一张临时单、货照走,第二天一早在系统里按这张单补录一笔出库,期初数不动——这就是「不停业」的全部内容,没有更复杂的花样。凡是要你停业一周去导数据的方案,问题多半出在前面那几节:想搬的东西太多了。
新旧并行要不要做?做,但要限定范围和期限。期限我的建议是 2 到 4 周,最长不超过一个完整月结;超过一个月,两边都会开始不准——员工发现系统里的数总有人补,就不再认真录,旧本子那头也因为「反正系统里有」而漏记,最后两套都是半截的。范围上只并行开单和出入库这一条线,成本、报表、对账一开始就只认新系统,不要两边都算一遍再去对,那是给自己造工作量。还有一条得在并行第一天就说死:两边数不一致时以哪边为准。答案应该是新系统,旧本子只作为找原因的线索;这句话不当众说清楚,一个月后你会发现所有人都在用旧本子做决定。
并行期真正的成本不是录两遍,是员工的抵触。以前一张手写条子三十秒写完,现在要选客户、选商品、填数量单位、确认价格,慢一倍不止,而好处他一时看不到。这段时间老板盯的应该是「有没有人绕开系统开单」,而不是「数对不对」——数不对可以查,绕开了就查无可查。同行怎么挑切换时点、并行多久,misall.com 的问答区里有不少现成的讨论。期初录完、并行结束之后,进货、开单、赊账、盘点跑在同一份数据上是什么样,进销存管理那一页有完整的流程。
强制电子发票的国家,客户档案里还要多一格税号
如果你的店已经在实行强制电子发票的国家,上面那份客户模板还要再加几格,而且这几格必须在导入那一刻一次填全——填漏了不是以后慢慢补的事,是以后每开一张票都要现场补一次。
马来西亚这头卡得最硬。据 MyInvois SDK 的官方发布说明,LHDN 自 2026 年 8 月 1 日起在 Validate Taxpayer’s TIN 接口上校验 TIN 与 BRN(商业登记号)的组合,两个号各自看着都合规、但配不上对,提交就会被打回;多家当地方案商同时提醒,BRN 还要符合 SSM 的十二位格式。也就是说买方税号从一个「记一下」的字段,变成了开票能不能成功的前置条件。按营业额分阶段的时间表上,年营业额 100 万至 500 万林吉特这一档自 2026 年 1 月 1 日起进入强制范围,档口级别的批发商大多落在这一档或它上面一档。
越南在 2026 年年中换了一茬法规:Decree 254/2026/ND-CP 与 Circular 91/2026/TT-BTC 自 2026 年 7 月 1 日起施行,取代此前的 Decree 70/2025/ND-CP 与 Circular 32/2025/TT-BTC。买方信息这一格的口径是「买方要求时」须填名称、地址与税号或个人识别号,终端消费者未提供识别信息的,票面要注明售予消费者。听上去比马来宽松,但对批发商没有区别——你的下线几乎全都要拿票去抵,他一定会要求你填。
尼日利亚要先把名字说对。据《Nigeria Revenue Service (Establishment) Act 2025》,联邦税务局 FIRS 已更名为尼日利亚税务局(Nigeria Revenue Service,NRS),自 2026 年 1 月 1 日起生效,电子发票平台是它的 Merchant Buyer Solution(MBS,也叫 Electronic Fiscal System)。按公开的推进时间表,年营业额 50 亿奈拉以上的纳税人自 2026 年 7 月 1 日起进入强制执行,10 亿至 50 亿这一档同日开放接入、执法安排在 2027 年一季度。现在还没轮到你,不等于客户档案可以先空着。
赞比亚的 ZRA Smart Invoice 则多一件事:除了买方 TPIN,商品还要映射到 ZRA 的商品分类码。这一格属于商品档案而不是客户档案,正好在导入那一刻一并填最划算——几千条记录逐条映射,上线之后没有人会愿意回头做第二遍。
这四个国家的具体字段和生效节奏各不相同,但落到导入这一步是同一句话:税号、登记号、正式注册名称三格,要和对方在税局登记的写法一致,不是和你本子上的简称一致。能不能直接开出合规票据,得看你选的持牌服务商和当地版本的真实对接范围,签约前书面确认,别凭口头承诺。
切换之后的第一个月,账通常会比以前难看:毛利没有想象中高,某几个品的库存比记忆里少,有几个老客户的欠款数字让人意外。这不是系统算错了,是那本手写账本终于被摊开了——十几年里被记性和人情抹平的那些差,第一次同时出现在一张表上。撑过第一次月结、对得上,这件事就算成了。
旧本子这时候不该当废纸卖掉,按前面说的年限装箱收好。真正被换掉的其实不是那几本子纸,是「只有老板一个人知道哪笔是哪笔」这件事——这件事在店小的时候是优势,货多了、人多了、店开到第二个国家之后,就是天花板。
本文涉及的各国电子发票机构名称、法规编号与生效日期,核实于 2026 年 9 月 20 日。主要依据:MyInvois SDK 官方发布说明与马来西亚方案商对 2026 年 8 月 1 日 TIN/BRN 校验的说明,越南 Decree 254/2026/ND-CP 与 Circular 91/2026/TT-BTC 的行业梳理,尼日利亚税务局(NRS)Merchant Buyer Solution 官网与《Nigeria Revenue Service (Establishment) Act 2025》,赞比亚 ZRA Smart Invoice 公开说明,以及 OHADA《会计法与财务信息统一法》第 24 条与南非《税务管理法》2011 年第 29 条的留存年限。文中的盘点复盘阈值、并行期长度、导入模板字段属于操作建议,不是法定要求;具体能不能支持、模板长什么样,按你所在国家和版本的真实支持范围向方案商确认,税务口径请以当地税局最新公告和你的会计意见为准。
换进销存那几天,档口要不要关门?
要停的只有盘点那一段,通常是打烊之后到第二天开门之前的四到八个小时,这段时间仓里不收货也不出货,把数点死。第二天照常开单。真正要提前安排的是盘点前那一两天——能往后挪一天到的柜就往后挪,拆散的箱先归位,别让货压在半路。当晚实在有熟客要提货,按老办法手写一张临时单、货照走,第二天一早在系统里按这张单补录出库,期初数不动。整个过程里没有哪一天是「系统还没好所以不能做生意」的,凡是让你停业一周去导数据的方案,问题多半出在没想清楚要搬什么。
以前十年的进货单和销售单,能不能全部导进新系统?
技术上能,做法上不建议。十年的单据要搬得干净,先得把旧本子里的品名、单位、客户称呼全部归一成新系统的一套编码,这件事的工作量比导入本身大得多;而只要有一处口径对不上——同一个货今年叫这个名、三年前叫那个名,同一个人本子上一会儿是「老张」一会儿是「张老板」——导进去的历史就是一堆算不出正确成本和毛利的行,看着有,用不了。更要紧的是它没什么用:你真正需要翻历史单据的场合只有两种,查一笔陈年老账、应付税务或审计检查,这两件事旧本子和旧 Excel 本来就能满足。新系统从一个干净的起点往下走,三个月之后你手里就有了口径统一的新历史。旧账本按当地法定年限收好别扔,OHADA 成员国的会计账簿和原始凭证是 10 年,南非按《税务管理法》2011 年(Act No. 28 of 2011)第 29 条是自提交相关申报表之日起 5 年。
期初库存按我账本上的数录,还是要先盘一次?
必须先盘,而且以盘出来的数为准。手写账记了十几年,账面和实物一定有差——拆零卖掉忘了减的、样品拿走没记的、赔给客户的、丢的,十年攒下来通常不是小数。这个差你在旧本子上补不回来,但在切换这一刻可以一次性认掉:盘点数直接作为期初,差异不追溯,只在账上做一笔期初盘盈盘亏。反过来把账面数当期初录进去,等于把十年的误差原样搬进新系统,三个月后第一次盘点它照样冒出来,而那时候你已经分不清是旧账的错还是新系统用错了。
客户欠款是按人挂一笔总额,还是把每张欠条都录进去?
分两类处理。有欠条、有日期、双方都认的,逐笔录,日期写原始日期而不是切换日——账龄是从这个日期长出来的,逾期多少天、还能不能提货,靠的就是它。只剩一个总数、说不清是哪几单哪一天的,挂一笔期初应收就行,单据日期统一写切换日,备注里写明是历史合计。不管哪一类,录之前先出一张对账单请客户签字,或者至少在聊天里确认一句并截图存档,确认之后再录进系统。切换的时候对账,客户通常最配合,因为他也想知道自己到底欠多少;等半年后真扯皮了再去对,你手里就只有一个自己录的数。多币种的欠款按原币种录,别先折成一个币再录,汇率那一层交给系统。
我的本子上只有卖价没有进价,期初成本价怎么填?
用最近一次真实进货的到岸价填,别填 0,也别拿卖价倒推一个看着合理的成本。填 0 的后果是这批货卖出去毛利等于售价,报表直接失真;倒推出来的成本你自己都说不清是怎么来的,日后对不上账也查不出原因。翻最近一次进货的单据,发票、装箱单、运费和清关的账都算上,按到岸口径摊到每一件上;实在找不到的品项按当时的市场进价填,并且在商品档案上标一个期初估价的记号,好让三个月后看毛利表的时候知道哪几行的数是估的。等这批货卖完、新的进货进来,系统按真实进价重算移动加权,成本自己会回到正轨,通常是两到三个进货周期的事。
店开在马来西亚,客户档案里的税号是不是要一次填全?
是,而且不止税号那一格。据 MyInvois SDK 的官方发布说明,LHDN 自 2026 年 8 月 1 日起在 Validate Taxpayer's TIN 接口上校验 TIN 与 BRN(商业登记号)的组合,两个号各自看着都对、但配不上对,票就发不出去;方案商普遍提醒 BRN 还要符合 SSM 的十二位格式。这意味着买方税号这件事不再是「以后补」的字段,它是开票能不能成功的前置条件。落到导入这一步,就是客户档案里的税号、登记号、注册名称三格要在导入那一刻一次填对,并且跟对方在税局登记的写法一致。越南、尼日利亚、赞比亚各有各的一套要求,但道理是同一个:这几格现在填一次,比以后每开一张票补一次便宜得多。