客户退款与红字发票 (Credit Note)
单据定义: 红字发票 (Credit Note / Credit Memo) 是公司开给客户的负数发票。 它代表公司欠客户钱,或者用来抵消之前的正数发票(债权)。
业务场景:
- 退货退款:客户把货退回来了,我们要把钱退给他。
- 价格补偿:货没退,但因为质量问题,我们决定赔偿客户 $100。
- 开票错误纠正:发票开错了,开一张红字发票全额冲销,再重开正确的。
1. 核心价值 (Value)
- 财务合规: 在会计准则中,一旦发票过账 (Posted),就不能随意删除。必须通过开具一张方向相反的红字发票来“冲销”账务。
- 债权管理:
系统自动计算:
客户应付总额 = 正数发票 - 红字发票。 - 退款控制: 只有看到仓库的退货入库单,财务才批准退款,防止资产流失。
2. 界面解剖与流程演示 (Anatomy & Walkthrough)
我们将通过一个完整的退货退款案例,演示从原发票到红字发票,再到最终付款的全过程。
步骤 1:从原发票发起冲销

找到这张需要退款的 已过账 (Posted) 发票,点击顶部的 [退款通知 (Credit Note)] 按钮。
步骤 2:退款确认向导

系统弹出确认窗口:
- 退款原因 (Reason):填写备注(如“退货”)。
- 冲销日期 (Reversal Date):通常选择“具体日期”并填入今天。
- 操作选择:
- 退款 (Refund):生成一张草稿红字发票(推荐)。
- 退款并创建发票:生成红字发票后,立即再生成一张新的正数草稿发票(适用于发票开错重开)。
- 丢弃 (Cancel):直接取消原发票(仅限未过账或特定配置)。
步骤 3:生成的红字发票 (Credit Note)

点击 [退款 (Refund)] 后,系统生成了一张新的单据:
- 编号:
RINV/xxxx(R 代表 Reversal/Refund)。 - 金额:虽然显示为正数
$115.00,但在财务逻辑上它是负债。 - 状态:初始为 草稿 (Draft),确认无误后点击 [确认 (Confirm)] 过账。
步骤 4:订单关联变化

回到源 销售订单 (SO),你会发现右上角的 [发票 (Invoices)] 智能按钮数字变成了 2。
步骤 5:发票列表核对

点击智能按钮进入列表,你会清晰地看到两张单据:
- 原发票 (INV/...):金额
$115.00,状态 已支付 (In Payment/Paid)(假设客户之前付过钱)。 - 红字发票 (RINV/...):金额
$-115.00,状态 已过账 (Posted),等待退款。
- 注:一正一负,客户的应收账款总额重新归零(或抵消)。
步骤 6:执行退款 (Register Payment)

在红字发票上点击 [登记付款 (Register Payment)]:
- 类型:系统自动识别为 发送付款 (Send Money)(即退钱给客户)。
- 金额:
$115.00。 - 日记账:选择退款的银行账户。
步骤 7:完成状态

付款确认后,红字发票右上角出现绿色的 [已支付 (In Payment)] 标签。 这意味着钱已经从公司账户划出,退回给了客户。
3. 标准作业流程 (SOP)
场景 A:基于退货的退款 (Standard Return)
最常见的场景:货退回仓库了,财务退钱。
- 前提:仓库已完成退货入库(详细操作见 库存退货)。
- 创建红字发票:
- 销售员或财务打开 销售订单 (SO)。
- 点击 [Create Invoice]。
- 注意:Odoo 默认可能不会自动识别“退回数量”来生成红字发票(除非特定版本或模块支持)。
- 推荐做法:不要在 SO 上点创建,而是直接去发票列表操作(见场景 C)或手动创建 Credit Note 并关联 SO。
- 或者:如果系统提示创建 Invoice,检查数量是否为负数。如果是,它就是 Credit Note。
- 财务审核:
- 进入一张新的草稿单据。
- 核对:数量是否等于仓库实收退货数?金额是否正确?
- 点击 [Confirm (确认)]。
- 退款/抵扣:
- 情况 1:退现金。
- 点击 [Register Payment]。
- 选择
Send Money(付款),选择银行账户,把钱打回给客户。
- 情况 2:留作余额 (抵扣下一次)。
- 不要点 Register Payment。
- 让这张红字发票保持
Posted状态(Open)。 - 下次给该客户开新发票时,系统会提示“有未结的红字发票”,点击 [Add] 即可抵扣。
- 情况 1:退现金。
场景 B:仅退款不退货 (Refund Only)
货损赔偿,或者服务退款。
- 进入 Accounting > Customers > Credit Notes。
- 点击 [New]。
- 选择客户。
- 在明细行添加产品(或服务),填写退款金额。
- 点击 [Confirm]。
- 执行付款或抵扣操作。
场景 C:发票纠错 (Full Refund / Cancel)
刚才开的发票错了,要作废重开。
- 找到那张错误的 已过账发票 (Posted Invoice)。
- 点击顶部的 [Credit Note] 按钮。
- Reason (原因):填写“开票错误,重开”。
- Refund Date (退款日期):通常选今天。
- 点击 [Reverse (冲销)]。
- 系统会自动生成一张一模一样的红字发票,并自动与原发票核销。
- 原发票状态变为
Reversed(已冲销)。 - 此时您可以重新开一张正确的发票了。
4. 常见问题与异常
Q: 我可以直接删除错误的已过账发票吗?
- A: 绝对不行(系统也不让)。
- 必须走“红字冲销”流程,这是为了保证发票号的连续性和审计轨迹的完整性。
Q: 红字发票能部分抵扣吗?
- A: 可以。
- 比如红字发票是 $100,新发票是 $80。
- 在新发票上点击 [Add] 抵扣后,红字发票还剩 $20 余额,可以留给再下一张发票用,或者退现金给客户。
Q: 为什么我看不到 Credit Note 菜单?
- A: 检查您的权限。通常只有“会计”或“开票员”权限才能看到。销售员通常只能在 SO 上发起申请。
5. 下一步
退款处理完毕,意味着这笔生意的逆向流程也闭环了。 至此,您已掌握了财务域的核心操作:
- 收款:Customer Invoice
- 付款:Vendor Bill
- 退款:Credit Note