最近更新于 2026年11月6日
其他来源的规则和数据已于 2026年11月6日 核对。这些内容会变动,请在依据其操作前向原始来源确认。
以下为一般性信息,不构成税务或法律建议。具体规则因国家和个人情况而异,凡涉及税务或法律后果的内容,请向您的会计师确认。
开外币发票的做法是:先与客户约定货币,明细行和合计都用该货币计价,并写明币种代码。如果收取增值税,欧盟和英国的规则还要求以您的本国货币标明增值税金额,并按增值税产生纳税义务当天可接受的汇率换算。
开外币发票合法吗?
在欧盟和英国,开外币发票都是合法的。增值税指令第 230 条规定,发票上的金额“可以用任何货币表示”,前提是应缴增值税以所涉国家的本国货币表示。HMRC 的 Notice 700/21 说法相同:金额可以用任何货币,增值税总额必须用英镑。
所以需要换算的只有增值税。不含增值税的发票,例如欧盟反向征收发票或出口发票,票面上没有需要换算的内容。不过您的增值税申报表仍然使用本国货币,所以无论哪种情况,您的记录里都需要换算后的价值。
增值税该用哪个汇率?
增值税使用的汇率由规则确定,适用于增值税产生纳税义务的那一刻,而不是客户付款的时候。
| 欧盟(第 91 条) | 英国(Notice 700 第 7.6 节) | |
|---|---|---|
| 默认做法 | 依据国内规定,采用该国最具代表性的外汇市场上的最新卖出汇率 | 供应发生时英国市场的卖出汇率 |
| 替代做法 | 欧洲中央银行的最新汇率,各国必须接受 | HMRC 为海关目的公布的期间汇率 |
| 其他途径 | 海关汇率,如果该国允许 | 经 HMRC 书面同意的商业汇率或方法 |
| 是否需要通知 | 在使用欧洲央行汇率之前,国家可以要求您做一次通知 | 使用期间汇率无需通知,但此后未经同意不得更换 |
有三个细节容易被忽略:
- 欧洲央行只公布对欧元的汇率。 在非欧元区国家,要像第 91 条规定的那样通过欧元换算,使用各货币对欧元的汇率。
- 欧洲央行的汇率通常在工作日中欧时间 16:00 前后更新。 所以上午开具的发票,最新公布的汇率是前一天的。欧洲央行表示这些汇率仅供参考,并强烈不建议用于交易。第 91 条仍然把它们指定为增值税换算用汇率。
- 在欧盟,汇率不一定要出现在发票上。 欧盟委员会的解释性说明指出,第 230 条不允许要求写明汇率或方法。写上它仍然是对客户会计的一种体贴。
算例:从美元发票到收款
下面是一个虚构的例子。欧元区的一家公司按约定以美元向本地客户开出 $5,000 加 20% 增值税的发票,增值税产生纳税义务当天的汇率为 1 美元 = 0.92 欧元。
| 美元 | 按 0.92 折合欧元 | |
|---|---|---|
| 不含税金额 | $5,000.00 | €4,600.00 |
| 20% 增值税 | $1,000.00 | €920.00 |
| 合计 | $6,000.00 | €5,520.00 |
发票显示美元一列,另加以欧元表示的增值税。用下面这一行即可:
VAT amount in EUR: €920.00 (USD 1,000.00 at 1 USD = 0.92 EUR, the ECB rate when VAT became chargeable).(欧元增值税金额:€920.00(USD 1,000.00,按 1 USD = 0.92 EUR 折算,为增值税产生纳税义务时的欧洲央行汇率)。)
该公司在增值税申报表上填 €920。三十天后客户支付 $6,000,汇率已变为 0.90,所以银行入账 €5,400。
| 欧元 | |
|---|---|
| 开票时入账 | €5,520.00 |
| 实际收到 | €5,400.00 |
| 汇兑损失 | €120.00 |
增值税仍为 €920,因为第 91 条把汇率固定在增值税产生纳税义务的时点。这 €120 是计入您账目的财务损失,增值税申报表不变。如果汇率上升,那就是收益。英国公司的做法相同,只是把欧元换成英镑。
应该用自己的货币开票还是用客户的货币?
用自己的货币开票,汇率风险由客户承担;用客户的货币开票,则由您承担。没有哪一种天然正确。
| 选择 | 适用情形 | 注意事项 |
|---|---|---|
| 您的货币 | 您的成本用这种货币,且利润微薄 | 有些客户不能或不愿用外币付款,或者会因此抬高价格 |
| 对方的货币 | 大客户提出要求,或者这样能拿下业务 | 报价到付款之间的汇率波动要由您的利润承担 |
| 第三种货币 | 双方日常都用,例如某些行业用美元 | 如果双方都不持有,就要换算两次 |
如果用客户的货币开票,请缩短付款期限,并考虑加入一个条款,允许您在汇率波动超过约定幅度时重新报价。过长的付款条款不仅会拉长您的资金占用,也会拉长您面对汇率的风险敞口。
外币发票的措辞怎么写?
外币发票应当用文字或代码写明币种,让人不必猜测。使用 USD,而不是单独一个 $,因为它同样可能指加拿大元或澳大利亚元。再补上款项汇往哪里以及谁承担费用:
All amounts are in US dollars (USD). Please pay USD 6,000.00 in full to the account below. Bank charges are payable by the sender (OUR).(所有金额均以美元(USD)计。请将 USD 6,000.00 全额汇入下方账户。银行费用由汇款方承担(OUR)。)
先确认您的银行会如何处理这笔款项。以美元汇入只有欧元的账户,通常会按银行自己的汇率换算,而这个汇率可能与参考汇率相差很大。银行费用造成少收,会使发票处于部分付款状态,部分付款指南说明了这时该怎么办。国际发票的其他内容,请参阅给海外客户开发票指南。
需要避免的错误
- 增值税用了付款日的汇率。 增值税的汇率日期是增值税产生纳税义务的时点。付款日只影响您的汇兑收益或损失。
- 因为汇率变动而重新开票。 汇率的变化不会改变发票。
- 混用汇率来源。 在英国,采用 HMRC 的期间汇率后,除非 HMRC 同意更改,否则就要一直使用。选定一个来源并把它记下来。
在 ERPFlow 中开外币发票
在 ERPFlow 中,货币按单据设置,多币种取决于您的套餐:Free 和 Starter 只能使用基础货币开票,Growth 增加一种额外货币,Business 和 Enterprise 不限数量。您在“设置 > 业务信息”中添加货币。
- 汇率记录在单据上。 选择货币后会出现类似
USD → EUR的字段,预填该单据日期的央行参考汇率,您可以改写。如果您的税务机关要求使用其他汇率或日期,就把那个汇率输入进去。之后的汇率变动不会重新给已保存的单据定价。 - 报表仍以基础货币显示。 仪表盘和客户分析按每张单据各自记录的汇率换算,发票列表显示基础货币价值,单据本身的金额列在下方。
- 一张单据一种货币。 没有按明细行设置的货币,用两种货币向同一客户开票,就会有两张发票。
- 检查目录中的价格。 产品和服务以基础货币定价,选中后会直接填入该数字而不做换算。美元发票上一项 €100 的服务,会显示为 100,直到您修改它。
PDF 和 XML 导出只显示单据本身的货币,所以以本国货币表示的增值税金额不会自动打印。请像上面的示例那样写在备注里,或者问问您的会计希望如何处理。每行的税率由您自己选择。
付款以发票的货币记录。ERPFlow 不会对未结发票重估汇率,不持有多币种银行账户,也不计算已实现的汇兑损益,所以这个数字要来自您的银行对账单,并交给您的会计。