电子路单常见问题

本页面解答支持团队最常收到的电子运单(e-way bill)问题:应从哪张单据生成、生成失败的原因、如何更新 Part B 或运输商,以及电子运单 PDF 或日志缺失时该怎么办。

关于如何生成、更新、延长和取消电子运单,请参阅 India Compliance 文档中的 e-Waybill 部分。

哪张单据可以生成电子运单?

销售发票始终可以生成电子运单。其他单据需要在以下位置进行设置:

GST 设置 → 常规,在 e-Waybill 部分:

移动类型 单据 需开启的设置
销售 销售发票 启用 e-Waybill 功能
发票前发货 交货单 启用从交货单生成 e-Waybill
采购退货或借项通知单 勾选 Is Return 的采购发票 启用从采购发票生成 e-Waybill
收货(例如从未注册供应商处收货) 采购收货单 启用从采购收货单生成 e-Waybill
自有仓库之间的调拨,或发往委托加工的货物 库存分录(物料转移或发往分包商) 启用分包和物料转移的 e-Waybill 生成

对于退货(勾选 Is Return),供应类型为 Inward。旧版本没有所有这些设置。如果缺少某项设置,请更新 India Compliance。

不支持:从资产移动生成电子运单,以及为一张单据生成多张电子运单。如需多辆车,请为每辆车制作一张交货单,分别从每张交货单生成电子运单,然后从所有交货单制作一张销售发票。运输途中更换车辆可通过 Update Vehicle Info 完成,或在电子运单门户上针对多车运输完成。

跨邦库存转移

库存分录用于在同一公司内移动库存。要将货物转移到具有不同 GSTIN 的分支机构,请使用向该分支机构(内部客户)开具的销售发票,并在接收分支机构中开具采购发票。这样可以收取 IGST,并为双方提供正确的会计处理。库存分录的电子运单适用于同一 GSTIN 内的移动以及委托加工。

生成失败并报错

错误文本来自政府电子运单系统。常见原因:

  • 供应地点。 对于账单地址/收货地址不同的移动,供应地点以账单地址为准,而非收货地址。如果客户的 GST 类别为 SEZ,则供应地点必须为 96-其他国家。提交后供应地点无法更改:请修改单据。
  • HSN 代码无效。 政府不会说明哪一行有误。请在 GST 门户的 HSN 搜索中检查每个物料的 HSN 代码,在物料上更正,然后修改单据。
  • PIN 码。 地址上的 PIN 码必须与其所在邦匹配。请检查账单地址、收货地址和发货地址。
  • 运输商 GSTIN。 对于运输商 ID(包括通用登记号),请在供应商上勾选 Is Transporter 并使用其 Transporter GSTIN 字段,而非普通 GSTIN。
  • 铁路。 对于铁路运输方式,运输单据编号必须使用铁路格式。
  • 凭据或 API 错误。 请参阅 GST API 错误。

Ship-To GSTIN 及其他新的政府规定

当政府更改电子运单规则时(例如 Ship-To GSTIN 自 2026 年 8 月 1 日起变更),India Compliance 会为所有受支持的版本发布该变更。您只需更新 India Compliance 应用。变更会先在沙盒模式中生效。规则变更后出现关于收货详情或 PIN 码的错误,通常意味着站点运行的是旧版本。

更新 Part B 或运输商

使用单据上的 e-Waybill 菜单:

  • Update Vehicle Info:添加或更改车辆(Part B)。
  • Update Transporter:更改运输商。
  • Extend Validity:在电子运单到期前延长有效期。
  • Fetch Latest Data:获取当前数据,例如在运输商更新 Part B 之后。

政府仅允许在 Part A 之后的 15 天内进行首次 Part B 更新。超过该期限,电子运单将被作废。请使用单据上的 Mark as Cancelled,然后生成新的电子运单。

电子运单的有效期仅在添加 Part B 后才会设定。要列出仍在等待 Part B 的单据,请打开 e-Waybill Log 列表并筛选 Valid Upto 为空的记录。

电子运单 PDF 或 e-Waybill Log 缺失

  1. 在 GST 设置中开启 Attach e-Waybill Print After Generation 后,PDF 会在生成后附加到文档中。重新加载文档即可查看。
  2. 如果电子运单是在政府门户网站上创建的,请通过 e-Waybill → Mark as Generated 记录,或使用 Fetch if Generated。
  3. 更新后出现的日志缺失和打印错误已在后续版本中修复。请更新 India Compliance。
  • India GST、电子发票和电子运单:查找您的答案
  • e-Waybill
  • 交易验证
  • e-Invoice 显示 Failed、没有 IRN 或无法取消

多币种常见问题

本页解答有关外币交易的常见问题:为什么客户或供应商只能使用一种货币、汇率来自哪里、为什么从订单到发票汇率不会变化,以及重估和汇兑损益如何入账。

客户或供应商只能使用一种货币

第一张发票之后,往来方的应收或应付账户就固定为一种货币。用另一种货币新建发票会提示“往来方账户……货币(……)与单据货币(……)应相同”。

  • 推荐做法:按货币分别创建客户或供应商,各自使用独立的应收或应付账户。这样应收账款和应付账款报表才能保持正确。
  • 或者:在账户设置中开启允许针对单一往来方账户开具多币种发票。其他货币的发票随后会以公司本位币记入该往来方账户。报表会以公司本位币显示这些金额。

