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

使用XML请求创建Tally采购订单失败:凭证日期缺失报错

Tally采购订单XML导入报错:凭证日期缺失(已指定日期)

问题概述

  • 向Tally导入采购订单XML时,系统提示“凭证日期缺失”,但XML中已包含日期字段
  • 9000端口连通正常,其他XML查询命令可通过Postman正常执行

请求XML

<ENVELOPE>
<HEADER>
    <VERSION>1</VERSION>
    <TALLYREQUEST>Import</TALLYREQUEST>
    <TYPE>Data</TYPE>
    <ID>Vouchers</ID>
</HEADER>
<BODY>
    <DESC>
        <STATICVARIABLES>
            <SVCURRENTCOMPANY>Tata Motors</SVCURRENTCOMPANY>
            <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
        </STATICVARIABLES>
    </DESC>
    <DATA>
        <TALLYMESSAGE>
            <VOUCHER>
                <DATE>20251127</DATE>
                <VOUCHERTYPENAME>Purchase Order</VOUCHERTYPENAME>
                <VOUCHERNUMBER>PO001</VOUCHERNUMBER>
                <PARTYLEDGERNAME>Supplier 1</PARTYLEDGERNAME>
                <PERSISTEDVIEW>Inventory Voucher View</PERSISTEDVIEW>
                <BASICPARTYNAME>Supplier 1</BASICPARTYNAME>
                <LEDGERENTRIES.LIST>
                    <LEDGERNAME>Supplier 1</LEDGERNAME>
                    <ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
                    <ISPARTYLEDGER>Yes</ISPARTYLEDGER>
                    <ISLASTDEEMEDPOSITIVE>No</ISLASTDEEMEDPOSITIVE>
                    <AMOUNT>-136.00</AMOUNT>
                </LEDGERENTRIES.LIST>
                <ALLINVENTORYENTRIES.LIST>
                    <STOCKITEMNAME>Rice</STOCKITEMNAME>
                    <ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>
                    <RATE>34.00</RATE>
                    <AMOUNT>136.00</AMOUNT>
                    <ACTUALQTY>4</ACTUALQTY>
                    <BILLEDQTY>4</BILLEDQTY>
                    <BATCHALLOCATIONS.LIST>
                        <GODOWNNAME>Main Location</GODOWNNAME>
                        <AMOUNT>136.00</AMOUNT>
                        <ACTUALQTY>4</ACTUALQTY>
                        <BILLEDQTY>4</BILLEDQTY>
                    </BATCHALLOCATIONS.LIST>
                    <ACCOUNTINGALLOCATIONS.LIST>
                        <LEDGERNAME>Purchase Account</LEDGERNAME>
                        <ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>
                        <ISLASTDEEMEDPOSITIVE>Yes</ISLASTDEEMEDPOSITIVE>
                        <AMOUNT>136.00</AMOUNT>
                    </ACCOUNTINGALLOCATIONS.LIST>
                </ALLINVENTORYENTRIES.LIST>
            </VOUCHER>
        </TALLYMESSAGE>
    </DATA>
</BODY>
</ENVELOPE>

错误响应XML

<ENVELOPE>
<HEADER>
    <VERSION>1</VERSION>
    <STATUS>1</STATUS>
</HEADER>
<BODY>
    <DATA>
        <IMPORTRESULT>
            <LINEERROR>Voucher date is missing for: &apos;Purchase Order&apos; voucher PO001.  Verify the data, resolve errors (if any) and retry Split.</LINEERROR>
            <CREATED>0</CREATED>
            <ALTERED>0</ALTERED>
            <DELETED>0</DELETED>
            <LASTVCHID>0</LASTVCHID>
            <LASTMID>0</LASTMID>
            <COMBINED>0</COMBINED>
            <IGNORED>0</IGNORED>
            <ERRORS>0</ERRORS>
            <CANCELLED>0</CANCELLED>
            <EXCEPTIONS>1</EXCEPTIONS>
            <VCHNUMBER>PO001</VCHNUMBER>
        </IMPORTRESULT>
    </DATA>
    <DESC>
        <CMPINFO>
            <COMPANY>0</COMPANY>
            <GROUP>0</GROUP>
            <LEDGER>15</LEDGER>
            <COSTCATEGORY>0</COSTCATEGORY>
            <COSTCENTRE>0</COSTCENTRE>
            <GODOWN>2</GODOWN>
            <STOCKGROUP>0</STOCKGROUP>
            <STOCKCATEGORY>0</STOCKCATEGORY>
            <STOCKITEM>1</STOCKITEM>
            <VOUCHERTYPE>3</VOUCHERTYPE>
            <CURRENCY>0</CURRENCY>
            <UNIT>0</UNIT>
            <BUDGET>0</BUDGET>
            <CLIENTRULE>0</CLIENTRULE>
            <SERVERRULE>0</SERVERRULE>
            <STATE>0</STATE>
            <TDSRATE>0</TDSRATE>
            <TAXCLASSIFICATION>0</TAXCLASSIFICATION>
            <STCATEGORY>0</STCATEGORY>
            <DEDUCTEETYPE>0</DEDUCTEETYPE>
            <ATTENDANCETYPE>0</ATTENDANCETYPE>
            <FBTCATEGORY>0</FBTCATEGORY>
            <FBTASSESSEETYPE>0</FBTASSESSEETYPE>
            <TARIFFCLASSIFICATION>0</TARIFFCLASSIFICATION>
            <EXCISEDUTYCLASSIFICATION>0</EXCISEDUTYCLASSIFICATION>
            <SERIALNUMBER>0</SERIALNUMBER>
            <ADJUSTMENTCLASSIFICATION>0</ADJUSTMENTCLASSIFICATION>
            <INCOMETAXSLAB>0</INCOMETAXSLAB>
            <INCOMETAXCLASSIFICATION>0</INCOMETAXCLASSIFICATION>
            <LBTCLASSIFICATION>0</LBTCLASSIFICATION>
            <TAXUNIT>21</TAXUNIT>
            <RETURNMASTER>0</RETURNMASTER>
            <GSTCLASSIFICATION>0</GSTCLASSIFICATION>
            <VOUCHERNUMBERSERIES>21</VOUCHERNUMBERSERIES>
            <VOUCHER>0</VOUCHER>
        </CMPINFO>
        <CMPINFOEX>
            <IDINFO>
                <LASTCREATEDVCHID>40</LASTCREATEDVCHID>
            </IDINFO>
        </CMPINFOEX>
        <MSTALTIDINFO>
            <EXPSUMID>0</EXPSUMID>
        </MSTALTIDINFO>
    </DESC>
