当通过REST API创建/更新发票时,如何指定(或更新)TaxZone?

问题描述 投票:0回答:1

使用acumatica Web服务(json REST API),创建发票时如何设置TaxZone。这是一个示例json put请求:

{
    "Date": { "value": "12/23/2019" },
    "DueDate": { "value": "12/23/2019" },
    "Customer": { "value": "12345" },
    "Type": { "value": "Invoice" },
    "LinkBranch": { "value": "MYBRANCH" },
    "FinancialDetails": {
        "TaxZone": { "value": "1" }
    }
}

我已经尝试过,尝试过TaxZoneId,不使用FinancialDetails对象就尝试过发布...似乎没有任何作用。

acumatica
1个回答
0
投票

获取JSON正确结构的最简单方法是使用“ expand”参数发送get请求,如下所示:

http://localhost/ACU19200/entity/Default/18.200.001/SalesInvoice/Invoice|AR007541?$ expand =财务细节

这将向您返回带有财务明细的发票记录,如下所示:

{
    "id": "7bd77116-dcf1-e911-b312-fc017c8c8936",
    "rowNumber": 1,
    "note": "",
    "Amount": {
        "value": 2385.0000
    },
    "Balance": {
        "value": 1910.0000
    },
    "CashDiscount": {
        "value": 0.0000
    },
    "CreditHold": {
        "value": false
    },
    "Currency": {
        "value": "USD"
    },
    "CustomerID": {
        "value": "ABARTENDE"
    },
    "CustomerOrder": {},
    "Date": {
        "value": "2019-10-18T00:00:00-07:00"
    },
    "Description": {},
    "DueDate": {
        "value": "2019-11-17T00:00:00-08:00"
    },
    "FinancialDetails": {
        "id": "1b004ff5-496f-463e-8b37-f6c74a044482",
        "rowNumber": 1,
        "note": null,
        "BatchNbr": {
            "value": "AR006749"
        },
        "Branch": {
            "value": "PRODWHOLE"
        },
        "CustomerTaxZone": {},
        "custom": {},
        "files": []
    },
    "Hold": {
        "value": false
    },
    "Project": {
        "value": "X"
    },
    "ReferenceNbr": {
        "value": "AR007541"
    },
    "Status": {
        "value": "Open"
    },
    "Type": {
        "value": "Invoice"
    },
    "VATExemptTotal": {
        "value": 0.0000
    },
    "VATTaxableTotal": {
        "value": 0.0000
    },
    "custom": {},
    "files": []
}

现在有了结构之后,我们需要从请求中删除冗余字段,并使用JSON发送PUT请求,如下所示(当然,您还需要提供发票明细和其他信息)

{
    "CreditHold": {
        "value": false
    },
    "Currency": {
        "value": "USD"
    },
    "CustomerID": {
        "value": "ABARTENDE"
    },
    "Description": {
        "value" : "Test Invoice"
    },
    "Hold": {
        "value": false
    },
    "Status": {
        "value": "Open"
    },
    "Type": {
        "value": "Invoice"
    },
    "FinancialDetails": {
        "CustomerTaxZone": {
            "value": "AVALARA"
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.