汇率来自哪里?

  1. 如果存在该货币对和日期的货币汇率记录,则使用该记录。
  2. 否则,使用货币汇率设置中配置的汇率服务。

如果无法访问该服务,就没有汇率。可在账户设置中开启允许使用过期汇率以使用最后保存的汇率,或手动添加一条货币汇率记录。

挂钩货币

某些货币(如 AED 和 SAR)以固定汇率挂钩另一种货币,通常是美元。要使用这些固定汇率,请在账户设置中开启允许隐式挂钩货币换算,并在挂钩货币中核对汇率。ERPNext 随后会通过锚定货币进行换算。

例如,AED → INR 会先按固定汇率计算 AED → USD,再按获取的汇率计算 USD → INR。这样,在 ERPNext 自动获取汇率的所有地方(包括商机和合并财务报表),挂钩货币都能得到一致的汇率。你为某个日期手动录入的货币汇率记录始终优先;如果在货币汇率设置中禁用了自动汇率,该设置不会生效。

发票没有采用今天的汇率

由另一张单据生成的单据(报价单 → 销售订单 → 交货单 → 销售发票)会沿用第一张单据的汇率。这样可确保整个流程中的金额保持一致。

  • 对于采购,请在采购设置中开启使用交易日期汇率,以获取发票自身日期的汇率。
  • 对于销售单据,请在提交发票前修改发票上的汇率。
  • 提交后无法更改汇率。请取消并修订发票。如果修订后仍保留错误汇率,请改为新建一张发票。

针对发票开具的退货必须使用该发票的货币和汇率。

汇兑损益

当发票以不同于入账时的汇率付款时,差额即为汇兑损益。ERPNext 会将其作为单独的日记账分录,从付款单或付款核销中记入公司的汇兑损益账户。

  • 用哪个日期?由账户设置中的汇兑损益过账日期继承决定:发票日期、付款日期或核销日期。选择发票时,今年针对去年发票的付款会将损益记入去年。选择付款或核销日期可将其保留在当前年度。
  • 成本中心:日记账分录需要一个成本中心。请在分摊行中设置成本中心,或在公司上设置默认成本中心。
  • 有关付款单上显示的差额,请参阅付款单:未结金额错误、“已全额付款”、账户和货币差异。

汇率重估

汇率重估会在某个日期(例如年末)对未结的外币余额进行重估,并通过日记账分录(创建 → 日记账分录)过账未实现损益。

  • 付款的损益会忽略重估。之后支付发票时,已实现损益按发票的原始汇率计算,而不是按重估后的汇率计算。请在下一期间开始时冲销重估日记账分录(大多数会计人员都这样做),这样总额才正确。
  • 重估分录会显示在应收账款或应付账款中。在报表中勾选重估日记账即可包含或查看它们。这是一个已知限制。

小额舍入差异

每一行都会单独换算并舍入,因此总额可能相差一分或小额货币的几个单位。请在付款单上使用扣减或损失行核销该差额。

  • 管理多币种交易
  • 货币汇率
  • 汇率重估
  • 管理外汇差额

更正已提交的会计凭证

您提交了一张发票或日记账分录,但其中的科目、成本中心、项目、金额或日期有误。已提交的凭证不能随意编辑,因为它的总账分录已经过账。本页说明哪些内容可以直接修改,以及何时必须取消并修订,或改为过账冲销分录。

无需取消即可修改的内容

已提交的凭证中,有些字段可以修改,之后 ERPNext 会重新过账其总账分录:

凭证 提交后可修改的字段
销售发票(明细行) 收入科目、费用科目、成本中心、项目、会计维度
采购发票(明细行) 费用科目、成本中心、项目、会计维度
日记账分录(科目行) 成本中心、项目、会计维度
  1. 打开凭证并点击更新明细,或在字段允许的情况下直接编辑该行。
  2. 修改字段并保存。
  3. ERPNext 会创建一条重新过账会计总账记录,并在后台更正总账。

此功能仅对会计设置 → 重新过账 → 允许的凭证类型中列出的凭证类型有效。如果保存后没有任何变化,请让您的会计管理员将凭证类型添加进去。该列表仅允许重新过账,无法让其他字段变为可编辑。

日记账分录行的金额、往来方、过账日期和科目无法通过这种方式修改。

修改金额、往来方或日期:取消并修订

  1. 取消该凭证。
  2. 点击修订。系统会打开一份草稿副本,名称相同并带有后缀(例如 -1)。
  3. 更正后提交。

如果后续凭证依赖于该凭证(例如与该发票关联的付款单),则无法取消。请先取消或解除这些关联。对于库存凭证,如果后续分录使用了其库存,也会阻止取消。

冲销日记账分录

要撤销已提交的日记账分录并保留两者在账簿中,请打开该分录并点击冲销日记账分录。ERPNext 会创建一条借贷互换的新日记账分录,并与原分录关联。

  • 日记账分录只能冲销一次。第二次冲销会提示“该日记账分录已存在冲销日记账分录……”。
  • 冲销始终是完整的,无法编辑其金额。如需部分更正,请单独创建一条日记账分录。

