成本单价多留几位小数,票面金额停在第纳尔的三位小数,10% 增值税按行算一次再合计。 这三条定下来,在巴林拆箱卖的零头和税额才不会一单差出几百 fils。
巴林第纳尔(BHD)是世界上少数一元拆成 1000 份的货币,最小单位叫 fil,复数 fils。做惯了人民币、美元两位小数的人,第一次在穆哈拉格的龙城(Dragon City)开档,最先撞上的往往不是语言,而是小数点:一箱 36 个的收纳盒报 5 第纳尔,拆开卖一个是 0.13888…,这个数在单子上写几位、按什么规则取舍,没人提前讲过。
龙城是 2015 年 12 月在 Diyar Al Muharraq 开业的批发零售中心,由运营迪拜龙城的同一家中方公司 Chinamex 管理,700 多个铺位里有一大片是灯具、家居、五金、小家电、厨具这些日用百货,还配了约 4,500 平方米的仓储区。来拿货的除了巴林本地的 cold store(社区杂货店)、五金店,也有开车过法赫德国王大桥从沙特东部过来的客人。生意的体量不大,但单价普遍很低,几十 fils、一两百 fils 一件的货,恰恰是三位小数最能折腾人的地方。
一箱 36 个,除不尽的那几位小数先别急着扔
拆箱批发的第一个坑在成本端。巴林第纳尔长期按 1 美元兑 0.376 第纳尔挂钩美元,这让美元进货的折算比很多非洲、东南亚国家省心得多——但省心不等于不用算。你在义乌按人民币下单、付美元,一件收纳盒的到岸成本算下来 0.37 美元,折成第纳尔是 0.13912。
如果系统里成本单价也只留三位,它就成了 0.139,每件少记了 0.12 个 fil。单件看不出来,一个 40 尺柜装几万件小百货,几十个品类叠在一起,月底毛利表就会比真实情况好看一截,而且好看得很稳定,没人会去怀疑。所以成本这一栏要和售价分开对待:成本精度多留到四到六位,售价和票面金额才停在三位。前者是为了算账真实,后者是为了让每一张单子上的钱能被真的付出来。
售价那一头的问题是拆箱。整箱卖 5.000 第纳尔,一个就该是 0.13888…,你不可能在单子上写四位。常见的处理是把拆零价单独设一个整数 fils 的价,比如 0.150,而不是让系统每次现场除以 36。这样多出来的那 11 个 fils 本来就是拆零的辛苦钱,也让拆零和整箱在价格上有了天然的台阶,客人想省钱自然会凑整箱。
库存这边的规则和别处一样:主单位定成能盘得出来的最小那一格,也就是「个」,箱只是 36 个的倍数,换算比例写死在商品档案里。拆箱那一刻在系统里走一笔拆分,账上少一箱、多出 36 个。百货的 SKU 往往成百上千,同一款收纳盒还有三四个颜色,日用百货批发方案讲的就是这类货怎么建档、扫码进出,才不会到月底在零散的几个、几十个上对不上数。
10% 增值税算在每件、每行还是整单上,差的不止 1 个 fil
巴林的增值税 2019 年 1 月 1 日开征时是 5%,按 2021 年第 33 号法令,从 2022 年 1 月 1 日起上调到 10%。这个税率本身很简单,麻烦出在它跟三位小数碰到一起的时候:一个三位小数的金额乘 10%,结果多半带着第四位,必须有人决定这一位怎么处理。
最常见的偏差,是伙计或者某些开单工具按「每一件」先算出含税价、取整到 fil,再乘数量。拿一张很普通的龙城批发单举例,四行货:收纳盒 250 个、单价 0.139,不锈钢勺 600 支、单价 0.045,LED 灯泡 123 个、单价 0.385,挂钩 37 包、单价 0.215,不含税合计 117.060 第纳尔。同一张单,三种算税方式的结果放在一起:
| 算税方式 | 怎么算 | 税额(BHD) | 含税合计(BHD) | 和整单算法相比 |
|---|---|---|---|---|
| 逐件算税 | 每件税额先取整到 fil,再乘数量(勺子 0.0045 被进成 0.005) | 12.111 | 129.171 | 多 405 fils |
| 按行算税 | 每一行金额乘 10%,取整到 fil,再合计 | 11.707 | 128.767 | 多 1 fil |
| 整单算税 | 四行不含税金额先合计,再乘 10% 取整一次 | 11.706 | 128.766 | — |
逐件算税的毛病一目了然:单价越低、数量越大,偏差越离谱。不锈钢勺一支的税额 0.0045,被进成 0.005,看起来只多了半个 fil,600 支就多出 300 fils。这多出来的 405 fils 是从客户口袋里多收的「税」,账上却说不清它算什么——当成税交上去,是白白多缴;不交,票面上写的税额又和申报对不上。精明一点的批发客户自己会拿计算器按一遍,按一次就会来问。
按行和整单之间只差 1 fil,是正常的取整差,两种做法都说得通,关键是全店统一一种,别让这张单按行、那张单按整单。实际操作里按行算更常见,因为每一行的税额可以单独核对,客户退其中一行货时冲回去的税也清清楚楚。NBR 对票面的硬要求是金额和税额都用第纳尔表示,至于取整到哪一位、按行还是整单,建议跟你的会计定下来以后写进开单规范,别留给伙计各算各的。
落到系统里,这件事要在两个地方设对:商品档案上的税率和价格口径(含税还是不含税),以及开单时税额的计算层级。设定一次,此后谁开单都是同一个结果。一户多价、按客户等级带出价格这一层,批发管理本来就是这么跑的,税额的算法只是跟在价格后面多走一步。
同样一张单,开给谁决定了票面上要写多少东西
巴林的增值税发票分两种。按 NBR 的发票规则,买方没有做增值税登记,或者这张单含税金额不超过 500 第纳尔,可以开简化税务发票:写清你的名称、地址和增值税登记号,开票日期,货物描述,以及以第纳尔表示的含税总额、税率和税额,买方信息可以不写。超出这个范围——买方是增值税登记户、而且这一单超过 500 第纳尔——就得开完整的税务发票,买方的名称、地址、登记号,连续编号,每一行的不含税金额、税率、税额都要列出来。
在龙城做批发,这条线比想象中更常被跨过。一个社区杂货店老板平时一次拿一两百第纳尔的货,开简化票就够;年底备货一次拿到六七百第纳尔,如果他是登记户,同一个人这一单就得换完整税票。巴林的强制登记门槛是年应税销售额超过 37,500 第纳尔(超过 18,750 可以自愿登记),所以你的客户里有登记户也有非登记户,而且会有人在年中跨过门槛、补登记。
这件事靠柜台上临时问是管不住的。更稳的做法是把客户的增值税登记号作为客户档案里的一个字段,有就填、没有就留空,开单时系统根据「有没有登记号 + 这一单金额」自己判断该出哪一种格式。客户中途补了登记,改一次档案,之后每张单自动换格式。
还有两条容易漏的规矩。一是发票可以用阿拉伯语或英语开,不像沙特那样强制阿语;二是如果票面上用了外币,比如给沙特过来的客人顺手标了里亚尔或美元,税额必须折成第纳尔列明,所用汇率要采用巴林中央银行(Central Bank of Bahrain,CBB)公布的汇率,并且写在票上。系统里的汇率通常是你自己维护的牌价,平时报价没问题,碰到外币开票这种情形,记得把那天的 CBB 汇率填进去。所有发票和相关记录至少留存五年,从对应的增值税申报期结束算起。截至 2026 年 10 月,巴林还没有公布强制电子发票的上线日期,现在开出的纸质或打印发票照样有效。
柜台上的伙计看阿语,巴林之外的客人也在同一本账里
龙城的铺子里,伙计多半是南亚或阿拉伯籍员工,读中文开单界面是指望不上的。录单、收货、盘点这几件天天在做的事,让他们在阿拉伯语进销存界面里做,单据和标签按阿语从右到左排版打印;你在后台切回中文,看的是同一张单、同一份库存和同一笔赊账。阿语界面对百货尤其有用——几百个品名、颜色、规格,伙计用自己的语言看一遍就能对上货架,用中文转述一遍就容易拣错。
现金这一头还有个只有巴林才有的小细节。巴林流通的硬币最小是 5 fils,单子上算出来 128.767 第纳尔,客人掏现金时实际只能付 128.765 或 128.770。这 2 到 3 个 fils 不是折扣也不是多收,是现金尾差,要在收款时单独记一笔,别改单子上的金额去迁就零钱——票面一动,税额就跟着动,前面按行算出来的那一套就白定了。
赊账也是龙城批发的常态。社区杂货店、五金店月结的不少,从沙特过来的老客户一次拿货量大,往往要求压一部分货款到下趟再付。把客户的赊账额度和账期绑在档案上,每一单出库自动挂应收,谁欠多少、谁快到期一张表就能看清;用第纳尔挂的账按第纳尔收,用美元挂的按美元收,别在挂账那一刻就折成一个币。海湾这几国的批发逻辑相通,中东批发方案把多币种、阿语单据和多仓放在一起讲;各地华商在巴林、沙特开档的具体经验,秘奥问答社区里也有人在聊。
如果这个月只能做一件事,就挑一个周末下午,把店里卖得最多的 30 个百货品类拉出来,逐个核三样:成本单价是不是只留了三位、拆零价是不是一个整数 fils、价格口径是含税还是不含税;然后用一张真实的多行批发单,在系统里分别按行和整单各开一次,看税额差几个 fil,跟会计定下用哪一种,写进开单规范,从下周一开始全店照这一种开。
我从义乌按人民币进货、付的是美元,系统里的成本该记哪个币?
进货单按你实际付款的币种记,入库成本再折成第纳尔,两层都留着。巴林第纳尔长期按 1 美元兑 0.376 第纳尔挂钩美元,美元这一段的折算比较稳;人民币那一段会随汇率走,所以每一批货入库时用的是哪个汇率、折出来的单位成本是多少,要跟着这一批记死,不要月底统一按一个数重算。单位成本建议多留到四到六位小数——一个 0.37 美元的塑料收纳盒,折过来是 0.13912 第纳尔,只留三位就成了 0.139,单件差得不多,乘上一整柜几万件,毛利表就开始骗人了。至于这几位小数系统里怎么设,上线时跟技术把成本精度和售价精度分开确认一次。
老客户要我报个含税的整数价,比如一件 150 fils,系统里怎么录才算得对?
可以按含税价报,但商品档案上的价格口径要设成「含税」,让系统从 0.150 往回拆:不含税约 0.1364、税额约 0.0136,再按整行数量算一次税。反过来最容易出的错,是伙计把 0.150 当成不含税价录进去,系统又在上面加 10%,客户拿到的单子是 0.165,当场就要争。同一个客户群最好只用一种口径——批发客户普遍习惯看不含税价加税额,零散的小店主更习惯一口价,按客户等级分开设,比在柜台上现场换算稳得多。
巴林什么时候强制电子发票?现在要不要为这个先换系统?
截至 2026 年 10 月,巴林国家税收局(National Bureau for Revenue,NBR)还没有公布强制电子发票的法规、技术格式或上线日期,早年市场上传过的 2024 年启动时间也没有兑现。所以眼下不必为电子发票专门换系统,但值得趁现在把数据理干净:客户的增值税登记号录全、商品的税率口径定对、金额精度和取整方式统一。看邻国沙特和阿联酋的节奏,规则从公布到分批落地,留给商户的准备期并不宽裕,到那时再回头一户一户补客户税号,比现在慢得多。具体时间表以 NBR 官方公布为准。