</BODY>
</ENVELOPE>

解决方案

核心问题

Tally的采购订单凭证对日期字段的识别使用VOUCHERDATE而非通用的DATE字段,同时部分冗余字段可能干扰解析。

修改后的XML

将<DATE>20251127</DATE>替换为<VOUCHERDATE>20251127</VOUCHERDATE>,并移除不必要的PERSISTEDVIEW和BASICPARTYNAME字段:

<ENVELOPE>
<HEADER>
    <VERSION>1</VERSION>
    <TALLYREQUEST>Import</TALLYREQUEST>
    <TYPE>Data</TYPE>
    <ID>Vouchers</ID>
</HEADER>
<BODY>
    <DESC>
        <STATICVARIABLES>
            <SVCURRENTCOMPANY>Tata Motors</SVCURRENTCOMPANY>
            <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
        </STATICVARIABLES>
    </DESC>
    <DATA>
        <TALLYMESSAGE>
            <VOUCHER>
                <VOUCHERDATE>20251127</VOUCHERDATE>
                <VOUCHERTYPENAME>Purchase Order</VOUCHERTYPENAME>
                <VOUCHERNUMBER>PO001</VOUCHERNUMBER>
                <PARTYLEDGERNAME>Supplier 1</PARTYLEDGERNAME>
                <LEDGERENTRIES.LIST>
                    <LEDGERNAME>Supplier 1</LEDGERNAME>
                    <ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
                    <ISPARTYLEDGER>Yes</ISPARTYLEDGER>
                    <ISLASTDEEMEDPOSITIVE>No</ISLASTDEEMEDPOSITIVE>
                    <AMOUNT>-136.00</AMOUNT>
                </LEDGERENTRIES.LIST>
                <ALLINVENTORYENTRIES.LIST>
                    <STOCKITEMNAME>Rice</STOCKITEMNAME>
                    <ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>
                    <RATE>34.00</RATE>
                    <AMOUNT>136.00</AMOUNT>
                    <ACTUALQTY>4</ACTUALQTY>
                    <BILLEDQTY>4</BILLEDQTY>
                    <BATCHALLOCATIONS.LIST>
                        <GODOWNNAME>Main Location</GODOWNNAME>
                        <AMOUNT>136.00</AMOUNT>
                        <ACTUALQTY>4</ACTUALQTY>
                        <BILLEDQTY>4</BILLEDQTY>
                    </BATCHALLOCATIONS.LIST>
                    <ACCOUNTINGALLOCATIONS.LIST>
                        <LEDGERNAME>Purchase Account</LEDGERNAME>
                        <ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>
                        <ISLASTDEEMEDPOSITIVE>Yes</ISLASTDEEMEDPOSITIVE>
                        <AMOUNT>136.00</AMOUNT>
                    </ACCOUNTINGALLOCATIONS.LIST>
                </ALLINVENTORYENTRIES.LIST>
            </VOUCHER>
        </TALLYMESSAGE>
    </DATA>
</BODY>
</ENVELOPE>

验证步骤

  1. 使用修改后的XML重新发起导入请求
  2. 确认Tally中成功创建采购订单PO001
  3. 若仍报错,检查日期格式是否为YYYYMMDD(需确保年份为4位,无分隔符)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 23:45:56