期间已关闭或已冻结

  • 账户冻结截止日期(在公司的会计部分,16 版本中;旧版本在会计设置中)会阻止日期在该日期当天或之前的记账。拥有允许设置和编辑冻结会计分录取的角色中角色的用户以及管理员仍可过账和取消。如果某用户能在冻结期间过账,请检查其角色。
  • 该年度的期间结算凭证也会阻止取消该年度的分录。要在该期间过账更正,请先取消期间结算凭证,完成更正后再次提交期间结算凭证。或者在未关闭的期间过账更正。

已取消的凭证仍显示在总账中

关闭显示已取消分录后,已取消的凭证不应出现在总账或应付/应收报表中。如果仍然出现,说明其总账分录未随凭证一起取消。请凭凭证名称提交支持工单;支持人员可以更正总账分录。

“借方和贷方不相等”

日记账分录在公司本位币下的借方和贷方合计必须相等。

  • 当各行使用不同币种时,请检查公司本位币下的合计,而非科目币种下的合计。
  • 因汇率产生的几分钱差异:添加一行到公司的舍入科目以记录该差异。
  • 在汇率或金额字段上设置了非常大的精度(通过自定义表单)可能导致舍入错误。请移除该自定义设置。
  • 如果数值看起来正常,请向您的服务提供商提交问题。
  • 重新过账会计总账
  • 日记账分录
  • 冻结会计分录
  • 总账

付款对账:发票或付款缺失、错误、已关闭期间

付款核销将付款、贷项通知单和日记账与其所支付的发票进行匹配。本页说明发票或付款为何不显示、核销为何失败,以及对于已关闭期间和大数据量应如何处理。

关于如何核销,请参阅付款核销。

如何查找分录

当您点击获取未核销分录时,ERPNext 会针对所选的公司、往来方和应收/应付科目列出:

  • 发票:具有未结金额的发票、借项通知单和日记账;
  • 付款:具有未分配金额的付款、贷项通知单和日记账。

两个列表使用相同的应收或应付科目。每个列表仅获取前 50 条分录(发票上限和付款上限)。将上限设为 0 可获取全部。

发票或付款缺失

请按以下顺序检查:

  1. 科目。发票和付款必须使用相同的应收/应付科目。过账到其他科目(例如单独的预付款科目)的付款不会与债务人科目的发票一起列出。
  2. 上限和筛选条件。调高发票上限或付款上限,并清除日期、金额、成本中心和项目筛选条件。使用成本中心或项目筛选时,值不同或为空的分录会被排除。
  3. 已核销。已由付款或退货结清的发票不会列出。请检查其未结金额。
  4. 往来方。未包含往来方或包含其他往来方的日记账分录行不会为此往来方列出。请更正该日记账分录。
  5. 付款分类账。如果该分录存在于总账中但不在应收账款报告中,则其付款分类账分录缺失。请使用重新过账付款分类账重新过账。请参阅应收账款和应付账款。

单独科目中的预付款

在公司中开启在单独的往来方科目中记录预付款后,预付款会过账到默认预收款科目或默认预付款科目。要将其用于发票:

  1. 在付款核销中,将默认预付款科目设置为该预付款科目。
  2. 点击获取未核销分录。预付款将与债务人科目或债权人科目的发票一起列出。

只有针对预付款科目创建的付款分录才能以此方式核销。在开启该设置之前创建的付款已过账到普通科目,因此会改为在那里列出。

核销失败

  • “发票已被修改”或剩余金额错误:在您获取列表后,有人更改或核销了该发票或付款。请再次点击获取未核销分录,然后点击分配和核销。
  • 分配金额大于未结金额:某行的分配金额不能大于发票的未结金额或付款的未分配金额。请减少该金额。
  • 日记账分录无法核销:该日记账必须借记(针对供应商)或贷记(针对客户)与发票相同的往来方和科目。如果它记入了其他往来方,请取消并修改它。
  • 请求超时:每次核销较少的行,或使用处理付款核销,它会在后台核销一个往来方。
  • 使用项目筛选和退货时出错:已在 16.2.0 版本中修复。请更新站点。

汇兑损益

当外币发票和付款的汇率不同时,核销会为汇兑损益创建一条日记账分录,过账到公司的汇兑损益科目。与发票核销的贷项通知单也可能创建日记账分录。这是预期行为。

期间已关闭

核销会在某个日期更改旧发票的未结金额。如果该日期处于已关闭的会计期间、早于账务冻结截止日期,或处于已提交期间结算凭证的年度,则核销会被阻止。

对于记入单独预付款科目的预付款,公司设置核销生效日期决定日期:

选项 使用的日期
发票或预付款中较早者(默认) 发票日期,或预付款日期(如果预付款较晚)
预付款日期 预付款的日期
核销日期 您进行核销的当天

要在不重新打开已关闭期间的情况下核销旧分录,请将其设置为核销日期。对于其他分录,请使用未关闭期间内的分录进行核销,或询问您的会计是否要重新打开该期间。

撤销、历史记录和导出

  • 要撤销对账,请打开付款并点击取消交易对账。
  • 付款对账界面不保留历史记录,也不支持导出。要查看分配情况,请使用付款分类账报表,或付款单的引用表。
  • 处理付款对账会在后台一次对一个往来方进行对账,并保留日志。
  • 付款对账
  • 应收账款与应付账款
  • 核销向供应商支付的预付款
  • 付款单显示错误的未结金额或“已全额支付”

