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 设置和凭据
  • 印度合规账户