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

如何通过TALLY HTTP API导出凭证依赖主数据的Schema?

获取TALLY凭证关联依赖主数据的HTTP API方案

你之前的请求仅指定了凭证自身字段,要获取关联的依赖主数据,需在TDL中显式关联并抓取主数据字段,或通过EXPLODE属性展开完整关联对象。以下是两种可行方案:

方案1:直接抓取关联主数据指定字段

通过关联对象.字段名的格式,在凭证的FETCH列表中指定要获取的依赖主数据字段,比如分类账、库存项目的核心属性。

示例请求XML:

<ENVELOPE>
    <HEADER>
        <VERSION>1</VERSION>
        <TALLYREQUEST>EXPORT</TALLYREQUEST>
        <TYPE>COLLECTION</TYPE>
        <ID>CUSTOMVOUCHERWITHMASTERS</ID>
    </HEADER>
    <BODY>
        <DESC>
            <STATICVARIABLES>
                <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
                <SVFROMDATE Type="Date">01-11-2024</SVFROMDATE>
                <SVTODATE Type="Date">15-11-2024</SVTODATE>
            </STATICVARIABLES>
            <TDL>
                <TDLMESSAGE>
                    <COLLECTION 
                        ISMODIFY="No" 
                        ISFIXED="No" 
                        ISINITIALIZE="No" 
                        ISOPTION="No" 
                        ISINTERNAL="No" 
                        NAME="CUSTOMVOUCHERWITHMASTERS">
                        <TYPE>VOUCHER</TYPE>
                        <FETCH>
                            <!-- 凭证自身字段 -->
                            VOUCHERNUMBER, DATE, PARTYNAME, AMOUNT, VCHSTATUSDATE, EFFECTIVEDATE, VOUCHERTYPENAME,
                            <!-- 关联分类账主数据字段 -->
                            ALLLEDGERENTRIES.LedgerName, ALLLEDGERENTRIES.Ledger.MAILINGNAME, ALLLEDGERENTRIES.Ledger.PARENTGROUP, ALLLEDGERENTRIES.Ledger.GSTIN,
                            <!-- 关联库存项目主数据字段(库存类凭证适用) -->
                            ALLINVENTORYENTRIES.STOCKITEMNAME, ALLINVENTORYENTRIES.STOCKITEM.PRIMARYUNIT, ALLINVENTORYENTRIES.STOCKITEM.STOCKGROUP
                        </FETCH>
                        <!-- 日期过滤条件 -->
                        <FILTER>DateFilter</FILTER>
                    </COLLECTION>
                    <SYSTEM TYPE="FORMULA" NAME="DateFilter">
                        <FORMULA>$Date >= $$SVFromDate and $Date <= $$SVToDate</FORMULA>
                    </SYSTEM>
                </TDLMESSAGE>
            </TDL>
        </DESC>
    </BODY>
</ENVELOPE>

说明:

  • ALLLedgerEntries.Ledger.XXX:抓取凭证分录对应的分类账主数据字段(如名称、父组、税号)
  • ALLInventoryEntries.StockItem.XXX:抓取库存凭证分录对应的库存项目主数据字段(如单位、库存组)

方案2:用EXPLODE展开完整主数据Schema

如果需要获取依赖主数据的完整Schema结构,可通过EXPLODE标签直接展开整个关联对象,返回该主数据的所有字段。

示例请求XML:

<ENVELOPE>
    <HEADER>
        <VERSION>1</VERSION>
        <TALLYREQUEST>EXPORT</TALLYREQUEST>
        <TYPE>COLLECTION</TYPE>
        <ID>VOUCHERWITHMASTERSCHEMA</ID>
    </HEADER>
    <BODY>
        <DESC>
            <STATICVARIABLES>
                <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
                <SVFROMDATE Type="Date">01-11-2024</SVFROMDATE>
                <SVTODATE Type="Date">15-11-2024</SVTODATE>
            </STATICVARIABLES>
            <TDL>
                <TDLMESSAGE>
                    <COLLECTION 
                        ISMODIFY="No" 
                        ISFIXED="No" 
                        ISINITIALIZE="No" 
                        ISOPTION="No" 
                        ISINTERNAL="No" 
                        NAME="VOUCHERWITHMASTERSCHEMA">
                        <TYPE>VOUCHER</TYPE>
                        <FETCH>
                            VOUCHERNUMBER, DATE, VOUCHERTYPENAME,
                            <!-- 指定要关联的主数据对象 -->
                            ALLLEDGERENTRIES.Ledger,
                            ALLINVENTORYENTRIES.STOCKITEM
                        </FETCH>
                        <!-- 展开关联对象,返回完整Schema -->
                        <EXPLODE>
                            ALLLEDGERENTRIES.Ledger, ALLINVENTORYENTRIES.STOCKITEM
                        </EXPLODE>
                        <FILTER>DateFilter</FILTER>
                    </COLLECTION>
                    <SYSTEM TYPE="FORMULA" NAME="DateFilter">
                        <FORMULA>$Date >= $$SVFromDate and $Date <= $$SVToDate</FORMULA>
                    </SYSTEM>
                </TDLMESSAGE>
            </TDL>
        </DESC>
    </BODY>
</ENVELOPE>

说明:

  • <EXPLODE>标签会将指定的关联主数据对象完整展开,返回其所有属性(如分类账的地址、联系方式,库存项目的税率、备用单位等),适合需要完整Schema的场景

关键注意事项

  • 确认TALLY API已开启主数据导出权限,部分版本需在系统设置中激活相关权限
  • 不同类型凭证(采购、销售、库存)关联的主数据类型不同,按需调整FETCH和EXPLODE中的字段
  • 若只需单独获取主数据Schema,可直接导出你已能访问的Stock Items、Ledgers数据,再结合凭证关联关系映射

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 01:24:54