为什么我的采购发票与GSTR-2A或GSTR-2B不符?

您正在运行采购对账工具,而供应商申报的发票显示为仅在 2A/2B 中、仅在账簿中或不匹配,或者它根本不在列表中。本页说明 India Compliance 如何匹配发票,以及针对每种结果需要修正什么。有关如何逐步使用该工具,请参阅 India Compliance 文档中的“对账采购”部分。

匹配是如何进行的

该工具会针对您所选的公司 GSTIN 和期间比较两个列表:

  • 2A/2B 数据:您的供应商申报的发票,您从 GST 门户下载。它们存储为GST 进项供应记录。
  • 账簿:您已提交的采购发票(以及报关单)。

当以下内容相同时,您账簿中的发票就会与 2A/2B 发票匹配:供应商 GSTIN、公司 GSTIN、财政年度、账单编号、供应地、反向征税、应税价值以及各项税额(CGST、SGST、IGST、cess)。结果会是以下状态之一:

状态 含义
完全匹配 所有字段都相同。
建议匹配 账单编号相似但不完全相同(例如 BB/0045/25-26 和 45),或者金额相差不超过 ₹1。请检查后接受。
不匹配 供应商和账单相同,但其他值不同。
手动匹配 您自己将两者关联起来。
仅在 2A/2B 中 供应商已申报,但您账簿中没有与之匹配的采购发票。
仅在账簿中 您已入账,但它不在已下载的 2A/2B 数据中。

比较账单编号时,会先移除 /、-、前导零和财政年度。账单日期相差超过 10 天的不会自动匹配。

没有列出任何内容,或下载失败

  1. 先下载 2A/2B 数据。该工具只比较已下载的内容。请针对该期间点击下载 2A/2B(或使用 GST 门户提供的 JSON 文件点击上传 2A/2B)。
  2. 申报凭证。下载使用的是申报服务,而不是电子运单/电子发票服务。在GST 设置 → 凭证中,为 GSTIN 添加一行,将服务设为“申报”,并填写 GST 门户用户名。同时还要在 GST 门户上开启 API 访问(我的资料 → 管理 API 访问)。请参阅 GST API 错误。
  3. 更新后下载时出错。部分下载错误已在后续 India Compliance 版本中修复(例如 16.3.0)。请更新应用。

发票显示“仅在 2A/2B 中”或“仅在账簿中”

请按以下顺序检查采购发票上的这些内容:

  1. 账单编号和账单日期。它们必须是供应商的发票编号和日期,而不是您自己的参考编号。日期相差超过 10 天的不会匹配。
  2. 供应商 GSTIN 和公司 GSTIN。供应商地址必须带有申报该发票的 GSTIN,并且当您有多个公司 GSTIN 时,发票必须使用正确的公司 GSTIN。
  3. 期间。供应商申报的月份可能与您的过账日期不同。请扩大期间范围,或使用起始日期和结束日期。
  4. 已忽略的发票。被某人标记为忽略的发票会被排除在外。请开启包含已忽略项以再次查看它。
  5. 日记账分录永远不会被匹配。通过日记账分录入账的 ITC(例如银行手续费上的 GST)无法比较,因为日记账分录没有供应商 GSTIN 或明细税项。请将此类费用记为采购发票。

如果账单编号或日期有误,请更正采购发票(取消并修改),然后再次运行该工具。

发票显示“不匹配”

比较工具中的各列。常见原因:

  • 应税价值因零税率或免税项目而不同。零税率、免税和非 GST 项目不属于应税价值的一部分。如果供应商在 B2B 部分申报了它们,总额就会不同。如果税额一致,请接受匹配。
  • 缺少 Cess。只有当其科目在GST 设置 → 科目中设置为 cess 科目时,Cess 才会被计入。请设置该科目,然后修改发票。
  • 税额拆分不同。您账簿中的 CGST + SGST 与 2A/2B 中的 IGST(或相反)意味着供应地不同。请参阅“为什么我的发票上的 GST 错误或缺失?”。
  • 舍入。不超过 ₹1 的差异会被建议为匹配。更大的差异需要更正发票。

要自行关联两条记录,请选择它们并使用操作 → 关联。要撤销关联,请使用取消关联。

接受、待处理和忽略

这些操作只会在 ERPNext 中记录您的决定。它们不会更改 GST 门户上的任何内容:

  • 接受:匹配正确。采购发票的对账状态变为已对账。
  • 待定:稍后再检查。
  • 忽略:将其排除在对账之外。

采购发票的对账状态在关联到 2A/2B 记录之前为未对账,关联后为已找到匹配,接受后为已对账。

GST 进项供应中的物料明细为空

来自 GST 门户的 GSTR-2B 数据没有逐项明细。只有 GSTR-2A 才有。因此,从 2B 下载的 GST 进项供应记录的物料表为空。这是预期情况。

  • 印度 GST、电子发票和电子运单:查找您的答案
  • 对账采购
  • 进项税抵免、ITC 申报期和 GSTR-3B
  • GST API 错误:凭据、GSTIN 或“API 额度已用尽”

电子发票显示失败、无IRN或无法取消

提交销售发票后,India Compliance 会生成电子发票,并在发票上保存 IRN 和二维码。
本页介绍当电子发票状态显示为失败、IRN 缺失,以及
电子发票无法取消或修改时该怎么办。

