为什么我的发票到期日或付款计划有误?

发票的到期日及其付款计划表来自付款条款模板。ERPNext 会从订单、客户或供应商,或客户组中获取该模板,并根据起始日期计算出每个到期日。当到期日与预期不符时,通常由以下三种原因之一导致:使用了哪个模板、使用了哪个起始日期,或“账户设置”中的某条规则。

模板的来源

ERPNext 会使用以下第一个具有模板的来源:

  1. 当账户设置 → 自动从订单/报价单获取付款条款开启时,使用销售订单或采购订单(或报价单)。订单的付款计划会连同其到期日原样复制。
  2. 客户或供应商(付款条款模板字段)。
  3. 客户组或供应商组。
  4. 公司(默认付款条款模板)。

到期日早于发票日期

自动从订单/报价单获取付款条款已开启,因此到期日是从订单复制的。如果订单是在开票前几个月创建的,其到期日可能已经过了。

  • 若要改为根据发票日期计算到期日,请在账户设置 → 发票和账单中关闭该设置。之后新建的发票将使用订单的模板,并以发票日期为起始日期。

  • 对于单张发票,请在发票上重新选择付款条款模板。ERPNext 会根据过账日期重新生成付款计划。

当我输入供应商的发票日期时,采购发票的到期日会发生变化

这是预期行为。对于采购发票,当你输入供应商发票日期时,到期日会根据该日期计算;未输入时,则根据过账日期计算。信用期从供应商向你开票的那天开始计算。

每个到期日的计算方式

模板的每一行都有到期日依据:

到期日依据 示例:10 月 10 日开票,值为 30
发票日期后的天数 11 月 9 日
发票月份结束后的天数 11 月 30 日(10 月 31 日 + 30 天)
发票月份结束后的月数 (值为 1 时)11 月 30 日

对于预付款和尾款(例如现在支付 30%,30 天后支付 70%),请创建两行:发票比例 30,天数为 0;以及发票比例 70,天数为 30。请参阅付款条款模板。

保存或提交时的错误

Due Date cannot be before Posting Date
Due Date cannot be after 09-11-2026
Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total
  • 到期日不能早于过账日期(或供应商发票日期):付款计划中的某个到期日,或到期日字段,早于发票日期。请重新选择模板,或更正日期。
  • 到期日不能晚于……:你输入的到期日晚于模板允许的日期。只有拥有账户设置 → 允许绕过信用额度的角色中所列角色的用户才能保存更晚的日期;他们会看到一条提示而不是错误。否则,请更改模板。
  • 付款计划中的付款总金额必须等于总计/舍入总计:你在生成付款计划后更改了项目或税费。请重新选择模板,或更正付款金额列,使其合计等于总计。

如果你手动更改到期日字段,ERPNext 会询问“为使新的到期日生效,是否要清除当前的付款条款模板和付款计划?”。回答是以保留你的日期。如果付款计划中只有一行,ERPNext 会直接更改该行的日期,而不会询问。

条款未传递到发票

  • 检查账户设置 → 自动从订单/报价单获取付款条款。如果关闭,发票将使用客户或供应商的模板,而不是订单的模板。
  • 如果订单有模板但付款计划表为空,则没有可复制的内容。请打开订单并检查该表。

能否按净额计算条款?

不能。发票比例是总计(或舍入总计)的百分比,包含税费。若要在第一期账单中收取税费,请手动增大第一行的付款金额,或将预付款作为单独发票开具。

  • 付款条款模板
  • 付款条款
  • 应收账款和应付账款