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

通过Postman调用API在ERPNext中创建POS销售发票报错求助

ERPNext POS场景销售发票API请求错误排查与正确方案

请求报错核心是字段混用、结构不符合Sales Invoice DocType的接口规范,具体问题如下:

  • 单据类型字段完全错配:目标是创建销售发票,但请求大量使用采购发票专属字段:supplier(供应商字段,销售发票需使用customer客户字段)、credit_to(应付账款科目,采购发票专属,销售发票对应应收科目字段为debit_to)、命名系列用了采购发票前缀PINV-,税目同时混用进项税(Input GST)和销项税(Output GST),销售发票仅可使用销项税类科目。
  • 子表结构不符合规范:
    • items是子表字段,必须传数组格式,当前传单个对象会触发数据类型校验错误
    • payment_schedule_section、accounting_details_section是前端表单的折叠区块标识,不属于API可识别的业务字段,直接传入会触发未知字段报错,相关业务字段需直接放在请求根层级
  • 字段缺失、格式与逻辑错误:
    • POS场景单据必须显式传is_pos: 1作为标识,同时需传payments子表记录收款方式、收款金额,否则无法通过POS单据校验
    • ERPNext API默认接受YYYY-MM-DD格式日期,当前传入的DD-MM-YYYY格式会触发日期解析错误
    • 税表行缺失必填字段:税率rate、成本中心cost_center,仅传charge_type和account_head无法通过校验
    • base_grand_total、grand_total为系统自动计算字段,无需手动传入,你手动填写的总金额354,和200元商品金额、18% GST税率计算出的236元实际应付金额完全不匹配,会直接触发金额校验报错
    • 付款时间逻辑冲突:根层级填的due_date为2022-06-23,付款计划里填的到期日为2022-08-13,日期冲突会触发付款计划校验错误。

Postman调试正确配置参考

基础请求配置

  • 请求方法:POST
  • 请求路径:{你的ERPNext站点地址}/api/resource/Sales Invoice
  • 请求头必填项:
    • Authorization: token {你的api_key}:{你的api_secret}
    • Content-Type: application/json

请求体参考

{
    "naming_series": "SINV-.YY.-",
    "customer": "实际存在的客户名称",
    "posting_date": "2022-06-21",
    "due_date": "2022-06-23",
    "currency": "INR",
    "selling_price_list": "Standard Selling",
    "is_pos": 1,
    "items": [
        {
            "item_code": "实际存在的商品编码",
            "item_name": "Dis",
            "qty": 1,
            "rate": 200,
            "warehouse": "实际出货仓库名称 - RL",
            "cost_center": "默认成本中心 - RL"
        }
    ],
    "taxes_and_charges": "Output GST In-state - RL",
    "taxes": [
        {
            "charge_type": "On Net Total",
            "account_head": "Output Tax SGST - RL",
            "rate": 9,
            "cost_center": "默认成本中心 - RL"
        },
        {
            "charge_type": "On Net Total",
            "account_head": "Output Tax CGST - RL",
            "rate": 9,
            "cost_center": "默认成本中心 - RL"
        }
    ],
    "payments": [
        {
            "mode_of_payment": "实际存在的收款方式(如现金、银行卡)",
            "amount": 236
        }
    ],
    "debit_to": "Debtors - RL"
}

注意:请求中涉及的客户、商品、仓库、成本中心、收款方式必须替换为你站点内已存在的对应记录名,不要直接使用占位文本。如果不需要自定义付款计划,无需传payment_schedule相关字段,系统会自动根据due_date生成对应记录。

内容的提问来源于stack exchange,提问作者Shyam Sundar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 15:21:26