提示信息

e-Invoice can only be cancelled upto 24 hours after it is generated

同一问题的其他迹象:电子发票状态为失败或待处理,打印的发票上没有 IRN 或二维码,
或者 GST 门户上显示的电子发票在 ERPNext 中不存在。

工作原理

生成电子发票时,政府门户会返回一个 IRN(发票参考号)和一个
已签名的二维码。India Compliance 会将它们保存在销售发票和电子发票日志中,并将
电子发票状态设置为已生成。

政府只允许在生成电子发票后的 24 小时内取消,且电子发票
永远不能编辑。超过这个时间后,更正需要通过贷项通知单或借项通知单进行。

电子发票状态为失败,或没有 IRN

  1. 打开销售发票,查看电子发票部分或电子发票日志中的错误。
  2. 如果是凭据或 API 错误,请参阅 GST API 错误。
  3. 如果是数据错误(GSTIN、PIN 码、HSN 代码、地址),请更正主数据,然后在
    发票上使用电子发票 → 生成重试。
  4. 如果门户提示 IRN 已存在(重复 IRN),说明电子发票是在之前某次尝试中创建的,
    但 ERPNext 没有记录。请再次使用电子发票 → 生成。如果买方 GSTIN 和发票金额与本发票匹配,
    India Compliance 会获取现有的电子发票并将其关联。如果在GST 设置 → 常规中开启了
    从 GST 门户获取电子发票详情,当电子发票门户未返回详情时,
    它还会到 GST 门户上查找。
  5. 如果错误是 e-Invoice cannot be generated because the posting date exceeds the reporting time limit of … days as specified in GST Settings,说明发票的日期早于电子发票报告时限(天)中设置的
    政府报告期限。该发票已无法再生成电子发票。
    请开具一张日期为今天的新发票,或与您的税务顾问确认该期限。

旧版本中,如果有人从销售发票列表再次生成电子发票,状态会被设置为失败。
此问题已在 India Compliance 15.25.5 中修复。如果您的版本较旧,请更新应用。

电子发票是直接在政府门户上生成的

如果您是在门户上而不是在 ERPNext 中生成或取消电子发票,请在发票上记录:

  • 在门户上生成:电子发票 → 标记为已生成,然后输入 IRN、确认编号
    和日期。
  • 在门户上取消:电子发票 → 标记为已取消,然后输入取消详情。

取消电子发票

在生成后的 24 小时内:

  1. 打开销售发票并点击取消。
  2. 选择随发票一起取消 IRN。如果在 GST 设置中开启了取消发票时自动取消电子发票,
    则会自动执行,无需询问。

超过 24 小时后,门户将不会取消电子发票:

  • 要更正发票,请针对该发票开具贷项通知单,并开具一张信息正确的新发票。
  • 如果无论如何都必须在 ERPNext 中取消销售发票(例如它已在门户上被删除),请关闭
    GST 设置 → 常规中的电子发票不可取消时限制取消,取消
    发票,然后再重新开启该选项。

电子发票不能修改。请取消它并开具新发票,或使用贷项通知单。

发票仅包含零税率或免税项目

GST 设置 → 常规中的电子发票中的零税率 / 免税 / 非 GST 项目决定如何处理:
不生成、随其他费用生成,或随应税金额生成。如果某个项目被错误地显示为
零税率,请检查其项目税务模板和 GST 详情。请参阅为什么我的发票上 GST 错误或缺失?。

使用电子发票打印格式(或包含二维码的自定义格式)打印销售发票。请参阅
打印格式中的电子发票二维码。

  • 印度 GST、电子发票和电子运单:查找您的答案
  • 生成和取消电子发票
  • 电子发票和电子运单常见问题

为什么我的发票在GSTR-1中缺失,或者为什么总额不匹配?

你为某个月运行了 GSTR-1,却发现某张发票没有列出、出现在了你没有预料到的部分,或者
合计金额与你的销售登记簿或电子发票门户不一致。大多数情况下 GSTR-1 是对的:它按照 GST 门户的方式
对发票进行分组。本页说明每种发票归入哪里,以及数据出错时该修复什么。

在哪里查看 GSTR-1

India Compliance 有两个地方:

  • GSTR-1(在搜索栏中搜索“GSTR-1”):为公司、GSTIN 和期间生成申报表,
    将其与 GST 门户比对,并上传或提交。用它来申报。
  • GST Sales Register:每张发票一行,并显示其 GSTR-1 部分。用它来查找单张发票。

参见 India Compliance 中的 GSTR-1。

某张发票没有以其自身编号列出

该发票是 它出现在
向未注册客户(B2C)的销售,在本邦内或低于 B2CL 限额 B2C(其他),表 7,按供应地和税率各汇总为一个合计,而不是逐张发票列出
向未注册客户的跨邦销售,且超过 B2CL 限额(自 2024 年 8 月 1 日起为 ₹1,00,000,此前为 ₹2,50,000) B2C(大额),表 5
向注册客户的贷项通知单或借项通知单 贷项/借项通知单(注册),表 9B,不与发票放在一起
向未注册客户的贷项通知单或借项通知单 贷项/借项通知单(未注册),表 9B
向 SEZ 单位或视同出口的销售 B2B、SEZ、DE,表 4
出口 出口,表 6A,按是否含税支付拆分
零税率、免税或非 GST 零税率、免税、非 GST,表 8

