1. 概述

OpenERP中涉及多币种的地方有:1)货币及汇率设置;2)多币种价格;3)外币会计凭证。

2. 货币及汇率设置

公司本位币设置:Menu “Administration -> Companies -> Companies”,设置Currency 字段。会计凭证的借方、贷方金额,产品的默认销售价、成本价等,都是以此处设定的本位币计价。多币种汇率设置:Menu “Accounting -> Configuration -> Miscellaneous -> Currencies”。在这里通常将公司本位币的“Current Rate”设为1.0,其他币种的“Current Rate” = 1本位币相当于多少该币种。例如,本位币为CNY,其Current Rate=1.0,美元对人民币汇率假设是6.3,则美元的Current Rate = 1/6.3 。在Rates里,可以设置不同日期的汇率,系统会自动采用这里设置的最新汇率(At Date),或者不同日期的汇率的平均值(At Average)。

3. 多币种价格

系统的Product的Cost Price 和 Sale Price 里,记录的价格只有数字,没有货币。默认情况下,货币是产品所属公司的本位币。但是,有些东西是外销,有些东西是内销,有些东西同时内销外销;有些东西是国内采购,有些东西是国外采购。外销的希望Sale Price用外币计价,内销的用人民币计价,同时外销内销的希望有两个不同币种的Sale Price。采购的Cost Price同样希望有多币种价格。OpenERP中这些情况都可以支持。1)Menu “Sale -> Configuration -> Pricelists -> Price Types”,这里设置Cost Price、Sale Price等Product中的数字字段的币种。2)Menu “Sale -> Configuration -> Pricelists -> Pricelists”, 这里为每个销售和采购中要用到的币种创建一个该币种的价格表。3)Menu “Sale -> Configuration -> Pricelists -> Pricelist Versions”,进去后在Products Listprices Items里面,Based on的下拉框会列出所有设置好的Price Types。选择合适的Pricetype,系统价格计算步骤是:a)按公式计算价格;b)如果Pricetype里的币种和Pricelist的币种不一致,将Pricetype币种的数额汇兑成Pricelist币种的数额。产品销售时候,在Sales Order上,选择合适的Pricelist,系统会自动将SO上的产品价格,按Pricelist进行计算,包括汇率自动换算。

4. 外币会计凭证

OpenERP中会计凭证(Move Entry)中的借贷方金额总是公司本位币的金额,每一个会计凭证行(分录)有两个字段用于记录原始币数额,一个是Currency,记录原始币种,一个是Amount Currency,记录原始币金额。 手工录入凭证时候,输入Currency和Amount Currency,系统自动换算成本位币金额,记录到Debit和Credit(Amount Currency为正,记入Debit,为负记入Credit)。 系统自动生成会计凭证时候,例如从SO自动生成Invoice,再从Invoice自动生成会计凭证。

从SO到Invoice,系统自动将SO上的Pricelist的币种设置到Invoice上的Currency;在Invoice上,如果改变Invoice的Journal,系统自动用Journal的币种设置到Invoice的币种,因此,最好确保Invoice上的Journal的币种和生成该Invoice的SO上的Pricelist的币种一致;系统默认Invoice上的数额是以Invoice的币种计价。生成会计凭证时候,如果Invoice的币种不同于本位币,系统自动将Invoice的币种记入凭证行的Currency字段,Invoice金额记入凭证行的Amount Currency,并自动换算成本位币金额记入凭证行的借方、贷方。