You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HMRC VAT (MTD) Test API返回404 MATCHING_RESOURCE_NOT_FOUND错误求助

问题修复方案

触发MATCHING_RESOURCE_NOT_FOUND的核心原因及修复方法

  • 无效GET请求冲突
    你在POST提交数据前先发起了一次无参数的GET请求调用/organisations/vat/{vrn}/returns端点,该端点的GET方法必须携带periodKey参数才能匹配到对应申报周期的资源,无参数请求会直接触发资源不存在报错。如果不需要提前查询数据,直接删除这段GET请求代码即可。
  • 请求体包含无效字段
    你提交的vatData里混入了grant_type、client_secret、client_id三个OAuth鉴权字段,这三个字段仅用于获取access token,不属于VAT申报数据的合法字段,需要从vatData中删除。
  • 请求头配置错误
    1. 第一次GET请求中放置的Scope、ContentType为无效请求头,Scope仅在获取token时指定,不需要随业务请求传递,且Content-Type的标准写法为带连字符的形式,你写的ContentType无法被识别。
    2. POST请求的Accept、gov-test-scenario参数没有放在headers字段内,导致这两个必要头没有发送给服务端,HMRC无法识别接口版本和测试场景,触发资源不存在报错。
  • 测试VRN未绑定
    请确认你使用的766434212是你的HMRC开发者后台绑定到当前应用的专属测试VRN,若使用未关联到你应用的测试VRN也会触发该报错。

权限相关说明

HMRC测试环境默认开放测试用户的VAT数据POST权限,只要你创建应用时勾选了VAT (MTD)接口的write:vat权限、测试用户授权时同意了对应权限,无需额外申请即可使用。

修正后的核心代码片段

// 移除无效的GET请求代码段后,POST部分调整为如下格式
var vatData = {
  'periodKey': '18A2',
  'vatDueSales': 105.50,
  'vatDueAcquisitions': -100.45,
  'totalVatDue': 5.05,
  'vatReclaimedCurrPeriod': 105.15,
  'netVatDue': 100.10,
  'totalValueSalesExVAT': 300,
  'totalValuePurchasesExVAT': 300,
  'totalValueGoodsSuppliedExVAT': 3000,
  'totalAcquisitionsExVAT': 3000,
  'finalised': true
};

var options = {
  'headers': {
    'Accept': 'application/vnd.hmrc.1.0+json',
    'Authorization': 'Bearer ' + service.getAccessToken(),
    'gov-test-scenario': 'QUARTERLY_NONE_MET'
  },
  'method': 'POST',
  'contentType': 'application/json',
  'payload': JSON.stringify(vatData)
};

UrlFetchApp.fetch('https://test-api.service.hmrc.gov.uk/organisations/vat/766434212/returns', options);

内容的提问来源于stack exchange,提问作者h-edwards

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:54:04