要查找单张发票,请打开该期间的 GST Sales Register,并按发票编号筛选。

某张发票完全缺失

  1. 发票上没有 GST。 如果发票的税费表中没有 GST 行,就没有 GST 明细,因此
    GSTR-1 无法对其进行分类。添加正确的税模板,修改发票,然后再次生成 GSTR-1。
  2. GSTIN 或期间错误。 GSTR-1 按 GSTIN 分别生成。如果公司有多个 GSTIN,请检查
    发票的 Company GSTIN 并选择该 GSTIN。检查发票的过账日期是否在该期间内。
  3. 草稿或已取消。 只包含已提交的发票。
  4. 生成后数据发生更改。 GSTR-1 保留生成时的数据。在你更改
    发票后,请再次生成(或使用 GSTR-1 页面上的 Reset),以便重新计算。

合计金额不一致

  • 两个 GSTIN 被合并。 未按 GSTIN 筛选运行的报表会把公司的所有 GSTIN 加总。请
    用同一个 GSTIN 筛选每份报表。
  • 退货。 HSN 汇总同时包含发票和贷项通知单。B2B 部分不
    包含贷项通知单(它们在 9B 中)。因此两个合计会因贷项通知单而不同。
  • 带税率的零金额发票会向 HSN 汇总添加金额为零的行。
  • GST 被应用了两次。 如果一张发票在两个税费行中具有相同的 GST 科目,GST 会被计算两次。
    修复税模板,然后修改发票。

生成或上传 GSTR-1 失败

  • 凭据错误: 上传使用 Returns API。参见 GST API 错误。
  • HSN 代码错误: 带空格或长度错误的 HSN 代码无法通过 GST 门户的检查。请修复
    物料上和受影响发票上的 HSN 代码,然后再次生成。
  • 在恢复或迁移站点后: 存储的 GST 门户会话和密码无法用
    新的加密密钥读取。请重新输入凭据。
  • 应用版本过旧: 2025 年和 2026 年期间的 India Compliance 版本中修复了多个 GSTR-1 生成错误。请更新应用,并确保站点使用稳定分支(例如 version-16),而不是
    测试版分支。
  • India GST、电子发票和电子运单:查找你的答案
  • India Compliance 中的 GSTR-1
  • GST 报表:Sales Register、Purchase Register、GST Balance

为什么我的发票上消费税错误或缺失?

在销售发票或采购发票上,GST 可能会显示为错误的类型(本应是 CGST 和 SGST 却显示为 IGST,或者反过来)、与你的计算结果相差几派萨,或者根本没有显示。使用 India Compliance 应用时,GST 遵循一小部分设置。本页将逐一说明这些设置以及如何修正问题。

India Compliance 如何确定 GST

  1. 供应地(Place of Supply)决定类型。如果供应地与公司 GSTIN 所在邦相同,发票就会采用 CGST 和 SGST(邦内交易)。如果供应地在另一个邦,则采用 IGST(邦际交易)。
  2. 税务模板决定税率。税额来自与类型匹配的销售税和费用模板(或采购模板),而物料的物料税务模板则设定每个物料的税率。
  3. GST 设置中的GST 科目告诉应用哪些科目是 CGST、SGST 和 IGST。如果没有这些设置,应用就无法将这些税识别为 GST。

类型错误:本应是 CGST 和 SGST 却显示为 IGST,或者反过来

发票上的供应地字段有误。对于销售发票,India Compliance 会从以下来源获取供应地:

  • 账单地址上的客户 GSTIN(如果会计设置 → 确定地址税务类别的依据设为收货地址,则取收货地址上的 GSTIN)
  • 对于未注册的客户,取该地址的 GST 邦
  • 如果两者都不存在,则取公司自己所在的邦,因此发票会变成邦内交易。

当字段为空时,India Compliance 会设置供应地;当你更改表单上的地址时,它也会更新供应地。如果地址是通过其他方式设置的(例如通过导入或 API),供应地可能会保留旧的邦。

修正方法:

  1. 打开发票,检查客户地址(或收货地址)和供应地。
  2. 更正地址:地址需要有 GSTIN,或者对于未注册的客户,需要有 GST 邦。
  3. 在发票上重新选择该地址,以便更新供应地。或者手动设置供应地。
  4. 选择匹配的销售税和费用模板(邦内或邦外)并保存。

对于货物,法律规定供应地为货物移动结束的地点。因此,即使客户在你所在的邦,交付到另一个邦的 B2C 销售也属于邦际交易。

未添加 GST,或者 CGST、SGST 和 IGST 全部加在一起

  • 缺少 GST 科目。转到GST 设置 → 科目,为公司添加一行,填入其 CGST、SGST、IGST 和 Cess 科目。然后在发票上重新选择税务模板。
  • 税额来自物料税务模板。如果会计设置 → 自动从物料税务模板添加税费处于开启状态,ERPNext 会添加物料模板中的每一行税,这可能导致 CGST、SGST 和 IGST 同时出现。India Compliance 需要将此设置关闭。将其关闭,然后重新选择税务模板。该设置的工作原理:物料税务模板。
  • 发票上没有税务模板。选择邦内或邦外模板,或者为公司设置一个默认模板。

GST 与你的计算结果相差几派萨

India Compliance 按物料计算 GST 并进行舍入。舍入差额会加到最后一个物料上,因此某个物料的税额看起来可能有误,但总额是正确的。

  • 系统设置中的舍入方法决定数值如何舍入。“银行家舍入法(旧版)”会产生意外结果;“商业舍入法”会按大多数人的预期将 .5 向上舍入。发票会保留保存时所用的方法。
  • GST 设置 → 常规中的舍入 GST 值会将每个 GST 组成部分(CGST、SGST、IGST)舍入为整卢比,外币发票除外。如果你需要精确到派萨的 GST,请将其关闭。
  • 外币发票会换算每笔金额,因此以 INR 计的 GST 可能与 INR 金额 × 税率相差几派萨。

一些舍入错误已在 India Compliance 16.6.0 和 16.6.2(版本 15 上为 15.30.0 和 15.30.2)中修复。如果你的版本较旧,请更新应用。

“请在公司中设置默认 GST 费用科目……”

Please set Default GST Expense Account in Company Bombay Byte Systems Pvt Ltd

采购发票或收货单中包含无法作为进项税抵扣(不合格 ITC)的 GST,例如第 17(5) 条涵盖的物料。India Compliance 会将这部分 GST 转入费用科目,但需要知道是哪一个科目。

  1. 打开公司。
  2. 将默认 GST 费用科目设置为一个费用明细科目,而不是分组科目。
  3. 重新提交发票。

参见不合格 ITC。

  • 印度 GST、电子发票和电子运单:查找你的答案
  • India Compliance 中的 GST 设置
  • 物料税务模板
  • 多分支机构的 GST

GST API错误:凭证、GSTIN或“API额度已用完”

电子发票、电子运单、GSTR-1、GSTR-2B 以及其他 GST 功能都通过 India
Compliance 应用调用政府 API。当调用因凭据、GSTIN、”API 额度已用尽”或”账户套餐限额
已超出”错误而失败时,原因不外乎下面三种情况之一。本页帮助你判断属于哪一种。

错误信息

Please set the relevant credentials for GSTIN 27AABCB1234D1ZK in GST Settings to use the e-Invoice API
Please enable API in GST Settings to use the e-Waybill API

同一问题的其他提示信息:API credits exhausted、Account plan limit exceeded(GEN5005)、
Invalid login credentials、Invalid username or password、GSTIN is not enabled for e-invoicing。

GST API 的工作原理

要让 API 调用正常工作,必须同时满足以下三个条件:

  1. 站点的 API 访问权限。站点需要一个 API 密钥。在 Frappe Cloud 上,此访问权限已随
    你的站点附带提供,无需购买额度。在自托管站点上,你需要通过
    India Compliance 账户购买额度。
  2. 每个 GSTIN 和每项服务的凭据。在 GST 设置 → 凭据中,每个 GSTIN 都需要为其使用的
    每项服务各有一行记录。不同服务使用不同的登录信息:
    • 电子运单 / 电子发票:你在政府电子发票或电子运单
      门户上创建的 API 用户。这不是你平时使用的门户登录账号。
    • 申报(GSTR-1、GSTR-2A/2B 下载、发票管理系统、采购对账):你平时使用的
      GST 门户用户名,并且已在 GST 门户中开启 API 访问权限。
  3. 该 GSTIN 已在政府门户上为该服务启用,例如电子发票功能。

找到你的情况

Frappe Cloud 上出现”API 额度已用尽”或”账户套餐限额已超出”

你的站点登录了某个 India Compliance 账户。在登录状态下,每次 API 调用都会消耗该
账户的额度,即使在 Frappe Cloud 上也是如此。当账户额度用尽时,调用就会失败。

  1. 在搜索栏中搜索 India Compliance 账户并打开它。
  2. 点击 退出登录,并确认。
  3. 再次尝试该操作。此时站点将使用 Frappe Cloud 附带的 API 访问权限。

已购买的额度不可退款。如果你误购了额度,可以保留该账户以备后用,或
联系 India Compliance 团队。

自托管站点上出现”API 额度已用尽”

自托管站点不附带 API 访问权限。请在 India Compliance 账户页面购买额度。参见
India Compliance 账户。

“请为 GSTIN … 设置相关凭据”

在 GST 设置 → 凭据中,没有该 GSTIN 和该服务对应的记录行。

  1. 前往 GST 设置,打开 凭据选项卡。
  2. 添加一行:公司、GSTIN、服务、用户名、密码。
  3. 当 服务 = 电子运单 / 电子发票时,使用电子发票门户上的 API 用户。当 服务 =
    申报时,使用你的 GST 门户用户名。
  4. 保存,然后重试。

“登录凭据无效”或”用户名或密码无效”

政府门户拒绝了该用户名或密码。ERPNext 只是将其原样传递。

  1. 在电子发票或电子运单门户上,检查该 GSTIN 对应的 API 用户是否存在,并重置其
    密码。请使用 API 用户的密码,而不是你平时的登录密码。
  2. 在 GST 设置 → 凭据中更新密码并保存。
  3. 如果仍然失败,请在门户上检查该 GSTIN 是否已启用电子发票功能。

GSTR-1 上传、GSTR-2B 下载或 IMS 因凭据错误而失败

这些功能使用 申报服务,所需的凭据与电子发票不同。

  1. 在 GST 门户中,为你的登录账号开启 API 访问权限。参见
    采购对账设置。
  2. 在 GST 设置 → 凭据中,添加一行,服务 = 申报,并填写你的 GST 门户
    用户名。
  3. 当 ERPNext 要求输入 OTP 时,输入 GST 门户发送到你注册手机号码的验证码。

“请在 GST 设置中启用 API …”

GST 设置 → 常规中的启用 API 功能处于关闭状态。请将其开启并保存。在自托管站点上,
还需登录一个有额度的 India Compliance 账户。

如果这样仍无法解决

  • 站点被迁移或恢复到新服务器:存储的密码无法用新站点的
    加密密钥读取。请重新在 GST 设置 → 凭据中输入密码。参见迁移站点后的 加密密钥错误。
  • 测试:开启在沙盒模式下使用 API?后,调用会发往政府测试系统,
    其中的单据并非真实单据。请为真实发票关闭此选项。
  • 如果仍然失败,请提交支持工单。附上完整的错误信息和集成请求日志
    (在功能栏中搜索集成请求)。
  • 印度 GST、电子发票和电子运单:查找您的答案
  • GST 设置和凭据
  • 印度合规账户

印度商品及服务税、电子发票和电子运单:找到你的答案

ERPNext 中的 GST、电子发票、电子运单、TDS 和 GST 申报都来自 India Compliance 应用。它的
完整文档位于 docs.indiacompliance.app。
本页列出了支持团队最常收到的问题,并附有简短回答和完整答案的链接。

设置

如何设置 GST? 安装 India Compliance,然后在公司地址上设置 GSTIN,在 GST 设置 → 账户 中设置 GST
账户,并设置税务模板。
GST 设置

如何启用电子发票和电子运单? 在 GST 设置 → 常规 中,启用 启用 API
功能
、启用电子发票 和电子运单选项,然后添加凭据。
GST 设置

GST API 需要付费吗? 在 Frappe Cloud 上,只要站点未登录 India Compliance 账户,API 访问就是包含在内的。在自托管站点上,您需要购买额度。
GST API 错误:凭据、GSTIN、”API 额度已用尽”

一家公司在多个州有 GST 注册? 为每个州添加一个带有其 GSTIN 的地址。
交易会从公司地址中选取 GSTIN。
多分支机构的 GST

HSN 代码和 HSN 验证? 为每个物料设置 HSN/SAC 代码。GST 设置可以要求填写并
检查其长度。GST 设置:HSN 代码

新的 2025 年所得税法 TDS 和 TCS 条款? 更新 India Compliance 以获取新的预扣税
类别,然后在供应商上选择它们。TDS 设置

发票上的 GST

为什么 GST 错误、缺失或差几分钱? 通常是供应地、GST 账户、物料税务
模板设置或舍入问题。为什么我的发票上 GST 错误或缺失?

反向征税(RCM)采购? 在 GST 设置中添加反向征税账户,并将采购
发票标记为反向征税。反向征税

不可抵扣的进项税抵免? India Compliance 会将不可抵扣的 GST 转入公司的 默认 GST
费用账户
。ITC 不可抵扣

出口、SEZ、零税率和免税供应? 在 GST
设置中启用 启用 SEZ / 海外交易,并将客户的 GST 类别设置为海外或 SEZ。
销售交易

预付款上的 GST,以及 ITC 的冲回?
其他 GST 交易

输入服务分销商(ISD)? ISD

电子发票

电子发票显示失败、没有 IRN,或 24 小时后无法取消?
电子发票显示失败、没有 IRN,或无法取消

如何生成或取消电子发票?
生成电子发票

凭据或”API 额度已用尽”错误? GST API 错误

想在没有真实发票的情况下测试? 使用沙盒模式。
沙盒

电子运单

生成、更新 Part B 或车辆、延期、取消,或用于库存调拨和来料加工?
电子运单

生成时出现地址、PIN 码或 HSN 错误?
交易验证

GST 申报

发票在 GSTR-1 中缺失,或总计不匹配?
为什么我的发票在 GSTR-1 中缺失,或为什么总计不匹配?

生成、比较和提交 GSTR-1? GSTR-1

GSTR-3B,以及为什么 GSTR-3B 提交后我无法更改发票? India Compliance 会设置 ITC
申报期,并阻止更改已申报的期间。
GSTR-3B 和 ITC 申报期

将采购发票与 GSTR-2A 和 GSTR-2B 匹配?
采购对账

发票管理系统(IMS)? GST IMS

GSTR-9、GSTR-6 或 GSTR-7? 不由 India Compliance 生成。请使用 GST 报表(GST 销售登记簿、
GST 采购登记簿、GST 余额)作为基础,并在 GST 门户上申报。
GST 报表

更新或迁移站点后的错误

更新 ERPNext 或 India Compliance 后出现 TypeError 或其他错误? 这些应用必须处于匹配的
版本:将两者都更新到同一主版本的最新发布版(例如都为 version-16)。
更新后的错误

迁移站点后出现加密密钥错误? 重新输入 GST 凭据。
迁移站点后的加密密钥错误

  • India Compliance 应用
  • India Compliance 文档